Skip to main content
{% include './components/header/_header-concept.html'%}
Apprentices
Start your journey – become an apprentice
Find out more
Employers
Be part of the change – employ an apprentice
Find out more
Parents & guardians
HELP SHAPE THEIR CAREER – SUPPORT An APPRENTICE
Find out more
{% include './components/footer/_scripts.html'%}


{% extends "base.html" %} {% load staticfiles %} {% block headers %} {% endblock headers %} {% block content %}
Software for simulating photovoltaic solar energy systems.
This is a tutorial and API to the pvlib python library.
The first step to modeling a PV system is to get the solar position for the
site. Use the PVLIB API by sending a GET
request to
/api/v1/pvlib/solarposition/
, the response is JSON
.
The calculation requires the following parameters:
lat
- latitude in degreeslon
- longitude in degreesstart
- start date/timeend
- end date/timefreq
- (optional) frequency as pandas offset alias [default hourly, H
]tz
- (optional) timezone in hours [default zero]Note: the API uses pandas to parse dates and times, see the documentation for formats.
Try the following:
/api/v1/pvlib/solarposition/?lat=38&lon=-122&start=2018-01-01 7:00&end=2018-01-01 8:00&freq=T&tz=-8
Click on the map and enter the dates and frequency fields above, then click submit to see what your request looks like, a plot of azimuth vs. zenith, and a table of solar positions below:
If you want to calculate clear sky irradiance you may need Linke Turbidity or AOD and precipitable water.
Try the following:
/api/v1/pvlib/linke-turbidity/?tl_lat=38&tl_lon=-122&tl_start=2018-01-01 7:00&tl_end=2018-01-01 8:00&tl_freq=T&tl_tz=-8
Enter the fields above and then click submit to see what your request looks like and a table of Linke Turbidity values below:
Air mass is a measure of the path length through the atmosphere measured in atmospheres. On the equator at solar noon on the equinox, when the sun is directly overhead, the air mass is 1 atmospere. The reference atmosphere, ASTM G173-03, has an air mass of 1.5 atmospheres, and is usually called AM1.5. It's equivalent to a spring noon in the southwest USA.
You'll need to send a POST
request with solar position data.
Try this
curl -H "Content-Type: application/json" -X POST /api/v1/pvlib/airmass/ -d '{"model":"kastenyoung1989","zenith_data":{"2019-01-01T09:00:00-0800":{"apparent_zenith":"75.64949399351546"},"2019-01-01T12:00:00-0800":{"apparent_zenith":"60.93578142843924"}}}'
.
Enter the fields above and then click submit to see what your request looks like and a table of air mass data. values below:


list = [17, 8, 9, 5, 20]. Click the button to see the sum of the beginning and end value in the list.
Click


hbang.ws/termhere —<EMAIL_ADDRESS>If this app is useful to you, please consider sending a small donation to the developer to say thanks. Donate
Terminal toolbar icon is licensed under the SIL Open Font License, version 1.1.


|
CUDNN API
8
|
#include <cudnn_frontend_VariantPack.h>
Public Member Functions | |
| auto | setDataPointers (int64_t num_ptr, void **ptrs) -> VariantPackBuilder_v8 & |
| Set dataPointers for the VariantPack_v8. More... | |
| auto | setUids (int64_t num_uids, int64_t *uid) -> VariantPackBuilder_v8 & |
| Set Uids for the VariantPack_v8. More... | |
| auto | setDataPointers (std::set< std::pair< uint64_t, void *>> const &data_pointers) -> VariantPackBuilder_v8 & |
| Initialize a set of pairs containing uid and data pointer. More... | |
| auto | setWorkspacePointer (void *ws) -> VariantPackBuilder_v8 & |
| Set Workspace. More... | |
| VariantPack_v8 && | build () |
| VariantPackBuilder_v8 ()=default | |
| ~VariantPackBuilder_v8 ()=default | |
| VariantPackBuilder_v8 (VariantPackBuilder_v8 &&)=delete | |
| VariantPackBuilder_v8 (VariantPackBuilder_v8 const &)=delete | |
| VariantPackBuilder_v8 & | operator= (VariantPackBuilder_v8 const &)=delete |
Private Attributes | |
| VariantPack_v8 | m_variant_pack |
VariantPackBuilder_v8 Class Helper class used to build VariantPack_v8 class
Definition at line 86 of file cudnn_frontend_VariantPack.h.
|
explicitdefault |
|
default |
|
delete |
|
delete |
|
inline |
constructs the Engine Config by calling the cudnn API Throws the appropriate error message
Definition at line 128 of file cudnn_frontend_VariantPack.h.
References cudnn_frontend::VariantPack_v8::operator=(), cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::BackendDescriptor::status, and cudnn_frontend::VariantPack_v8::VariantPackBuilder_v8.
|
delete |
|
private |
Definition at line 194 of file cudnn_frontend_VariantPack.h.


Drink Lots of Water
Your body never stops working – not even when you’re asleep. Your heart is still beating, your hormones are finding homeostasis, and metabolic activities are continuing–though at a slower rate. All of these functions require water, which works in your body similarly to how gasoline keeps your car running. When you wake up in the morning, your body has greatly depleted its fuel supply and needs to recharge. By rehydrating yourself first thing in the morning, your body is able to replenish all of the water that your cells and organs needed during your slumber.
Drinking lots of water in the morning is also a great way to cleanse your body of any toxicity that your body has metabolized while you were asleep. By flushing out those harmful substances, your body can return to its normal functions with greater ease. This makes for healthier organs, improves bowel movement, and helps prevent diseases that are often associated with dehydration.
Drink Green Tea with Lemon and Ginger
Once you’ve replenished your body’s fuel with water, lose weight and get energized by drinking green tea with lemon and ginger. You’ll be surprised by how much better you feel after consuming three glasses a day for three days. Here’s why:
Green tea is chalked full of flavonoids and catechins, which function as powerful antioxidants in your body. They boost your metabolic rate and help you burn unwanted fat. By adding ginger, you’re boosting your metabolism even more while also easing indigestion and reducing gas. Adding lemon is equally important in this process. When you’re drinking your morning green tea, your body may destroy some of the enzymes that you’d otherwise benefit from. The phytochemicals in lemons will counteract this, allowing for your system to get all of the benefits of your morning brew.
Plan Your Breakfast
Any nutritionist will tell you that you should start your day by eating a healthy breakfast. However, that’s often easier said than done. If you’re running late to work, it’s easier to grab whatever’s handy on your way out the door or faster to go hit a drive-thru than cook something. More than half of Americans skip breakfast at least once a week, and 12% don’t eat breakfast at all. While we’re all running to work, we’re disrupting our metabolism and making it more difficult for our bodies to function at full capacity.
Plan your breakfast choices ahead of time. Have healthy snacks readily available, prep your shakes so that they just need to be blended, and experiment with some of these healthy homemade energy bar recipes. Your body will love you for it.
Get Active Early
Getting motivated to go to the gym or for a run can be different–especially when you’re just waking up. However, by starting your day with physical activity, you’re boosting your endorphins, which in turn immediately improves your mood. Also, by getting your workout out of the way in the morning, you don’t have to channel the energy later on in the day to get on the treadmill. A lot of highly effective people start their mornings with a healthy workout routine. For example:
Congresswoman and House Majority Leader Nancy Pelosi power walks on her way to work
Jack Dorsey, CEO of Square, jogs every morning
Kevin O’Leary, a Shark Tank investor, starts out on his elliptical or exercise bike
Journal
Journaling for a few minutes a day is a great way to reduce stress and find your center. By taking a little time to get your thoughts down on paper, you can build self-awareness and reassess your goals and priorities. Writing about your thoughts and ideas is very therapeutic. It also helps you commit things to memory, and every now and then, its fun to look back at past entries and see what sort of milestones you’ve accomplished.
Make Your Important Decisions the Night Before
Kenneth Chenault, the CEO of American Express, ends his day by writing down three things that he wants to accomplish the next day. Mornings aren’t meant for important decision-making. This could lead to stress, elevated blood pressure, slow you down, and drain your brain. A healthy morning routine is meant to return your body to homeostasis, not disrupt it by making hard choices. By taking care of them at night, you’ll sleep easier and enjoy a much more relaxed morning.
Create a Routine – And Stick to It!
No matter what your morning ritual is, it’s important that you have one. Try experimenting with a few of these, mix and match, or even create your own. You’ll quickly discover that you’re sleeping better, more relaxed, and find that you’re managing time easier than before. Once you’ve established a healthy morning routine that’s right for you, it’ll become second nature.
For more advice on how to get your routine started, visit our nutrition page or give us a call today.


Gender distribution per specialisation
Using this statistic we wanted to test a common myth that says that girls usually get higher grades than boys.
Grade distribution for each specialisation in different environments
Using this statistic we wanted to test a common myth that says that girls usually get higher grades than boys.
Third optin distribution for each specialisation
Using this statistic we wanted to test a common myth


Welcome to the Epic Light and Sound Game! Press buttons to repeat back the pattern and see if you can beat your friends!


TESTING
Fats in the diet are highly controversial. Saturated fat was previously blamed for raising cholesterol and causing heart disease, but this has now been disproven.
For some reason, dietary guidelines still recommend that we consume vegetable oils instead of saturated fats like butter. This includes oils like soybean oil, cottonseed oil, canola oil, safflower oil, sunflower oil and grapeseed oil (and a few others). Vegetable oils are claimed to lower cholesterol levels, which should help prevent heart disease, the world’s biggest killer. However many studies have raised serious concerns about these oils. Despite lowering LDL cholesterol, they can have disastrous consequences for other aspects of health and metabolism. Here are 11 reasons to avoid vegetable oils like the plague.
Vegetable Oils Are Extremely High in Omega-6 Linoleic Acid
You’ve probably heard of Omega-3 and Omega-6 fatty acids before. These fatty acids are polyunsaturated, meaning that they have many double bonds in their chemical structure. They are often termed the essential fatty acids, because the body lacks the enzymes to produce them. These fatty acids play important roles in many biochemical pathways, including those related to inflammation, immunity and blood clotting. The problem is we need to get Omega-3 and Omega-6 in a certain balance. When this balance goes off, it can interrupt these important biochemical pathways. For example, these two types of fatty acids often compete for the same enzymes and the same spots in cell membranes. They often have related but opposing roles. For example, both of them are used to produce signalling molecules called eicosanoids. Eicosanoids made from Omega-6s tend to be pro-inflammatory, while those made from Omega-3s tend to be anti-inflammatory. Throughout evolution, we consumed balanced amounts of both Omega-3 and Omega-6 fatty acids. The problem today, is that this balance is drastically skewed towards Omega-6. Not only are people eating way too much Omega-6, but their Omega-3 intake is also incredibly low, which is a recipe for disaster. Whereas back in the day our Omega-6:Omega-3 ratio may have been about 1:1-3:1, these days it is about 16:1 which is way outside of evolutionary norms. Vegetable oils are the biggest source of Omega-6 fatty acids in the diet by far. They are particularly high in the Omega-6 fatty acid linoleic acid. This fatty acid causes a host of problems when consumed in excessive amounts especially when Omega-3 intake is low (which is usually the case).
Bottom Line: Vegetable oils are very high in an Omega-6 fatty acid called linoleic acid, which can contribute to all sorts of problems in large amounts.
- Linoleic Acid Builds up in Cell Membranes
Fats are more than just sources of energy. Some of them have potent biological activity, and some remain in the body where they are used for structural and/or functional purposes. It turns out that linoleic acid, the main fatty acid in vegetable oils, does accumulate in the fat cells of the body, as well as in cell membranes. The graph below was compiled by Dr. Stephan Guyenet, based on 6 different studies that measured the linoleic acid content of body fat from the years 1961 to 2008. What this means, is that our excessive consumption of vegetable oils is leading to actual structural changes within our body’s tissues. The linoleic acid content of breast milk has also increased significantly. I don’t know about you, but I think that’s pretty scary.
Bottom Line: Studies have shown that the linoleic acid content of human fat cells and cell membranes has increased drastically in the past few decades.
- Eating Linoleic Acid Increases Oxidative Stress and Contributes to Endothelial Dysfunction
Again, polyunsaturated fats like linoleic acid have two or more double bonds in their chemical structure. This makes them sensitive to damage by free radicals, highly reactive molecules that are constantly being formed in the body.
This is actually what antioxidants are for, they help neutralize the free radicals. When free radicals in the body outnumber the antioxidants, this leads to a condition known as oxidative stress. Not surprisingly, because polyunsaturated fats are more susceptible to damage by free radicals, studies have shown that a high intake of linoleic acid can contribute to oxidative stress. In one controlled trial, people were fed a diet high in Omega-6 linoleic acid, mostly from sunflower oil. After 4 weeks, blood markers of oxidative stress had increased significantly. Another thing they noted was that blood markers of Nitric Oxide (NO) levels had gone down.
Nitric oxide is a signalling molecule produced by the endothelium, the thin layer of cells that lines the vascular system. It helps dilate blood vessels and keep blood pressure down. Reduced nitric oxide is the beginning stage of endothelial dysfunction, where the lining of the vascular system stops working as it is supposed to. Another study in test tubes showed that linoleic acid stimulated a pro-inflammatory state in endothelial cells.
Endothelial dysfunction is actually one of the earliest steps in the pathway towards heart disease and other serious vascular problems.
Bottom Line: Linoleic acid from vegetable oils increases oxidative stress in the body, contributing to a state called endothelial dysfunction. This is a stepping stone towards heart disease.
- Vegetable Oils Lower LDL Levels, But They Also Lower HDL
One of the main reasons vegetable oils are (mistakenly) considered healthy, is that consuming them can lower Total and LDL cholesterol levels. As most people know, LDL is often referred to as the “bad” cholesterol. This is actually supported by science numerous studies show that eating vegetable oils can lower LDL, a well established risk factor for heart disease. However it’s important to keep in mind that this is just a risk factor, not an actual disease.
What really matters is how vegetable oils affect hard end points like heart disease itself, as well as other diseases and the risk of death. That being said, vegetable oils have also been shown to mildly lower HDL levels, which is a bad thing because having high HDL is associated with a low risk of heart disease.
Bottom Line: It is true that vegetable oils can lower Total and LDL cholesterol levels. However, they can also lower HDL, the “good” cholesterol.
- Vegetable Oils Increase Oxidized LDL Lipoproteins
What people refer to as “LDL cholesterol” isn’t really cholesterol. LDL stands for Low Density Lipoprotein the protein that carries cholesterol in the bloodstream. One of the crucial steps in the heart disease process, is Low Density Lipoprotein becoming oxidized, forming what are called oxidized LDL particles, or ox-LDL. These are the LDL particles that build up inside the walls of the arteries. Polyunsaturated fats from vegetable oils actually do find their way into LDL lipoproteins, making them much more likely to become oxidized and form ox-LDL particles.
Bottom Line: Vegetable oils increase the susceptibility of LDL lipoproteins to oxidation, a crucial step in the development of heart disease.
- Some Studies Have Linked Them to Increased Risk of Heart Disease and Death
Heart disease is the world’s most common cause of death. The evidence regarding vegetable oils and heart disease is fairly mixed, and their use is highly controversial. The best way to determine how they affect heart disease, is to look at the randomized controlled trials where large groups of people are fed vegetable oils for many years. Fortunately, many such studies have been performed.
3 of these studies found no significant effects but 3 others found an increased risk of heart disease. Two studies have shown a benefit, but one of them had a number of flaws. It is often claimed that “polyunsaturated fats” prevent heart disease, but it is a huge mistake to lump all polyunsaturated fats together, because this category includes both Omega-3 and Omega-6 fatty acids. In one review that compared studies where people are fed mixed Omega-3s and Omega-6s, there was a protective effect.
But when they looked at the studies where people were only advised to eat more Omega-6 (from vegetable oils), they found that the risk of heart disease was increased by 16%. The effect was not statistically significant, but very close.That being said, several observational studies have shown that consumption of these oils is associated with reduced risk of heart disease.
However observational studies can not prove causation, they are mostly useful for generating hypotheses to be studied further.
When we have conflicting information from observational studies and controlled trials, we must go with what the controlled trials say because these are the only types of studies that can demonstrate causation.
If we look at the best available evidence, consuming vegetable oils appears more likely to cause heart disease rather than prevent it.
Bottom Line: The evidence regarding vegetable oils and heart disease is mixed, but several high quality studies have found them to increase heart disease risk.
- Vegetable Oils Are a Disaster For Cooking
As mentioned above, one problem with the fatty acids in vegetable oils, is that they tend to react with oxygen. This doesn’t just happen inside the body, it also happens when these oils are heated. That’s why using vegetable oils for cooking is a terrible idea. Compared to heat-stable fats like saturated and monounsaturated fats, cooking with vegetable oil forms large amounts of disease promoting compounds. Some of these harmful compounds vaporize and may contribute to lung cancer when inhaled. Just being present in a kitchen where vegetable oils are being used may raise your risk of lung cancer.
Bottom Line: Vegetable oils are high in polyunsaturated fats, which easily damage during cooking and may even vaporize and form compounds that can contribute to lung cancer when inhaled.
- Vegetable Oils May Raise The Risk of Cancer
There is some evidence that vegetable oils can raise the risk of cancer. Because vegetable oils contain highly reactive fatty acids that sit in cell membranes, they contribute to oxidative damage. When fatty acids in membranes get oxidized, they can cause chain reactions. If you think of the cell membrane as a cloud, these oxidative chain reactions are like little streaks of lightning passing through. These reactions can harm important molecules in the cell. Not just fatty acids in the cell membrane, but also other structures like proteins and DNA.
They can also form various carcinogenic compounds within the cells. By damaging DNA, these oils can raise the risk of harmful damage that contributes to increased cancer risk over time. In one 8-year controlled trial, the group that replaced saturated fats with vegetable oils was almost twice as likely to die from cancer. The difference wasn’t quite statistically significant, but very close.Additionally, numerous observational studies have found strong associations between vegetable oil consumption and cancer in humans. This is supported by a plethora of studies in test animals, showing that vegetable oils drive cancer in these animals especially breast cancer, the most common type of cancer in women.
Bottom Line: Several lines of evidence suggest that vegetable oil consumption can raise the risk of cancer, which makes perfect sense given the fact that they make the cells more susceptible to oxidative damage.
- Vegetable Oil Consumption Has Been Linked With Violent Behavior
One place where polyunsaturated fats gather is in the brain.
In fact the brain is about 80% fat, and a large portion of it is Omega-3 and Omega-6 fatty acids, about 15-30% of the brain’s dry weight. If Omega-6 fats from vegetable oils compete for the same enzymes and same spots in cell membranes as Omega-3 fats, then it makes sense that they should affect the function of the brain as well. Interestingly, studies have found very strong correlations between vegetable oil consumption and violent behavior, including homicide. Of course, correlation does not equal causation, so there’s no guarantee that vegetable oils caused the increased rates of homicide, but the statistical correlation is striking.
Bottom Line: Polyunsaturated fats are concentrated in the brain, and many believe that our high vegetable oil consumption is leading to mental health problems, including violent behavior.
- Vegetable Oils Are Highly Refined and Processed Foods With no Beneficial Nutrients
One thing that most nutrition folks agree on, is that whole foods are best.
Whole, unprocessed foods tend to be significantly more nutritious and healthier than their processed counterparts. But most vegetable oils are highly refined the most common way to extract them from their seeds is via harsh chemical processes that involve bleaching, deodorizing and the toxic solvent hexane. Because of this, pretty much all of the vitamins and phytonutrients are removed from these oils. Therefore, they can most definitely be classified as “empty” calories.
Bottom Line: Most vegetable oils are highly processed and refined products, which are completely lacking in essential nutrients.
- Commonly Sold Vegetable Oils Are Loaded With Trans Fats Unless you’ve been living under a rock, you’ve probably heard of trans fats before. These are unsaturated fats that have been chemically modified to be solid at room temperature. They are usually found in highly processed foods. They are so toxic that the governments around the world have set laws in order to remove them from foods.However what most people don’t know, is that vegetable oils contain significant amounts of trans fats. In one study of common soybean and canola oils in U.S. supermarkets, the trans fat content in them was measured at 0.56% to 4.2% of total fatty acids. These are huge amounts. Surprisingly, the trans fat content is rarely listed on the label.
Take Home Message: There are many healthy fats that humans have been eating for hundreds of years without any problems (since before all the “modern” diseases became problems). This includes extra virgin olive oil (best), as well as coconut oil and grass-fed butter which are all exceptionally healthy in the context of a balanced, real food based diet. Unfortunately, the same can NOT be said about vegetable oils. These are refined and processed fats that have been shown to cause serious harm in countless studies. If you care about your health and want to avoid chronic disease, then I recommend that you avoid vegetable oils as if your life depended on it because it really does.


--- layout: post title: The Mind in American Regional Development date: '2010-01-28 22:24:02 -0700' mt_id: 1439 blog_id: 1 post_id: 1439 basename: the-mind-in-american-regional-development categories: - essays ---
In the decades prior to the War between the States, the North and the South took very different paths. The North, with a long tradition of merchants and manufacturing, industrialized. The South, long the storehouse and producer of the nation's food supply, did not. Also by this time, most of the North had abolished slavery and involuntary servitude outright and emancipated the former slaves. The South had not. Are these two events related? Is there any connection between industrialization and slavery? Between slavery and stagnation? Yes! The North industrialized precisely because it regarded the institution of slavery as immoral. If it had retained the right of one person to hold another in bondage, it would not have industrialized as successfully as it did. Similarly, the South never achieved prosperity because of its promotion of slavery. The institution of slavery presupposes assent to three premises: that men can be a means to an end, that the government grants you individual rights and can take them away at will, and that man's mind is irrelevant. The first two premises follow from the last one, but they are all too significant to be left untouched. The South qua slaveholding region accepted these three premises and never was able to industrialize to the extent the North did.
It is important to understand the nature of production before we can examine the economic systems of the two regions of the United States generally and the slave system of the South, in particular. What is production? It is the application of man's mind to man's need to survive. Man's survival is not guaranteed; one must eke out one's existence against the elements. Animals do not have this problem since they operate on instinct. When their stomachs growl, their instincts tell them what is and is not food. When man is hungry, there is no similar instinctual mechanism. He must first discern what the sensation means. Then he must understand what would satisfy that sensation. Finally, he must devise a plan to acquire food (or, in modern society, make it) to satisfy it. On the simple level of survival, the importance of thought is readily self-evident. As societies evolve into more complex interrelationships, the role of thought—and the mind—becomes more and more important, but less and less obvious. Typically, first, you have an inventor who creates something where a void had existed previously. For example, in 1814, a Englishman named George Stephenson invented the modern railroad locomotive. At this point, the role of the mind is unmistakable. This product would never have existed without the ingenuity of Stephenson's mind. Later, entrepreneurs saw the promise of the locomotive. They established companies to utilize Stephenson's invention to solve the problem of transportation. They exchanged a passenger's or shipper's fare for conveyance. Thus, the entrepreneurs were able to survive and flourish through the use of their mind. The passengers were able to survive and flourish through the use of their's, since they had used their minds to earn the wages to pay for their fare. In short, at every stage of the economy, production depends on mental effort. But, since survival is not automatic, production is not either. It depends on the ability of the mind to gather observations, develop hypotheses, and act on its thoughts. Thus, there are requirements for the successful use of reason, namely that the mind must be free. Any element of force negates the mind. For example, when a mugger points a gun at you and insists that you give him your money, the mind must evade the knowledge that it is your money and that he has no right to it. Similarly, on a much grander scale, if the government tells you that you must pay them income taxes, your mind has to ignore the facts of reality; viz., the government has not earned the right to your money and that to say otherwise is to support robbery.
The political implication of this important principle is individual rights. If man survives and flourishes through the use of his mind, then the proper function of government is to insure that conditions are such that the mind remains uninhibited. The government must protect the rights of life, liberty, and property because they represent the metaphysical requirements of man's mind. Man's mind requires that man be able to pursue survival, that is, life. Man's mind requires that he be able to be free to act on whatever his reason dictates so long as it does not involve the coercion of others, that is, he must be at liberty. Finally, man's mind dictates that man be able to keep the fruits of his mind's labors, since property enables man to survive. Thus, the system of government which protects individual rights is the system which protects man's mind and furthers man's capacity for survival. And that system which protects man's mind is the system of government which fosters production. Conversely, any system which does not recognize individual rights inhibits production.
This is exactly what happened in the South. The governments and people of the Southern states did not recognize the inviolability of man's mind. They believed that labor and industry required nothing but muscle. The aristocratic, landed gentry lived lives of opulence and idleness while their black slaves tilled the fields and picked the cotton. The yeoman farmers, those entrepreneurial farmers who relied on their minds to increase production, that had always been a part of Southern society had moved on to the West. These same governments were also among the most proactive ones around in that they were based on the political philosophy of Thomas Hobbes. Hobbes believed that people, if left to their own devices, would soon become mired in conflict. Therefore, they enter into a social contract—giving their rights up to the government—in order that their society may be ordered and orderly. The government then grants them rights as citizens of that government and these rights may be taken away should the government so desire. In short, Hobbes believed in the absolute State. Slavery, Law, and Politics mentions the instance of a law regarding free blacks in South Carolina. After an insurrection was discovered and quashed, the liberties of any free black were similarly crushed. When a vessel came to port, all the black crew members were summarily arrested and held in jail until their ships left port. Examples abound of the abrogated rights of both free blacks and enslaved blacks. Blacks did not have freedom of movement or freedom of association. They had but limited property rights and could be executed for trying to secure their liberties. The Southern government not only did not recognize individual rights, but they did not recognize blacks as individuals. They saw blacks as means to their ends. They were literally regarded as chattel. In reality, blacks had (and still do, of course) the same minds and rationality that the whites did (and still do, of course).
This philosophic evasion was the direct cause of the South's relative poverty. Because they did not recognize the import of the mind, they could not understand the method of production. Because they did not recognize that men are ends in themselves, they could not discover the trader principle—that two people exchange goods for mutual benefit. Because the Southern governments did not recognize the metaphysical nature of individual rights, their political systems could not promote industrialization. The South became stagnant, just as an individual does if he does not use his mind.
This stagnation was confined to the South because the North was much more aware of the political responsibilities that come with industrialization—freedom is to be protected at all costs. To be sure, the North was not fully consistent and would have prospered even more if it had been. The times being what they were, we could not have expected more from the Northern states. The economic system of the North rewarded productivity by the profit motive; the Southern economic system punished unproductiveness by the whip.
The preceding paragraphs explicated the philosophical reason why the black slavery system of labor was established, why it expanded, and why it was confined to the South. But there were many other factors. The climate and soil of the North was ill-suited to extremely large and profitable crops, which necessitated large numbers of field workers. The North had a large enough labor pool already. The South developed the plantation system, which required large amounts of land and labor. Also, racism was much more prevalent in the South. Finally, in the colonial period, the King and Parliament deemed that slavery should exist primarily in the South. These factors are all well and good, but they do not really answer the 'why' of the aforementioned questions—they do not examine the philosophic underpinnings of the institution of slavery.
 Slavery was not abolished until the Fourteenth Amendment in 1868. The Northern states had long recognized the immoral nature of servitude, most of them having abolished the institution by 1800. The reason: slavery was such a hot issue at the Constitutional Convention in 1787 and the philosophic argument against it was not entirely formulated, that the Founding Fathers neglected to categorically reject the institution in the new Constitution. As such, the Southern delegates got language inserted that was, in fact, rather agreeable to the institution of slavery. For example, the Southern states argued that the Constitution's enumerated rights applied only to citizens of the United States. They further contended that the blacks were not really citizens and could not, therefore, enjoy the liberties that full citizens enjoyed. They also got the odious institution officially recognized in the apportionment clauses of the Constitution. Finally, they were able to appeal to the Constitution when a slave escaped: there was a clause in Article IV that was essentially an ambiguously-worded fugitive-slave law. But all these Constitutional provisions simply allowed the institution of slavery to exist and flourish. Many slave owners, particularly in the years prior to the Civil War, believed that the federal government actually had a responsibility to protect slavery. They believed that the Constitutional duty to "insure domestic Tranquility" meant that any internal turmoil that slavery produced was inimical to the Constitution. Therefore, the government must quell abolitionist propaganda. In fact, the Congress did just that. For many years, the "gag rule" was law—abolitionists could not seek a vote on the elimination or limitation of slavery. To an extent, suppressing abolitionism did insure domestic tranquility. When the "gag rule" was lifted, the Civil War soon followed. Surely, the abolitionist movement did not cease to exist, but it did not have a voice. And without a voice, the abolitionists were powerless.
The North and the South's economic systems were consequences of the philosophies that dominated their cultures. There were many factors that influenced the form of those consequences, but the prime factor was the role of man's mind in the two disparate economies. The South, being agricultural and stagnant, did not recognize the crucial part the mind played in production. The North, realizing the mind's importance, industrialized and became the industrial heart of the United States for most of its history.


{% extends "_post.html" %}
{% load webdesign %}
{% hyde
title: Cast 0.2.0 Released
created: 2011-07-13
%}
{% block article %}
{% article %}
{% excerpt %}
Cast 0.2.0 is now out the door, and brings a number of features and
improvements to both the client and the agent.
{% endexcerpt %}
On the agent, the two main improvements are a job queuing system and an
experimental plugin interface. The job queueing system brings improved locking,
per-resource serialized asynchronous task execution.
The plugin system allows the creation of plugins to integrate Cast with
existing infrastructure such as GitHub or BuildBot.
The 0.2.0 release also includes numerous improvements to the command line
client. The most notable of these is the new 'deploy' command which simplifies
use of Cast - running the deploy command can automatically generate the Cast
manifest, create a bundle from your application upload it to the agent and
create and enable an instance. Subsequent calls to 'deploy' will, if the
version number has changed, create a new bundle, upload it, and upgrade the
running instance of the code.
The client also includes improved error handling. Errors now indicate whether
they originated on the client or server, and when the client is run with
"--debug" errors include a stack trace. If the agent is run with "--debug" as
well, it can return stack traces to the client for display.
* [Get Cast 0.2.0](http://cast-project.org./downloads/)
{% endarticle %}
{% endblock %}


How to play
You guess a word, computer tries to solve it.
- Guess a secret word
- Enter it's length on top of the page
- Computer will guess a letter
- If the guessed letter was correct, click on all the blanks where it occurs
- Click Done
- Computer will guess a letter...


edu.uci.imbs
Class Experiment
java.lang.Object
edu.uci.imbs.Experiment
public class Experiment
- extends java.lang.Object
Experiment represents a set of Trial
s. An experiment is initialized with a set of cue validities (see Trial
),
which will be identical for every trial in the experiment.
The initial setup for the experiment is loaded from a Matlab configuration file.
The test class assumes this class is: data\exp2p1.mat
The configuration file is expected to contain two arrays, named and structured as follows:
- truth: one-column array of doubles, where 1.0 means
Alternative
A is correct,
and 0.0 means Alternative
B is correct. The number of rows in the array defines the number of Trials to be created.
- answers: 3-dimensional array, where the first dimension is of the same length as the cue validities.
The second dimension is two doubles, representing whether an alternative is positive (1.0) or negative (0.0); one value for Alternative A and B, respectively.
The third dimension is the number of Trials (must be same as the number of rows in the truth array.)
- Author:
- stevedoubleday
|
Constructor Summary |
Experiment(java.lang.Double[] cueValidities)
|
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Experiment
public Experiment(java.lang.Double[] cueValidities)
loadConfigurationData
public void loadConfigurationData(java.lang.String filename)
throws java.io.IOException
- Throws:
java.io.IOException
getTrials
public java.util.List<Trial> getTrials()
getCueValidities
public java.lang.Double[] getCueValidities()


Start sample01
Start sample02
Start sample03
Start sample04
Start sample05
Start sample06
Start sample07
Start sample08
Start sample09
Start sample10
Loading...
Loading...
Loading ...
Loading ...
Now Loading...
Loading...


SRK to co-produce 'Bob Biswas' with Sujoy Ghosh
by PTISuperstar Shah Rukh Khan on Monday announced his next production, "Bob Biswas", featuring Abhishek Bachchan in the lead.
The actor, who is co-producing the project through Red Chillies Entertainment with director Sujoy Ghosh's Bound Script Production, took to Twitter to share the news.
"#BobBiswas is coming to 'kill it!' Happy to associate with Bound Script Production to bring #BobBiswas, played by @juniorbachchan and directed by Diya Annapurna Ghosh. @RedChilliesEnt @gaurikhan @sujoy_g @_GauravVerma," Shah Rukh tweeted, along with a photo with Abhishek.
Bob Biswas was a breakout character in Sujoy Ghosh's 2012 thriller "Kahaani". Played by actor Saswata Chatterjee, Biswas was an LIC agent who moonlighted as a cold-blooded contract killer.
However, it is not confirmed if "Bob Biswas" is a spin-off of the character though Sujoy is associated with both the films. Diya Annapurna Ghosh will direct the new project.
Red Chillies announced the project, writing, "Nomoshkar", a hat-tip to Biswas' catchphrase, "Nomoshkar... ek minute," which he used before killing his target.
Abhishek said he is looking forward to working in the film.
"Excited to announce my next film! Bob Biswas. Can’t wait to get started. Working with many favourites. @iamsrk @gaurikhan @sujoy_g @_GauravVerma #DiyaAnnapurnaGhosh," he wrote.
Sujoy said he needs "blessings and good wishes" for the film, adding, "And a minute of your time."


Glip Bot Bootstrap is an easy way to set up your private team bot on Glip. This form allows you to create a webhook subscription to your bot without having to code it yourself. All you need is a configured bot app, your bot token, and webhook URL.
You can edit this here: https://github.com/grokify/glip-bot-bootstrap
The RingCentral create webhook API response is presented in an alert dialog.
Prerequisites
More information on configuring Glip bots is avilable here:
Created by: Grokify


--- layout: layouts/default title: Partners & Resources --- Partners & Resources Home Partners & Resources Partners {% for org in partners %} {% if org.category == inactive %} {{org.shortName}} {{org.shortBio}} {% endif %} {% endfor %} Inactive Partners These orgs don't have anyone to run them at the moment, so they're currently inactive. Contact us if you're interested in rebooting them! {% for org in partners %} {% if org.category != inactive %} {{org.shortName}} {{org.shortBio}} {% endif %} {% endfor %} Resources {% for org in resources %} {{org.shortName}} {{org.shortBio}} {% endfor %}
{{org.shortBio}}
These orgs don't have anyone to run them at the moment, so they're currently inactive. Contact us if you're interested in rebooting them!


>
This is part of the old website. New website begins at fontforge.github.io
Are you a web developer? Help us migrate this page on Github
People seem to want a python interface. I'm not a python user myself and
probably don't understand its idioms. I envision something whose top levels
(the FontForge
module and the Font
type) will duplicate
the UI of the Font window.
I anticipate supporting both old and new (python) scripts. The execute scripts
dialog will allow you to chose which interpreter to apply. The command line
interface will have a new argument -script=py
<filename>
The module will be named "FontForge" and will expose the following
| GetPrefs | Get FontForge preference items |
| SetPrefs | Set FontForge preference items |
| SavePrefs | Save FontForge preference items |
| LoadPrefs | Load FontForge preference items |
| DefaultOtherSubrs | Use FontForge's default \"othersubrs\" functions for Type1 fonts |
| ReadOtherSubrsFile | Read from a file, \"othersubrs\" functions for Type1 fonts |
| LoadEncodingFile | Load an encoding file into the list of encodings |
| LoadNamelist | Load a namelist into the list of namelists |
| LoadNamelistDir | Load a directory of namelist files into the list of namelists |
| LoadPlugin | Load a FontForge plugin |
| LoadPluginDir | Load a directory of FontForge plugin files |
| PreloadCidmap | Load a cidmap file |
| UnicodeFromName | Given a name, look it up in the namelists and find what unicode code point it maps to (returns -1 if not found) |
| ControlAfmLigatureOutput | Controls what ligatures get output to afm/tfm files |
| Version | Returns a string containing the current version of FontForge, as 20061116 |
| Fonts | Returns a tuple of all loaded fonts |
It will contain the following types:
The Font object is a pointer to FontForge's font data structure. Any changes made to it will be made to those data.
| userdata | arbitrary user data |
| fontname | font name |
| fullname | full name |
| familyname | family name |
| weight | weight |
| copyright | copyright |
| xuid | PostScript eXtended Unique ID |
| fondname | Mac FOND resource name |
| cidregistry | CID Registry |
| cidordering | CID Ordering |
| upos | Underline Position |
| uwidth | Underline Width |
| cidversion | CID Version |
| strokewidth | Stroke Width |
| ascent | Font Ascent |
| descent | Font Descent |
| vertical_origin | Vertical Origin |
| uniqueid | PostScript Unique ID |
| cidsupplement | CID Supplement |
| macstyle | Mac Style Bits |
| design_size | Point size for which this font was designed |
| fontstyle_id | Font Style ID for 'size' feature |
| design_range_bottom | Smallest point size for which this font is acceptable |
| design_range_top | Largest point size for which this font is acceptable |
| os2_version | OS/2 table version number |
| os2_version | OS/2 table version number |
| os2_weight | OS/2 weight |
| os2_width | OS/2 width |
| os2_fstype | OS/2 fstype |
| hhea_linegap | hhea linegap |
| hhea_ascent | hhea ascent |
| hhea_descent | hhea descent |
| hhea_ascent_add | Whether the hhea_ascent field is used as is, or as an offset applied to the value FontForge thinks appropriate |
| hhea_descent_add | Whether the hhea_descent field is used as is, or as an offset applied to the value FontForge thinks appropriate |
| vhea_linegap | vhea linegap |
| os2_typoascent | OS/2 Typographic Ascent |
| os2_typodescent | OS/2 Typographic Descent |
| os2_typolinegap | OS/2 Typographic Linegap |
| os2_typoascent_add | Whether the os2_typoascent field is used as is, or as an offset applied to the value FontForge thinks appropriate |
| os2_typodescent_add | Whether the os2_typodescent field is used as is, or as an offset applied to the value FontForge thinks appropriate |
| os2_winascent | OS/2 Windows Ascent |
| os2_windescent | OS/2 Windows Descent |
| os2_winascent_add | Whether the os2_winascent field is used as is, or as an offset applied to the value FontForge thinks appropriate |
| os2_windescent_add | Whether the os2_windescent field is used as is, or as an offset applied to the value FontForge thinks appropriate |
| os2_subxsize | OS/2 Subscript XSize |
| os2_subxoff | OS/2 Subscript XOffset |
| os2_subysize | OS/2 Subscript YSize |
| os2_subyoff | OS/2 Subscript YOffset |
| os2_supxsize | OS/2 Superscript XSize |
| os2_supxoff | OS/2 Superscript XOffset |
| os2_supysize | OS/2 Superscript YSize |
| os2_supyoff | OS/2 Superscript YOffset |
| os2_strikeysize | OS/2 Strikethrough YSize |
| os2_strikeyoff | OS/2 Strikethrough YOffset |
| os2_family_class | OS/2 Family Class |
| os2_version | OS/2 Version Number |
| os2_use_typo_metrics | OS/2 Flag MS thinks is necessary to encourage people to follow the standard and use typographic metrics |
| os2_weight_width_slope_only | OS/2 Flag MS thinks is necessary |
| os2_panose | The 10 element OS/2 Panose tuple |
| os2_vendor | The 4 character OS/2 vendor string |
| changed | Flag indicating whether the font has been changed since it was loaded (read only) |
| new | Flag indicating whether the font is new (read only) |
| hasvmetrics | Flag indicating whether the font contains vertical metrics |
| onlybitmaps | Flag indicating whether the font contains bitmap strikes but no outlines |
| is_quadratic | Flag indicating whether the font contains quadratic splines (truetype) or cubic (postscript) |
| multilayer | Flag indicating whether the font is multilayered (type3) or not |
| strokedfont | Flag indicating whether the font is a stroked font or not |
| guide | The Contours that make up the guide layer of the font |
| (some mechanism to control the private dictionary) | |
| (some mechanism to get the selection) |
| Pretty much all the commands in the old scripting language | ||
| FindOrMake | Passed an encoding returns the Glyph at that encoding, if there is none it will create one | |
| FindEncoding | Passed an encoding returns the Glyph at that encoding | |
| FindUnicode | Passed an unicode codepoint returns the Glyph with that code point | |
| FindName | Passed a glyph name returns the Glyph with that name | |
| ... |
The Glyph object is a pointer to FontForge's glyph data structure. Any changes made here will be made directly to those data.
| userdata | arbitrary python user data |
| name | glyph name |
| unicode | primary unicode codepoint |
| width | advance width |
| vwidth | vertical advance width |
| changed | Flag indicating whether the glyph has been changed |
| parent | The font containing us |
| hhints | Horizontal PostScript Hints |
| vhints | Vertical PostScript Hints |
| color | color |
| tex_height | TeX Height |
| tex_depth | TeX Depth |
| tex_sub_pos | TeX Subscript position |
| tex_super_pos | TeX Superscript position |
| layer_cnt | number of layers in this glyph |
| instructions | TrueType instructions |
| counterhints | A HintMask specifying counters |
| GetLayerContours | Returns the contours in the specified layer |
| SetLayerContours | Sets the contours in the specified layer |
| GetLayerReferences | Returns the references in the specified layer |
| SetLayerReferences | Sets the references in the specified layer |
| if multilayer | methods to get/set fill/stroke color, stroke linewidth, etc. |
Contour objects are not pointers to FontForge's data, they are objects in their own right. If you change a contour object you will have to assign it back the glyph it came from before those changes are evident.
Contours are doubly linked lists of points. A contour may be either quadratic (for truetype fonts) or cubic (for postscript fonts). SVG supports fonts which are mixed cubic and quadratic, but FontForge does not. A point may be either on curve or off. An off-curve point is also called a control point. In a cubic contour there may be either
In a quadratic contour there may be
This is basically the format found in truetype fonts. In is not the format used in sfd files (where interpolated points are specified directly)
Contours may be either open (a "line") or closed (a "circle"). In an open contour the first and last points are specified in the data structure (each point knows its own predecessor and successor) and more points may be added after the last. In a closed contour the first and last points will be the same; you may not add points to a closed contour, but you may cut it to make an open contour (to which you may add points).
When you create a contour it is empty.
| first | First point on the contour |
| last | Last point on the contour (same as first for a closed contour) |
| is_quadratic | Whether this is an quadratic (truetype) or cubic (postscript) contour Assigning to this will change the point list as it is changed to approximate the other format |
| next | Next contour |
| IsClosed | Returns whether a contour is closed or not |
| IsEmpty | Returns whether a contour contains no points |
| Close | Close an open contour |
| Cut | With no args, cut a closed contour before the first point, else cut a contour before the specified point, returns a second contour if the original was open |
| Start | Place an initial point on an empty contour |
| LineTo | Append a line to the end of an open contour |
| CubicTo | Append a cubic curve to the end of an open (cubic) contour |
| QuadraticTo | Append a quadratic curve to the end of an open (quadratic) contour |
| QuadraticAddOff | Append a quadratic off-curve point to the end of an open (quadratic) contour |
| MakeFirst | Rotate a closed contour so that the specified point is first |
| Merge | Removes the specified on-curve point leaving the contour otherwise intact |
| Simplify | Smooths a contour |
| Simplifies | Smooths a contour set |
| ReverseDirection | Reverse a closed contour so that the second point on it is the penultimate and vice versa. |
| IsClockwise | Determine if a contour is oriented in a clockwise direction. If the contour intersects itself the results are indeterminate. |
| CorrectDirections | Orient a contour set so that external contours are clockwise and internal counter clockwise. |
| Transform | Transform a contour by a 6 element matrix. |
| RemoveOverlaps | Remove overlapping areas from a contour set. |
| Intersects | Returns the areas where a contour set overlaps. |
| Exclude | Exclude the area of the argument (also a contour set) from the current contour |
| AddExtrema | Add Extrema to a contour |
| AddExtremas | Add Extrema to a contour set |
| Round | Round points on a contour |
| Rounds | Round points on a contour set |
| Stroke | Strokes a contour |
| Strokes | Strokes a contour set |
Points are intended primarily to live in contours and not to have independent existences -- hence the next and prev fields are read only and may only be set by adding points to a contour.
| x | x coordinate |
| y | y coordinate |
| on_curve | whether this point lies on the curve or is a control point |
| index | TrueType point number |
| hintmask | pointer to a PostScript hint mask |
| next | Next point on the contour (Read only) |
| prev | Previous point on the contour (Read only) |
| Transform | Transforms the point by the transformation matrix (a 6 element tuple of reals) |
| glyph | Glyph being refered to |
| matrix | A 6 element transformation matrix (at tuple of reals) |
| use_my_metrics | TrueType use my metrics bit |
| point_matching | Flag indicating whether the reference should be positioned by TrueType point mapping |
| match_pt_base | Match point in previous references |
| match_pt_ref | Match point in this reference |
These are objects in their own right; they are intended to be linked together to form either a horizontal or vertical hint set.
| start | Location at which the hint starts This may be x or y depending on whether the hint is horizontal or vertical |
| width | Extent of the hint. This will be negative for ghost hints |
| next | Pointer to the next hint |


Saffron Barker addresses fans after emotional Strictly Come Dancing exit
She said she has mixed emotions
by Rebecca CarterSaffron Barker has thanked Strictly Come Dancing fans for their support following her elimination last night.
The YouTube star was voted out of the BBC competition alongside professional partner AJ Pritchard and viewers had a very mixed reaction.
Following her exit, Saffron shared a photo of herself and AJ to social media and admitted she's "so sad" that her Strictly journey is over.
Read more: Strictly Come Dancing Week 10 elimination: Saffron Barker's out
She wrote: "So so many emotions.. I am so sad because my Strictly journey is over but smiling because I so proud of myself for how far I’ve come.
"Sometimes you’ve got to give yourself a pat on the back and tell yourself you did good and that’s exactly what I’m doing right now."
She added: "Thank you all for your continued support and to my amazing team (you know who you are) and of course to my incredible partner @aj11ace!!
"I couldn’t of wished for anyone else to of been partnered with. When I look back to week 1 & how nervous and scared I was, you always believed in me.
"Thank you for your patience and all your laughs."
AJ commented: "Saffron just THANK YOU. Thank You."
Fans gushed over Saffron's post, with many gutted she has left the competition.

A third added: "You did great, one of the best dancers."
Last night, Saffron and AJ found themselves in the bottom two alongside Karim Zeroual and Amy Dowden.
Read more: Strictly Come Dancing: AJ Pritchard and Saffron Barker begged bosses to let them skip the Samba
On Saturday night, Saffron and AJ were at the bottom of the leaderboard with 26 points out of 40 for their Samba.
After their dance-off performances, the judges made the decision to send home Saffron.
A teary Saffron said: "I've had the time of my life and it's all down to AJ."
Were you sad to see Saffron go? Leave us a comment on our Facebook page @EntertainmentDailyFix and let us know.


examples - basic
examples - default-thinner-border
examples - dev
examples - marker-camera
examples - marker-events
examples - minimal
examples - mobile-performance
examples - multiple-independent-markers
examples - tango-demo
examples - test-runner
examples - trackingbackend-switch
examples - vr-camera-controls
demos - demo-3dio
demos - demo-aframe-logo
demos - demo-hatsune-miku
demos - demo-hatsune-miku/full-hatsune-original
demos - demo-hatsune-miku/old-full-hatsune
demos - demo-hatsune-miku/old-hatsune
demos - demo-mapbox
demos - demo-minecraft-launch-demo
demos - demo-minecraft-launch-demo/minecraft-launch-demo-old
demos - demo-minecraft-launch-demo/minecraft-launch-demo
demos - demo-portal-door
three.ar - anchors
three.ar - boilerplate
three.ar - graffiti
three.ar - load-model
three.ar - markers
three.ar - record-at-camera
three.ar - reticle
three.ar - spawn-at-camera
three.ar - spawn-at-surface-with-anchors
three.ar - surfaces
three.ar - tango/occlusion
8thwall - 000


Home
Data
My Github Page
Add a City to The Table
City Name
Average Customer
Minimum Costumer
Maximum Costumer
Calculate


To be announced - follow the blog to find out more and catch some sneak peeks
Unity asset to aid vr developers in creating games and experiences. Complete with 14 animations and a flexible animation script to choose which animations are needed.


YCompany Electronic Health Record system
New Appointment
Selected Flight
Full Name
Gender
Male
Female
Email
Appointment Date


Questions to test students on their javascript basics skills
Answer all the questions Each question has 5 marks.


{% extends "contact/contact_form_base.html" %} {% load i18n %} {% block title_form_page %}Contact us{% endblock %} {% block form_page_title %} {{ wizard.form.category.label }}
Contact the Department for Business and Trade (DBT) for questions about trade and investment.
{% endblock %} {% block form_body %}


Lorem Ipsum
Humayo ka kaibigang tom sawyer, maglakbay kung saan mo man naisin
Products
Rating
Chat Response


Working towards basic
text editing support.
Below is an image fixture in free content
Above is an image fixture in free content
The item below this is static.
Now starting to add support for dragging text elements around.
| Position | Name |
|---|---|
| Chair | Helen Troughton |
| Vice-chair | Sarah Stone |
| Secretary | Bridget Brickley |
| Treasurer | Sarahann Holmes |
| Publicity officer | Zillah Cimmock |
End of one region
Start of another region


Hint: this page works much better on a pc if you want to enjoy the scale of the visualisations. Mobile phones tend to break; I use this blogpost to explain why d3 is not always a good idea.
The goal of this document is to show off some d3 and to try to explain how you can apply a bit of mathematics to pick an optimal portfolio of pokemon. Why? Pokemon has left a mark on this world and even though I've never been the biggest fan, it's part of my generation. Everybody that I can relate with knows what pokemon is. This makes a pokemon dataset very nice to play and teach with. It is accessible dataset for a lot of people which makes the math somewhat easier to swallow.
Pokemon theory.
For those not familiar: there exists such thing as a pokemon class. There are grass pokemon, fire pokemon, water pokemon, etc. It is a bit like rock/paper/scissors. For example; plant pokemon are weak against fire pokemon, which in turn are weak against water pokmon which in turn are weak against plant pokemon.
To give an impression of how complex the pokemon weakness system can be (source):
A pokemon also has other characteristics that are non specefic to its type. Some are inheretly stronger than others and each pokemon has different properties (some have more health, some have more attack).
The goal of this document is to figure out what an optimal portfolio of pokemon is. After all; a pokemon master can only have 5 pokeballs (prisons for pokemon that you can carry around) and it is unknown which pokemon the opponent has.
Some Math
You can google how damage between pokemon is determined and you can download pokemon information from a reliable api. To compare pokemon I will take the number of turns that a pokemon would be able to stand against an opponent. Because I want to capture that a single pokemon might be able to beat two other pokemon in succession but might be beaten as well this seems like a good metric.
Note that for the remained of this document I assume that each pokemon will only use it's basic attack and no items will be used during combat. Without these assumption the computation becomes a whole lot harder (maybe even NP-Hard).
This 'turns that a pokemon lasts' metric is defined by the following formulae:
$$ T_{ij} = \frac{HP_i}{DMG_{ji}} $$
where $T_{ij}$ is the number of turns the pokemon $i$ would be able to survive the opponent $j$ if it were to be attacked indefinately, $HP_i$ is the amount of hitpoints that pokemon $i$ has and $DMG_ji$ is the amount of damage a basic attack pokemon $j$ would deal to pokemon $i$. This damage is defined via:
$$ DMG_{ji} = \frac{2L_j+10}{250} \times \frac{A_j}{D_i} \times w_{ji}$$
where $L_a$ is the level of pokemon $a$, $A_a$ is the attack power of pokemon $a$, $D_a$ is the defencive power of pokemon $a$ and $w_{ab}$ is the weakness coefficient between pokemon $a$ and $b$ which is defined by the types of the pokemon. The data that I used for these weaknesses can be found here.
This is a simplified model where I assume that all pokemon use simple basic attacks continously. Without this assumption the computation becomes a whole lot harder (maybe even NP-Hard).
This is what they look like if you put them in pokedex order.
Notice that this graph is assymetric by design. A green cell indicates that the row will win from the column, a yellow colour indicates a draw and a red cell indicates that the row will loose.
Immediately you should be able to see that a few pokemon will rarely win (this corresponds to a horizontal red line). You don't need the data to know that Diglet, Abra and Magicarp suck, but it is a good confirmation.
You could also sort this matrix per group, which might allow you to see the effect of the type of pokemon.
You should be able to see a relationship between pokemon type and damage weakness.
 The average performance is not enough though because we'd also want to be able to account for the risk that a pokemon encounters it's weakness. A pokemon might perform well on average unless it meets its ultimate foe.
In financial mathematics a similar problem occurs with the valuation of a stock portfolio. The stock might perform well on average but it will most likely have a lot of volatility.
For this dataset we calculate two values per pokemon:
$$\mu_i = \frac{\sum_{j=1}^N T_{ij}}{N} $$ $$\sigma_i = \sqrt{\frac{\sum_{j=1}^N (T_{ij} - \mu_i)^2}{N - 1}} $$
The top 5 performning pokemon according to $T_{ij}$ are:
mu sigma
name
Mewtwo 2.827446 5.332813
Lapras 2.947499 6.977950
Dragonite 3.099368 11.387448
Snorlax 3.267974 3.917765
Rhydon 3.341182 12.839635
Notice that the $\sigma_p$ values vary. If we plot these values of all pokemon with a positive $\mu_p$ we can see that a disparity exists.
Some pokemon are more efficient in the return/volatility ratio than others. If I now select all pokemon that have a high return but a low volatility I end up with a different top 5:
mu sigma
Wigglytuff 2.296484 3.173598
Snorlax 3.267974 3.917765
Exeggutor 2.349300 5.135687
Mewtwo 2.827446 5.332813
Muk 2.370720 5.680507
So yeah, turns out that you can apply the CAPM model to pokemon. Nice!


zwdz.py¶
-
class
qAuth.nonEnt.zwdz.
Authenticator
(name)¶ Class for Authenticator
-
authenticate
(key)¶ Method that takes care of authenticator’s job.
- Parameters
key (str) – Secret Key Shared by two parties.
- Returns
Result of authentication check.
- Return type
Boolean
-
recvDecode
(hash_value)¶ Method that receives the qubits, decodes it and checks for auth.
- Parameters
hash_value (str) – Hash value produced by key and random_key.
- Returns
Result of authentication check.
- Return type
Boolean
-
recvRandom
()¶ Method that receives the random number sent by prover.
- Returns
Returns random key.
- Return type
String
-
-
class
qAuth.nonEnt.zwdz.
Participants
¶ Class which defines common functions. Prover and Authenticator inherit this class.
-
createHash
(key, random_key)¶ Method that takes in key and random_key to produce 64 bit hex hash value.
- Parameters
key (str) – Secret Key Shared by two parties.
random_key (str) – Random key generated for this iteration for authentication.
- Returns
64 bit hex hash value.
- Return type
str
-
-
class
qAuth.nonEnt.zwdz.
Prover
(name)¶ Class for Prover
-
authenticate
(key, receiver)¶ Method that takes care of prover’s job.
- Parameters
key (str) – Secret Key Shared by two parties.
receiver (str) – Authenticator’s name.
-
createRandom
()¶ Method that creates the random key for the iteration. Uses randomness of Quantum Mechanics to produce the required string.
- Returns
Random key.
- Return type
String
-
encodeSend
(hash_value, receiver)¶ Method that encodes the hash key in Qubits.
- Parameters
hash_value (str) – Hash value produced by key and random_key.
receiver (str) – Authenticator’s name.
-
sendRandom
(random_key, receiver)¶ Method that sends the random_key generated before. It convert the string type to suitable type so that we can send through the classical server provided by SimulaQron.
- Parameters
random_key (str) – Random key generated for this iteration for authentication.
receiver (str) – Authenticator’s name.
-


--- layout: successCriteria title: "Non-Text Content - Silverlight" successCriteria: "1-1-1" successCriteriaTitle: "Non-Visual Text" technology: "Silverlight" ---
The objective of this technique is to wrap the Silverlight Image class inside a UI container class that is focusable. If the image is focusable, users who use the TAB sequence to navigate content while the assistive technology is active, and/or assistive technologies that construct navigation structures that are based on the TAB sequence, can both detect the image in navigation. The assistive technology can then associate alternative text for that image within the navigation structure, and report the information to the user.
Many existing assistive technologies do not construct initial navigation views that are derived from UI Automation information if it is coming from a non-focusable element in a Silverlight user interface. This is particularly true if the assistive technology is in a navigation mode that is specifically intended to help users enter information into a form or similar interactive interface element; an example of this situation is the Forms Mode of the JAWS screen reader.
Now that the image is wrapped by a focusable control, you can instantiate an instance of the wrapper UI inside a Silverlight layout container, specify AutomationProperties.Name at the level of the wrapper control’s tag, and have that text serve as the alternative text for the referenced source image file.
<StackPanel
xmlns:local="clr-namespace:ImageEquivalent;assembly=FocusableImage"
>
<local:FocusableImage
Height="300" Width="400
AutomationProperties.Name="Diagram of secret lair"
Source="/diagram_lair.png" />
</StackPanel>


Last updated: 2021-03-07
Checks: 7 0
Knit directory: 2019-feature-selection/
This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(20190522)
was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.
The results in this page were generated with repository version e67f93f. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.
Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish
or wflow_git_commit
). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: .DS_Store
Ignored: .Rproj.user/
Ignored: .drake/
Ignored: data/
Ignored: inst/.DS_Store
Ignored: inst/study-area-map/.DS_Store
Ignored: inst/study-area-map/data/
Ignored: inst/study-area-map/study-area.qgs~
Ignored: log/
Ignored: renv/library/
Ignored: renv/staging/
Unstaged changes:
Modified: README.md
Modified: _drake.R
Modified: analysis/eda.Rmd
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
These are the previous versions of the repository in which changes were made to the R Markdown (analysis/about.Rmd
) and HTML (docs/about.html
) files. If you’ve configured a remote Git repository (see ?wflow_git_remote
), click on the hyperlinks in the table below to view the files as they were in that past version.
| File | Version | Author | Date | Message |
|---|---|---|---|---|
| Rmd | e67f93f | pat-s | 2021-03-07 | workflowr::wflow_publish(“analysis/about.Rmd”) |
| html | cdd8241 | pat-s | 2021-02-19 | Build site. |
| html | f944b04 | pat-s | 2021-02-19 | Build site. |
| Rmd | 4621357 | pat-s | 2021-02-19 | workflowr::wflow_publish(“analysis/about.Rmd”) |
| html | 27be6dc | pat-s | 2021-02-19 | Build site. |
| html | a953299 | pat-s | 2020-08-12 | Build site. |
| html | 8b5e422 | pat-s | 2020-08-05 | Build site. |
| html | 9fe93ea | pat-s | 2020-08-05 | Build site. |
| Rmd | 9fef275 | pat-s | 2020-08-05 | workflowr::wflow_publish(“analysis/about.Rmd”) |
| html | 90d099f | pat-s | 2020-08-05 | Build site. |
| Rmd | 944c037 | pat-s | 2020-08-05 | update about.Rmd |
| html | d513e78 | pat-s | 2020-03-22 | Build site. |
| Rmd | fc147e4 | pat-s | 2020-03-22 | workflowr::wflow_publish(“analysis/about.Rmd”) |
| html | 649886e | pat-s | 2020-03-08 | Build site. |
| Rmd | db07056 | pat-s | 2020-02-24 | add jose to authors |
| html | 7582c67 | pat-s | 2019-08-31 | Build site. |
| html | df85aba | pat-s | 2019-07-12 | Build site. |
| html | 3a44a95 | pat-s | 2019-07-10 | Build site. |
| html | db3955e | pat-s | 2019-06-27 | Build site. |
| Rmd | 4cf247a | pat-s | 2019-06-18 | fix git |
| html | 4cf247a | pat-s | 2019-06-18 | fix git |
| html | 4c3422d | pat-s | 2019-06-15 | Build site. |
| html | 45cbebd | pat-s | 2019-05-27 | Build site. |
| Rmd | 9a83d5a | pat-s | 2019-05-27 | wflow_publish(“analysis/about.Rmd”) |
| html | 47a5b39 | pat-s | 2019-05-25 | Build site. |
| html | 37da161 | pat-s | 2019-05-24 | Build site. |
| html | ad4c6c1 | pat-s | 2019-05-23 | Build site. |
| html | 6517dc7 | pat-s | 2019-05-23 | Build site. |
| html | 22eb53d | pat-s | 2019-05-23 | Build site. |
| html | a7ae8f1 | pat-s | 2019-05-23 | wflow_publish(all = T) |
| html | ad7d595 | pat-s | 2019-05-22 | Build site. |
| Rmd | 7ad5791 | pat-s | 2019-05-22 | first version |
| html | 7ad5791 | pat-s | 2019-05-22 | first version |
| Rmd | 1cbc8de | pat-s | 2019-05-22 | Start workflowr project. |
Modeling defoliation as a proxy for tree health: Comparison of feature-selection methods across multiple feature sets derived from hyperspectral data
This repository contains the research compendium of our work on comparing algorithms across multiple feature sets and filtering methods (including ensemble filter methods).
keywords
Using machine-learning algorithms to model defoliation of Pinus Radiata trees.
Compare filtering methods (ensemble filter methods) across various algorithms and datasets
Predict defoliation to all available plots (24) and the whole Basque Country (at 200 m resolution)
The following directories belong to this project
code/01-download.R
code/02-hyperspectral-processing.R
code/04-data-processing.R
code/05-modeling/
code/06-benchmark-matrix/
code/07-reports/
In addition, this repo contains the workflow for an analysis related to the LIFE 14 ENV/ES/000179 LIFE HEALTHY FOREST project: Predicting defoliation at trees for the Basque Country (for the years 2017 and 2018) using Sentinel-2 data.
Target defoliation_maps_wfr
builds subsequent argets which are necessary for the final results report.
See the code
directory on GitHub for the source code that generated the figures and statistical results contained in the manuscript. See the data
directory for instructions how to access the raw data used in the manuscript.
This repository is organized as an R package, providing functions and raw data to reproduce and extend the analysis reported in the publication. Note that this package has been written explicitly for this project and is not suited a for more general use.
This project is setup with a drake workflow, ensuring reproducibility. Intermediate targets/objects will be stored in a hidden .drake
directory.
The R library of this project is managed by renv. This makes sure that the exact same package versions are used when recreating the project. When calling renv::restore()
, all required packages will be installed with their specific version.
Please note that this project was built with R version 4.0.4 on a CentOS 7 operating system. Some packages from this project are not compatible with R versions prior version 3.6.0.
To clone the project, a working installation of git
is required. Open a terminal in the directory of your choice and execute:
git clone https://github.com/pat-s/2019-feature-selection.git
Then start R in this directory and run
renv::restore()
r_make()
Calling r_make()
will create targets specified in drake_config(targets = <target>)
in _drake.R
with the additional drake settings specified.
Out of the 400+ targets in this project, the following targets are important:
bm_aggregated_new_buffer2
: Aggregated benchmark results of all models using a 2 meter buffer for hyperspectral data extraction.eda_wfr
: Creates the report which shows Exploratory Data Analysis (EDA) plots and tables.eval_performance_wfr
: Creates the report which evaluates the model performances.spectral_signatures_wfr
: Creates the report which inspects the spectral signatures of the hyperspectral data.feature_importance_wfr
: Creates the report which inspects the feature importance of variables.filter_correlations_wfr
: Creates the report which inspects correlations among filter methods.Note that most reports require some/all fitted models. Creating these (e.g. target benchmark_no_models_new_buffer2
) is a costly process and takes several days on a HPC and way longer on a single machine.
sessionInfo()
R version 4.0.4 Patched (2021-02-17 r80031)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 10.16
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices datasets utils methods base
other attached packages:
[1] usethis_2.0.0 magrittr_2.0.1 drake_7.13.1
loaded via a namespace (and not attached):
[1] Rcpp_1.0.6 git2r_0.28.0 later_<IP_ADDRESS> compiler_4.0.4
[5] pillar_1.4.7 workflowr_1.6.2 prettyunits_1.1.1 tools_4.0.4
[9] progress_1.2.2 digest_0.6.27 evaluate_0.14 lifecycle_0.2.0
[13] tibble_3.0.6 pkgconfig_2.0.3 rlang_0.4.10 igraph_1.2.6
[17] cli_2.3.0 rstudioapi_0.13 filelock_1.0.2 yaml_2.2.1
[21] parallel_4.0.4 xfun_0.20 stringr_1.4.0 storr_1.2.5
[25] knitr_1.31 fs_1.5.0 vctrs_0.3.6 hms_1.0.0
[29] rprojroot_2.0.2 tidyselect_1.1.0 glue_1.4.2 R6_2.5.0
[33] base64url_1.4 rmarkdown_2.6 txtq_0.2.3 whisker_0.4
[37] purrr_0.3.4 promises_1.1.1 backports_1.2.1 ellipsis_0.3.1
[41] htmltools_<IP_ADDRESS> assertthat_0.2.1 renv_0.13.0 httpuv_1.5.5
[45] stringi_1.5.3 crayon_1.4.0


Official Statistics
Experimental statistics on English and maths attainment by students aged 16 to 18 who did not achieve A* to C by the end of key stage 4.
PDF , 595KB , 16 pages
MS Excel Spreadsheet , 97.9KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 1.21MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 98.3KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 1.21MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 418KB , 7 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Plain text , 1.27KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
This experimental Statistical First Release (eSFR) provides information on the English and maths qualifications entered and achieved by students aged 16 to 18 who did not achieve a GCSE grade A* to C by the end of KS4 .
National figures provide information on all students who did not achieve A* to C by the end of KS4 . This includes those identified as part-time and work-based learners. Institution breakdowns only include full-time students in schools and colleges normally reported in 16 to 18 performance tables. Please see the technical note published alongside this release for more information on the coverage of students and qualifications included.
These statistics are published as experimental and do not display the National Statistics Logo. Amendments have been made on last year’s methodology to improve data quality and coverage (see technical note for further information). For this reason these statistics will not be comparable to last year’s experimental release. Last year’s data has therefore been re-run on this year’s methodology to enable a comparison over time. These statistics are published alongside this release.
Joanna Edgell
0207 783 8064
Published: 11 September 2014
From: Department for Education
Part of: Statistics: 16 to 19 attainment


gpgsplit(1) gpgsplit(1) NAME gpgsplit - Split an OpenPGP message into packets SYNOPSIS gpgsplit [OPTIONS] [FILES] DESCRIPTION This manual page documents briefly the gpgsplit command. gpgsplit splits an OpenPGP message into packets. OPTIONS -v,--verbose Verbose. -p,--prefix STRING Prepend filenames with STRING. --uncompress Uncompress a packet. --secret-to-public Convert secret keys to public keys. --no-split Write to stdout and don't actually split. AUTHOR Copyright (C) 2002 Free Software Foundation, Inc. Please report bugs to<EMAIL_ADDRESS>This manpage was written by Francois Wendling<EMAIL_ADDRESS>December 2005 gpgsplit(1)


How to make polished Jupyter presentations with optional code visibility
13 Feb 2016Jupyter notebooks are great because they allow you to easily present interactive figures. In addition, these notebooks include the figures and code in a single file, making it easy for others to reproduce your results. Sometimes though, you may want to present a cleaner report to an audience who may not care about the code. This blog post shows how to make code visibility optional, and how to remove various Jupyter elements to get a clean presentation.
On the top is a typical Jupyter presentation with code and some extra elements. Below that is a more polished version that removes some of the extra elements and makes code visibility optional with a button.
To make the code optionally visible, available at the click of a button, include a raw cell at the beginning of your notebook containing the JavaScript and HTML below. This code sample is inspired by a Stack Overflow post, but makes a few improvements such as using a raw cell so that the button position stays fixed, changing the button text depending on state, and displaying gradual transitions so the user understands what is happening.
It’s pretty straightforward to remove the extra elements like the header, footer, and prompt numbers. That being said, you may want to still include some attribution to the Jupyter project and to your free hosting service. To do all of this, just include a raw cell at the end of your notebook with some more JavaScript.
One shortcoming with what we have so far is that users may still see some code or other unwanted elements while the page is loading. This can be especially problematic if you have a long presentation with many plots. To avoid this problem, add a raw cell at the very top of your notebook containing a preloader. This example preloader includes an animation that signals to users that the page is still loading. It heavily inspired by this preloader created by @mimoYmima.
To work with these notebooks, you can clone my GitHub repository. While the notebooks render correctly on nbviewer (unpolished, polished), they do not render correctly on the GitHub viewer.


Angular Super Hero Registry
Super Hero
Powers
{{hero.hero}}
{{hero.powers}}
The hero's name:
The hero's super power:
Add Hero
Villain
Powers
{{villain.hero}}
{{villain.powers}}
The villain's name:
The villain's super power:
Add Villain


Some notes on component injection.
Either the entry point class or any component class can require and receive an instance of a component.
Snow offers two ways of doing this: Autowired Properties and Autowired Constructors. Note that you can combine these two alternatives at will.
Also, keep in mind that all component injections are performed prior to execution. If this process fails, Snow will abort and throw an exception. Thus, you don't need to check injected dependencies for null values.
Easy, short, and to the point.
Start by adding a property or field to your component class, and mark it with the [Autowired] attribute:
// Either a [Component] or the Program entry point public class ExecutingClass { [Autowired] private NumbersService numbers; public void Run() { var result = numbers.Sum(4, 5); } }
This is really all you need. When you execute this program, Snow will fill the property with a valid instance of NumbersService that you can use.
Autowired properties can be public, internal or private, and you can even make them readonly to get an immutable component, and it will work just the same.
A more structured and formalist approach.
Autowired constructors mimic other IOC libraries, where dependencies are requested through constructor parameters.
Simply add a new constructor to the class, and put the required components as parameters. Then, mark it with the [AutowireConstructor] attribute:
[Component] public ExecutableComponent { private NumbersService _numbers; [AutowireConstructor] internal ExecutableComponents(NumbersService numbers) { _numbers = numbers; } public void Run() { var result = _numbers.Sum(4, 5); } }
Keep in mind the following particularities of Autowired Constructors:
Request everything! All the time!
A component can use both Autowired Properties and Autowired Constructors to request all of its dependencies:
[Component] public class ExecutableComponent { private TimeService time; [Autowired] private NumbersService numbers; [AutowireConstructor] public ExecutableComponent(TimeService time) { this.time = time; } }
Refer to a component by its interface.
If a component has a type alias, you can request it both by the alias interface and its native type:
[Component] public class ExecutingComponent { // Alternative 1: Use type alias [Autowired] private INumbersService numbers; // Alternative 2: Use original type [Autowired] private NumbersService numbers; }
Note that this applies both to Autowired Properties and Autowired Constructors.


Your attendance is a wonderful present in itself. We're not after any whitegoods or things to set up a house. We're trying to keep things simple. Any photos of us, words of advice or a story will be greatly appreciated. We'll provide a place for you to put them.


WARNING: Please refer to the actual IMO, IALA, ITU, UN, or Volpe specs over these. They do not exactly match what is in the spec. Why? I have not implemented conditional section decoding and have not validated all of the xml source definitions against actual packets. And, this directory is not the official definition of the messages!
-Kurt 1/2007