Initial focus directive is designed to ease setting initial focus on some element.
By default, initial focus directive will try to focus element to which this directive is applied.
If this element is not focusable or tabbable, it will try to find such element in it's children.
Developers can change order of search for the tabbable elements by providing
[focusLastElement]="true"
input property.
Additionally, developers can specify CSS selector of the focusable element manually, to focus on a specific element.


Syntax sugar for event manipulation.
Along with the list of functions below, this module dynamically generates syntax-shortcuts for all defines.events events. These shortcuts are only to be used when registering a handler to a single event. To register a handler to multiple events, use event.register.
To use a shortcut, replace event.register(defines.events.on_built_entity, handler, filters)
with
event.on_built_entity(handler, filters)
. You can also deregister the handler using event.on_built_entity(nil)
.
local event = require("__flib__.event")
| on_init(handler) | Register or deregister a handler to be run during mod init. |
| on_load(handler) | Register or deregister a handler to be run during mod load. |
| on_configuration_changed(handler) | Register or deregister a handler to be run when mod configuration changes. |
| on_nth_tick(nth_tick, handler) | Register or deregister a handler to run every N ticks. |
| register(ids, handler[, filters]) | Register or deregister a handler to or from an event or group of events. |
| generate_id() | Generate a new, unique event ID. |
| get_handler(id) | Retrieve the handler for an event, if one exists. |
| raise(id, event_data) | Raise an event as if it were actually called. |
| get_order() | Retrieve the mod event order. |
| set_filters(ids, filters) | Set the filters for the given event(s). |
| get_filters(id) | Retrieve the filters for the given event. |
| EventId |
Register or deregister a handler to be run during mod init.
Parameters:
nil
to deregister the registered handler.
-- register a handler to run during mod init
event.on_init(function() log("on_init") end)
-- deregister the registered handler, if one exists
event.on_init(nil)
Register or deregister a handler to be run during mod load.
Parameters:
nil
to deregister the registered handler.
-- register a handler to run during mod load
event.on_load(function() log("on_load") end)
-- deregister the registered handler, if one exists
event.on_load(nil)
Register or deregister a handler to be run when mod configuration changes.
Parameters:
nil
to deregister the registered handler.
-- register a handler to run when mod configuration changes
event.on_configuration_changed(function() log("on_configuration_changed") end)
-- deregister the registered handler, if one exists
event.on_configuration_changed(nil)
Register or deregister a handler to run every N ticks.
Parameters:
nil
to deregister the registered handler.
-- register a handler to run every 30 ticks
event.on_nth_tick(30, function(e) log("30th tick!") end)
-- deregister the registered handler, if one exists
event.on_nth_tick(30, nil)
Register or deregister a handler to or from an event or group of events.
Parameters:
nil
to deregister the registered handler.
-- register a handler to a defines.events event that supports filters
event.register(defines.events.on_built_entity, function(e) log("ghost built!") end, {{filter="ghost"}})
-- register a handler to a custom-input
event.register("my-input", function(e) log("my-input pressed!") end)
-- register a handler to multiple events of different types
event.register({"my-input", defines.events.on_lua_shortcut}, function(e) log("do something!") end)
-- deregister a handler from a single event, if one is registered
event.register("my-input", nil)
-- deregister a handler from multiple events, if one is registered
event.register({"my-input", defines.events.on_lua_shortcut}, nil)
Generate a new, unique event ID.
Returns:
-- generate a new event ID
local my_event = event.generate_id()
-- raise that event with custom parameters
event.raise(my_event, {whatever_you_want=true, ...})
Retrieve the handler for an event, if one exists.
Parameters:
nil
if one isn’t registered.
Raise an event as if it were actually called.
Parameters:
event.raise(defines.events.on_gui_click, {player_index=e.player_index, element=my_button, ...})
Retrieve the mod event order.
Returns:
Set the filters for the given event(s).
Parameters:
nil
to clear the filters.
-- set the filters for a single event
event.set_filters(defines.events.on_built_entity, {
{filter="ghost"},
{filter="type", type="assembling-machine"}
})
-- set the filters for multiple events that have compatible formats
event.set_filters({defines.events.on_built_entity, defines.events.on_robot_built_entity}, {
{filter="ghost"},
{filter="type", type="assembling-machine"}
})
-- clear event filters if any are set
event.set_filters(defines.events.on_robot_built_entity, nil)
Retrieve the filters for the given event.
Parameters:
nil
if there are none defined.
One of the following:


Bonus constructions income:
{{gameData.bonusIncome}}
%
Reduce energy by:
{{gameData.reduceEnergyConsumption}}
%
Game resources bonus:
{{gameData.bonusGameResources}}
%
Rental income:
{{gameData.income | currency}}
Current Goal:
{{gameData.goal | currency}}


The internet has changed and evolved dramatically every year since its birth in 1989, from protocols and coding languages to the fundamental way that we interact with the websites that populate it. The internet has now influenced almost every aspect of culture and society. Below are some stats on the modern state of the web.
HTML (HyperText Markup Language) is the most basic building block of the Web. It defines the meaning and structure of a website. Other technologies besides HTML are generally used to describe a webpage's appearance (CSS) or functionality (JavaScript). "HyperTexts" are links that connect webpages to one another, either within a single website or between websites. Links are a fundamental aspect of the Web. By linking your content to pages created by other people, you become an active participant in the World Wide Web.
Like everything on the internet, languages evolve over time. Web languages need regular upgrades in order to stay current and solve new problems faced by web developers. HTML5 is the latest version of HTML.
CSS (short for Cascading Style Sheets) is a style sheet language used to describe the style of a document concerning colors, typography, placement and more. CSS is one of the core languages of the open Web and is designed to enable the separation of presentation and content. This separation can improve content accessibility, provide more flexibility and control, and enable multiple web pages to share formatting by specifying the relevant CSS in a separate .css file. This website has over 6,000 lines of CSS that define its modern look and feel.
Developed in levels, CSS1 is now obsolete, CSS2.1 is a recommendation, and CSS3 is the most current iteration, though not adopted by some browsers.
JavaScript (JS) has been popularized as a client-side scripting language for websites. JavaScript has become the de-facto language of choice when building websites, and one of the most popular ones to build web applications. JS is commonly used to create highly responsive interfaces that improve the user experience and provide dynamic functionality, without having to wait for the server to react and show another page.
PHP (Hypertext Preprocessor), is a server-side scripting language that often gets paired with JavaScript. PHP is still in extensive use today for its ease of use, availability, and compatibility (it still powers the majority of servers). PHP can be used to collect form data, send and receive cookies, and connect to a company's database, among other things.
Python is famous for its variety of use cases and simple programming typing style. Python is also used in many computer science classes, making the language very well known throughout the workforce as students enter the field. Python also has a popular web framework (Django) which can be used to generate dynamic webpages.
Ruby, Golang, ASP.NET, C#, Java, and more are also frequently used to create websites. In addition to the languages themselves, there are many different frameworks (Ember, React, Ruby on Rails, Django), databases (MySQL, MongoDB, GraphQL), and platforms (WordPress, Shopify) that facilitate the creation of increasingly complex websites.
Explore the World Wide Ruin to learn more about the early days of the internet, discover forgotten parts of the web, and be experience early internet culture. Be prepared for glorious animated gifs, smaller fonts, sound effects, old web buttons, view counter, a sidebar, and hyperlinks as far as the eye can see!
Be sure to explore every nook and cranny; there are links hidden all over the place! If you're feeling adventurous, try and get to the github repository for this website by only clicking on links from the World Wide Ruin (good luck, and remember to sign the guestbook if you succeed)
If you want the full experience (dial-up and everything), load this baby up in Internet Explorer 6.0, Netscape 8.0, or Safari 2.0 (although unfortunately some features won't be supported)


2 large yachts destroyed in predawn fire at Florida marina
by The Associated PressFORT LAUDERDALE, Fla. — Authorities say a huge fire has destroyed two large yachts in South Florida, sending flames skyward and leaving millions of dollars in losses.
No injuries were reported in Saturday’s pre-dawn fire.
Fort Lauderdale Battalion Chief Stephen Gollan told news outlets the fire started in one of the yachts and that winds caused it to spread to the other luxury vessel. He said one of the yachts was worth $8 million, while the other was estimated at between $12 and $16 million.
About 100 firefighters fought the blaze at the Universal Marine Center in Fort Lauderdale. It took crews about four hours to bring the fire under control.
Gollan says one of the yachts was undergoing renovations. The fire official says authorities are investigating reports by witnesses that they heard explosions.
The Associated Press


find nicki's verse
tweet @findnickisverse with the title of a song nicki minaj is featured on and it will send you a youtube link that it timestamped to when her verse starts. can't decide? tweet "shuffle" for a random song
built on: python
low ticket warning [work in progress]
do you always forget to grab tickets for a show before they sell out? this bot scans the social media feeds of local dc venues and sends you a text when your favorite shows are about to sell out!
built on: python
jack on fire website [work in progress]
view more work on my github page


Bulgaria ( Republika Bǎlgariya, IPA: Southeast Europe. It is bordered by Romania to the north, Black Sea to the east. The capital and largest city is 16th-largest country.
One of the earliest societies in the lands of modern-day Bulgaria was the Karanovo culture, which dates back to 6,500 BC. In the 6th to 3rd century BC the region was a battleground for Persians, ancient Macedonians; stability came when the First Bulgarian Empire in AD 681, which dominated most of the Basil II conquered and dismantled it. A successful Bulgarian revolt in 1185 established a Ottoman rule for nearly five centuries.
The Russo-Turkish War of 1877–78 resulted in the formation of the current Third Bulgarian State. Many ethnic Bulgarian populations were left outside its borders, which led to several conflicts with its neighbours and an alliance with Germany in both world wars. In 1946 Bulgaria became a democracy and a market-based economy.
Since adopting a democratic constitution in 1991, the parliamentary republic with a high degree of political, administrative, and economic centralisation. The population of seven million lives mainly in Sofia and the capital cities of the 27 provinces, and the country has suffered significant demographic decline since the late 1980s.
Bulgaria is a member of the European Single Market and mostly relies on services, followed by industry—especially machine building and mining—and agriculture. Widespread corruption is a major socioeconomic issue.
The name Bulgaria is derived from the Turkic origin that founded the country. Their name is not completely understood and difficult to trace back earlier than the 4th century AD,[10] [12]
Middle Paleolithic, are some of the earliest traces of human activity in the lands of modern Bulgaria.agriculture.gold metallurgy. [16] The associated Varna Necropolis treasure contains the oldest golden jewellery in the world with an approximate age of over 6,000 years.[17] [18] The treasure has been valuable for understanding social hierarchy and stratification in the earliest European societies. [19] [21]
The Balkan Peninsula some time before the 12th century BC.[22] [24] The Thracians excelled in Dionysian cults, but remained tribal and stateless.[25] The Persian 479 BC.Odrysian kingdom in the 470s BC. [27] by Celts in the 3rd century, Roman Empire in AD 45.[31]
By the end of the 1st century AD, Roman governance was established over the entire Balkan Peninsula and Christianity began spreading in the region around the 4th century. Gothic Bible—the first Ulfilas in what is today northern Bulgaria around 381.fall of Rome in 476. The Byzantines were engaged in prolonged warfare against Persia and could not defend their Balkan territories from barbarian incursions.Slavs to enter the Balkan Peninsula as marauders, primarily through an area between the Danube River and the Balkan Mountains known as Moesia.South Slavs, who lived under a democracy.[35] Hellenized, Gothicized Thracians in the rural areas. [38] [40]
Not long after the Slavic incursion, Bulgars under Asparukh.Old Great Bulgaria, an extinct tribal confederacy situated north of the Black Sea in what is now Ukraine. Asparukh attacked Byzantine territories in Moesia and conquered the Slavic tribes there in 680.[23] A peace treaty with the First Bulgarian Empire. The minority Bulgars formed a close-knit ruling caste. [42]
Succeeding rulers strengthened the Bulgarian state throughout the 8th and 9th centuries. Krum introduced a written code of law Battle of Pliska, in which Byzantine emperor Bulgarian churchSlavic language. [48]
After Simeon's death, Bulgaria was weakened by wars with Pechenegs and the spread of the Bogomil heresy.[47] [52]
After the conquest of Bulgaria, Basil II prevented revolts by retaining the rule of local nobility and relieving their lands of the obligation to pay taxes in gold, allowing tax in kind instead.[53] [54] Byzantine domestic policies changed after Basil's death and a series of unsuccessful rebellions broke out, Asen dynasty nobles Peter IV organized a major uprising which resulted in the re-establishment of the Bulgarian state. Ivan Asen and Peter laid the foundations of the Second Bulgarian Empire with Tarnovo as the capital.[55]
Belgrade and papal legate.Epirus, while commerce and culture flourished.[56] [55] Ivan Asen's rule was also marked by a shift away from Rome in religious matters. [57]
The Asen dynasty became extinct in 1257. Internal conflicts and incessant Byzantine and Hungarian attacks followed, enabling the establish suzerainty over the weakened Bulgarian state.[56] great peasant revolt that chased the Mongols out of Bulgaria and briefly made him emperor. [58] the feudal landlords, rump states—two tsardoms at Ottoman Turks.[56]
The Ottomans were employed as mercenaries by the Byzantines in the 1340s but later became invaders in their own right.Battle of Nicopolis which brought about the fall of the Vidin Tsardom in 1396. Sozopol was the last Bulgarian settlement to fall, in 1453.[61]
inferior class of people under the Ottoman system. Bulgarians were subjected to heavy taxes (including devshirme, or blood tax), their culture was suppressed,Rum Millet, which governed all Orthodox Christians regardless of their ethnicity. [63] Most of the local population then gradually lost its distinct national consciousness, identifying only by its faith. [64] [65] The clergy remaining in some isolated monasteries kept their ethnic identity alive, enabling its survival in remote rural areas, [67]
As Ottoman power began to wane, Russian Empire also asserted itself as a protector of Christians in Ottoman lands with the Treaty of Küçük Kaynarca in 1774.[68]
The Western European national awakening of Bulgaria.[59] It restored national consciousness and provided an ideological basis for the liberation struggle, resulting in the 1876 April Uprising. Up to 30,000 Bulgarians were killed as Ottoman authorities put down the rebellion. The massacres prompted the Great Powers to take action. Russian Empire to seek a military solution without risking confrontation with other Great Powers, as had happened in the Crimean War.Constantinople.[70] [71]
The Russia and the Moesia, Second Bulgarian Empire.[72] Sofia, leaving large populations of ethnic Bulgarians outside the new country.[72] [75]
The Bulgarian principality won Eastern Rumelia in 1885, proclaiming itself an independent state on 5 October 1908.World War I. After a disastrous defeat in the Second Balkan War, Bulgaria again found itself fighting on the losing side as a result of its alliance with the Central Powers in World War I. Despite fielding more than a quarter of its population in a 1,200,000-strong army[78] Doiran and Monastir, the country capitulated in 1918. The war resulted in significant territorial losses and a total of 87,500 soldiers killed. [82]
The resulting political unrest led to the establishment of a royal concentration camps.Bogdan Filov subsequently failed to achieve peace with the Allies. Bulgaria did not comply with Soviet demands to expel German forces from its territory, resulting in a declaration of war and an invasion by the USSR in September 1944.Fatherland Front took power, ended participation in the Axis and joined the Allied side until the war ended.Southern Dobrudzha, were lost.[86]
The the executions of some 1,000–3,000 dissidents, war criminals, and members of the former royal elite.[87] [90] It fell into the Soviet sphere of influence under the leadership of Stalinist state.[91] Turks to adopt Slavic names in an attempt to erase their identity and assimilate them.[99]
The Communist Party was forced to give up its political monopoly on 10 November 1989 under the influence of the Revolutions of 1989. Zhivkov resigned and Bulgaria embarked on a transition to a parliamentary democracy.Bulgarian Socialist Party. new constitution that provided for a relatively weak elected president and for a prime minister accountable to the legislature was adopted in July 1991. The new system initially failed to improve living standards or create economic growth—the average quality of life and economic performance remained lower than under communism well into the early 2000s.NATO in 2004 War in Afghanistan. After several years of reforms it joined the single market in 2007 despite Brussels' concerns about government corruption.Presidency of the Council of the European Union at the National Palace of Culture in Sofia.[107]
Bulgaria occupies a portion of the eastern Greece and Romania to the north. The land borders have a total length of 1,808 kilometres (1,123 mi), and the coastline has a length of 354 kilometres (220 mi). [108] Its total area of 110,994 square kilometres (42,855 sq mi) ranks it as the world's 105th-largest country. 25° E. Balkan Mountains, the Rhodope Mountains. Sofia and broadening as it reaches the Black Sea coast. [108]
The Balkan mountains run laterally through the middle of the country. The mountainous southwest has two distinct alpine ranges—Pirin, which border the lower but more extensive Rhodope Mountains to the east.Maritsa in the south. [108]
Bulgaria has a changeable climate, which results from being positioned at the meeting point of the Mediterranean and continental air masses combined with the barrier effect of its mountains.[108] Northern Bulgaria averages 1 °C (1.8 °F) cooler, and registers 200 millimetres (7.9 in) more precipitation, than the regions south of the Balkan mountains. Temperature amplitudes vary significantly in different areas. The lowest recorded temperature is −38.3 °C (−36.9 °F), while the highest is 45.2 °C (113.4 °F).[115]
The interaction of climatic, hydrological, geological and topographical conditions has produced a relatively wide variety of plant and animal species.biosphere reserves and 565 protected areas.[118] [120] Ninety-three of the 233 vascular plant species.[121] Overall, 41,493 plant and animal species are present. jackals (47,293) and Partridges number some 328,000 individuals, making them the most widespread gamebird. Rila National Park, which also hosts Arctic and alpine species at high altitudes.[125]
In 1998, the Bulgarian government adopted the National Biological Diversity Conservation Strategy, a comprehensive programme seeking the preservation of local ecosystems, protection of endangered species and conservation of genetic resources. Natura 2000 areas in Europe covering 33.8% of its territory.[128] [129]
Bulgaria ranks 30th in the 2018 Environmental Performance Index, but scores low on air quality.[132] Maritsa Iztok-2 station, is causing the highest damage to health and the environment in the European Union.[136]
Bulgaria is a Constitution also provides possibilities of direct democracy, namely petitions and national referenda.[138] Normally, the prime minister-elect is the leader of the party receiving the most votes in parliamentary elections, although this is not always the case.[103]
Unlike the prime minister, presidential domestic power is more limited. The directly elected commander-in-chief of the armed forces, and has the authority to return a bill for further debate, although the parliament can override the National Assembly, a body of 240 deputies elected to four-year terms by direct popular vote. The National Assembly has the power to enact laws, approve the budget, schedule presidential elections, select and dismiss the prime minister and other ministers, declare war, deploy troops abroad, and ratify international treaties and agreements.[139]
Overall, Bulgaria displays a pattern of unstable governments.minority government with 117 seats in the National Assembly.[142] His first government resigned on 20 February 2013 after nationwide protests caused by high costs of utilities, low living standards, corruption [143] and the perceived failure of the democratic system. The protest wave was notable for self-immolations, spontaneous demonstrations and a strong sentiment against political parties.[144]
The subsequent GERB,[146] large-scale protests.[149] [151] and called the formed a coalition[154] with several right-wing parties, but resigned again after the candidate backed by his party failed to win the United Patriots, who hold 27 seats.[141]
Freedom House has reported a continuing deterioration of democratic governance after 2009, citing reduced media independence, stalled reforms, abuse of authority at the highest level and increased dependence of local administrations on the central government., with a political system designated as a semi-consolidated democracy, albeit with deteriorating scores. Democracy Index defines it as a "Flawed democracy". [156]
Bulgaria has a civil law legal system.[138] The Supreme Judicial Council manages the system and appoints judges. The legal system is regarded by both domestic and international observers as one of Europe's most inefficient due to pervasive lack of transparency and corruption.[158] [160] [161] Ministry of the Interior. [164] GDNP fields 26,578 police officers in its local and national sections. homicide rates are low. [166] The Ministry of the Interior also heads the Border Police Service and the National Gendarmerie—a specialized branch for anti-terrorist activity, crisis management and riot control. Counterintelligence and national security are the responsibility of the State Agency for National Security.[167]
Bulgaria is a unitary state.[168] Since the 1880s, the number of territorial management units has varied from seven to 26.[169] Between 1987 and 1999 the administrative structure consisted of nine provinces (oblasti, singular oblast). A new administrative structure was adopted in parallel with the decentralization of the economic system.centralized state where the Council of Ministers directly appoints regional governors and all provinces and municipalities are heavily dependent on it for funding. [138]
Bulgaria became a member of the Security Council three times, most recently from 2002 to 2003.Organization for Security and Co-operation in Europe (OSCE) in 1975. Euro-Atlantic integration has been a priority since the fall of communism, although the communist leadership also had aspirations of leaving the Warsaw Pact and joining the European Communities by 1987.[177] and a historical relationship with Russia.[179] [181]
Bulgaria deployed significant numbers of both civilian and military advisors in Soviet-allied countries like NicaraguaKC-135 Stratotanker aircraft and 200 support personnel for the war effort in Afghanistan. NATO in March 2004[105] and the US-Bulgarian Defence Cooperation Agreement signed in April 2006. [184] [185]
Domestic defence is the responsibility of the all-Bulgarian armed forces, composed of air force. The land forces consist of two mechanized brigades and eight independent regiments and battalions; the air force operates 106 aircraft and air defence systems in six air bases, and the navy operates various ships, helicopters and coastal defence weapons. S-300PT air defence systems SS-21 Scarab short-range ballistic missiles. [191]
Bulgaria has an open, market economy where the private sector accounts for more than 70% of GDP.[193] From a largely agricultural country with a predominantly rural population in 1948, by the 1980s Bulgaria had transformed into an industrial economy with scientific and technological research at the top of its budgetary expenditure priorities. COMECON markets in 1990 and the subsequent "[198]
A [199] Expenditures amounted to $21.15 billion and revenues were $21.67 billion in 2017. [200] Most government spending on institutions is earmarked for security. The ministries of defence, the interior and justice are allocated the largest share of the annual government budget, whereas those responsible for the environment, tourism and energy receive the least amount of funding.excise duties, corporate and personal income tax are national, whereas real estate, inheritance, and vehicle taxes are levied by local authorities.[205]
The PPP) of $26,580 in 2016.[207] [208] Bulgarian National Bank issues the national currency, lev, which is pegged to the euro at a rate of 1.95583 levа per euro.[213]
After several consecutive years of high growth, repercussions of the financial crisis of 2007–2008 resulted in a 3.6% contraction of GDP in 2009 and increased unemployment. [216] Positive growth was restored in 2010 but intercompany debt exceeded $59 billion, meaning that 60% of all Bulgarian companies were mutually indebted. [218] The government implemented strict austerity measures with IMF and EU encouragement to some positive fiscal results, but the social consequences of these measures, such as increased income inequality and accelerated outward migration, have been "catastrophic" according to the International Trade Union Confederation. [219]
Siphoning of public funds to the families and relatives of politicians from incumbent parties has resulted in fiscal and welfare losses to society.[220] Corruption Perceptions Index corruption in the European Union, a phenomenon that remains a source of profound public discontent.Schengen Area application and withdrawal of foreign investment. [226] [227] Government officials reportedly engage in embezzlement, influence trading, government procurement violations and bribery with impunity. [158] Government procurement in particular is a critical area in corruption risk. An estimated 10 billion leva ($5.99 billion) of state budget and European cohesion funds are spent on public tenders each year;[229] A large share of these contracts are awarded to a few politically connected[230] companies amid widespread irregularities, procedure violations and tailor-made award criteria. European Commission, [227] EU institutions refrain from taking measures against Bulgaria because it supports Brussels on a number of issues, unlike Hungary.[223]
The labour force is 3.36 million people,[232] of whom 6.8% are employed in agriculture, 26.6% in industry and 66.6% in the services sector. chemicals, [234] [237] [238] [240]
Two-thirds of food and agricultural exports go to OECD countries.[242] output has since increased, and the 2016–2017 season registered the biggest grain output in a decade.Oriental tobacco is a significant industrial crop. [20] [246] tourism is a significant contributor to economic growth. Bulgaria has emerged as a travelling destination with its inexpensive resorts and beaches outside the reach of the tourist industry. Veliko Tarnovo, coastal resorts Sunny Beach and winter resorts Borovets are some of the locations most visited by tourists. [251]
Spending on research and development amounts to 0.78% of GDP,[254] The same year, Bulgaria ranked 39th out of 50 countries in the Bloomberg Innovation Index, the highest score being in education (24th) and the lowest in value-added manufacturing (48th). [255] Chronic government underinvestment in research since 1990 has forced many professionals in science and engineering to leave Bulgaria. [256]
Despite the lack of funding, research in chemistry, physics remains strong. high performance computing and operates Avitohol, the most powerful supercomputer in Southeast Europe. [262]
Bulgaria has made numerous contributions to space exploration.two cosmonauts since 1971. [264] [267] exploration of Mars, including a spectrometer that took the first high quality Phobos 2 probe.[263] Cosmic radiation en route to and around the planet has been mapped by ExoMars TGO. Variants of these instruments have also been fitted to the International Space Station. SpaceX in June 2017.[272]
Telephone services are widely available, and a central digital trunk line connects most regions.[274] Internet penetration stood at 61.9% of the population aged 16–74, in 2017.[276]
Bulgaria's strategic geographic location and well-developed energy sector make it a key European energy centre despite its lack of significant fossil fuel deposits.[280]
The national road network has a total length of 19,512 kilometres (12,124 mi),[281] of which 19,235 kilometres (11,952 mi) are paved. Railroads are a major mode of freight transportation, although highways carry a progressively larger share of freight. Bulgaria has 6,238 kilometres (3,876 mi) of railway trackMinsk, Saint Petersburg.[273]
The population of Bulgaria is 7,360,000 people according to the 2011 national census. The majority of the population, or 72.5%, reside in urban areas.[update], Sofia is the most populated urban centre with 1,330,000 people, followed by Varna (344,000), Ruse (160,000).Roma minorities comprise 8.8 and 4.9%, respectively; some 40 smaller minorities comprise 0.7%, and 0.8% do not self-identify with an ethnic group.[286] Reneta Indzhova has disputed the 2011 census figures, suggesting the actual population is smaller than reported and a higher percentage of citizens are of Romani origin.[288] [289] The Roma minority is usually underestimated in census data and may represent up to 11% of the population. [291]
Bulgaria is in a state of demographic crisis.[297] Furthermore, a third of all households consist of only one person and 75.5% of families do not have children under the age of 16. [298] death rates are among the highest. [300]
High death rates result from a combination of an ageing population, a high number of people at risk of poverty and a weak healthcare system.cardiovascular conditions; nearly a fifth of those are avoidable.[302] Mortality rates can be sharply reduced to levels below the EU average through timely and adequate access to medical services, which the healthcare system does not provide fully. [303] Although out-of-pocket expenses account for nearly half of all healthcare spending, which significantly limits access to medical care. [305] Other problems disrupting care provision are the emigration of doctors due to low wages, understaffed and under-equipped regional hospitals, supply shortages and frequent changes to the basic service package for those insured. [309] [310]
Public expenditures for education are far below the European Union average as well.[311] Educational standards were once high,[311] Bulgarian students were among the highest-scoring in the world in terms of reading in 2001, performing better than their Canadian and German counterparts; by 2006, scores in reading, math and science had dropped. Although average literacy stands at 98.4% with no significant difference between sexes,PISA study of 2015 found 41.5% of pupils in the 9th grade to be functionally illiterate in reading, maths and science.[314] The Ministry of Education and Science partially funds public schools, colleges and universities, sets criteria for textbooks and oversees the publishing process. Education in primary and secondary public schools is free and compulsory.[317]
Bulgarian is the only language with official status and native for 85% of the population.Slavic group of languages, but it has a number of grammatical peculiarities, shared with its closest relative Macedonian, that set it apart from other Slavic languages: these include a complex verbal morphology (which also codes for distinctions in definite article. Turkish and Romani, which according to the 2011 census were spoken natively by 9.1% and 4.2% respectively.
More than three-quarters of Bulgarians subscribe to Sunni Muslims are the second-largest religious community and constitute 10% of Bulgaria's overall religious makeup, although a majority of them are not observant and find the use of other religions and 11.8% are irreligious or do not self-identify with a religion. [322] [325]
Contemporary Bulgarian culture blends the formal culture that helped forge a national consciousness towards the end of Ottoman rule with millennia-old folk traditions.veela) are either benevolent guardians or ambivalent tricksters.survakari. Martenitsa is also widely celebrated. Nestinarstvo, a ritual fire-dance of Thracian origin, is included in the list of UNESCO Intangible Cultural Heritage.[330] [331]
Madara Rider, the Thracian tombs in Kazanlak, the Nesebar.[332] The Rila Monastery was established by Saint patron saint, whose life has been the subject of numerous literary accounts since Medieval times.[333]
During the Preslav and Ohrid literary schools in the 10th century is associated with a golden period in Bulgarian literature.scriptures made the Bulgarian Empire a centre of Slavic culture, bringing Slavs under the influence of Christianity and providing them with a written language. [335] Cyrillic script, was developed by the Preslav Literary School.Tarnovo Literary School, on the other hand, is associated with a Silver age of literature defined by high-quality manuscripts on historical or mystical themes under the Shishman dynasties.[333] Many literary and artistic masterpieces were destroyed by the Ottoman conquerors, and artistic activities did not re-emerge until the National Revival in the 19th century.Ivan Vazov (1850–1921) covered every genre and touched upon every facet of Bulgarian society, bridging pre-Liberation works with literature of the newly established state.Aleko Konstantinov, the Pencho Slaveykov, the Dimitar Talev.[339]
А religious visual arts heritage includes Tarnovo Artistic School.Zahari Zograf was a pioneer of the visual arts in the pre-Liberation era. Ivan Mrkvička, Zlatyu Boyadzhiev introduced newer styles and substance, depicting scenery from Bulgarian villages, old towns and historical subjects. [326]
Folk music is by far the most extensive traditional art and has slowly developed throughout the ages as a fusion of Far Eastern, Oriental, medieval Eastern Orthodox and standard Western European tonalities and modes.gaida, tupan. A distinguishing feature is extended rhythmical time, which has no equivalent in the rest of European music.opera in 1890. symphony, ballet and opera, with singers Nicolai Ghiaurov elevated to a world-class level.[326] [345] [346] [348] Mira Aroyo), Ivo Papazov).[326]
The bTV and daily newspapers freedom of the press has deteriorated to the point where Bulgaria scores 111th globally in the World Press Freedom Index, lower than all European Union members and membership candidate states. The government has diverted EU funds to sympathetic media outlets and bribed others to be less critical on problematic topics, while attacks against individual journalists have increased.[352] [352]
Bulgarian cuisine is similar to that of other Balkan countries and demonstrates strong Turkish and Greek influences.lukanka, kozunak are among the best-known local foods. Meat consumption is lower than the European average, given a cultural preference for a large variety of salads.[354] Bulgaria was the world's second-largest wine exporter until 1989, but has since lost that position.Bulgarian wine. brandy that was consumed in Bulgaria as early as the 14th century.[359]


@composi/datastore:
setState
Manging DataStore State
So you put data in a dataStore. You need a way to update or change that data during the lifetime of your app. You do that using the setState
method. This can be used in two ways. Passing in a object that will get merged with the state object, or using a callback.
Pass Object to setState
As we mentioned, you can update the dataStores state by passing an objet to the setState
method. Please not that this can only be done with the dataStore state is an object. It's possible for a dataStore state to be a primitive type or array. In those cases this approach will not work. You'd have to use a callback instead.
dataStore.setState({
name: 'Sam Smith'
})
The above code can do either of two things. In the case that the dataStore's state doesn't have a property name, it will be added. If it already has a name with a different value, this will change it to "Sam Smith".
This is a very simple way to update a state object. However, we strongly recommend using a callback. It gives you more control and is more explicit about what is happening.
setState with Callback
You can update a dataStore's state by using a callback. When you do so, the callback's argument will be the previous state of the dataStore. We usually refer to this as prevState
in our code. You could use any value you want, but prevState shows what we are dealing with more clearly.
When you do use a callback, you perform whatever actions you need to on the previous state. When you are done, you need to return the prevState. If you fail to, the dataStore's state will not get updated and none of its events will fire. That means, if you have a setState method to change a dataStore's state and nothing is happening, check if you returned prevState at the end.
dataStore.setState(prevState => {
// Here state is an array:
prevState.push({
key: 109,
value: 'Melon',
price: 1.99
})
// Don't forget to return prevState:
return prevState
})
dataStore.setState(prevState => {
// Here state is an object with a fruits array:
prevState.fruits.push({
key: 109,
value: 'Melon',
price: 1.99
})
// Don't forget to return prevState:
return prevState
})
dataStore.setState(prevState => {
// Here we delete an item by filering it out:
const newState = prevState.filter(fruit => fruit.value !== 'Lemon')
// Don't forget to return newState:
return newState
})
setState for Objects
You can also use a setState
callback to update an object. The object properties will be available from the prevState
value:
dataStore.setState(prevState => {
prevState.name.first = 'Joe'
prevState.name.last = 'Bodoni'
prevState.updated = new Date().getTime()
// Don't forget to return prevState:
return prevState
})
prevState
When we use setState
we refer to the data that it exposes with the term prevState
. This is just a convention. You can use whatever term you want for this value: potatoe, foo, etc. If your native language is not English, you might want to use something that makes more sense for you:
// Simplified Chinese:
const 参考 = {}
参考.钥 = 105
参考.值 = '蕉'
const 数据缓存 = new DataStore({水果: [
{ 钥: 101, 值: '苹' },
{ 钥: 102, 值: '橙' }
]})
数据缓存.setState(旧数据 => {
const 项目 = 参考.值
旧数据.水果.push({
钥: 参考.钥++,
值: 项目
})
return 旧数据
})
// Spanish:
const almacén = new DataStore({frutos: [
{ clave: 101, valor: 'manzanas' }
{ clave: 102, valor: 'naranjas' }
]})
const referencias = {}
referencias.clave = 105
referencias.valor = 'plátanos'
almacén.setState(estadoPrevio => {
const ítem = referencias.valor
estadoPrevio.push({
clave: referencias.clave++
valor: ítem
})
return estadoPrevio
}


Stereotypes are something I didn't grow up thinking about too much. I think a large measure of that is because I grew up in a very homogenous area in terms of religion and race. In some ways this may make you think that stereotypes are very strong, which I think in some ways they are, but it was also something that I didn't think about or look for very much.
After listening to a lecture about it, I realized that there are more stereotypes than I think about. It's almost as if we've stereotyped the word 'stereotype' to think about really negative things and commonly described minorities. I can now see that stereotypes can be by omission (not degrading a certain group, but building one up) as well as very circumstantial, such as being "the old person" within a certain group of individuals.
I think one of the hard things about handling our own judgments is we want to feel like we know a lot, but from everything I can gather when you meet someone you have to almost assume that you know nothing like a little child would. While following stereotypes may help you know information about individuals early on from time to time, when you are wrong it is never fun to have to fight against predefined expectations.
Some of the stereotypes that I face--being a member of The Church of Jesus Christ of Latter-day Saints (Mormon), being from Utah, or lack of romantic relationships in my life. I'm alright with a lot of the stereotypes that I face for my faith. They often cause me to live to a higher standard. One of the stereotypes that I feel that Mormons have is being boring or having a restrictive lifestyle. I love living my life in such a way that surprises people of how much fun we can have and I would argue to be more fulfilling.
In terms of lack of romantic relationships, this also causes people to think I must have some issues that make me weird or undesirable. I'm sure I have some degree of those characteristics, but no more than any other individual.
Going into DBC, I think it will be important for me to view each individual for who they are and what I DO know about them--they have made a sacrifice in their life in order to be able to make a difference. I think that is something that we can all unite on and move forward with.


If target="_blank", the link will open in a new browser window or tab.
 Click here!
This is an email link: Send Mail
This is another mailto link: Send mail!
The link will only work if you have email installed.


--- title: Visualizing Model States keywords: fastai sidebar: home_sidebar summary: "quick exploratory analysis of model states at arbitrary points along simulation" description: "quick exploratory analysis of model states at arbitrary points along simulation" nb_path: "01_Visualizing_Model_States.ipynb" ---
We often simulate a simple free recall experiment and visualize model states throughout to explore their capacity to
exhibit classical patterns of primacy, recency, and temporal contiguity. Any arbitrary configuration of parameters can
be specified for the model, including an experiment_count
, determining the number of simulations with the given
parameters.
In each experiment:
To visualize model state, we add to our model_analysis
submodule three basic categories of visualizations. To
visualize model state throughout encoding, we track the state of context
and the amount of support
for recall of
each item based on contextual state. We also prepare a visualization of the final state of memory
once encoding is
finished. To visualize model state throughout retrieval, we similarly track context
and support
at each step of
recall. An additional visualization makes clearer the distribution of outcome probabilities at a particular index of
recall (e.g. after a second item has been recalled).
# this demo if it supports the same functions
from repfr.models import DefaultCMR as CMR
# entries and values in this dict will be passed as model parameters
cmr_parameters = {
}
First we create simulations and visualizations to track model state throughout encoding of new memories.
To do this,we produce two parallel functions, encoding_states
and plot_states
that collect and visualize encoding states, respectively.
An additional wrapper function called encoding_visualizations
plots these states in addition to the
final overall state of model memory.
model = CMR(**cmr_parameters)
encoding_visualizations(model)
plot_states
is flexible enough to visualize other model representations, too:
model = CMR(**parameters)
encoding_states(model)
print(model.__class__.__name__)
plot_states(model.mfc, 'CMR Mfc')
plot_states(model.mcf, 'CMR Mcf')
Tracking model state across each step of retrieval. Since retrieval stochastic, these values change with each random seed. An additional optional parameter first_recall_item
can control which item is recalled first by the model (0
denotes termination of recall while actual items are 1-indexed); it is useful for testing hypotheses about model dynamics during recall. We leave the parameter set at None
, for now, indicating no controlled first recall.
model = CMR(**cmr_parameters)
retrieval_visualizations(model)


February 2017 / Past Issues
Happy February, all. Welcome back to ZTEsoft Newsletter.
For this month’s newsletter, you will find the news of ZTEsoft’s collaboration with POST Luxembourg to help the operator Realize Business Convergence by Deploying ZSmart BSS Suite. ZTEsoft has also Achieved ISO20000 Certification for IT Service Management Systems, which improves ZTEsoft’s service management process. Get the details in the LEATEST NEWS
For the COMING EVENTS, the TM Forum Live! 2017 will be held in Nice from May 15 – 17. The hottest topics from network orchestration and automation, customer centricity and analytics to the use of blockchain for OSS/BSS will be discussed over the four intensive day. Make sure to visit ZTEsoft if you are there. Another exciting event you shall not miss is ZTEsoft Annual Summit 2017 in the Château de Crémat, Nice. With its theme of ‘Together’, the summit will offer a more relaxed way of networking, sharing and engaging in thought-provoking discussions with invitation-only guests that are experiencing similar industry change.
Also outlined in this newsletter is the Featured Solution which shows you the new features of ZSmart 8 OCS that beefs up charging capability and pricing innovation.
We appreciate any feedback and invite you to contact us with any questions. Enjoy the reading!
ZTEsoft is dedicated to providing you with the latest, high-value information that will help you to know more about us. Contact us at<EMAIL_ADDRESS>with any questions.
If you no longer wish to receive these email, click here to unsubscribe.


Toggle navigation
Menu
BinaryEdge
Is your email in any known leak?
Your email is in the following leaks:
Search!
What about your company?
Search for your company domain, for example: gmail.com
Your domain is in the following leaks:
Search!


Back to Tips
Creative Financing
Creative financing: You’ve heard of it, and, as a seller, the idea
sounds pretty attractive. But, do you know everything you need to know
about carrying back a second; essentially, about becoming a lender? You
better know the same things that financial institutions know - you
better know about lender’s title insurance.
It’s time to sell your $150,000 home, a home that you have owned for
fifteen years, a home in which you have substantial equity. The loan
terms call for a $20,000 down payment from your buyer, a new $100,000
loan from a local savings and loan, and for you, the seller, to carry
back a note for the remaining $30,000.
Will you, the seller, need title insurance?
Yes, you will. Everyone who retains an interest in the property needs
title insurance. When you took on the role of lender, you retained a
record title interest which you will want to protect for the term of the
loan.
But, why would you need lender’s title insurance when the repayment of
your loan is assured by a lien in the form of a recorded deed of trust
against the property? What could possibly go wrong?
You must insure yourself for the same reason that financial institutions
obtain title insurance - for the protection of your investment. You must
be assured that your lien on the property cannot be defeated by a prior
lien or other interest in the property, which, if exercised, would wipe
out your security.
Anything that involves the new buyer’s ownership rights to the property
is of direct interest to you because you are holding the second
mortgage. If such ownership rights are in question or defective, you may
have trouble collecting your monthly mortgage payments. But, you say,
there is nothing in your property’s history that could cause problems:
no problems with easements, no problems with boundaries, no problems
with rights-of-way.
Contrary to what may be popular belief, these matters are not the only
source of title problems; a large proportion of title problems arise out
of man’s interaction with man. The fact of a marriage, a divorce, a
death, a forgery, a judgment for money damages, a failure to pay state
or federal taxes - these occurrences can and usually will affect your
rights as a mortgage lender.
As an example of what can befall the lender, did you know that a federal
tax lien recorded against your buyer before the loan transaction is
concluded may result in the loss of security in your home? Sophisticated
mortgage lenders are aware of this possibility as well as many others
which could jeopardize their loan security and seek the protection
afforded by a lender’s title insurance policy.
If you are considering carrying back a second, be sure to get all the
facts regarding the benefits of lender’s title insurance. Your local
title insurance company should be happy to provide the information you
need.
Article by CLTA
Back to Tips


Preparation time
overnight
Cooking time
30 mins to 1 hour
Serves
Serves 8-10
Dietary
Paul Hollywood’s version of panettone is a recipe that sits between the classic panettone and a brioche. You will need an 18cm/7in panettone tin.
Place the flour, salt, sugar, yeast, milk and the eggs into the bowl of a free-standing mixer fitted with a dough hook.
Mix slowly for two minutes, then increase the speed to medium and mix for a further 6-8 minutes until you have a soft dough.
Add the softened butter and mix for another 5-8 minutes. Remember to scrape down the bowl periodically to ensure that the dough mixes well. It will be very soft.
Add the dried fruit and nuts. Mix until all is incorporated.
Tip the dough into a bowl, cover with clingfilm and chill overnight until the dough has firmed up enough for you to able to shape it.
Prepare a 18cm/7in panettone tin by brushing the inside generously with melted butter.
Remove the panettone dough from the fridge.
Knock back the dough, shape into a ball and place into the tin.
Leave to prove at room temperature for a further 2-3 hours, until the dough just starts to dome over the top of the tin.
Preheat the oven to 180C/350F/Gas 4.
Brush the top of the panettone with egg wash and bake for about 25 minutes. Reduce the temperature to 150C/300F/Gas 2 and bake for a further 35 minutes, or until a skewer comes out clean. Check the panettone periodically in case of oven hot spots. Bear in mind that the sugar and butter in the dough could brown too much before it is actually fully baked.
Remove the panettone from the tin immediately and allow to cool.


OLD-FASHIONED WAY, THE (director: William Beaudine; screenwriters: from a story by Charles Bogle [W.C. Fields]/Jack Cunningham/Garnett Weston; cinematographer: Benjamin F. Reynolds; cast: W.C. Fields (Great McGonigle), Joe Morrison (Wally Livingston), Judith Allen (Betty McGonigle), Jan Duggan (Cleopatra Pepperday), Nora Cecil (Mrs. Wendelschaffer), Baby Le Roy (Albert Pepperday), Joe Mills (Charles Lowell), Jack Mulhall (Dick Bronson), Tammany Young (Marmaduke Gump, company manager), Oscar Apfel (Mr. Livingston, Wally's Father), Clarence H. Wilson (Sheriff Prettywillie); Runtime: 74; Paramount; 1934)
Reviewed by Dennis Schwartz
A joyous W.C. Fields homage to the travelling vaudeville troupes during the end of the 19th century. It's a different version from the silent screen one that bombed, as here Fields is allowed to ad lib and do his thing. The director is the infamous William Beaudine, who was known for taking only "one take" when shooting.
W.C. Fields plays the Great McGonigle, the egotistical, windbag manager of a theatrical troupe that hasn't been paid by him and distinguishes itself by sneaking out of boarding houses undetected without paying, and by avoiding the sheriffs who come to hunt them down.
The Great McGonigle flees from a sheriff with a court order for him to pay his bills; he and his theater company go by train and head for the small town in Ohio called Bellefontaine, where he is scheduled to perform a melodrama called The Drunkard. He uses the hospitality of the wealthy widow Cleopatra Pepperday (Jan Duggan) to avoid the show being closed by sheriffs from all over the country who serve him court orders for payment's due, as she is willing to pay his debts and only wishes for a part in his play. He uses her as a foil for his comic antics and whittles her promised juicy part in the play down to one line, and even that is up in the air.
The funniest scene is when McGonigle dines with the widow and her young son Albert (Baby Le Roy). The kid tweaks McGonigle's big red nose, drops his watch in a jar of molasses, throws food in his face, and gets the better of McGonigle in all their confrontations.
There's a bland romance between McGonigle's nice daughter, Betty (Judith Allen), who is the star performer in the show, and rich college boy, runaway, Wally Livingston (Joe Morrison), who's in love with Betty and follows her wherever she goes.
McGonigle's manager, Gump (Tammany Young), has the distinction of catering to all his boss's needs; such as, helping him dress, packing the bags when they skip town, and going along with all of McGonigle's chicanery.
Fields is in fine comic form here, even doing a ridiculous juggling act with a cigar-box. The comedy all revolves around his financial woes, and is funny in an old-fashioned way.
REVIEWED ON 6/18/2001 GRADE: B-
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


| public nothrow | Process() |
| public nothrow void | AddChild(Process* child) |
| public nothrow void | RemoveChild(Process* prevChild, Process* child) |
| public enum | Mode |
| public enum | State |
| public Duration | childKernelTime |
| public Duration | childUserTime |
| public ulong | currentExceptionAddress |
| public ulong | currentExceptionClassId |
| public ulong | currentExceptionFrameSize |
| public ulong | entryPoint |
| public ulong | event |
| public ulong | eventData1 |
| public ulong | eventData2 |
| public INodeKey | executableINodeKey |
| public ushort | exitCode |
| public void* | fiber |
| public ProcessFileTable | fileTable |
| public Process* | firstChild |
| public ulong | functionTableAddress |
| public ulong | functionTableLength |
| public int | gid |
| public ulong | handlerAddress |
| public TimePoint | kernelStart |
| public Duration | kernelTime |
| public Process* | lastChild |
| public SystemError | lastError |
| public MemoryTable | memoryTable |
| public Mode | mode |
| public String<char> | name |
| public Process* | nextFree |
| public Process* | nextSibling |
| public Process* | parent |
| public int | pgid |
| public int | pid |
| public ulong | poolEnd |
| public ulong | poolStart |
| public ulong | regAXAddress |
| public ulong | regBXAddress |
| public ulong | regCXAddress |
| public INodeKey | rootDirINodeKey |
| public int | sid |
| public ulong | sp |
| public State | state |
| public SystemCall | systemCall |
| public bool | systemCallReady |
| public int | uid |
| public int | umask |
| public bool | unsave |
| public TimePoint | userStart |
| public Duration | userTime |
| public INodeKey | workingDirINodeKey |


{% extends 'emails/email_base.html' %}
{% block preview %}
{% block title %}
Your peer {{ user_name }} tried to guess your personality!
{% endblock %}
{% endblock %}
{% block body %}
{{ user_name }} tried to guess your personality. Want to know how accurate
they were? Visit {{ website_address }} to see some pretty graphs describing
their test and then rate their accuracy. And while you are there, you can attempt a test guessing
{{ user_name }} personality. Or maybe, why don't you
attempt another test to see how much your own personality changed from the last time?
{% endblock %}


HackEdison will be a 5 hour hackathon at Edison High School, open to students across the country. Anyone can come, regardless of their technical knowledge! In fact, our event will mainly be focused on learning -- we'll be offering workshops during the whole event in order to provide attendees with the best learning experience possible. In addition, we'll be providing you with food, hardware, T-Shirts, and many more cool things!
A hackathon is an event where students get together in teams to create an awesome new technology. Prizes are awarded by judges after the building process is over, and there are also workshops during the event to help beginners learn more.
Absolutely not! Hackathons are for beginners as well as seasoned developers. If you don't have experience with programming, we'll have plenty of workshops where you'll be able to pick up the basics.
HackEdison will be located at Edison High School, Edison, New Jersey. If you'd like a map, then click here. We'll have staff outside the building that'll direct you to the main event, as well as give you a map of the school in case you get lost.
All highschoolers are allowed to attend, from the U.S and other countries as well. If you feel you're too old or young to attend, but have experience, you can contact us. All we ask is that attendees follow our code of conduct throughout the event.
Be sure to bring a laptop and a cellphone with chargers, as these 2 devices are what you'll mainly be using during the event. They're pretty important if you'll want to hack. Power strips will be convenient as well.
It's free, of course! Hackathons are supposed to be a learning experience, and we don't think there should be a price on education.
We're available on these social outlets:


The source code for this site can be found on Github.
The Web Components standard supported this site's creation by allowing for the reuse of certain components and their functionality. These components include the Header Bar and the Content Pane. The styles and markup for these components are encapsulated in their respective files.
The Header Bar is loaded on every page (with a different title inserted) and will automatically create the links and highlight the current page. Additionally, the nav links will collapse on small screen sizes into a dropdown menu.
The Conent Pane styles the main content of each page. Additionally it automatically sets the ID of all headers (level 1, 2, and 3) to provide links to within the page.
The site favicon was downloaded from favicon.io with the emoji sourced from Twemoji
The Font Awesome Twitter, Github, and Hamburger icons were sourced from fontawesome.com
Box Shadow definitions for elevations similar to the Material Design specification found here
Open-source fonts from Google Fonts were used to design this site.
Lora (LICENSE)
IBM Plex Sans (LICENSE)


Deputy foreign minister: Malaysia to continue seeking solutions for Palestine-Israel conflict
KUALA LUMPUR, Nov 26 ― Malaysia will continue to play an active role in seeking solutions to the Palestine-Israel conflict and towards the establishment of an independent and sovereign state of Palestine.
Deputy Foreign Minister Datuk Marzuki Yahya said the government would continue to provide support to Palestinians in terms of political, economic, social aspects as well as financial assistance.
He said this in a special chamber session in Parliament, yesterday.
The session was held after obtaining the permission of Dewan Rakyat Speaker Tan Sri Mohamad Ariff Md Yusof to debate a special motion to denounce the airstrikes by the Zionist regime which killed and injured civilians in the Gaza Strip recently.
Describing it as extreme and disrespectful of international laws, Marzuki said Malaysia strongly condemned the Israeli attack.
“The attack could be considered as a violation of Article 3 of the Universal Declaration of Human Rights on everyone's right to life, liberty and security,” he said.
During the session, Kota Baru MP Datuk Takiyuddin Hassan proposed that the government declare solidarity with the Palestinians and help strengthen efforts of local non-governmental organisations to seek prosecution of Israelis at the International Criminal Court. ― Bernama


Arpo1768.github.io
Winncare DUO DIVISYS Handbücher.
Winncare DUO DIVISYS Handbücher and Onkyo TX-SR607 Handbücher.


Full Example
# Copyright 2016 The OPA Authors. All rights reserved.
# Use of this source code is governed by an Apache2
# license that can be found in the LICENSE file.
# The "package" provides namespaces the rules contained inside this
# definition. The package directive controls where the Virtual Documents
# defined by the rules are located under the Data API. In this case,
# the documents are available under /v1/data/docker/authz.
package docker.authz
# allow defines a document that is the boolean value true if (and only if) all
# of the expressions in the body are true. If any of the expressions in the
# body are false, the document is undefined. Rego allows you to omit the "=
# true" portion for conciseness.
allow {
not invalid_network
not seccomp_unconfined
valid_user_role
}
invalid_network {
# These expressions assert that a container with a special label must be
# connected to a specific network.
labels["com.example/deployment"] = "prod"
input.Path = "/v1.23/containers/create"
input.Body.HostConfig.NetworkMode != "prod-network"
}
seccomp_unconfined {
# This expression asserts that the string on the right hand side exists
# within the array SecurityOpt referenced on the left hand side.
input.Path = "/v1.23/containers/create"
input.Body.HostConfig.SecurityOpt[_] = "seccomp=unconfined"
}
# valid_user_role defines a document that is the boolean value true if this is
# a write request and the user is allowed to perform writes.
valid_user_role {
input.Headers["Authz-User"] = user_id
users[user_id] = user
input.Method != "GET"
user.readOnly = false
}
# valid_user_role is defined again here to handle read requests. When a rule
# like this is defined multiple times, the rule definition must ensure that
# only one instance evaluates successfully in a given query. If multiple
# instances evaluated successfully, it indicates a conflict.
valid_user_role {
input.Headers["Authz-User"] = user_id
input.Method = "GET"
users[user_id] = user
}
# labels defines an object document that simply contains the labels from the
# requested container.
labels[key] = value {
input.Body.Labels[key] = value
}
users = {
"bob": {"readOnly": true},
"alice": {"readOnly": false},
}


The glee of likeminded nerds plundering my bookshelves at the garage sale takes some of the sting from relinquishing my small but much loved personal library. 📚
5/27/2018, 9:06:17 PM
Favs: 5
Retweets: 0
link--- layout: tweet ---
The glee of likeminded nerds plundering my bookshelves at the garage sale takes some of the sting from relinquishing my small but much loved personal library. 📚
5/27/2018, 9:06:17 PM
Favs: 5
Retweets: 0
link


Source:
National Instant Criminal Background Check System.
Despite some potentially unusual patterns, such as spikes or dips, data for the District of Columbia, Georgia, Kentucky, Maryland, Ohio,
Utah and Wisconsin reflect what is in federal records. Attempts to verify that data with local agencies were unsuccessful.
Credits: Sarah Glen, Vaughn Hagerty, Nelson Hsu / DFM


| Home | Libraries | People | FAQ | More |
This section explains how to setup a system to use this library.
The library should be usable on any compiler that supports Boost.Typeof except:
this_
only with native Boost.Typeof
(and not in type-of emulation
mode).
The authors tested the library on GCC 3.3, 3.4, 4.1, 4.2, 4.5.3 (with and
without C++11 features -std=c++0x
), MSVC 8.0, and Intel
10.1 under Linux, Cygwin, and Windows 7.
This library is composed of header files only. Therefore there is no pre-compiled
object file which needs to be installed. Programmers can simply instruct
the compiler where to find the library header files (-I
option on GCC, /I
option on MSVC, etc) and compile code
using the library.
The library implementation uses Boost.Typeof to automatically deduce the types of the Boost.ScopeExit captured variables (see the Tutorial section). In order to compile code in type-of emulation mode, all types should be properly registered with BOOST_TYPEOF_REGISTER_TYPE or BOOST_TYPEOF_REGISTER_TEMPLATE macros, or appropriate Boost.Typeof headers should be included.


The pyboard.py tool¶
This is a standalone Python tool that runs on your PC that provides a way to:
Quickly run a Python script or command on a MicroPython device. This is useful while developing MicroPython programs to quickly test code without needing to copy files to/from the device.
Access the filesystem on a device. This allows you to deploy your code to the device (even if the board doesn’t support USB MSC).
Despite the name, pyboard.py
works on all MicroPython ports that support the
raw REPL (including STM32, ESP32, ESP8266, NRF).
You can download the latest version from GitHub. The
only dependency is the pyserial
library which can be installed from PiPy or
your system package manager.
Running pyboard.py --help
gives the following output:
usage: pyboard [-h] [-d DEVICE] [-b BAUDRATE] [-u USER] [-p PASSWORD]
[-c COMMAND] [-w WAIT] [--follow | --no-follow] [-f]
[files [files ...]]
Run scripts on the pyboard.
positional arguments:
files input files
optional arguments:
-h, --help show this help message and exit
-d DEVICE, --device DEVICE
the serial device or the IP address of the pyboard
-b BAUDRATE, --baudrate BAUDRATE
the baud rate of the serial device
-u USER, --user USER the telnet login username
-p PASSWORD, --password PASSWORD
the telnet login password
-c COMMAND, --command COMMAND
program passed in as string
-w WAIT, --wait WAIT seconds to wait for USB connected board to become
available
--follow follow the output after running the scripts
[default if no scripts given]
-f, --filesystem perform a filesystem action: cp local :device | cp
:device local | cat path | ls [path] | rm path | mkdir
path | rmdir path
Running a command on the device¶
This is useful for testing short snippets of code, or to script an interaction with the device.:
$ pyboard.py --device /dev/ttyACM0 -c 'print(1+1)'
2
If you are often interacting with the same device, you can set the environment
variable PYBOARD_DEVICE
as an alternative to using the --device
command line option. For example, the following is equivalent to the previous
example:
$ export PYBOARD_DEVICE=/dev/ttyACM0
$ pyboard.py -c 'print(1+1)'
Similarly, the PYBOARD_BAUDRATE
environment variable can be used
to set the default for the --baudrate
option.
Running a script on the device¶
If you have a script, app.py
that you want to run on a device, then use:
$ pyboard.py --device /dev/ttyACM0 app.py
Note that this doesn’t actually copy app.py to the device’s filesystem, it just loads the code into RAM and executes it. Any output generated by the program will be displayed.
If the program app.py does not finish then you’ll need to stop pyboard.py
,
eg with Ctrl-C. The program app.py
will still continue to run on the
MicroPython device.
Filesystem access¶
Using the -f
flag, the following filesystem operations are supported:
cat path
Print the contents of a file on the device.cp src [src...] dest
Copy files to/from the device.ls [path]
List contents of a directory (defaults to current working directory).mkdir path
Create a directory.rm path
Remove a file.rmdir path
Remove a directory.touch path
Create a file if it doesn’t already exist.
The cp
command uses a ssh
-like convention for referring to local and
remote files. Any path starting with a :
will be interpreted as on the
device, otherwise it will be local. So:
$ pyboard.py --device /dev/ttyACM0 -f cp main.py :main.py
will copy main.py from the current directory on the PC to a file named main.py on the device. The filename can be omitted, e.g.:
$ pyboard.py --device /dev/ttyACM0 -f cp main.py :
is equivalent to the above.
Some more examples:
# Copy main.py from the device to the local PC.
$ pyboard.py --device /dev/ttyACM0 -f cp :main.py main.py
# Same, but using . instead.
$ pyboard.py --device /dev/ttyACM0 -f cp :main.py .
# Copy three files to the device, keeping their names
# and paths (note: `lib` must exist on the device)
$ pyboard.py --device /dev/ttyACM0 -f cp main.py app.py lib/foo.py :
# Remove a file from the device.
$ pyboard.py --device /dev/ttyACM0 -f rm util.py
# Print the contents of a file on the device.
$ pyboard.py --device /dev/ttyACM0 -f cat boot.py
...contents of boot.py...
Using the pyboard library¶
You can also use pyboard.py
as a library for scripting interactions with a
MicroPython board.
import pyboard
pyb = pyboard.Pyboard('/dev/ttyACM0', 115200)
pyb.enter_raw_repl()
ret = pyb.exec('print(1+1)')
print(ret)
pyb.exit_raw_repl()


Dashboard
[postsSinceLastPublication]
New posts since last publication
[postsWaitingForModeration]
Posts still waiting for moderation


Unleash your Github Score using this feature and know where you stand based on repositories,followers,etc
Unleash your Github Score using this feature and know where you stand based on repositories,followers,etc
Compete with your friends/colleagues using this amazing option and check who is more popular on Github based on score which takes account various parameters from your Github profile


Summoner Belthus:
Savor the taste, sweet Turen, next time you may drink more blood...
My friend, your control has promise but you still need much practice. Most importantly you didn't trust your creature's instincts. You must not be overbearing in your desire to win. This creates stress and reduced performance of creatures...
"Let us battle again!"


QuickFIX comes with a comprehensive suite of automated unit tests.  UnitTest++ allows developers to test C++ code by writing code that calls functions on objects and asserting correct behavior. These test verifies not only that the code works correctly, but also that it works the same on all platforms.
An example of one of the unit tests is provided below. This sample shows the setup and execution of the test that verifies our Parser object can correctly extract messages from a stream.
struct readFixMessageFixture { readFixMessageFixture() { fixMsg1 = "8=FIX.4.2\0019=12\00135=A\001108=30\00110=31\001"; fixMsg2 = "8=FIX.4.2\0019=17\00135=4\00136=88\001123=Y\00110=34\001"; fixMsg3 = "8=FIX.4.2\0019=19\00135=A\001108=30\0019710=8\00110=31\001"; object.addToStream( fixMsg1 + fixMsg2 + fixMsg3 ); } std::string fixMsg1; std::string fixMsg2; std::string fixMsg3; Parser object; }; TEST_FIXTURE(readFixMessageFixture, readFixMessage) { std::string readFixMsg1; CHECK( object.readFixMessage( readFixMsg1 ) ); CHECK_EQUAL( fixMsg1, readFixMsg1 ); std::string readFixMsg2; CHECK( object.readFixMessage( readFixMsg2 ) ); CHECK_EQUAL( fixMsg2, readFixMsg2 ); std::string readFixMsg3; CHECK( object.readFixMessage( readFixMsg3 ) ); CHECK_EQUAL( fixMsg3, readFixMsg3 ); }


Driver who stopped to help motorist struck, killed
by EndPlayRAYNHAM, Mass. (AP) - Massachusetts State Police say a man who stopped his pickup truck on a highway and got out to help another motorist has been struck and killed by a passing vehicle.
A department spokesman says that at about 1 a.m. Friday an SUV heading south on Interstate 495 in Raynham apparently struck a deer and became disabled in the middle travel lane.
A second driver stopped and got out of his pickup to help.
That good Samaritan, identified as 37-year-old Luis Contreras, of Taunton, was fatally struck as he walked in the travel lanes by a third vehicle driven by a 21-year-old man.
The driver of the vehicle that struck the victim remained at the scene. No one else was hurt.
The death remains under investigation.


Nook
Lounge chair
$320.00
Designer Karim Rashid continues to put his signature spin on all genres of design through various collaborations with top-notch companies. Another one to add to the win column is his work with Italian manufacturer Chateau d’Ax.
In stock. Buy Extended Warranty
(4.67 - 172 reviews)
QUANTITY 3


Viper - Python on bare metal
09 Aug 2015For my very first “Hackend” I combined two of my most favourite things - Embedded systems and Python! This weekend I dived through VIPER - Viper is Python Embedded in Realtime (A funky recursive acronym).
What is it?
Viper is a suite of software components that enable you, the developer to quickly develop embedded systems and IoT prototypes using Python. While it is surprising to find someone coding a micro-controller in python, they have really done a great job - seemingly better than earlier efforts such as Micro Python and PyMite. The system is portable - works seamlessly on ARM M0-M4 MCUs and easily portable across most other MCUs. It’s extremely easy to get started -
- Download the browser based IDE for your OS.
- Open the IDE and connect the board - My Arduino Due automatically got listed.
- Burn the Viper VM (one of the components that make up the suite) onto the target board.
- Clone any of the available examples and execute them on your board.
How it works?
It’s really intriguing how someone could support a huge subset of python on a micro-controller system. Looking into their system design and code base, you can easily tell the effort that has gone behind this. Looking at it from an engineering perspective, there are two key components that make the magic happen -
- The compiler that runs on the PC
- The VM that runs on the embedded system.
The compiler is written in python - and compiles the python (that you intend to execute on your micro-controller) into efficient byte code. This byte code is then streamed to to the micro-controller running the viper VM. The viper VM is built over ChibiOS (A realtime embedded OS) and is written in C. One thing I liked about this is the support for threads (priority based and premptive) - built over the ChibiOS threading system.
What I learnt
To be honest, I just got a high level overview of how things worked. I went through the source code of the components which run on the PC side, viz. the IDE and python byte code compiler, nothing too convoluted here. What I really wanted to do was play with the source code of the VM - but alas, that was not to be! The current code documentation is quite abysmal and good just for reference, I’d have to spend over a week before I figure what is what in the source code!


I am a software engineer living in Brooklyn, NY specializing in scalable, distributed systems for the web. You can read more about my professional history on LinkedIn. I encourage you to read my blog, Adventures in HttpContext, where I share opinions and experiences on software development.
In March of 2013 I returned from a 6+ month trip traveling around 10 countries in Asia. Amazing is an understatement. You can read about my travels on my tumblr The Great Big Adventure and explore photos on Flickr.
I enjoy hanging out in Brooklyn, (building) and riding my fixie and photography. Of course, programming is a given.


The Ford Escape is new for 2013, and this time, it's no carryover crossover SUV. It's more like a sporty hatchback with great handling and turbo power. But is that what you need? We take a look in our latest video road test.
Take one look at the new Escape and you'd hardly recognize it. Gone is the boxy miniature Explorer styling, replaced by a tightly fitted form that looks part hatchback and part running shoe.
The Escape's dash is swoopy and daring, but as a result, the interior isn't as open or airy as before. We like the clean gauge cluster, and the piano-style controls at the center stack.
The new Escape is quick and nimble--as long as you pick the right engine. The base 2.5-liter four-cylinder has 155 horsepower; it's mostly for rental fleets. There's a turbo 1.6-liter four with 178 horsepower, and a 2.0-liter turbo four with 240 horsepower like this version.
The new Escape puts gas mileage as a priority, too. The base engine's rated at 22 mpg city and 31 mpg highway. The 1.6-liter, 24 mpg city and 33 mpg highway. Our 2.0-liter Escape gets EPA ratings of 22 mpg city and 30 mpg highway. Keep in mind, those numbers are for front-drive models; all-wheel drive will cut gas mileage by one or two miles per gallon.
The trade-off for the Escape's great handling is a feeling of interior room. The Escape's technically a subcompact, like the 2013 Hyundai Tucson and 2013 Mazda CX-5, so there's just less space than in some bigger crossovers.
There's not much knee or foot room, and no Escape offers a power front passenger seat. In back, there's better passenger space, and in all five seats, headroom is very good. The rear bench seat backs recline for long-distance driving. And the seats fold flat to create 68 cubic feet of cargo space--just a little less than the room in a 2013 Honda CR-V.
Safety is near the top of its class, but a bit behind the Honda, though. The Escape's been named a Top Safety Pick by the IIHS, and earned four stars from NHTSA. Ford's MyKey system lets parents limit stereo volume and vehicle speed when handing the keys over to teen drivers--but Bluetooth and a rearview camera are options on the base models.
The Escape is priced from the mid $20,000s and can be optioned all the way to $38,000. Standard features include a USB port, a six-speaker audio system, climate control and power features. The $26,000 Escape SE gets Bluetooth and Ford's SYNC voice-control system. The pricey Titanium model gets the controversial MyFord Touch infotainment system, leather seats, push button start, and a premium Sony audio sound system. Our Titanium test vehicle has a sticker price of nearly $35,000.
So what's the bottom line with the new Ford Escape? The fake SUV pitch is gone, and the Escape's now a real athlete.
For more information on the 2013 Ford Escape be sure you read our full review here.
Have an opinion?Join the conversation!
Have an opinion?Join the conversation!


{% extends base_page_template %} {% block breadcrumbs %}
Your feedback will help improve the Buckinghamshire Council website.


The Biology Reproducibility Project
Categories
Tags
Archives
About
Archives
2018-06
Data from Critical thermal limits affected differently by developmental and adult thermal fluctuations
physiology
experiment
anova
factorial
sequential vs. marginal ss
June 19, 2018
Data from The interaction between predation risk and food ration on behavior and morphology of Eurasian perch
anova
ecology
experiment
factorial
nested
linear mixed model
sequential vs. marginal ss
June 17, 2018
2018-05
Data from Ontogenetic thermal tolerance and performance of ectotherms at variable temperatures
experiment
physiology
factorial
harrell plot
May 26, 2018
Data from: Success despite the stress -- violet-green swallows increase glucocorticoids and maintain reproductive output despite experimental increases in flight costs
ecology
experiment
physiology
linear model
linear mixed model
regression to the mean
May 7, 2018
2018-04
Data from: Density triggers maternal hormones that increase adaptive offspring growth in a wild mammal
ecology
physiology
reproducible
linear mixed model
experiment
regression to the mean
April 30, 2018
««
«
1
2
»
»»


Class: Aws::Batch::Types::LinuxParameters
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Struct
|
|
|
Instance Chain:
self,
::Aws::Structure ,
Struct
|
|
| Inherits: |
Struct
|
| Defined in: | gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb |
Overview
Linux-specific modifications that are applied to the container, such as details for device mappings.
Constant Summary
Instance Attribute Summary
-
#devices ⇒ Array<Types::Device>
rw
Any of the host devices to expose to the container.
-
#init_process_enabled ⇒ Boolean
rw
If true, run an
init
process inside the container that forwards signals and reaps processes. -
#max_swap ⇒ Integer
rw
The total amount of swap memory (in MiB) a container can use.
-
#shared_memory_size ⇒ Integer
rw
The value for the size (in MiB) of the
/dev/shm
volume. -
#swappiness ⇒ Integer
rw
You can use this parameter to tune a container's memory swappiness behavior.
-
#tmpfs ⇒ Array<Types::Tmpfs>
rw
The container path, mount options, and size (in MiB) of the
tmpfs
mount.
Instance Method Summary
::Aws::Structure
- Included
| #to_hash | Alias for Structure#to_h. |
Instance Attribute Details
#devices ⇒ Array
<Types::Device> (rw)
Any of the host devices to expose to the container. This parameter
maps to Devices
in the Create a container section of the
Docker Remote API and the --device
option to docker run.
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 4919
class LinuxParameters < Struct.new( :devices, :init_process_enabled, :shared_memory_size, :tmpfs, :max_swap, :swappiness) SENSITIVE = [] include Aws::Structure end
#init_process_enabled ⇒ Boolean
(rw)
If true, run an init
process inside the container that forwards
signals and reaps processes. This parameter maps to the --init
option to docker run. This parameter requires version 1.25 of
the Docker Remote API or greater on your container instance. To
check the Docker Remote API version on your container instance, log
in to your container instance and run the following command: sudo
docker version | grep "Server API version"
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 4919
class LinuxParameters < Struct.new( :devices, :init_process_enabled, :shared_memory_size, :tmpfs, :max_swap, :swappiness) SENSITIVE = [] include Aws::Structure end
#max_swap ⇒ Integer
(rw)
The total amount of swap memory (in MiB) a container can use. This
parameter is translated to the --memory-swap
option to docker
run where the value is the sum of the container memory plus the
maxSwap
value. For more information, see --memory-swap
details in the Docker documentation.
If a maxSwap
value of 0
is specified, the container doesn't use
swap. Accepted values are 0
or any positive integer. If the
maxSwap
parameter is omitted, the container doesn't use the swap
configuration for the container instance that it's running on. A
maxSwap
value must be set for the swappiness
parameter to be
used.
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 4919
class LinuxParameters < Struct.new( :devices, :init_process_enabled, :shared_memory_size, :tmpfs, :max_swap, :swappiness) SENSITIVE = [] include Aws::Structure end
#swappiness ⇒ Integer
(rw)
You can use this parameter to tune a container's memory swappiness
behavior. A swappiness
value of 0
causes swapping to not occur
unless absolutely necessary. A swappiness
value of 100
causes
pages to be swapped aggressively. Valid values are whole numbers
between 0
and 100
. If the swappiness
parameter isn't
specified, a default value of 60
is used. If a value isn't
specified for maxSwap
, then this parameter is ignored. If
maxSwap
is set to 0, the container doesn't use swap. This
parameter maps to the --memory-swappiness
option to docker
run.
Consider the following when you use a per-container swap configuration.
- Swap space must be enabled and allocated on the container instance for the containers to use.
The swap space parameters are only supported for job definitions using EC2 resources.
If the
maxSwap
andswappiness
parameters are omitted from a job definition, each container has a defaultswappiness
value of- Moreover, the total swap usage is limited to two times the memory reservation of the container.
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 4919
class LinuxParameters < Struct.new( :devices, :init_process_enabled, :shared_memory_size, :tmpfs, :max_swap, :swappiness) SENSITIVE = [] include Aws::Structure end
#tmpfs ⇒ Array
<Types::Tmpfs> (rw)
The container path, mount options, and size (in MiB) of the tmpfs
mount. This parameter maps to the --tmpfs
option to docker
run.
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 4919
class LinuxParameters < Struct.new( :devices, :init_process_enabled, :shared_memory_size, :tmpfs, :max_swap, :swappiness) SENSITIVE = [] include Aws::Structure end


Properties
- AutoCompleteMode - Determines how the ComboBox automatically completes typed text.
- AutoPostBack - Determines whether or not AutoPostBack should be used.
- BackColor - A background color.
- BorderColor - The ComboBox border color.
- BorderStyle - The ComboBox border style.
- BorderWidth - The ComboBox border width.
- CaseSensitive - Specifies whether or not user-typed text matches items in the list in a case-sensitive manner. The default is false.
- DropDownStyle - Determines whether or not a user is allowed to enter text that does not match an item in the list and if the list is always displayed.
- Enabled - Determines whether or not the ComboBox is enabled.
- Font - The ComboBox control font.
- ForeColor - A foreground color.
- Height - ComboBox height.
- ItemInsertLocation - Determines if to "Append" or "Prepend" new items when they are inserted into the list or insert them in an "Ordinal" manner (alphabetically) based on the item Text or Value. The default is "Append"
- ListItemHoverCssClass - When specified, replaces default styles applied to highlighted items in the list with a custom css class.
- MaxLength - Specifies maximum length of the associated TextBox control.
- RenderMode - Specifies whether or not the ComboBox is rendered as an Inline or Block level HTML element. The default is Inline.
- SelectedIndex - The ComboBox selected item index.
- TabIndex - The ComboBox tab index.
- Width - ComboBox width.
Methods
- RaisePostDataChangedEvent() - Raises PostDataChangeEvent.
- RenderControl(writer) - Renders a control.
- ResolveControl(controlId) - Resolves a control
Events
- ItemInserted - Fires when an item is inserted.
- ItemInserting - Fires on inserting an item.


--- layout: post title: New JavaScript library for OData and beyond date: 2011-02-09 17:41:54.000000000 +08:00 categories: - JavaScript tags: [] status: publish type: post published: true author: OData.org Archive ---
Microsoft just announced a new project called 'datajs'. datajs is a cross-browser JavaScript library that among other things brings comprehensive OData support to JavaScript. 'datajs' is an open source project, released under MIT.
For example if allows you to query an OData service like this:
OData.read("http://odata.netflix.com/v1/Catalog/Genres", function (data, response) {
//success handler
});
And do inserts like this:
OData.request({
method: "POST",
requestUri: "http://ODataServer/FavoriteMovies.svc/BestMovies"
data: {ID: 0, MovieTitle: 'Up'}
},
function (data, response) {
//success handler
});
For more information check out the announcement


Inspecting variables¶
Querying and slicing case data¶
A qp.DataSet
is mimicking pandas
-like item access, i.e. passing a variable
name into the []
-accessor will return a pandas.DataFrame
view of the
case data component. That means that we can chain any pandas.DataFrame
method to
the query:
>>> ds['q9'].head()
q9
0 99;
1 1;4;
2 98;
3 1;4;
4 99;
There is the same support for selecting multiple variables at once:
>>> ds[['q9', 'gender']].head()
q9 gender
0 99; 1
1 1;4; 2
2 98; 1
3 1;4; 1
4 99; 1
To integrate array
(masks
) variables into this behaviour, passing an
array
name will automatically call its item list:
>>> ds['q6'].head()
q6_1 q6_2 q6_3
0 1 1 1
1 1 NaN 1
2 1 NaN 2
3 2 NaN 2
4 2 10 10
This can be combined with the list
-based selection as well:
>>> ds[['q6', 'q9', 'gender']].head()
q6_1 q6_2 q6_3 q9 gender
0 1 1 1 99; 1
1 1 NaN 1 1;4; 2
2 1 NaN 2 98; 1
3 2 NaN 2 1;4; 1
4 2 10 10 99; 1
DataSet
case data supports row-slicing based on complex logical conditions
to inspect subsets of the data. We can use the take()
with a Quantipy
logic operation naturally for this:
>>> condition = intersection(
... [{'gender': [1]},
... {'religion': [3]},
... {'q9': [1, 4]}])
>>> take = ds.take(condition)
>>> ds[take, ['gender', 'religion', 'q9']].head()
gender religion q9
52 1 3 1;2;4;
357 1 3 1;3;4;
671 1 3 1;3;4;
783 1 3 2;3;4;
802 1 3 4;
See also
Please find an overview of Quantipy
logical operators and data slicing
and masking in the docs about complex logical conditions!
Variable and value existence¶
any, all, code_count, is_nan, var_exists, codes_in_data, is_like_numeric variables
We can use variables()
and var_exists()
to generally test the membership
of variables inside DataSet
. The former is showing the list of all variables
registered inside the 'data file'
set
, the latter is checking if a variable’s
name
is found in either the 'columns'
or 'masks'
collection. For
our example data, the variables are:
>>> dataset.variables()
So a test for the array
'q5'
should be positive:
>>> dataset.var_exists('q5')
True
In addition to Quantipy
’s complex logic operators, the DataSet
class
offers some quick case data operations for code existence tests. To return a
pandas.Series
of all empty rows inside a variable use is_nan()
as per:
>>> dataset.is_nan('q8').head()
0 True
1 True
2 True
3 True
4 True
Name: q8, dtype: bool
Which we can also use to quickly check the number of missing cases…
>>> dataset.is_nan('q8').value_counts()
True 5888
False 2367
Name: q8, dtype: int64
… as well as use the result as slicer for the DataSet
case data component,
e.g. to show the non-empty rows:
>>> slicer = dataset.is_nan('q8')
>>> dataset[~slicer, 'q8'].head()
Name: q8, dtype: int64
7 5;
11 5;
13 1;4;
14 4;5;
23 1;4;
Name: q8, dtype: object
Especially useful for delimited set
and array
data, the code_count()
method is creating the pandas.Series
of response values found. If applied on
an array
, the result is expressed across all source item variables:
>>> dataset.code_count('q6').value_counts()
3 5100
2 3155
dtype: int64
… which means that not all cases contain answers in all three of the array’s items.
With some basic pandas
we can double-check this result:
>>> pd.concat([dataset['q6'], dataset.code_count('q6')], axis=1).head()
q6_1 q6_2 q6_3 0
0 1 1.0 1 3
1 1 NaN 1 2
2 1 NaN 2 2
3 2 NaN 2 2
4 2 10.0 10 3
code_count()
can optionally ignore certain codes via the count_only
and
count_not
parameters:
>>> q2_count = dataset.code_count('q2', count_only=[1, 2, 3])
>>> pd.concat([dataset['q2'], q2_count], axis=1).head()
q2 0
0 1;2;3;5; 3
1 3;6; 1
2 NaN 0
3 NaN 0
4 NaN 0
Similarly, the any()
and all()
methods yield slicers for cases obeying
the condition that at least one / all of the provided codes are found in the
response. Again, for array
variables the conditions are extended across all
the items:
>>> dataset[dataset.all('q6', 5), 'q6']
q6_1 q6_2 q6_3
374 5 5.0 5
2363 5 5.0 5
2377 5 5.0 5
4217 5 5.0 5
5530 5 5.0 5
5779 5 5.0 5
5804 5 5.0 5
6328 5 5.0 5
6774 5 5.0 5
7269 5 5.0 5
8148 5 5.0 5
>>> dataset[dataset.all('q8', [1, 2, 3, 4, 96]), 'q8']
845 1;2;3;4;5;96;
6242 1;2;3;4;96;
7321 1;2;3;4;96;
Name: q8, dtype: object
>>> dataset[dataset.any('q8', [1, 2, 3, 4, 96]), 'q8'].head()
13 1;4;
14 4;5;
23 1;4;
24 1;3;4;
25 1;4;
Name: q8, dtype: object
Variable types¶
To get a summary of the all variables grouped by type, call by_type()
on
the DataSet
:
>>> ds.by_type()
size: 8255 single delimited set array int float string date time N/A
0 gender q2 q5 record_number weight q8a start_time duration
1 locality q3 q7 unique_id weight_a q9a end_time
2 ethnicity q8 q6 age weight_b
3 religion q9 birth_day
4 q1 birth_month
5 q2b birth_year
6 q4
7 q5_1
8 q5_2
9 q5_3
10 q5_4
11 q5_5
12 q5_6
13 q6_1
14 q6_2
15 q6_3
16 q7_1
17 q7_2
18 q7_3
19 q7_4
20 q7_5
21 q7_6
We can restrict the output to certain types by providing the desired ones in
the types
parameter:
>>> ds.by_type(types='delimited set')
size: 8255 delimited set
0 q2
1 q3
2 q8
3 q9
>>> ds.by_type(types=['delimited set', 'float'])
size: 8255 delimited set float
0 q2 weight
1 q3 weight_a
2 q8 weight_b
3 q9 NaN
In addition to that, DataSet
implements the following methods
that return the corresponding variables as a list
for easy iteration:
DataSet.singles
.delimied_sets()
.ints()
.floats()
.dates()
.strings()
.masks()
.columns()
.sets()
>>> ds.delimited_sets()
[u'q3', u'q2', u'q9', u'q8']
>>> for delimited_set in ds.delimited_sets():
... print delimited_set
q3
q2
q9
q8
Slicing & dicing metadata objects¶
Although it is possible to access a DataSet
meta component via its _meta
attribute directly, the prefered way to inspect and interact with with the metadata
is to use DataSet
methods. For instance, the easiest way to view the most
important meta on a variable is to use the meta()
method:
>>> ds.meta('q8')
delimited set codes texts missing
q8: Which of the following do you regularly skip?
1 1 Breakfast None
2 2 Mid-morning snacking None
3 3 Lunch None
4 4 Mid-afternoon snacking None
5 5 Dinner None
6 96 None of them None
7 98 Don't know (it varies a lot) None
This output is extended with the item
metadata if an array
is passed:
>>> ds.meta('q6')
single items item texts codes texts missing
q6: How often do you take part in any of the fo...
1 q6_1 Exercise alone 1 Once a day or more often None
2 q6_2 Join an exercise class 2 Every few days None
3 q6_3 Play any kind of team sport 3 Once a week None
4 4 Once a fortnight None
5 5 Once a month None
6 6 Once every few months None
7 7 Once every six months None
8 8 Once a year None
9 9 Less often than once a year None
10 10 Never None
If the variable is not categorical, meta()
returns simply:
>>> ds.meta('weight_a')
float
weight_a: Weight (variant A) N/A
DataSet
also provides a lot of methods to access and return the several
meta objects of a variable to make various data processing tasks easier:
Variable labels: quantipy.core.dataset.DataSet.text()
>>> ds.text('q8', text_key=None)
Which of the following do you regularly skip?
values
object: quantipy.core.dataset.DataSet.values()
>>> ds.values('gender', text_key=None)
[(1, u'Male'), (2, u'Female')]
Category codes: quantipy.core.dataset.DataSet.codes()
>>> ds.codes('gender')
[1, 2]
Category labels: quantipy.core.dataset.DataSet.value_texts()
>>> ds.value_texts('gender', text_key=None)
[u'Male', u'Female']
items
object: quantipy.core.dataset.DataSet.items()
>>> ds.items('q6', text_key=None)
[(u'q6_1', u'How often do you exercise alone?'),
(u'q6_2', u'How often do you take part in an exercise class?'),
(u'q6_3', u'How often do you play any kind of team sport?')]
Item 'columns'
sources: quantipy.core.dataset.DataSet.sources()
>>> ds.sources('q6')
[u'q6_1', u'q6_2', u'q6_3']
Item labels: quantipy.core.dataset.DataSet.item_texts()
>>> ds.item_texts('q6', text_key=None)
[u'How often do you exercise alone?',
u'How often do you take part in an exercise class?',
u'How often do you play any kind of team sport?']


forced explosive manoeuvre, usually against closed glottis, associated with characteristic sound
chronic > 8wks
-
10-20%
-
more common in women and overweight people
-
physical
-
psychological effects
Common causes
Asthma
-
may be one on main presenting features
-
airway hyper-responsiveness usually present
-
eosinophilic bronchitis cause cough
-
sputum eosinophilisa > 3%
-
PEFR variability and airway hyper-responsiveness not present
-
considered form of asthma
-
GORD
-
can occur in absence of marked GI symtoms
-
may be possible cause of chronic cough
-
uncertain mech.
-
increase cough reflex sensitivity
-
micro-aspiration
-
-
provoked by talking, laughing, singing
-
lack of diaphragmatic closure of the lower oesophageal sphincter
Post nasal drip
- cough and clear throat frequently
Other
-
COPD
-
lung cancer
-
Bronchiectasis
-
Tb
-
Mediastinal tumours
-
Pulmonary fibrosis
-
Inhalation of FB
-
Airway irritants
- tobacco smoke, dust, fumes
-
Chronic aspiration
- 2ary to neuromusclar duysfuntion
ACEi
-
5-10% of exposed
-
cough should settlie within 1 month
Idiopathic chronic cough
-
diagnosis of exclusion
-
20%
-
female, middle aged
-
honking/barking
Investigations
-
CXR
-
Spirometry
Specialist investigations
-
bronchial provocation tests
-
Bronchoscopy
-
layngoscopy
-
HRCT
-
sputum - eosinophils
-
Oesophageal pH monitoring