Skip Navigation
Description of the Chicago City Council Proceedings Files Inventory
This database is an inventory of the Chicago City Council's proceedings files from the city's first incorporation as a town in 1833 through the year of the Great Fire of 1871. These files were maintained by the city clerk and served as the council's working papers, the primary documents written by or presented to the council. Its formal minutes were written from them and abstracts from the proceedings were published in politically-designated newspapers. These files thus form the most complete surviving record of the considerations and actions of Chicago's government for the period; no other source offers comparable details of the day-to-day public business of a town which grew into a city and then a metropolis of over 300,000 inhabitants in a little more than thirty-eight years.
There are 35,650 of these files, comprising 157 cubic feet of material. A file can consist of a single scrap of paper or several hundred pages. Each entry in the database represents one file. The following is a sample file title.
The file title can consist of up to 220 characters. The files' titles describe the principal documents in them, but additional papers relating to those documents are often found with them. In the above example, a remonstrance of H. Stevens, et al., against the assessment and a report of the Committee on Local Assessments on that remonstrance were also included in the file.
Care was taken in editing the file titles to preserve their original wording. Exceptions were made for the purposes of clarity and accuracy. Personal names found in the titles were often difficult to decipher; in those cases contemporary city directories were consulted for the assistance they could offer. Abbreviations were used extensively. Uncommon ones used include:
Each file has its own unique control number which is composed of three elements assigned by the nineteenth century clerks who first arranged this record series:
 1. Filing calendar or fiscal year,
 2. Sequential file number, and
 3. Filing month and day.
Level two is subordinate to level one and level three is subordinate to level two. This sample control number explains each of its parts.
The first level is chronological by calendar year for the period August 1833–March 1851; thereafter it is chronological by filing year. To conform to constraints of the database design, calendar filing years repeat the last two digits of the calendar year (ex. 1838/38). Filing fiscal years indicate the beginning and ending calendar years which they comprise (ex. 1861/62). Fiscal years are twelve months periods in which financial accounts are settled. For the period March 1851–December 1871 months comprising fiscal years vary as dictated by the clerks who first arranged this series.
The control number's second level is the sequential file number assigned it. For the period August 1833–March 1851 one sequential file numbering system was used. When Archives staff arranged and described these records it was discovered that clerks improperly assigned numbers to files 6759–6988. Rough chronological order was restored by returning folders to the years for which they were filed. Original file numbers were maintained in these instances and consequently the file number sequence was disrupted for the years 1846–1851. Bold entries in the File Arrangement table indicate disrupted file number sequence. Beginning in March 1851 each fiscal year has its own file number sequence.
Archivists added an alphabetical character to each file number to allow for irregularities in the filing system. This variable character was used for three types of errors. Occasionally at the end of a fiscal year clerks bundled piles of documents which had not been filed or acted upon, labeled them as miscellaneous papers, and assigned those packets file numbers. In these instances artificial files were created by Archives staff using the alphabetical character of the file number. The alphabetical character was also used by archivists when more than one file was assigned the same number within a file number sequence.
Originally files 1–144 were found at the beginning of this series. These files had been numbered arbitrarily because those with dates had no corresponding chronological arrangement and there was no relationship among files. Sixty-eight of these files could be dated and they were interpolated into the chronological listing, again using the alphabetical character of the file number. The remaining seventy-five files could not be dated and they were left at the beginning of the file structure.
The third level of the control number, filing month and day, is chronologically ordered. For control numbers with fiscal year filing dates as the first level, the calendar year of the filing month and day is not always apparent. In these cases the File Arrangement table should be consulted. For example, for the control number 1863/64 0539 A 12/07, December 7 can be linked to the calendar year 1863 by locating the fiscal year in the left-hand column under Filing Calendar or Fiscal Year and then following the entry across to the right-hand column under Filing Period to determine the calendar months comprising the fiscal year.
When filing dates are significantly different from the actual dates of documents in files, file titles add actual document dates as in the following example.
Although the filing structure of these records appears complex, it is clarified by the File Arrangement table.


text:
The mission of the Church of Unconditional Love is to educate and help as many people as possible to empower themselves by learning to connect to the power of unconditional love, and to use that power to make changes in their own lives as well as the world around them.
Church of Unconditional Love - Foundation Beliefs:
1. Everything - living and non-living - is an expression of one power.
2. Unconditional love is what the power of the universe feels like; when we are connected to that power, we feel unconditional love.
3. Every person has the innate potential to learn to live in a state of unconditional love, using the practices of this church.
4. The power of unconditional love can be aimed at all problems and challenges, as well as other people; and it will transform, just as light transforms darkness.
5. In order to see change, we need to love what is - exactly as it is - that is where the real power lies.
6. The state of unconditional love is the most powerful state a person can embody; and it is possible to live in this state, through practice.
7. Every individual, in any given moment, is trying to feel better.
8. Every individual is unconsciously creating their own life experiences; therefore, the answer to all problems and challenges lies inside the person experiencing them. Each person, unknowingly, has the power to change their experiences by learning to use that power.

source: openbmb/Ultra-FineWeb


text:
While the longest partial government shutdown in history is over for now, the potential for a second round looms large. The agreement reached will only reopen the government until February 15th. To avoid delays or downtime, owners and operators should act now to address any structure or operational changes that may require FAA approval.
How the Shutdown Impacted Business Aviation Transactions
During the shutdown many FAA departments were only partially operational, and this level of service could return if we face another partial shutdown in February. The FAA Aircraft Registry is an example of how the shutdown affected routine business aviation transactions. The Registry itself remained open, but the Aeronautical Center Counsel's office was closed. The ACC normally provides opinions on aircraft registration matters involving owner trusts, certain LLCs, and other complex ownership structures. The lack of these opinions impacted closings and structure changes during the shutdown.
Operational Impacts of the Shutdown
Even though aviation safety inspectors were recalled to work on January 15th, their focus was on safety surveillance, not new certification. Requests to add new aircraft to Part 135 Operations Specifications, for new Letters of Authorization for certain types of operations, and for other new operational authorizations were not accepted during the shutdown. For some owners and operators this meant that aircraft were essentially grounded, or were only partially available for use.
What To Do To Prepare for February 16th
If you are contemplating the purchase of an aircraft, or any changes to the ownership structure for your aircraft, you should work with aviation counsel to identify any FAA review or authorization you may need now. If you act quickly, requests for these reviews or authorizations may be able to be submitted and processed prior to February 16th.
Lori McGee is a Partner with the aviation law firm of Jetstream Aviation Law, P.A. and counsel clients on the acquisition, financing and operation of corporate jets operated under Part 91 and Part 135 of the US Federal Aviation Regulations. Jetstream Aviation Law can be found at _URL_.

source: m-a-p/FineFineWeb


text:
LaVision's SprayMaster inspex systems measure spray pattern and spray plume geometries of spray and aerosol generating devices. The light sheet based imaging systems use eye-safe LED lamps for illumination or lasers in case of very fast pulsed sprays.
High performance multi-cone fuel sprays up to single cone household sprays are tested in-line or on-line with automated spray parameter recording and test protocol generation. Axial spray profiles are recorded applying shadow imaging when a line-of-sight arrangement is better suited for a given spray test arrangement. The highly reliable imaging modules are field changeable following the highest industrial standards. The modular system design allows flexible solutions for even demanding customization requirements.
A comprehensive spray image analysis software tool kit generates in real-time process relevant data from the spray image, builds up a statistical data base, executes a quality criteria for spray acceptance including a feedback signal to the production/process line together with a customized test protocol for data traceability. Algorithmic based spray image processing guarantees fast, repeatable and operator independent results.
Global spray imaging on a light sheet can be combined with local droplet size and velocity measurements at a predefined location within the light sheet. Such a combined spray pattern and spray droplet imaging system for a comprehensive spray nozzle test is shown as an example of a highly integrated spray imaging solution.


I wish to honor the late Jerry Norman by posting a few notes about one of his articles which is available for free at Persée.
1. The Min word for 'house'
Norman reconstructed Proto-Min (PM) 'house' as *tšhioC which he regarded as a cognate of dictionary Middle Chinese (MC) 戌 *ɕuəh (my reconstruction) 'to garrison the frontier' and proposed that 'garrison' became 'house' (p. 179):
This sort of change typically occurs in frontier regions where the first carriers of a new language are military colonists; the first settlements are in fact forts or stockades, manned by soldiers, sometimes accompanied by their families. As the region loses its frontier character and is integrated into the larger linguistic community, it is very easy for these miltiary terms to lose their military sense and take on purely civilian meanings. This is precisely what I think happened in early Fujian [i.e., where Proto-Min developed]. After the defeat of the non-Han [i.e., non-Chinese] Yue tribes in the Han dynasty, the region became open to Chinese settlement. The first settlers were undoubtedly military colonists who dwelt in garrison forts, śju-* [= my *ɕuəh]. Once Fujian lost its frontier aspect and was integrated into the greater Chinese-speaking ecumene, this military term lost its specifically military character and became the ordinary word for 'house'.
Schuessler (2009: 151) listed Cantonese 33tsʰyCD (sic)** and Taishan tsʰui21 'house' as additional cognates. One might assume that the shift of 'garrison' to 'house' occurred in both PM and Proto-Yue (PY)***, but as far as I know, the Cantonese word for 'house' is 屋(企) uk (khei), attested in Chalmers (1859: 169) as uuk(-k'iˊ)****.
There is, however, a Cantonese 處 tsʰy 'place'. Was/is this word used for 'house', and could the PM and PY (or at least Taishan) words for 'house' be from Middle Chinese 處 *tɕɨəh 'place'?
If I am wrong and Norman is right, why do the PM, Cantonese, and Taishan words for 'house' have an affricate absent from dictionary MC 戌 *ɕuəh?
One possibility is that the southern affricates incorporated prefixes that were either lost or never added in the north: e.g.,
*C-š- > PM *tšhIf there was ever a prefix in the southern version of 戌, it did not result in a PM'softened' initial *-tšh-.
Another possibility is that Old Chinese (OC) nonemphatic *hndeveloped differently in southern Chinese languages. (Underlining indicates emphatics. Vowel height is correlated with emphasis.)
Northern OC *hnand *hl-
*hn- *ɕ- (palatalization before high vowels)
*hn- *th- (before nonhigh vowels)
Southern OC *hnand *hl-
*hn- *th- > *tɕh- (palatalization before high vowels)
*hl- *ɕ- (palatalization before high vowels)
*hn- *th- (before nonhigh vowels)
Nasals are like both obstruents and sonorants. In the south, the OC nonemphatic nasal stop *hncould have initially lost its nasality while remaining a stop (unlike *hlwhich was never a stop) before palatalizing into an affricate.
Norman listed four examples of the correspondence PM *tšh- : dictionary MC *ɕ- other than 戌: 深鼠試手. Baxter and Sagart (2011) reconstructed 鼠 and 手 with *hnin OC. OC 鼠 *hnaʔ *-it *(s-)mit
*s-reduction *hmək *m(h)it
Vowel lowering *m(h)ət
Scenario 1b: 7.22.20:57: Norman (1984: 183) noted that
This sort of vocalic alternation between forms in and *i is very common in Min.
Perhaps this alternation is not due to sporadic vowel lowering but is due to emphatic/nonemphatic variation: e.g.,
目 'eye'
Proto-Sino-Tibetan *miwk
Old Chinese (lowering/centralizing of vowel unexplained; no evidence for prefix at this level) *məwk
Pre-Proto-Min: prefix (added in PPM or retained in PPM from OC and lost elsewhere?) *-mək *-mək *(s)mək
Emphatic harmony; emphasis blocks raising of *sʌ-mək *sʌ-mək *(s)mit
Proto-Min: initial simplification: *s(ʌ)m- > mh- *mhək *mhət *m(h)it
來 'come'
Proto-Sino-Tibetan *rə
Old Chinese (*mʌ-prefix potentially implied by use of 來 as phonetic in 麥 *mʌ-rək 'wheat') *m-rə
Pre-Proto-Min *-rə *(m)rə
Emphatic harmony; bends in different directions depending on whether the preceding consonant is emphatic or not *mʌ-rəɨ *(m)rɨə
Proto-Min: *r- > *l-; *ɨ > *i *ləi *li
Scenario 2: pre-PM?*mik < OC?*m-liwk, a prefixed cognate of OC 覿 *liwk 'to see' (which Sagart 1999: 154 viewed as a cognate of his OC 目 *mr-liwk 'eye'; he regarded *m- as an "agentive" prefix)
But on second thought, Norman's Austroasiatic derivation is more likely if there are no other cases of PM *-ət ~ *-it corresponding to OC *-iwk.
3. The Min word for 'to run aground'
Norman reconstructed PM *khâiC 'to run aground' and regarded the Fuzhou reflexes of PM *-âi as the result of dialect mixture:
My OC Proto-Min Fuzhou Fuan Xiamen Jieyang Jian'ou Jianyang Jiangle
*-al > *-ai
*-âi (Norman; is presumably Karlgren's low back vowe; I think the rhyme might be *-ɔi) -ai -o -ua -ua -uɔ -ue


A: Citrix XenDesktop supports deployments to Active Directory (AD) environments where user and computer accounts exist in a single AD forest (at all forest and domain functional levels). XenDesktop can also support deployments to AD environments where user accounts are in different forests from the computer accounts of XenDesktop controllers and all virtual desktops. For this second situation, the domain or domains containing the XenDesktop controller and all virtual desktops must trust the domain or domains containing the user accounts. This trust can be a forest trust or an external trust. The situation where XenDesktop controllers and virtual desktops are in separate forests is also supported (at all forest functional levels, and at domain functional levels above Windows 2000 Native) when a bi-directional trust exists between the two domains.


text:
- By Smith
- Published 29/05/2013
- ISBN 9781442545915
- Format Book
Basic Plumbing Services Skills: Roof Plumbing provides students with the fundamental skills and basic knowledge required for roof plumbing.
This resource is divided into two parts:
Part A—Roof Plumbing Fundamentals provides learners with a thorough foundation in the key principles of r...

source: HuggingFaceFW/fineweb-edu


text:
AQUIFER PARAMETER ESTIMATION USING TIDE-INDUCED WATER TABLE FLUCTUATION IN MIAMI-DADE COUNTY, FLORIDA
Groundwater table fluctuations of the Biscayne aquifer are associated with lunar and solar tidal forces and gate operations on canal water-control structures. Observed groundwater table fluctuations can provide an understanding of the connectivity between the aquifer and the Bay and between the aquifer and the water level in the canals. Further, it can be used for aquifer parameter estimation.
In this research, we fit observed tide and groundwater levels to Jacob's analytical solution, where the amplitude of the groundwater head fluctuation decreases exponentially, and the time lag increases with distance from the shore. We obtained observed groundwater levels from monitoring wells along the Miami-Dade shore and from monitoring wells on the barrier island of Miami Beach.
This study shows that groundwater levels in Miami Beach are highly correlated with tidal fluctuations, but groundwater levels from Miami-Dade coastal wells (except one) are not significantly correlated with tides, due to the great distance of monitoring wells from the shore and by management of water levels in the canals. We have found that Jacob's solution is effective for aquifer parameter estimation in Miami Beach, where monitoring wells are closer to the shore. Constructing monitoring wells closer to the shore in Miami-Dade and elsewhere would be greatly beneficial for further analysis of groundwater table positions and aquifer parameter estimation.


Currently browsing the "Q'orianka Kilcher" tag.
Review: Te Ata
Te Ata was the stage name Mary Thompson Fisher took on in 1919 when she left her Chickasaw home in Oklahoma to pursue a career in acting. The film is the inspiring story of her journey to becoming a renowned storyteller who brought the stories of Native Americans to the white population. Played beautifully by Q'orianka Kilcher, Te Ata was a true pioneer, breaking barriers and humanizing her people at a time when the government was still actively trying to suppress their culture. The film lays the racist politics out clearly, but focuses on the story of the unheralded hero. Girl power!


Study conducted in Singapore shows genes can determine whether we are liberal or conservative
A researcher checking the function of genes in living cells.
A researcher checking the function of genes in living cells.FILE PHOTO: ST
PARIS (AFP) - Aristotle may have been more on the money than he realised in saying man is a political animal, according to research published on Wednesday linking genes with liberal or conservative leanings.
Or, to be precise, a specific variant of one gene that would seem to exert greater sway over women than men.
Working with 1,771 university students of Han Chinese origin in Singapore, researchers compared answers to surveys - including one tailored to hot-button issues in the city-state - with the presence of a permutation of the DRD4 gene.
DRD4 is one of several genes that determines the way dopamine - a crucial neurotransmitter, or chemical messenger - is released in the brain.
"The association between political attitude and DRD4 was highly significant for females," and less so for men, said the study, led by Dr Richard Ebstein of the National University of Singapore.
Women, it was also shown, tended to be more conservative in general.
The results are bolstered by earlier research based on people of European descent that found similar patterns around the same gene, according to the study.
In the long-standing "Nature vs. Nurture" debate, it was long assumed that social values - and especially political ones - were rooted in family upbringing, education and class.
But a growing body of evidence suggests, in the words of the researchers, that "biology can't be ignored".
A landmark study published in 1999, for example, of twins separated at or near birth showed a marked strain of heritability for "conservatism".
The brain is wired with several distinct dopamine pathways, including one related to the risk-taking - arguably a parallel to the liberal-conservative dichotomy.
From an evolutionary standpoint, risk-taking is a complicated business: In some situations, it may enhance one's chances of success or survival, and in others it may spell doom.
In the study, the researchers used standard questionnaires to rate conservative or liberal tendencies, making it easier to compare with earlier efforts to uncover links between genes and attitudes.
At the same time, to adjust for cultural variations from one country to another, they also devised a survey based on local issues known to divide opinion in Singapore along political lines.
One set of questions, for example, asked the students - half men, half women with a mean age of 21 - to take positions on sensitive environmental and animal rights issues.
The correlation with the genetic variations was especially strong on these points.
"Our results provide evidence," Dr Ebstein and colleagues conclude, "for a role of the DRD4 gene variants in contributing to individual differences in political attitude, particularly in females".


text:
Compressed Zip File
Be sure that you have an application to open this file type before downloading and/or purchasing. How to unzip files.
This unit includes lessons on introduction to computer applications with simple yet vital to success of students with various topics and activities such as computer technology, safety test, and operating system. It is written for the Introduction to Business and Technology course of Georgia. Activities include:
~ Unit Lesson Plan
~ Culminating Project
~ Quiz with Teacher's Key
~ PowerPoint Notes with Student Note Sheet
~ 4 Student Activities


text:
How to spot vehicles whose mileage has been changed
Kampala, Uganda | MOTORING GURU | The mileage of a motor vehicle affects its value on the market. Generally speaking; the higher the mileage, the lower is the value. Unfortunately, mileage tampering is a very common practice in all used car markets, in and outside Uganda. Part of the problem is that it is very easy to do with the right equipment.
The most common way to tamper with a motor vehicles mileage involves resetting the odometer or odograph; an instrument for measuring the distance travelled by a wheeled vehicle. Most odometers work by counting wheel rotations and assume that the distance traveled is the number of wheel rotations times the tire circumference. They may be digital or mechanical. It is no longer necessary to manually roll back the numbers on a mechanical instrument, Since odometers became digital in the early 2000s, they can be rolled back by using very basic equipment that hooks right into the vehicle's electronic circuit. So don't be fooled.
The odometer may be reset, the numbers altered, or replaced. These changes are often done together with others intended to make a vehicle appear newer than it is and, therefore, fetch a better price. Other alterations might include reconditioning of the external appearance of the vehicle.
To avoid being cheated, make sure you look to see if the wear and tear matches up with the reported mileage.
A low mileage car should still have the original tyres and brakes supplied by the manufacturer. It should also not show any wear on parts such as the steering wheel, gear lever, and pedals. Most mechanics will easily spot these. Get one to go with you on the buying trip.
You can also inspect the odometer for signs of tampering by ensure that all the numbers are easily readable and not crooked, there are no gaps between numbers, and there are no scratches and screws that don't match or have been replaced. Some auto makers program odometers to show an asterisk if the mileage is changed. If there is any indication that the dashboard may have been removed, then suspect odometer tampering. Beware if the car has new parts that ordinarily would not be replaced until 60,000 miles. This may indicate odometer tampering.
Also remember that the mileage on modern vehicles is tracked via both the physical odometer, and the control module. The control module does not control the number displayed on the dash. In some cases of fraud, the number visible number on the dash will be altered, while the control module still holds the accurate mileage. Checking the module requires a special tool, but it is possible.
Even if a car looks and sounds great, it doesn't mean there's nothing to be concerned about. Never expect the numbers you see on the dashboard to be the true mileage of a used vehicle. The odometer can be rolled-back to take hundreds or even thousands of kilometres off the number displayed. An average vehicle travels 10,000kms per year in Japan. Therefore, a 60,000km odometer reading is only appropriate for a car manufactured in 2012 or later. The rest are shams. Remember, however, that this average accounts for both long-distance commuters and weekend-only drivers. So combine this info with your instincts when you inspect the vehicle.


text:
Although international rugby has been played for well over a century, the Rugby World Cup is a relatively recent phenomenon. The first tournament took place in May and June 1987, with games played in both New Zealand and Australia. The final was held at Eden Park, Auckland, on 20 June, where the home team beat France to become the inaugural holders of the Webb Ellis Cup.
In a country where rugby is often referred to as a religion, hosting and winning the first Rugby World Cup was certainly a big deal. For much of the 20th century the All Blacks had been regarded as one of the best teams in international rugby, but without a world cup such claims were difficult to prove. Before 2011's triumph New Zealand had not won the four-yearly competition since 1987, a fact that weighed heavy on the hearts and minds of New Zealand fans. Photographs of captain David Kirk holding the Webb Ellis Cup aloft in 1987 became one of our most famous sporting images. Until Richie McCaw was able to repeat the scene in October 2011 many feared Kirk's image would remain our only proof of rugby supremacy.
In a remarkable case of history repeating itself the 2011 tournament (once more hosted by New Zealand) saw the same four teams compete in the semi-finals - New Zealand, Australia, Wales and France - and like 1987 the same two - New Zealand and France squared off in the final at Eden Park. This proved to be a much closer game than the 1987 final and indeed closer than most predicted. The All Blacks prevailed 8-7 in the lowest scoring final in the tournament's history.
What is less well known is how the first Rugby World Cup came about. This fascinating story highlights a number of key themes, including the struggle between the amateur ideal and creeping professionalism, tensions between the British home unions and southern hemisphere countries, and international protests over sporting contacts with South Africa. The story begins with a look at the 19th-century origins of international rugby.
Next page: Origins of international rugby


This time, the save() method performs an UPDATE SQL statement.
The changes you make to the object are not persisted to the database until you call the save() method.
Retrieving objects
You already know how to retrieve a single object from the database using the get() method. You accessed this method using Post.objects.get(). Each Django model has at least one manager, and the default manager is called objects. You get a QuerySet object using your model manager. To retrieve all objects from a table, you just use the all() method on the default objects manager, like this:
>>> all_posts = Post.objects.all()
This is how you create a QuerySet that returns all objects in the database. Note that this QuerySet has not been executed yet. Django QuerySets are lazy, which means they are only evaluated when they are forced to be. This behavior makes QuerySets very efficient. If you don't set the QuerySet to a variable, but instead write it directly on the Python shell, the SQL statement of the QuerySet is executed because you force it to output results:
>>> all_posts
Using the filter() method
To filter a QuerySet, you can use the filter() method of the manager. For example, you can retrieve all posts published in the year 2020 using the following QuerySet:
>>> Post.objects.filter(publish__year=2020)
You can also filter by multiple fields. For example, you can retrieve all posts published in 2020 by the author with the username admin:
>>> Post.objects.filter(publish__year=2020, author__username='admin')
This equates to building the same QuerySet chaining multiple filters:
>>> Post.objects.filter(publish__year=2020) \
>>> .filter(author__username='admin')
Queries with field lookup methods are built using two underscores, for example, publish__year, but the same notation is also used for accessing fields of related models, such as author__username.
Using exclude()
You can exclude certain results from your QuerySet using the exclude() method of the manager. For example, you can retrieve all posts published in 2020 whose titles don't start with Why:
>>> Post.objects.filter(publish__year=2020) \
>>> .exclude(title__startswith='Why')
Using order_by()
You can order results by different fields using the order_by() method of the manager. For example, you can retrieve all objects ordered by their title, as follows:
>>> Post.objects.order_by('title')
Ascending order is implied. You can indicate descending order with a negative sign prefix, like this:
>>> Post.objects.order_by('-title')
Deleting objects
If you want to delete an object, you can do it from the object instance using the delete() method:
>>> post = Post.objects.get(id=1)
>>> post.delete()
Note that deleting objects will also delete any dependent relationships for ForeignKey objects defined with on_delete set to CASCADE.
When QuerySets are evaluated
Creating a QuerySet doesn't involve any database activity until it is evaluated. QuerySets usually return another unevaluated QuerySet. You can concatenate as many filters as you like to a QuerySet, and you will not hit the database until the QuerySet is evaluated. When a QuerySet is evaluated, it translates into an SQL query to the database.
QuerySets are only evaluated in the following cases:
 - The first time you iterate over them
 - When you slice them, for instance, Post.objects.all()[:3]
 - When you pickle or cache them
 - When you call repr() or len() on them
 - When you explicitly call list() on them
 - When you test them in a statement, such as bool(), or, and, or if
Creating model managers
As I previously mentioned, objects is the default manager of every model that retrieves all objects in the database. However, you can also define custom managers for your models. You will create a custom manager to retrieve all posts with the published status.
There are two ways to add or customize managers for your models: you can add extra manager methods to an existing manager, or create a new manager by modifying the initial QuerySet that the manager returns. The first method provides you with a QuerySet API such as Post.objects.my_manager(), and the latter provides you with Post.my_manager.all(). The manager will allow you to retrieve posts using Post.published.all().
Edit the models.py file of your blog application to add the custom manager:
class PublishedManager(models.Manager):
 def get_queryset(self):
 return super(PublishedManager,
 self).get_queryset()\
 .filter(status='published')
class Post(models.Model):
 # ...
 objects = models.Manager() # The default manager.
 published = PublishedManager() # Our custom manager.
The first manager declared in a model becomes the default manager. You can use the Meta attribute default_manager_name to specify a different default manager. If no manager is defined in the model, Django automatically creates the objects default manager for it. If you declare any managers for your model but you want to keep the objects manager as well, you have to add it explicitly to your model. In the preceding code, you add the default objects manager and the published custom manager to the Post model.
The get_queryset() method of a manager returns the QuerySet that will be executed. You override this method to include your custom filter in the final QuerySet.
You have now defined your custom manager and added it to the Post model; you can use it to perform queries. Let's test it.
Start the development server again with the following command:
python manage.py shell
Now, you can import the Post model and retrieve all published posts whose title starts with Who, executing the following QuerySet:
>>> from blog.models import Post
>>> Post.published.filter(title__startswith='Who')
To obtain results for this QuerySet, make sure that you set the published field to True in the Post object whose title starts with Who.

Building list and detail views
Now that you have knowledge of how to use the ORM, you are ready to build the views of the blog application. A Django view is just a Python function that receives a web request and returns a web response. All the logic to return the desired response goes inside the view.
First, you will create your application views, then you will define a URL pattern for each view, and finally, you will create HTML templates to render the data generated by the views. Each view will render a template, passing variables to it, and will return an HTTP response with the rendered output.
Creating list and detail views
Let's start by creating a view to display the list of posts. Edit the views.py file of your blog application and make it look like this:
from django.shortcuts import render, get_object_or_404
from .models import Post
def post_list(request):
 posts = Post.published.all()
 return render(request,
 'blog/post/list.html',
 {'posts': posts})
You just created your first Django view. The post_list view takes the request object as the only parameter. This parameter is required by all views. In this view, you retrieve all the posts with the published status using the published manager that you created previously.
Finally, you use the render() shortcut provided by Django to render the list of posts with the given template. This function takes the request object, the template path, and the context variables to render the given template. It returns an HttpResponse object with the rendered text (normally HTML code). The render() shortcut takes the request context into account, so any variable set by the template context processors is accessible by the given template. Template context processors are just callables that set variables into the context. You will learn how to use them in Chapter 3, Extending Your Blog Application.
Let's create a second view to display a single post. Add the following function to the views.py file:
def post_detail(request, year, month, day, post):
 post = get_object_or_404(Post, slug=post,
 status='published',
 publish__year=year,
 publish__month=month,
 publish__day=day)
 return render(request,
 'blog/post/detail.html',
 {'post': post})
This is the post detail view. This view takes the year, month, day, and post arguments to retrieve a published post with the given slug and date. Note that when you created the Post model, you added the unique_for_date parameter to the slug field. This ensures that there will be only one post with a slug for a given date, and thus, you can retrieve single posts using the date and slug. In the detail view, you use the get_object_or_404() shortcut to retrieve


text:
To summarize the potential risk factors for postlaryngectomy pharyngocutaneous fistula.
Observational studies in the English-language literature about postlaryngectomy pharyngocutaneous fistula from January 1, 1970, to March 31, 2003. Studies were identified through a MEDLINE search with relevant key words; additional studies were identified through references.
We included studies about the site of primary malignancy, type of procedure, and type of closure; studies had to have been based on individual-level data, with a comparison group for each risk factor evaluated.
Data required to calculate the relative risk of fistula associated with commonly reported risk factors were abstracted from the studies, and a meta-analysis using a random-effects approach was performed to estimate a summary relative risk of fistula for each risk factor. The statistical significance of heterogeneity of effects among studies was assessed.
Of 65 studies identified, 26 met the inclusion criteria. Significant risk factors identified in the pooled analysis included postoperative hemoglobin level less than 12.5 g/dL, prior tracheotomy, preoperative radiotherapy, and preoperative radiotherapy and concurrent neck dissection. The degree of heterogeneity of effects among studies was significant for postoperative hemoglobin level, preoperative radiotherapy, concurrent neck dissection, and comorbid illness. The severity of fistula was greater in patients with a history of radiotherapy.
This meta-analysis identified several significant risk factors for postlaryngectomy pharyngocutaneous fistula. The clinical implications of these findings and the potential sources of heterogeneity of effects among studies are discussed.


text:
Definition of bodkin in English:
- Thus the body of the witch might be subjected to penetration by bodkins or needles as the insensible spot was sought.
- Isaac Newton risked his vision by poking a bodkin beneath his eyeball to understand how we see.
- There is a nail knot/tying tool, clipper/nipper, a bodkin - which as we all know is a needle.
The origin is perhaps Celtic linked with Irish bod, Welsh bidog, and Scottish Gaelic biodag 'dagger'. This was the first sense recorded in English and is used by Shakespeare in Hamlet: 'When he himself might his quietus make With a bare bodkin'. Another early use was for a sharp instrument for piercing cloth; now, in needlework, a bodkin is, on the contrary, blunt with a large eye for threading tape and other thick threads through material.
Words that rhyme with bodkinwineskin • Hodgkin
Definition of bodkin in:
- British & World English dictionary
What do you find interesting about this word or phrase?
Comments that don't adhere to our Community Guidelines may be moderated or removed.


Skip to content
54. Spiral Matrix
难度:Medium
刷题内容
原题连接
 - _URL_
内容描述
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.
Example 1:
Input:
[
 [ 1, 2, 3 ],
 [ 4, 5, 6 ],
 [ 7, 8, 9 ]
]
Output: [1,2,3,6,9,8,7,4,5]
Example 2:
Input:
[
 [1, 2, 3, 4],
 [5, 6, 7, 8],
 [9,10,11,12]
]
Output: [1,2,3,4,8,12,11,10,9,5,6,7]
Ë¼Â·1 *- Ê±¼ä¸'ÔÓ¶È: O(nm)*- ¿Õ¼ä¸'ÔÓ¶È: O(1)***
ÂÝÐý±éÀúÊý×é£¬ÕÒµ½¹æÂÉ¾ÍÐÐ£¬ºÃÏñÃ»Ê²Ã'难度
class Solution {
public:
 vector<int> spiralOrder(vector<vector<int>>& matrix) {
 vector<int> ans;
 if(!matrix.size())
 return ans;
 int row = matrix[0].size(),colunm = matrix.size();
 for(int i = 0;i < (matrix.size() + 1) / 2;++i)
 {
 if(row < 1 || colunm < 1)
 break;
 for(int j = 0;j < row;++j)
 ans.push_back(matrix[i][i + j]);
 if(colunm <= 1)
 break;
 for(int j = 1;j < colunm;++j)
 ans.push_back(matrix[i + j][row + i - 1]);
 if(row <= 1)
 break;
 for(int j = 1;j < row;++j)
 ans.push_back(matrix[i + colunm - 1][row + i - 1 - j]);
 for(int j = 1;j < colunm - 1;++j)
 ans.push_back(matrix[i + colunm - 1 - j][i]);
 row -= 2;
 colunm -= 2;
 }
 return ans;
 }
};
回到顶部


0 item items
Mei-mei Berssenbrugge
Poetry reading of Hello, the Roses
September 5 2015–July 27, 2021
Mei-mei Berssenbrugge was the recipient of the 3rd annual 'T' Space Poetry Award.
Listen here to a reading of her poem, Hello, the Roses, at the opening of her and Richard Tuttle's collaboration, an exhibition of sculpture and poetry.
Hello, the Roses
Hello, The Roses, Part 1 Transcription Only
Person and violet with so little in common are revealed by my voice as a resonance of identity.
You could say our identities reach out to encompass the forest environment, like telepathy; a moment opens space by rendering it transparent in intensified consciousness.
For, what you say to me is not finished within my thought or memory, but you grow within my memory and change, the way a shadow extends as light passes over it in Akashic emptiness.
That's why we need the identity of our physical forms.
Here, we don't know what's behind physical stars and planets.
The tree encompasses its changing form, while ego, myself of physical experience, looks in the past for something to recognize.
Flexibility would be the key word to another, since the experience is plastic, carrying a larger identity.
Then, I can do things.
Here we mean sun, alteration, myself are actions, the culture of Tibet disappearing, one thousand hopes of David Foster Wallace.
Imbalance between identity's wish to maintain and intrinsic drives result in an exquisite by-product, consciousness of self, so richly creating reality, which seems plastic, but continues like a light beam, an endless series of beams.
Creativity breaks through identity, and my awareness flows through transparency as spontaneous synchronous phenomena experienced with others as a day.
Its changing light and weather spectacles are fantastically aesthetic.
What I perceive as a flower in the woods may be the shadow of a flower-being's action in fairyland, a transcendent domain of potentia.
What you call feeling, like connective tissue or vibrating lines between us represents this vitality.
I prefer the term vitality to time.
In fairyland, all violets are simultaneous.
Slow Down, Now
I've been sitting looking at a plant, without feeling time at all, and my breathing is calm.
There are tiny white rosettes, and the whole bush is a glory of feathery pink seed heads, here in the arroyo.
Even with closed eyes I see roses in the center of my sight, new ones opening, with pink petals illuminating by sun behind me, and gray green leaves.
There's no stopping this effusion.
Looking at the plant releases my boundaries, so time is not needed for experience.
Late afternoon is like a stage, a section of vaster landscape, and my mood is of a summer idyll.
The dry arroyo sparkles all around.
Meaning I come upon on wild land strikes me at first as a general impression, then joy suffuses me.
I accept that I've aged and some friends have died.
At first, meaning is part of the rose, not unified with my experience as a whole, the way my sight opens out to peripheries.
There's an impasse between my will, desire and the resistance of a phenomenon to reveal itself.
My seeing is so slow, it seems to disengage; it becomes very cloudy, then suddenly, meaning as a whole interweaves with my perception.
A delicate empiricism makes itself identical with my plant.
I repeat the words freshness, tenderness, softness, the happiness of birds, as if speaking directly to a plant.
Sun lights the profusion of pink plumes, thousands of feathery seeds already reaching into empty space where I've taken a branch.
That space was left open by the vision I'm having now!
I hold my first sight of the Apache plume and this moment next to each other; I go back and forth, comparing them.
I see her multiple aspects as living representations; one is medicine administered by an oracle.
These aspects are not referred to, not associative, but intrinsic to my sight, as slowly gaps diminish and missing images appear or experience fills in; one transforms to another along an extending multidimensional axis of seeing a plant.
It's not a metaphor for the flow of our surroundings.
One day you need a plant you don't know, in order to connect pieces in yourself, or in a person you're trying to be with.
It may be a rosebush at the end of the road, a summer rose, whitish on the outside of each petal and pink inside, expressing its gestalt visually.
When a plant receives this kind of communication, it begins altering chemicals its wavelengths reflect, in order to offer itself to your imaginal sight, for you to gather it.
The plant or another person awakes from embedding in the livingness of the world and takes notice of your request.
The internal chemistry of plants is one primary language of response that they possess.
Through this method of your perception of its color, its fragrance, an infusion of its petals, you not only receive molecules of plant compound itself, but also meaning in yourself the plant is responding to you, so there's meaning in a chemical compound.
Even though the rose I want is in the garden of my friend I miss, another reveals itself in late light in the arroyo when I'm alone, a wild rose, Delphic.
Illness is not healed simply by supplying something rose-colored and lovely as a medical opiate.
The beauty provides form for meaning, and though it does help my body, form to form, I'm not only what my senses perceive, and my disease not just a physical absence virus fills.
When my fluctuating electromagnetic field touches that of another person, plant or entity, emotion is my perception of data encoded in that field.
So, when a plant is projecting coherent energy, organisms respond and become more animated, open, connected.
They use this amplified field to shift biological function.
DNA Alters; there's communication across distance.
Organisms can intentionally insert information to strengthen cooperative interactions among, for example, an Apache plume, ants and an agave in the riverbed, like human families, whose interweaving, loving bonds represent the long term incorporation of supportive, co-evolutionary fields continually embedding complex new data.
You and I nest within many such fields form a rose
Mei-Mei Berssenbrugge (b. 1947, Beijing) is the 2015 recipient of the 3rd Annual 'T' Space Poetry Award. Berssenbrugge was born in Beijing, the daughter of a Chinese mother and an American father who was the son of Dutch immigrants. Her mother was a mathematician, and her maternal grandmother received a college education in prerevolutionary China. Her father was employed at the American Embassy in Chungking, and later pursued Far Eastern studies at Harvard University. Her family moved to the United States when she was a year old. She earned a BA from Reed College and an MFA from Columbia University.
Berssenbrugge's characteristically long-lined poems combine abstract statements and specific observation; they reveal her knowledge of philosophy, architecture, and science as well as her affinity for the New Mexico landscape. Poet Ben Lerner, reviewing I Love Artists for Rain Taxi, commented: "[F]or four decades, Mei-mei Berssenbrugge has been writing poems that seek to make the process of perception perceptible."
Berssenbrugge lives in New Mexico, where she has taught at the Institute of American Indian Arts in Santa Fe and in New York City. In both locations she has been influenced by and collaborated with local visual artists, including Kiki Smith and Richard Tuttle, her husband. She has also been associated with the New York School of poets and the Language poets.
Berssenbrugge has received two fellowships from the National Endowment for the Arts, two American Book Awards, and honors from the Western States Art Foundation and the Asian American Writers Workshop.
Back Previous artist Next artist


text:
This article, by partly adopting a historical perspective, examines the introduction of new media in a Kenyan rural village, Kapkoi, and how it changes the communication ecology in the village. Further it explores how people in Kapkoi use and ascribe meaning to media. The article argues that categories such as gender, age and financial situation influence people's access to and use of media and demonstrates how media use can simultaneously reinforce and challenge power structures. Moreover, it highlights the clear digital divide between rural areas and urban centres, and yet suggests that the introduction of new media is partly owing to the connection between the urban and the rural and that media and communications technologies sustain and increase the connectedness of the local.
Click here to read more.


Josh Josh - 9 months ago 357
TypeScript Question
Easiest way to check for null and empty string on a typescript number
I'm surprised this question hasn't been asked, so maybe I'm overlooking the obvious. I have a form field that is supposed to be a number. Its starting value is null, but once a number is entered and cleared, its an empty string. It looks like javascript treats "" like 0 for numeric purposes.
So, instead of saying...
if ((this.RetailPrice != null && this.RetailPrice != 0) || this.RetailPrice === 0) {
return this.RetailPrice;
}
Is there a way to extend the TypeScript number type to have a IsNullOrEmpty() method? Or something similar that would simplify this expression?
Answer
You can simply use typeof. It will check undefined, null, 0 and "" also.
if(typeof RetailPrice!=undefined && RetailPrice){
 return this.RetailPrice;
}


Truth table
From Wikipedia, the free encyclopedia
Jump to: navigation, search
A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arguments, that is, for each combination of values taken by their logical variables (Enderton, 2001). In particular, truth tables can be used to show whether a propositional expression is true for all legitimate input values, that is, logically valid.
A truth table has one column for each input variable (for example, A and B), and one final column showing all of the possible results of the logical operation that the table represents (for example, A XOR B). Each row of the truth table contains one possible configuration of the input variables (for instance, A=true B=false), and the result of the operation for those values. See the examples below for further clarification. Ludwig Wittgenstein is often credited with inventing the truth table in his Tractatus Logico-Philosophicus,[1] though it appeared at least a year earlier in a paper on propositional logic by Emil Leon Post.[2]
Unary operations[edit]
There are 4 unary operations:
 - Always true
 - Never true, unary falsum
 - Unary Identity
 - Unary negation
Logical true[edit]
The output value is always true, regardless of the input value of p
Logical True
p T
T T
F T
Logical false[edit]
The output value is never true: that is, always false, regardless of the input value of p
Logical False
p F
T F
F F
Logical identity[edit]
Logical identity is an operation on one logical value p, for which the output value remains p.
The truth table for the logical identity operator is as follows:
Logical Identity
p p
T T
F F
Logical negation[edit]
Logical negation is an operation on one logical value, typically the value of a proposition, that produces a value of true if its operand is false and a value of false if its operand is true.
The truth table for NOT p (also written as ¬p, Np, Fpq, or ~p) is as follows:
Logical Negation
p ¬p
T F
F T
Binary operations[edit]
There are 16 possible truth functions of two binary variables:
Truth table for all binary logical operators[edit]
Here is an extended truth table giving definitions of all 16 of the possible truth functions of two binary variables (P and Q are thus boolean variables: information about notation may be found in Bocheński (1959), Enderton (2001), and Quine (1982); for details about the operators see the Key below):
P Q F0 NOR1 Xq2 ¬p3 4 ¬q5 XOR6 NAND7 AND8 XNOR9 q10 if/then11 p12 then/if13 OR14 T15
T T F F F F F F F F T T T T T T T T
T F F F F F T T T T F F F F T T T T
F T F F T T F F T T F F T T F F T T
F F F T F T F T F T F T F T F T F T
Com
L id F F T T T,F T F
R id F F T T T,F T F
where T = true and F = false. The Com row indicates whether an operator, op, is commutative - P op Q = Q op P. The L id row shows the operator's left identities if it has any - values I such that I op Q = Q. The R id row shows the operator's right identities if it has any - values I such that P op I = P.[note 1]
The four combinations of input values for p, q, are read by row from the table above. The output function for each p, q combination, can be read, by row, from the table.
Key:
The following table is oriented by column, rather than by row. There are four columns rather than four rows, to display the four combinations of p, q, as input.
p: T T F F
q: T F T F
There are 16 rows in this key, one row for each binary function of the two binary variables, p, q. For example, in row 2 of this Key, the value of Converse nonimplication ('') is solely T, for the column denoted by the unique combination p=F, q=T; while in row 2, the value of that '' operation is F for the three remaining columns of p, q. The output row for is thus
2: F F T F
and the 16-row[3] key is
[3] operator Operation name
0 (F F F F)(p, q) false, Opq Contradiction
1 (F F F T)(p, q) NOR pq, Xpq Logical NOR
2 (F F T F)(p, q) p q, Mpq Converse nonimplication
3 (F F T T)(p, q) ¬p, ~p ¬p, Np, Fpq Negation
4 (F T F F)(p, q) p q, Lpq Material nonimplication
5 (F T F T)(p, q) ¬q, ~q ¬q, Nq, Gpq Negation
6 (F T T F)(p, q) XOR pq, Jpq Exclusive disjunction
7 (F T T T)(p, q) NAND pq, Dpq Logical NAND
8 (T F F F)(p, q) AND pq, Kpq Logical conjunction
9 (T F F T)(p, q) XNOR p If and only if q, Epq Logical biconditional
10 (T F T F)(p, q) q q, Hpq Projection function
11 (T F T T)(p, q) p q if p then q, Cpq Material implication
12 (T T F F)(p, q) p p, Ipq Projection function
13 (T T F T)(p, q) p q p if q, Bpq Converse implication
14 (T T T F)(p, q) OR pq, Apq Logical disjunction
15 (T T T T)(p, q) true, Vpq Tautology
Logical operators can also be visualized using Venn diagrams.
Logical conjunction (AND)[edit]
Logical conjunction is an operation on two logical values, typically the values of two propositions, that produces a value of true if both of its operands are true.
The truth table for p AND q (also written as p ∧ q, Kpq, p & q, or p q) is as follows:
Logical Conjunction
p q pq
T T T
T F F
F T F
F F F
In ordinary language terms, if both p and q are true, then the conjunction pq is true. For all other assignments of logical values to p and to q the conjunction p ∧ q is false.
It can also be said that if p, then pq is q, otherwise pq is p.
Logical disjunction (OR)[edit]
Logical disjunction is an operation on two logical values, typically the values of two propositions, that produces a value of true if at least one of its operands is true.
The truth table for p OR q (also written as p ∨ q, Apq, p || q, or p + q) is as follows:
Logical Disjunction
p q pq
T T T
T F T
F T T
F F F
Stated in English, if p, then pq is p, otherwise pq is q.
Logical implication[edit]
Logical implication or the material conditional are both associated with an operation on two logical values, typically the values of two propositions, that produces a value of false just in the singular case the first operand is true and the second operand is false.
The truth table associated with the material conditional if p then q (symbolized as p → q) and the logical implication p implies q (symbolized as p ⇒ q, or Cpq) is as follows:
Logical Implication
p q pq
T T T
T F F
F T T
F F T
It may also be useful to note that p → q is equivalent to ¬p ∨ q.
Logical equality[edit]
Logical equality (also known as biconditional) is an operation on two logical values, typically the values of two propositions, that produces a value of true if both operands are false or both operands are true.
The truth table for p XNOR q (also written as p ↔ q, Epq, p = q, or p ≡ q) is as follows:
Logical Equality
p q pq
T T T
T F F
F T F
F F T
So p EQ q is true if p and q have the same truth value (both true or both false), and false if they have different truth values.
Exclusive disjunction[edit]
Exclusive disjunction is an operation on two logical values, typically the values of two propositions, that produces a value of true if one but not both of its operands is true.
The truth table for p XOR q (also written as p ⊕ q, Jpq, or p ≠ q) is as follows:
Exclusive Disjunction
p q pq
T T F
T F T
F T


Publish Test Results task
Azure Pipelines | Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015
Note
In Microsoft Team Foundation Server (TFS) 2018 and previous versions, build and release pipelines are called definitions, service connections are called service endpoints, stages are called environments, and jobs are called phases.
This task publishes test results to Azure Pipelines or TFS when tests are executed to provide a comprehensive test reporting and analytics experience. You can use the test runner of your choice that supports the results format you require. Supported results formats include CTest, JUnit (including PHPUnit), NUnit 2, NUnit 3, Visual Studio Test (TRX), and xUnit 2.
Other built-in tasks such as Visual Studio Test task automatically publish test results to the pipeline, while tasks such as Ant, Maven, Gulp, Grunt, and Xcode provide publishing results as an option within the task. If you are using any of these tasks, you do not need a separate Publish Test Results task in the pipeline.
The published test results are displayed in the Tests tab in the pipeline summary and help you to measure pipeline quality, review traceability, troubleshoot failures, and drive failure ownership.
The following example shows the task configured to publish test results.
Open the test history page
You can also use this task in a build pipeline to publish code coverage results produced when running tests to Azure Pipelines or TFS in order to obtain coverage reporting. The task supports popular coverage result formats such as Cobertura and JaCoCo.
Demands
[none]
YAML snippet
# Publish Test Results
# Publish Test Results to Azure Pipelines/TFS
- task: PublishTestResults@2
 inputs:
 #testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit, cTest
 #testResultsFiles: '**/TEST-*.xml'
 #searchFolder: '$(System.DefaultWorkingDirectory)' # Optional
 #mergeTestResults: false # Optional
 #failTaskOnFailedTests: false # Optional
 #testRunTitle: # Optional
 #buildPlatform: # Optional
 #buildConfiguration: # Optional
 #publishRunAttachments: true # Optional
The default option uses JUnit format to publish test results. When using VSTest as the testRunner, the testResultsFiles option should be changed to **/TEST-*.trx.
testResultsFormat is an alias for the testRunner input name. The results files can be produced by multiple runners, not just a specific runner. For example, jUnit results format is supported by many runners and not just jUnit.
To publish test results for Python using YAML, see Python in the Languages section of these topics, which also includes examples for other languages.
Arguments
Note
Options specified below are applicable to the latest version of the task.
Argument Description
Test result formats Specify the format of the results files you want to publish. The following formats are supported:
- CTest, JUnit, NUnit 2, NUnit 3, Visual Studio Test (TRX) and xUnit 2
Test results files Use this to specify one or more test results files.
- You can use a single-folder wildcard (*) and recursive wildcards (**). For example, **/TEST-*.xml searches for all the XML files whose names start with TEST- in all subdirectories. If using VSTest as the test result format, the file type should be changed to .trx e.g. **/TEST-*.trx
- Multiple paths can be specified, separated by a semicolon.
- Additionally accepts minimatch patterns. For example, !TEST[1-3].xml excludes files named TEST1.xml, TEST2.xml, or TEST3.xml.
Search folder Folder to search for the test result files. Default is $(System.DefaultWorkingDirectory)
Merge test results When this option is selected, test results from all the files will be reported against a single test run. If this option is not selected, a separate test run will be created for each test result file.
Note: Use merge test results to combine files from same test framework
Fail if there are test failures When selected, the task will fail if any of the tests in the results file is marked as failed. The default is false, which will simply publish the results from the results file.
Test run title Use this option to provide a name for the test run against which the results will be reported. Variable names declared in the build or release pipeline can be used.
Advanced - Platform Build platform against which the test run should be reported. For example, x64 or x86. If you have defined a variable for the platform in your build task, use that here.
Advanced - Configuration Build configuration against which the Test Run should be reported. For example, Debug or Release. If you have defined a variable for configuration in your build task, use that here.
Advanced - Upload test results files When selected, the task will upload all the test result files as attachments to the test run.
Control options See Control options
Result formats mapping
This table lists the fields reported in the Tests tab in a build or release summary, and the corresponding mapping with the attributes in the supported test result formats.
Scope Field Visual Studio Test (TRX) JUnit NUnit 2 NUnit 3 xUnit 2 CTest
Test run Title Test run title specified in the task Test run title specified in the task Test run title specified in the task Test run title specified in the task Test run title specified in the task Test run title specified in the task
Date started /TestRun/Times.Attributes["start"].Value /testsuites/testsuite.Attributes["timestamp"].Value /test-results.Attributes["date"].Value + /test-results.Attributes["time"].Value /test-run/start-time /assemblies/assembly/run-date + /assemblies/assembly/run-time /Site/Testing/StartTestTime.InnerText
Date completed /TestRun/Times.Attributes["finish"].Value /testsuites/testsuite.Attributes["timestamp"].Value + SUM(/testsuites/testsuite/testcase.Attributes["time"].Value) for all test cases in the test suite Date started + /test-results/results/test-case.Attributes["time"].Value for all test cases /test-run/end-time Date started + /assemblies/assembly/time /Site/Testing/EndTestTime.InnerText
Duration Date completed - Date started Date completed - Date started Date completed - Date started Date completed - Date started Date completed - Date started Date completed - Date started
Attachments Refer to Attachments support section below Results file, used to publish test results Results file used to publish test results Refer to Attachments support section below Results file used to publish test results Results file, used to publish test results
Test result Title /TestRun/Results/UnitTestResult.Attributes["testName"].Value Or /TestRun/Results/WebTestResult.Attributes["testName"].Value Or /TestRun/Results/TestResultAggregation.Attributes["testName"].Value /testsuites/testsuite/testcase/Attributes["name"].Value /test-results/results/test-case.Attributes["name"].Value /test-suite[@type='Assembly']/test-case.Attributes["name"].Value /assemblies/assembly/collection/test.Attributes["method"].Value /Site/Testing/Test/Name.InnerText
Date started /TestRun/Results/UnitTestResult.Attributes["startTime"].Value Or /TestRun/Results/WebTestResult.Attributes["startTime"].Value Or /TestRun/Results/TestResultAggregation.Attributes["startTime"].Value /testsuites/testsuite.Attributes["timestamp"].Value /test-results.Attributes["date"].Value + /test-results.Attributes["time"].Value /test-suite[@type='Assembly']/test-case.Attributes["start-time"].Value /assemblies/assembly/run-date + /assemblies/assembly/run-time /Site/Testing/StartTestTime.InnerText
Date completed /TestRun/Results/UnitTestResult.Attributes["startTime"].Value + /TestRun/Results/UnitTestResult.Attributes["duration"].Value Or /TestRun/Results/WebTestResult.Attributes["startTime"].Value + /TestRun/Results/WebTestResult.Attributes["duration"].Value Or /TestRun/Results/TestResultAggregation.Attributes["startTime"].Value + /TestRun/Results/TestResultAggregation.Attributes["duration"].Value /testsuites/testsuite.Attributes["timestamp"].Value + /testsuites/testsuite/testcase.Attributes["time"].Value Date started + /test-results/results/test-case


Outstanding places in Northern Ireland (Part 3)
Let's see where I'm going to take you this time.
 1. The Old Bushmills Distillery
Despite not being a person who likes whiskey I enjoy visiting those places that are culturally and economically so important for the development of the areas where they are implemented. This time I visited the oldest distillery in the world, located in county Antrim, Northern Ireland, the Old Bushmills Distillery. This Irish distillery has been transforming "water into gold" since 1608. To make whiskey you only need three things: barley, starch and water. This process has five stages: malting (where the barley is soaked in water), mashing (the process of extracting sugars from the barley originating what is called wort), fermentation (the wort goes into stainless steel tanks to turn the sugars into alcohol, this liquid is called wash and the percentage of alcohol is very small, only 8%), distillation (the wash is distilled three times and the liquid at this stage has an alcoholic strength of 80%) and maturation (where the spirit is put into oak casks of three types: bourbon, sherry and Madeira casks, all of them are second hand casks. The ones that are going to produce older whiskeys and therefore more expensive are stored in Port Wine (sherry) and Madeira casks). The Bushmills Single Malt Whiskey 21 year old can cost £150 per bottle!
For more information visit: _URL_
 1. Marble Arch Caves
Located in County Fermanagh, Northern Ireland the Marble Arch Caves are a UNESCO Global Geopark. Those limestone caves are the longest known cave system in Northern Ireland with 11.5 Km. Located in a stunning area here you will have the chance to see and explore the formation of stalactites and stalagmites. Although the caves were only found in the 19th century by Édouard-Alfred Martel, these limestone caves are millions of years old.
If you are planning to visit the caves don't forget to book in advance.
The guides will take you down to the underground caves where the journey starts with a boat trip through the chambers. The rest of the journey you will be walking so make sure you bring comfortable shoes. Some of the caves' formations are amazing. Did you know that a stalactite can take 100 years to grow just one millimetre?
Be prepared to do some stepping and the journey ends with a climb of 150 stairs. Don't complain, it's good to keep you fit!
For more information: _URL_
IMG_20170415_155025IMG_20170415_155220IMG_20170415_155929OLYMPUS DIGITAL CAMERAIMG_20170415_160534IMG_20170415_160906IMG_20170415_164011IMG_20170415_165654IMG_20170415_160032IMG_20170415_155739
 1. The Gobbins Cliff Path
Located in County Antrim, Northern Ireland the Gobbins Cliff Path is in a spectacular, dramatic location overlooking the Irish sea.
The original path opened in 1902 thanks to a visionary called Berkeley Deane Wise, a chief engineer from the railway company who saw the potential of this area in attracting visitors to this beautiful location. But due to the high costs of maintaining the path it was closed during the second world war. The new path re-opened in 2014.
The journey starts at the Gobbins visitor centre. Don't forget to book in advance. There you will watch a video explaining the place. You will be provided with a helmet and if you don't have appropriate boats don't worry, they will provide that as well. A short bus journey will take you with your guide to the Gobbins. The tour has a duration of approximately 2,5 hours. A steep descend will take you to the Wise's Eye, a narrow entrance that will unravel a magical world with paths (some narrow), bridges, the crashing waves, a cave and the climax, the bird watching. This place harbours puffins, guillemots, razorbills, kittiwakes and shags.
In a clear day you have views to Scotland and the Rathlin Island (you can see my post about this mesmerizing island: _URL_
Then get ready for the way back and climb 100 stairs and a steep path that will bring you back to the mini bus. A very good workout for your heart!
P1018303OLYMPUS DIGITAL CAMERAP1018309P1018313P1018317P1018318P1018325P1018342P1018344P1018370P1018374P1018386P1018409P1018412P1018475P1018501
For more outstanding places in Northern Ireland, have a look at the following posts:
Leave a Reply


4 TYPES OF VOR CHECKS
Your airplanes VOR received must be checked every 30 days for IFR Operations and there are multiple ways pilot's can check their VORs. How are they performed? What do you need to annotate?
Here's what you need to know.
VOR Checks:
VOR Receivers are required to be checked every 30 days for IFR Flight Operations. However, it is also important for VFR Pilot's to check their aircraft's VOR Receivers.
What to Write (SLED)
Signature (of pilot performing the check)
Location (of the check)
Error (amount of error detected during check)
Date (of the check)
VOT (VOR Test Facility)
A VOT is coded to emit the 360 Radial in all directions around the facility.
This means the airplane's VOR Receiver should read either: 360 FROM or 180 TO, regardless of the aircraft's location in relation to the VOR.
How the check is done:
 1. Tune and Identify the VOT.
 2. Twist the OBS Knob to center the CDI Needle.
 3. Check for proper TO/FROM Indication.
 4. The radial selected must be within:
 5. +/- 4 degrees of 360 or 180.
Ground Check
With a VOR Ground Check:
 - The Pilot must park the airplane in the designated ground spot.
 - The Pilot must tune and identify the correct VOR.
 - The Pilot must use the ground check sign to know:
 - Which radial he/she should be on.
 - Whether he/she should have a TO or a FROM Indication.
How the check is done:
 1. Park aircraft in designated check spot.
 2. Tune and Identify the Correct VOR.
 3. Twist the OBS Knob to center the CDI Needle.
 4. Check for proper TO/FROM Indication.
 5. The radial selected must be within:
 6. +/- 4 degrees of Designated Radial.
Airborne Check
With an Airborne VOR check:
 - The Pilot must position the airplane over the designated location.
 - The Pilot must tune and identify the correct VOR.
 - The Pilot must use the information in the Chart Supplement to know:
 - Which radial he/she should be on.
 - Whether he/she should have a TO or a FROM Indication.
How the check is done:
 1. Position aircraft over designated check spot.
 2. Tune and Identify the Correct VOR.
 3. Twist the OBS Knob to center the CDI Needle.
 4. Check for proper TO/FROM Indication.
 5. The radial selected must be within:
 6. +/- 6 degrees of Designated Radial.
Dual VOR Check
With a Dual VOR check, the airplane must be equipped with 2 VOR Receivers.
How the check is done:
 1. The pilot tunes both VOR Receivers to the same VOR.
 2. The pilot centers both CDI Needles.
 3. Check for proper TO/FROM Indications.
 4. With both CDI Needles Centered:
 5. The Selected Radials should be within 4 degrees of each other.
VOR Check Summary:
 - VOT = +/- 4
 - Ground Check = +/- 4
 - Airborne Check = +/- 6
 - Dual Check = within 4 degrees of each other
Author - Nate Hodell
CFI/CFII/MEI/ATP - Creator of wifiCFI - Owner of Axiom Aviation Flight School.
This information is included in the Navigation Aids: VOR Lessons on wifiCFI. Sign up today to watch videos, listen to podcasts, take lesson quizzes, join live webinars, print lesson quicktakes, and more by clicking this link >
where aviation comes to study
worldwide site members: 27,532


text:
I'm trying to take a directory and list its contents in a string array so that a while loop can loop through the contents to find the.out files I'm reading. My program currently can read one of the.out files if given the specific file directory.
Problem is that I need it to be able to find the parent folder of the other folders so that it can then loop through each child folder, get the.out file, find and write the information needed then move onto the next child folder.
The only trouble I'm having is converting the string directory into a format that the.list() method can read. Any ideas?


text:
This is an old revision of KingsburyHighSchool from 2007-10-12 11:41:13.
The Kingsbury High School Archaeology Project
In February 2004 two members of staff from Kingsbury High School, London Borough of Brent, contacted UCLâ€™s Institute of Archaeology (IoA) in order to propose a joint archaeology project. Michael Long and Stephen Ramsay, respectively assistant head teacher and history teacher at Kingsbury High School (KHS) had already identified their site in the back garden of a school-owned caretakerâ€™s house. They asked, â€œwould it be at all possible for students from your department to lead this project and to teach our 6th formers some of the basics of archaeology?â€
The resulting project â€" the Kingsbury High School Archaeology Project (KHSAP) â€" has now run for three seasons in 2004, 2005 and 2006. The project is directed by Andy Agate from the IoA and is jointly funded by UCL and KHS. The aim is to put the pupils in the trench and allow them to be at the point of discovery. It has expanded from its 6th form remit to include pupils from all years. For three weeks each July pupils have had the opportunity to take part in the excavation of the back garden of a Tudor cottage (the building was demolished c. 1950). Supervised by students from the IoA the pupils have taken part in a full range of archaeological activities; excavating, planning and surveying. The finds from the site cover a wide range of artefacts including pottery (covering the period 1100 to yesterday) as well as clay pipes, pet burials and brick drains.
In addition to introducing the otherwise â€˜invisibleâ€™ subject of archaeology into the school the project aims to be an applied example of how different curriculum subjects dovetail into one another. This aspect is especially important to the school where the project is able to promote cross-curricular links, amplifying its use as an educational resource. Within archaeology the project is relevant not only for introducing pupils to the discipline but also within the current topic of diversity â€" that is the inclusion of Black and minority ethnic communities. However, at its core it is more than a worthy educational project â€" itâ€™s a bunch of kids learning about a past which is directly relevant to them in a way which is great fun!
For more information, please visit _URL_
Listen to the radio interview [[_URL_
The Significance of St Andrews Old Church∞
| CBA, St Mary's House, 66 Bootham, York YO30 7BZ.
tel: +(44) (0)1904 671417 | fax: +(44) (0)1904 671384 | email:


:
$$ \begin{aligned} \max_{\boldsymbol{u},\|\boldsymbol{u}\|=1}\left\|\hat{cov}\left[{\boldsymbol{W}^{rs}}\boldsymbol{u},\boldsymbol{y}\right]\right\|^{2}&= \max_{\boldsymbol{u},\| \boldsymbol{u}\|=1}\left\|\boldsymbol{u}^{T} {\boldsymbol{W}^{rs}}^{T} \boldsymbol{y}\right\|^{2}\\ &=\max_{\boldsymbol{u},\| \boldsymbol{u}\|=1}\boldsymbol{u}^{T} {\boldsymbol{W}^{rs}}^{T}\boldsymbol{y}\boldsymbol{y}^{T} \boldsymbol{W}^{rs} \boldsymbol{u}. \end{aligned} $$
(2)
The solution u is the eigenvector corresponding to the largest eigenvalue of the matrix W rs T y y T W rs, which is the vector W rs T y. The complexity of computing u is therefore in O(np r p s ). We then use the projection of the matrix W rs on u as the interaction variable. The resulting Eigen-Epistasis vector Z is the linear combination of all the SNP-SNP interactions being the most correlated with the phenotype. In its construction, G-GEE has similarities with PLS. The main difference lies in the original design matrix. PLS searches for components that maximize cov 2(X r u,y X s v), whereas G-GEE retains the component that maximizes cov 2(y,W rs u), with W rs the matrix of all pairwise interaction between the two genes r and s. Like PLS, G-GEE takes phenotypic information into account in the construction of the interaction variables. Other methods as such as CCU [12] and the kernel versions of CCU [13, 14] that we referred to in the introduction also consider the phenotype in their construction, but these methods can be applied only to case-control problems.
Estimation of coefficients
We propose a Group Lasso approach [18] for estimating the parameters of linear or logistic (case control) regression. A group comprises either the SNPs of a given gene, or interaction terms relative to a given gene-pair interaction. In the particular case of linear regression, the model parameters are estimated by:
$$\begin{aligned} \hat{\boldsymbol{\theta}}&=\left(\hat{\boldsymbol{\beta}},\hat{\boldsymbol{\gamma}}\right) = {\underset{\boldsymbol{\beta},\boldsymbol{\gamma}}{\arg\!\min}}\left(\sum_{i}{\left(y_{i} - \boldsymbol{X}_{i} \boldsymbol{\beta} - \boldsymbol{Z}_{i} \boldsymbol{\gamma}\right)^{2}} +\lambda \left[ \sum_{g} \sqrt{p_{g}}\|\boldsymbol{\beta}^{g}\|_{2}\right.\right.\\ &\qquad\qquad\quad\qquad\left.\left.+ \sum_{rs} \sqrt{p_{r} p_{s}}\|\boldsymbol{\gamma}^{rs}\|_{2}\right] \right), \end{aligned} $$
The parameter λ is selected by cross-validation.
In order to improve estimation accuracy and to obtain p-values for each of the selected groups, we use the adaptive ridge cleaning approach proposed by Bécu et al. [19]. This screen and clean procedure is a two-stage method. The group lasso model is first fitted on half of the data. The coefficient of the candidate groups selected by the model are then introduced into a ridge regression model fitted on the second half of the data with a specific penalty that allows the group structure to be taken into account. For each group the significance of the regression coefficients is estimated using permutation tests.
Simulation design
To evaluate the performance of the proposed approach, we conducted two simulation studies, the first using simulated data and the second using a real dataset relating to ankylosing spondylitis. In each case we compared the proposed G-GEE model to the two other interaction variable modeling approaches. The first simulation corresponds to a simplified context where all parameters were controlled and external interference limited, while the second simulation corresponds to a realistic context with a realistic pattern of minor allele frequency (MAF) and LD.
Design
Genotypes Our first (simplified) simulation study was adapted from the model used in [21] with an extension to control the MAF of each SNP. The n lines of the genotype matrix are an i.i.d. sample from a multivariate random vector \(\boldsymbol {X}_{i}\sim \mathcal {N}_{p} (\boldsymbol {0},\boldsymbol {\Sigma })\). The correlation matrix Σ is block diagonal, each block corresponding to a gene. Two variables belonging to the same gene are correlated at level ρ=0.8 while all other correlations are null. Each SNP (column of the genotype matrix) is randomly assigned an MAF p from a uniform distribution between 0.05 and 0.5. An MAF value of 0.2 is assigned to all causal SNPs. The genotype frequencies derived from the Hardy-Weinberg equation are then used to discretize X ik values to 0, 1 or 2. In practice, X ik is set to 1 if \(X_{ik}<q_{p^{2};N(0,1)}\phantom {\dot {i}\!}\), X ik is set to 3 if \(X_{ik}<q_{(1-p)^{2};N(0,1)}\phantom {\dot {i}\!}\) and X ik is set to 2 otherwise.
In the second (realistic) simulation study using a real ankylosing spondylitis dataset, genes are randomly selected. The number of SNPs composing each genes varies according to the selection.
Phenotypes For both simulation studies, we generated phenotype vectors using two different schemes. Our first scheme corresponds to the model proposed by Wang et al. [17] (which, for the sake of brevity, we will refer to hereafter as the "Wang Pathway" model):
$$ \begin{aligned} Y_{i} = \beta_{0} + \sum_{g} \beta_{g} \left(\sum_{k \in \mathcal{C}} X_{ik}^{g} \right)+ \sum_{rs} \gamma_{rs} \left(\sum_{(j,k) \in \mathcal{C}^{2}} X_{ij}^{r} X_{ik}^{s} \right) + \epsilon_{i}, \end{aligned} $$
(3)
where \(\mathcal {C}\) and \(\mathcal {C}^{2}\) are respectively the set of causal SNPs and causal interactions, and ε i a random Gaussian variable. For each causal gene g, we consider two causal SNPs and a coefficient β g is assigned to the standardized sum of these causal SNPs. In the same way, for the interactions, all the causal SNPs from a causal pair (r,s) are pairwise multiplied and a coefficient γ rs is assigned to the standardized sum of the product.
Our second scheme for simulating phenotypes is based on the following model:
$$ Y_{i} = \beta_{0} + \sum_{g} \beta_{g} \left(\sum_{k \in \mathcal{C}} X_{ik}^{g} \right) + \sum_{rs} \gamma_{rs} \left(\sum_{(j,k) \in \mathcal{C}^{2}} C_{ij}^{r} C_{ik}^{s} \right) + \epsilon_{i}. $$
(4)
The difference with the first model concerns the simulation of the interaction effect. In the second model the interaction


that screen.
This is of great use when running a command that takes a long time to return data. You can just use the command, switch to another window and not have reasons to keep switching back to check the status.
You can also monitor for inactivity. Why is it important? If you are copying a large about of data with rsync or compiling a program, you can be notified when there is no more output. This is a great signal to when that job is done. To monitor for silence or no output use the control command "Ctrl-a" "_". By default the Screen command will alert after 30 seconds of silence.
Stopping Screen
To stop the screen utility you can just type exit just as you normally would to close a shell. It is compulsory to close all Screen windows to terminate the session or stopping Screen.
You should get a message about Screen being terminated once you close all windows.
[screen is terminating]
Alternatively, you can use "Ctrl-a" "k" to kill a specific window. You should get a message asking you to confirm if you want to kill the screen.
Control Command Shortcuts
After having a good understanding of the syntax used in screen, it is good that you also know the shortcuts being used so as to increase your efficiency. Here is a list of some of the most important control command combinations.
Shortcut Keys:
 - Ctrl-a + c: It creates a new window.
 - Ctrl-a + w: It displays the list of all the windows currently opened.
 - Ctrl-a + A: It renames the current windows. The name will appear when you will list the list of windows opened with Ctrl-a + w.
 - Ctrl-a + n: It goes to the next windows.
 - Ctrl-a + p: It goes to the previous windows.
 - Ctrl-a + Ctrl-a: It backs to the last windows used.
 - Ctrl-a + k: It closes the current windows (kill).
 - Ctrl-a + S: It splits the current windows horizontally. To switch between the windows, do Ctrl-a + Tab.
 - Ctrl-a + |: It splits the current windows vertically.
 - Ctrl-a + d: It detaches a screen session without stopping it.
 - Ctrl-a + r: It reattaches a detached screen session.
 - Ctrl-a + [: It starts the copy mode.
 - Ctrl-a + ]: It pastes the copied text.
Conclusion
As we said in the introduction, there are too many options to cover in this tutorial. We covered the basics like detaching and reattaching terminal sessions, and also how to use split screen terminal windows. Using screen takes some practice, but once you get used to the control commands it can greatly increase your productivity.
There are plenty of other terminal multiplexers our there. Use the comments below to tell use what multiplexer you have used in the past and why it may or may not be better than screen.
Resources and Links


The land of the Dancing Deer
The Moirang C.D. Block come into existence on 04-04-1985 with its Head Quarter at Moirang Khunou about 1.5 Km. from the Kumbi Main Road. it was bifurcated from the erstwhile Bishnupur C.D. Block. It has an area of 269 Sq. Km. with a population of 62, 187 (BPL Survey) inhabiting in 67 villages. The inhabitants are Meitei/Meetei, Muslim, Tribal, Bengali etc. These inhabitants mostly lived on Agriculture and fishing. The Loktak the biggest fresh water lake in the North East Region and Keibul Lamjao International park are situated in this Block and the people of Thanga, Karang and those villages in and around the Loktak lake lived on fishing. There are 12 Gram Panchayats in this Block.
The name and population of the Gram panchayats are as follows :-
Sl. No.
Name of G.Ps
BPL Survey Population.
1. Ngakhalawai 4085
2. Tronglaobi 3297
3. Torbung 3258
4. Kwakta 5604
5. Saiton 4105
6. Moirangkhunou 5818
7. Thanga I 7144
8. Thanga II 6292
9. Kha-Thingngei 5851
10. Wangoo 6724
11. Wangoo Terakhong 4317
Borayangbi 5706
 Total:- 62,187


select * from city
testdb-> where altitude > 400;
name | population | altitude
---------+------------+---------
Villach | 50000 | 500
Salzburg | 150000 | 420
(2 rows)
testdb=> select * from capital;
name | population | altitude | country
---------+------------+----------+---------
Vienna | _PHONE_ | 200 | Austria
(1 row)
testdb=>
2.5.SOMEOFPOSTGRESQL'SSPECIALFEATURESINDETAIL 33
If we want to knowthe names of all cities (including capitals) that are located at an altitude
over 100 meters the query is:
testdb=> select * from city*
testdb-> where altitude > 100;
name | population | altitude
---------+------------+---------
Linz | 200000 | 270
Graz | 250000 | 350
Villach | 50000 | 500
Salzburg | 150000 | 420
Vienna | _PHONE_ | 200
(5 rows)
testdb=>
Here the '*' after city indicates that the query should be run over city and all classes
below city in the inheritance hierarchy.Many of the commands that we have already
discussed (SELECT,UPDATE,DELETE,etc) support this '*' notation.
2.5.2 User Deﬁned Functions
PostgreSQL allows the deﬁnition and usage of user deﬁned functions.The new deﬁned
functions can be used within every query.PostgreSQL provides two types of functions:
Query Language (SQL) Functions:functions written in SQL.
Programming Language Functions:functions written in a compiled language such
as C.
Query Language (SQL) Functions
These functions are deﬁned using SQL.Note that query language functions do not extend
the expressive power of the SQL92 standard.Every query language function can be re-
placed by an appropriate nested query (subselect) without changing the semantical meaning
of the whole query.However,since PostgreSQL does not allowsubselects in the selectlist
at the moment but does allowthe usage of query language functions,the expressive power
of PostgreSQL's current SQL implementation is extended.
The deﬁnition of query language functions is done using the command
create function
function
name
.Every function can take zero or more ar-
guments.The type of every argument is speciﬁed in the list of arguments in the function
deﬁnition.The type of the function's result is given after the keyword returns in the
function deﬁnition.The types used for the arguments and the return value of the function
can either be base types (e.g.int4,varchar,...) or composite types.(For each class (ta-
ble) that is created,a corresponding composite type is deﬁned.supplier and part are
examples for composite types after the tables supplier and part have been created.)
Example 2.5 This is an example using only base types.
Before PostgreSQL was extended to support nested subqueries user deﬁned query
language (SQL) functions could be used to simulate them.Consider example 2.3 where we
have wanted to know the names of all suppliers that do not sell any part at all.Normally
we would formulate the query as we did in example 2.3.Here we want to show a possible
way of formulating the query without using a subquery.This is done in two steps.In the
ﬁrst step we deﬁne the function my
exists.In the second step we formulate a query
using the newfunction.
34 CHAPTER2.POSTGRESQLFROMTHEUSER'SPOINTOFVIEW
In the ﬁrst step we deﬁne the newfunction my
exists(int4)which takes an integer as
argument:
testdb=> create function my_exists(int4) returns int4
testdb-> as 'select count(pno) from sells
testdb-> where sno = $1;' language 'sql';
CREATE
testdb=>
Here is the second step which performs the intended retrieve:
testdb=> select s.sname from supplier s
testdb-> where my_exists(s.sno) = 0;
sname
-----
(0 rows)
testdb=>
Nowlet's have a look at what is happening here.The function my
exists(int4) takes
one argument which must be of type integer.Within the function deﬁnition this argument
can be refered to using the $1 notation (if there were furhter arguments they could be
referred to by $2,$3,...).my
exists(int4) returns the number of tuples from table
sells where the attribute sno is equal to the given argument $1 (sno = $1).The
keyword language 'sql' tells PostgreSQL that the new function is a query language
function.
The query in the second step examines every tuple fromtable supplierand checks if
it satiﬁes the given qualiﬁcation.It does so by taking the supplier id snoof every tuple and
giving it as an argument to the function my
exists(int4).In other words the function
my
exists(int4) is called once for every tuple of table supplier.The function
returns the number of tuples having the given supplier id snocontained in table sells.A
result of zero means that no such tuple is available meaning that the corresponding supplier
does not sell a single part.We can see that this query is semantically equivalent to the one
given in example 2.3.
Example 2.6 This example shows howto use a composite type in a function deﬁnition.
Imagine that the price of every part was doubled over night.If you want to look at
the part table with the new values you could use the following function which uses the
composite type part for its argument:
testdb=> create function new_price(part) returns float
testdb-> as 'select $1.price * 2;' language 'sql';
CREATE
testdb=> select pno,pname,new_price(price) as new_price
testdb-> from part;
pno | pname | new_price
----+---------+-----------
1 | Screw | 20
2 | Nut | 16
3 | Bolt | 30
4 | Cam | 50
(4 rows)
testdb=>
Note that this could have been done by a normal query (without using a user deﬁned func-
tion) as well but it's an easy to understand example for the usage of functions.
2.5.SOMEOFPOSTGRESQL'SSPECIALFEATURESINDETAIL 35
Programming Language Functions
PostgreSQL also supports user deﬁned functions written in C.This is a very powerful fea-
ture because you can add any function that can be formulated in C.For example Post-
greSQL lacks the function sqrt() but it can be easily added using a programming lan-
guage function.
Example 2.7 We show how to realize the user deﬁned function pg
my
sqrt(int4).
The implementation can be divided into three steps:
formulating the newfunction in C
compiling and linking it to a shared library
making the newfunction known to PostgreSQL
Formulating the NewFunction in C:We create a new ﬁle called sqrt.c and add the
following lines:
#include <postgres.h>
#include <utils/palloc.h>
#include <math.h>
int4 pg_my_sqrt(int4 arg1)
{
return (ceil(sqrt(arg1)));
}
The function pg
my
sqrt() takes one argument of type int4 which is a Post-
greSQL type deﬁned in postgres.h and returns the integer value next to the
square root of the argument.As with query language functions (see previous sec-
tion) the arguments can be of base or of composite type.Special care must be taken
when using base types that are larger than four bytes in length.PostgreSQL supports
three types of passing a value to the user deﬁned function:
pass by value,ﬁx ed length
pass by reference,ﬁx ed length
pass by reference,variable length
Only data types that are 1,2 or 4 bytes in length can be passed by value.We just
give an example for the usage of base types that can be used for pass by value here.
For information on how to use types that require pass by reference or how to use
composite types refer to [LOCK98].
Compiling and Linking It to a Shared Library:PostgreSQL binds the new function to
the runtime system by using a shared library containing the function.Therefore we
have to create a shared library out of the objectﬁle(s) containing the function(s).It
depends on the system and the compiler how this can be done.


Display Portatile Milk
The portable display is a practical and functional device and it is useful to simplify the work of the farmer
The system is made of a model MILK 200 and a portable display with radio transmission. The aim of the system is to distribute known quantities reading the value on the display. The quantity to be distributed is contained in the tank which uses the Milk 200 weighing system. Through a specific key the Display shows the actual weight of the milk being discharged removing the burden of the calculation from the operator.
Solicitar informações
Para baixar a ficha técnica, faça o login


text:
- Gemini Home
- Telescopes and Sites
- Science Visitors at Gemini
- Observing With Gemini
- Future Instrumentation & Current Development
- Queue and Schedules
- Data and Results
- Gemini Research Staff
Change page style:
Past Development and the Aspen Process
This page includes links to the reports and summaries of the past instrument planning meetings. In particular, information about "Aspen" instruments is available from this page. The instruments described below are at various stages of development.
The Aspen Instrument Program
In June 2003, representatives from all the Gemini partner nations convened in Aspen, Colorado to define the observations and capabilities that would be required to answer the most fundamental questions in astronomy in the subsequent decade. The following links summarize the results of that meeting:
The following instruments are currently considered as part of the Aspen program.
- Gemini Planet Imager (GPI) (External team web pages).
GPI is being built by a large international team led by the Lawrence Livermore National Laboratory. The LLNL team won the Extreme AO Coronagraph (ExAOC) conceptual design study competition, and are now proceeding towards construction of this ambitious instrument. GPI is scheduled to be completed and delivered to Gemini-South around the beginning of 2011. GPI will then be used to discover and characterize planets around young stars.
- Wide Field Fiber Multi-Object Spectrograph (WFMOS) (PDF Feasibility study report).
Gemini is funding two competing teams to conduct conceptual design studies for WFMOS based on the ideas originally explored by the Feasibility Study team. WFMOS is a ground-breaking multi-object spectrograph that will be built in close collaboration with the Japanese and located on the Subaru telescope on Mauna Kea. It is expected that the conceptual design studies will be conducted in 2008.
- Ground Layer Adaptive Optics (GLAO) (PDF Feasibility study report).
After the Feasibility Study team showed that a GLAO system could significantly improve observing efficiency by providing 20-percentile seeing 80% of the time across the full Gemini field of view, Gemini commissioned a ground-layer site monitoring campaign to characterize the turbulence on Mauna Kea in the lowest 100 m. That survey is nearing completion. When complete, the data will be fed into computer models generated by the Feasibility Study team to fully quantify the impact a GLAO system would have on the Gemini-North telescope.
Related Community Meetings
- In November 2005, Gemini and Subaru hosted a joint meeting in Waikoloa, Hawaii to discuss Dark Energy and the potential for WFMOS and HyperSuprime Cam to illuminate the dark universe.
- In June 2007, Gemini helped sponsor a meeting in Berkeley, California that addressed topics related to high-contrast coronagraphy and the direct detection of extra-solar planets and circumstellar disks.
- In May 2008, Gemini and Subaru hosted a conference in Waikoloa, Hawaii to explore the wide range of science that will be enabled by WFMOS. Cosmology Near and Far: Science with WFMOS
Historical Documents and Announcements
The previous generation of instruments were developed following a meeting of the Gemini partners in Abingdon, U.K. Details of that meeting and the rationale for the instruments that came from it can be found here:
The following links provide access to documents related to past instrument development activities, such as calls for proposals for Aspen instrument design studies.
- Original Aspen announcement
- 15 Aug 2005 announcement (Board decision regarding WFMOS, ExAOC, HRNIRS, and GLAO)
- 24 Aug 2005 announcement (Original Announcement of Opportunity for WFMOS conceptual design studies)
- 16 Nov 2007 Board announcement regarding the announced withdrawal of the U.K. from the Gemini partnership.


text:
E. Cobham Brewer _PHONE_. Dictionary of Phrase and Fable. 1898.
A species of limestone, used for building, and found in the Lower Oolite, in Wiltshire and Somersetshire. It is easily wrought in the quarry, but hardens on exposure to the air. Called Bath stone because several of the quarries are near Bath, in Somersetshire.