Who invented the pancake syrup?
All-American Food Recipe Makeovers
Recipe Makeovers for All-American Food
Cook lighter versions of American cuisine classics.
By Elaine Magee, MPH, RD
WebMD Weight Loss Clinic - Expert Column
Reviewed by Kathleen Zelman, MPH, RD / LD
I love all of the kitchens that make up our American food culture. Where else can you find almost any type of food under the sun, from Indian to Thai, Chinese and Japanese; Italian, Greek, French, Mexican, Cuban, Vietnamese, Indonesian and more? However, there are still foods that are unmistakably American.
There are foods that may have been invented elsewhere but turned into American phenomena, such as french fries, fruit cakes, cupcakes, popcorn, bagels, pizza, and the entire "salads" category. There are foods we made ourselves, like pancakes and waffles, grilled cheese sandwiches, and muffins. And then there is really American food invented by Americans on American soil, such as toll house cookies, corn dogs, cornbread, donuts, potato chips, and peanut butter and jelly sandwiches. Another great American food contribution: Almost anything ice related, like ice cream sandwiches, sundaes of hot fudge, and root beer floats.
All of these all-American foods are fantastic and part of our culinary heritage. The problem is, most of them are low in nutrients and low in fiber - but a lot of calories. Admittedly, some classic American foods cannot be overworked while retaining their desirable properties - donuts, for example. But many others can be "treated" to have fewer calories and fat while still staying true to the delicious food that Americans have come to know and love.
Here are 12 all-American foods great for cutting calories, followed by some brightened up American recipes.
American Food Makeover # 1: Apple Pie
According to The Food Encyclopediasa) Apples were introduced to North America from Europe and Western Asia in the 17th century. Apple dishes have been interwoven in American cuisine ever since, from apple chips to caramel apples to apple pie.
Makeover Tips: Make a lighter apple pie by using a low-fat, partially whole grain crust and using less sugar in the filling. The filling or the top crust also does not have to be "dotted" with butter.
American Food Makeover # 2: Chocolate Chip Cookies
By most standards, the chocolate chip cookie is the epitome of an American biscuit. And one of the most famous chocolate chip cookies is the Toll House Cookie. Ruth Graves Wakefield made America's original chocolate chip cookie from small pieces of semi-sweet chocolate in 1939 at her Toll House Inn near Whitman, Massachusetts The new food lover's companion.
Makeover Tips: Use a low-fat margarine with plant sterols instead of stick butter or margarine in your chocolate chip cookie recipe. You can cut the sugar by a quarter and replace half of the white flour with whole wheat flour. Using a little less chocolate chips will also shave some calories and fat grams.
American Food Makeover # 3: Corn Bread
This is an all-American fast bread that is made in all different styles (Mediterranean, frying pan, sweet) with all sorts of features (green pepper, cheese, bacon, onion, etc.). There have been all sorts of names for cornbread, and there are many variations that are part of American culinary history, such as johnnycakes, hushpuppies, and spoonbreads.
Makeover Tips: Make cornbread recipes easier by using less fat in the batter (replace bacon fat, lard, or shortening with a low-fat margarine with plant sterols) and replace that fat with low-fat buttermilk or fat-free sour cream. For some recipes, you can make a fat substitute mixture of canola oil and non-fat sour cream. Use fewer eggs (replace two egg whites or 1/4 cup egg substitutes). If your recipe calls for ingredients like bacon or cheese to stir in, consider using a low-fat option and adding less of it. Increase the fiber in your cornbread by replacing half of the white flour you need with whole wheat flour.
American Food Makeover # 4: Corn Dogs
This popular carnival and state fair, where a hot dog on a stick is dipped in thick cornbread batter and deep-fried, was created for the state fair in 1942 by Texan Neil Fletcher The new food lover's companion.
Makeover Tips: Use leaner dogs (there are several "light" brands) and bake your corn dog until the cornbread batter is firm instead of deep-frying it. If deep-frying is a must, use at least one cooking fat that is higher in monounsaturated fat, preferably one that also contains vegetable omega-3s (like canola oil).
American Food Makeover # 5: Grilled Cheese Sandwiches
Most of us grew up on mommy's grilled cheese sandwiches. They are also standard rates for guests across the country.
Makeover Tips: Make a healthier grilled cheese sandwich by using whole grain or multigrain bread (multigrain sourdough is delicious), low-fat cheese, or a little less of the regular cheese. Instead of buttering them, quickly spray the outsides of the bread with canola oil before placing it on your non-stick griddle or pan.
American Food Makeover # 6: Muffins
Muffins are very popular on the American breakfast and dinner table. American muffins are usually leavened with baking soda or baking soda instead of yeast. They offer a wide variety of ingredients and flavors, from savory to sweet.
Makeover Tips: You can reduce the fat in your muffin batter - you really only need about 2 tablespoons of oil for every 12 small muffins. You can also replace half of the white flour with whole grain wheat. And you can cut down the sugar and add ingredients like fresh or dried fruit, ground cinnamon, and roasted nuts to give the flavor a boost.
American Food Makeover # 7: Pancakes
Many countries have their own version of pancakes: thin or thick; small or large; filled or topped with delicious ingredients. American pancakes are often made with buttermilk, are typically thicker than other pancakes around the world, and are generally around 4 inches wide.
Makeover Tips: Make lighter pancakes by adding less fat to the batter, using low-fat milk or buttermilk, and adding very little fat (if any) to the pan. But that's only half the health battle with pancakes - it's what people do with the pancakes after they cook that can really pile the calories. Keep added butter, whipped cream, and syrup to a minimum and switch to reduced calorie pancake syrup if possible. If you really need to add butter, go for the whipped variety.
American Food Makeover # 8: Pizza
Pizza may have started in Italy, but America made it the popular food it is today. American pizza chains are constantly trying to come up with new and exciting toppings, along with crust variations like filled, deep dish, or crispy.
Makeover Tips: Avoid greasy pizza places and look for more authentic pizzerias with a bread-like crust, lots of nutritious pizza sauce, and a moderate amount of cheese. Choose vegetables as toppings instead of high-fat meat. If you're making pizza at home, replace half of the white flour with whole wheat flour. You can also choose a semi-skimmed or low-fat cheese.
American Food Makeover # 9: Popcorn
Most people can't go to the movies without buying popcorn. For many, it's the standard snack at the end of a long day at work or at school. A common equation for popcorn is that a tablespoon of oil plus 1/2 cup of corn kernels pops up to about 4 cups. And that doesn't even include the butter that is usually drizzled over it.
Makeover Tips: Use less oil when popping the corn and add less butter after popping. Basically, this is what popcorn makers are doing with their light microwave popcorn options.
American Food Makeover # 10: Potato Chips
These crunchy snack-time favorites were reportedly invented by a cook at Moon's Lake Lodge in Saratoga Springs, New York, in 1853. One guest insisted on extra thin fries, so Chef George Crumb cut the potatoes thinly and made them crispy when fried.
Makeover Tips: You need some oil if you're making potato chips (without this they would just taste like dried potatoes), but the trick is to use less of them. To achieve this, bake thinly sliced potatoes with a light layer of canola cooking spray or a light brush of canola oil instead of deep-frying them.
American Food Makeover # 11: Potato Salad
The American rendition of creamy potato salad - a standard at delis, picnics, and barbecues - is dressed in mayonnaise. The German-style potato salad uses a warm vinaigrette that is traditionally made from bacon fat.
Makeover Tips: Instead of using regular mayonnaise, make a light mayo dressing by using half light mayonnaise and half fat-free sour cream. Refine the taste of the dressing with honey mustard or relish, freshly ground black pepper or herbs and spices.
American Food Makeover # 12: Root Beer Float
These are on the menu in many American cities in ice cream parlors and old-fashioned soda fountains.The original root beer was a low-alcohol carbonated drink that was made in Philadelphia, according to a druggist The Food Encyclopedia. Today's root beer is of course a soda pop with flavors reminiscent of that earlier drink.
Makeover Tips: Make a low calorie root


Summary: H.R.7315 — 116th Congress (2019-2020)All Information (Except Text)
There is one summary for H.R.7315. Bill summaries are authored by CRS.
Shown Here:
Introduced in House (06/24/2020)
Protecting Our Protesters Act of 2020
This bill modifies the criminal civil rights statute that prohibits deprivation of rights under color of law.
Current law prohibits the deprivation of federally protected rights, privileges, or immunities by a government official (including a law enforcement officer).
This bill specifies that use of force during a response to a protest constitutes a deprivation of rights, privileges, or immunities.
Additionally, the bill removes the death penalty as a penalty option if death results or if certain aggravating factors are present.


Keep Your PCP Informed
Keep Your PCP Informed
You can do your part in coordinating your care. If you have received care in any health care setting outside of your primary care physician's (PCP) office, there are a couple of things you can do to ensure a smooth and timely transition.
Ask for a Visit or Discharge Summary
First, ask your health care provider to send a discharge or visit summary to your PCP. The summary information includes a list of discharge medicines you were prescribed. It is important for your PCP to review any medicines you were prescribed. Your PCP can decide if any further medication changes are needed.
The summary also lets your PCP know the reason services were needed, what tests were done and what follow up is needed.
In 2020, we surveyed many of our PCPs and asked if they received a discharge summary and if they got it within 10 business days. Hospitals were the most likely to send the summaries (66 percent) and sent summaries the quickest. Retail clinics were the least likely to send the information (50 percent) and the slowest to send it.
So when you receive health care services outside of your PCP's office, be sure to ask for a summary of your visit to be sent to your PCP.
Follow Up with Your PCP
Second, make sure to schedule an appointment with your PCP. That way you can discuss the care you received, test results or medicine changes. It also helps make sure you get safe, timely follow-up care.
Doing these two things can help make sure your care is coordinated between your PCP and other providers.


text:
Principle of least privilege
In information security, computer science, and other fields, the principle of least privilege (also known as the principle of minimal privilege or the principle of least authority) requires that in a particular abstraction layer of a computing environment, every module (such as a process, a user or a program depending on the subject) must be able to access only the information and resources that are necessary for its legitimate purpose.
The principle means giving a user account only those privileges which are essential to that user's work. For example, a backup user does not need to install software: hence, the backup user has rights only to run backup and backup-related applications. Any other privileges, such as installing new software, are blocked. The principle applies also to a personal computer user who usually does work in a normal user account, and opens a privileged, password protected account (that is, a superuser) only when the situation absolutely demands it.
When applied to users, the terms least user access or least-privileged user account (LUA) are also used, referring to the concept that all user accounts at all times should run with as few privileges as possible, and also launch applications with as few privileges as possible. Software bugs may be exposed when applications do not work correctly without elevated privileges.
The principle of least privilege is widely recognized as an important design consideration in enhancing the protection of data and functionality from faults (fault tolerance) and malicious behavior (computer security).
Benefits of the principle include:
- Better system stability. When code is limited in the scope of changes it can make to a system, it is easier to test its possible actions and interactions with other applications. In practice for example, applications running with restricted rights will not have access to perform operations that could crash a machine, or adversely affect other applications running on the same system.
- Better system security. When code is limited in the system-wide actions it may perform, vulnerabilities in one application cannot be used to exploit the rest of the machine. For example, Microsoft states "Running in standard user mode gives customers increased protection against inadvertent system-level damage caused by "shatter attacks" and malware, such as root kits, spyware, and undetectable viruses".
- Ease of deployment. In general, the fewer privileges an application requires the easier it is to deploy within a larger environment. This usually results from the first two benefits, applications that install device drivers or require elevated security privileges typically have additional steps involved in their deployment, for example on Windows a solution with no device drivers can be run directly with no installation, while device drivers must be installed separately using the Windows installer service in order to grant the driver elevated privileges.
In practice, true least privilege is neither definable nor possible to enforce. Currently, there is no method that allows evaluation of a process to define the least amount of privileges it will need to perform its function. This is because it is not possible to know all the values of variables it may process, addresses it will need, or the precise time such things will be required. Currently, the closest practical approach is to eliminate privileges that can be manually evaluated as unnecessary. The resulting set of privileges still exceeds the true minimum required privileges for the process.
Another limitation is the granularity of control that the operating environment has over privileges for an individual process. In practice, it is rarely possible to control a process's access to memory, processing time, I/O device addresses or modes with the precision needed to facilitate only the precise set of privileges a process will require.
The original formulation is from Jerome Saltzer:
Every program and every privileged user of the system should operate using the least amount of privilege necessary to complete the job.—
Peter J. Denning, in his paper "Fault Tolerant Operating Systems", set it in a broader perspective among four fundamental principles of fault tolerance.
Historically, the oldest instance of least privilege is probably the source code of login.c, which begins execution with super-user permissions and—the instant they are no longer necessary—dismisses them via setuid() with a non-zero argument.[original research?]
The kernel always runs with maximum privileges since it is the operating system core and has hardware access. One of the principal responsibilities of an operating system, particularly a multi-user operating system, is management of the hardware's availability and requests to access it from running processes. When the kernel crashes, the mechanisms by which it maintains state also fail. Even if there is a way for the CPU to recover without a hard reset, the code that resumes execution is not always what it should be. Security continues to be enforced, but the operating system cannot respond to the failure properly because detection of the failure was not possible. This is because kernel execution either halted or the program counter resumed execution from somewhere in endless, and—usually—non-functional loop.
If execution picks up, after the crash, by loading and running trojan code, the author of the trojan code can usurp control of all processes. The principle of least privilege forces code to run with the lowest privilege/permission level possible so that, in the event this occurs—or even if execution picks up from an unexpected location—what resumes execution does not have the ability to do bad things. One method used to accomplish this can be implemented in the microprocessor hardware. In the Intel x86 architecture, the manufacturer designed four (ring 0 through ring 3) running "modes".
As implemented in some operating systems, processes execute with a potential privilege set and an active privilege set. Such privilege sets are inherited from the parent as determined by the semantics of fork(). An executable file that performs a privileged function—thereby technically constituting a component of the TCB, and concomitantly termed a trusted program or trusted process—may also be marked with a set of privileges, a logical extension of the notions of set user ID and set group ID. The inheritance of file privileges by a process are determined by the semantics of the exec() family of system calls. The precise manner in which potential process privileges, actual process privileges, and file privileges interact can become complex. In practice, least privilege is practiced by forcing a process to run with only those privileges required by the task. Adherence to this model is quite complex as well as error-prone.
Similar principles
The Trusted Computer System Evaluation Criteria (TCSEC) concept of trusted computing base (TCB) minimization is a far more stringent requirement that is only applicable to the functionally strongest assurance classes, viz., B3 and A1 (which are evidentiarily different but functionally identical).
Least privilege is often associated with privilege bracketing: that is, assuming necessary privileges at the last possible moment and dismissing them as soon as no longer strictly necessary, therefore ostensibly avoiding fallout from erroneous code that unintentionally exploits more privilege than is merited. Least privilege has also been interpreted in the context of distribution of discretionary access control (DAC) permissions, for example asserting that giving user U read/write access to file F violates least privilege if U can complete his authorized tasks with only read permission.
See also
- User Account Control
- Capability-based security
- Compartmentalization (intelligence)
- Confused deputy problem
- Encapsulation (object-oriented programming)
- Need to know
- Privilege escalation
- Privilege revocation
- Privilege separation
- Saltzer 75
- Denning 76
- Jonathan, Clark. "Virtualization Guru Writes "User-mode is a Good Thing - Deployment to Locked-down Accounts without Security Elevation"". Retrieved 15 Mar 2013. More than one of
- Aaron Margosis (August 2006). "Problems of Privilege: Find and Fix LUA Bugs". Microsoft.
- Matt Bishop, Computer Security: Art and Science, Boston, MA: Addison-Wesley, 2003. pp. 343-344 cited Barnum & Gegick 2005
- Saltzer, Jerome H. (1974). "Protection and the control of information sharing in multics". Communications of the ACM 17 (7): 389. doi:10.1145/361011.361067. ISSN 00010782.
- Roger Needham, Protection systems and protection implementations, Proc. 1972 Fall Joint Computer Conference, AFIPS Conf. Proc., vol. 41, pt. 1, pp. 571-578
- Schneider, Least Privilege and More
- Ben Mankin, The Formalisation of Protection Systems, Ph. D thesis, University of Bath, 2004
- P. J. Denning (December 1976). "Fault tolerant operating systems". ACM Computing Surveys 8 (4): 359–389. doi:10.1145/356678.356680.
- Jerry H. Saltzer, Mike D. Schroeder (September 1975). "The protection of information in computer systems". Proceedings of the IEEE 63 (9): 1278–1308. doi:10.1109/PROC._PHONE_.
- Deitel, Harvey M. An introduction to operating systems (revisited first ed.). Addison-Wesley. p. 673. ISBN 0-201-14502-2. page 31.
- Sean Martin (April 2012). "Are security basics getting lost under the cover of cloud and mobile?". SC Magazine.
- Managing least privileges from the cloud by Monique Sendze
- The Saltzer and Schroeder paper cited in the references.
- NSA (the one that implemented SELinux) talks about the principle of least privilege
- A discussion of the implementation of the principle of least privilege in Solaris
- "Proof that LUA makes you safer" by Dana Epp
- Applying the Principle of Least Privilege to User Accounts on Windows XP, by Microsoft
- Priv

source: HuggingFaceFW/fineweb-edu


text:
American Heritage® Dictionary of the English Language, Fourth Edition
- n. One that closely imitates or mimics another.
- v. To act as an imitator or mimic.
- v. To imitate closely; mimic.
- adj. Closely imitating or following another: a copycat version of a successful product; a copycat crime.
- n. informal One who imitates others' work without adding ingenuity.
- adj. Imitative; unoriginal.
- v. To act as a copycat; to copy in a shameless or derivative way
GNU Webster's 1913
- n. someone who copies the words or behavior of another.
- n. someone who copies the words or behavior of another
- From copy + cat ("person"). It has been in use since at least 1896, in Sarah Orne Jewett's The Country of the Pointed Firs. (Wiktionary)
"One is that they didn't want to give people ideas -- here's a new, neat, you know, weapon you can build from the Internet, so we get a bunch of people out there that are, to use the term copycat, who say, you know, I'll do something similar."
"Of course, the term copycat is too harsh a term for creating a game that already has a rival in the market."
"Law enforcement officials said the unrest — including nightly arson and what they described as copycat attacks — was spreading more rapidly than their ability to respond to it."
"Even if you can't live up to "Iron Jim", all you had to do was pay attention to the past movies and copycat from the future war scenes and make it into a 2 hour movie."
"Contrary to the goal of improving public perceptions, the announcement of a Microsoft-branded chain of stores screams "copycat" - historically one of the worst knocks against it."
"Zheng was executed by firing squad a month later -- and on the day of his execution, another school assailant, Chen Kangbing, a mentally ill 33-year-old man, wounded 18 children in a primary school in Leizhou, in Guangdong province, in what authorities called a copycat crime."
"VITAL STATSWorries About Littleton CopycatsMore than two weeks after Littleton, so-called copycat threats haven't abated, likely because students are pulling more hoaxes -- but definitely because officials are unwilling to take chances."
"At this point, you don't wanna just immediately go in for the finger kiss because someone else just did it, and while being called a copycat isn't as bad as being called a corpse kisser, you're still going to be the main topic of conversation in the various cars other than your own as they're pulling out of the funeral home parking lot."
"The copycat is a person who is watching this broadcast, who is that person who is fascinated by the person who is responsible for this, who identifies with him and at some point, if his life really is going nowhere, and he experiences himself as enough of a failure, he may consider this as an option."
"Nine police were injured in what police called "copycat criminality" in several parts of London on Sunday night, although the damage appeared to be on a much smaller scale than Saturday's rioting in Tottenham, in the north of the capital."
These user-created lists contain the word 'copycat'.
My big word list.
just the next words that come along
Hello, and Welcome™! Come and visit our most diverse land of our Animalesque™ adventures. Here at Noah's Park™ we have Virtually All You'd Ever Want To See™. An experience that is related to ani...
Words or short phrases with animal names in them. Since I already have a dedicated list for'monkey' words I shall leave them out of this one for the moment.
someone must already have this list?
Trademark of Stephen Colbert and The Colbert Report.
Looking for tweets for copycat.


Take the 2-minute tour ×
I need to display some charts in my PyQt application, so I write down these code. It is works, but sometimes, draw a chart will spend a lot of time, it will "freeze" the main window.
I think do it in another thread should resolved it. But how can I do it? Or, there is another way to draw a chart in "non-block" mode?
from PyQt4 import QtGui
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
class MplCanvas(FigureCanvas):
 def __init__(self):
 self.fig = Figure()
 self.axes = self.fig.add_subplot(111)
 # do something...
 FigureCanvas.__init__(self, self.fig)
 FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
 # do something...
 def draw(self):
 # do something...
share|improve this question
add comment
2 Answers
The basics of Python threading for simple uses like this are really easy.
You'll need to
import threading
and then, instead of just calling x.draw(), create a thread and run it as follows:
draw_thread = threading.Thread(target=x.draw)
That will probably get you 90% of the way at least. You can read the docs to detect things like still-running threads, waiting for threads, and so on. But at heart, it's not difficult and if ti's just simple interactive graphics this might even suffice.
Be aware, though, that if draw() references globals, there is the potential for race conditions to occur,making your program unreliable. This is a further advantage of writing code with good coupling, clean interfaces and no references to mutable globals (unless locking is used to protect those resources).
share|improve this answer
add comment
You should us QThreads in your Qt application (to make the frame work do all of the hard work for you)
 1. put your time consuming work in a worker class (that is derived from QObject)
 2. In you class that is caling the plotting add something like
 self.thread = QtCore.QThread(parent=self)
 self.worker = Worker(parent=None)
and communicate with your worker via signals/slots. If you call it directly (as in self.worker.do_slow_stuff()), it will run on the thread you call it from, which will block the main event loop making the interface freeze.
A good explanation of how to (and not to) do threading with QThread (read both..the first one now describes the default behaviour)
share|improve this answer
add comment
Your Answer


text:
The Michigan Road
Ripley County, named for War of 1812 General Eleazer Wheelock Ripley, was formed in 1818.
Most of the Michigan Road in Ripley County was never added to the modern state highway system. US 421 leaves the Michigan Road shortly after entering Ripley County and doesn't rejoin it until shortly before leaving the county. Just before the road leaves Jefferson County, it curves to the east a bit; just after it enters Ripley County, to stay on the Michigan Road you have to follow a side road, as this map shows. I highlighted the Michigan Road as a green line on the map.
This excerpt from an 1870 atlas suggests that a fork once existed where the road now curves east, and the Michigan Road ran straight north and briefly through what is now the Jefferson Proving Ground. The map shows the east fork, now US 421, running through Rexville and the west fork, the Michigan Road, running more northerly. The only hitch is that the fork actually would have been just south of the county line in Jefferson County. But if this is a simple matter of mapmaker error in locating the fork, then that at some point about two miles of the original route were abandoned for the current configuration. If you view an aerial map of this area at maximum zoom, you can see spots of what might have been the road along the line where the road would have been.
US 421 continues straight towards Versailles and Osgood. During the early 20th century, somehow the US 421 route became the modern Michigan Road, and was even signed as such. The real Michigan Road gets very little notice today as it provides an intimate view to a great deal of farmland and passes through a very small town.
To see the Michigan Road auto trail through Versailles and Osgood, follow this side trip.
Here's where the Michigan Road turns off US 421.
Turning onto the "old" Michigan Road, you immediately feel like you've stepped out into the country. Except for the road having been widened to two lanes and paved, this landscape has probably changed little in 100 years.
Shortly after turning onto this segment, but before the Michigan Road turns north, a stone one-lane bridge appears, as this video shows.
I found nothing on the bridge that tells when it was built, but I guess late 1800s.
The bridge looks good for its age, although the bridge footers show obvious modern repair work. Under the bridge, it's obvious a sealant was applied at some point, but it did not seem to help much.
The bridge's deck appeared solid. I wonder whether the deck was originally stone.
Here's the view from the bridge. Notice JPG's perimeter road just inside its fence. This photo is a bit misleading that it makes the road look as wide as the bridge. In reality, two cars can pass on the road, but would more than rub elbows on the bridge.
About five miles north of the bridge, the JPG fence pulls away and disappears, and then the road enters little New Marion, as this map shows.
This old house stands on the southwest corner of 4th and Main.
On the northeast corner of 3rd and Main stands the St. Magdalene Catholic Church. Its original building stood a few miles away inside what is now the Jefferson Proving Ground. When the Army took over in 1941, the church's cemetery moved to the Michigan Road north of Madison, while the congregation rebuilt here.
This interview with a woman who lived in New Marion during World War II tells of when the church was moved:
There was a big catholic church, it was St. Magdalene and they moved that, all the cemetery, all the plots, dug them all up, the stone and everything, and the people had no say so, they were just told we'll give you so much money for your land and you get out, and you had a certain amount of time to do it, and so neighbors, who had knew each other for years and generations were scattered everywhere.
She also talked about what it was like living next to JPG during the war:
When we were in high school, and when we, after the war started, and they used this area, this Jefferson Proving Ground to test ammunition. They dropped bombs from airplanes, so it was a very noisy time. It was uh, we could sit on our back step at home and it was like fireworks all the time, and you could see them dropping the bombs, and flares would go up, and the noise was so bad that it would break windows in our house and in the town where we lived, and it would knock flowers out of windows, and you could hear the bombs go off, so you were always aware that there was a war going on...
Just north of 1st St. stands the New Marion Baptist Church. Its building has two dates on it, 1835 and 1868.
Just north of town lies the New Marion Cemetery, which some sources say is associated with the Baptist Church.
After driving so many miles in the country, it's a bit of a surprise to come upon US 50, one of the original U.S. highways running over 3,000 miles from Maryland to California. A Michigan Road historical marker stands on the southeast corner of the intersection. It needs to be restored.
Just past US 50 the Michigan Road crosses the Ohio and Mississippi railroad track, where the town of Dabney once stood.
A bit north of the tracks is the Dabney Baptist Church, the only reminder of the old town. The church started in nearby Otter Village in 1852, but moved here in 1854 to be near the railroad. This building was completed in 1885.
Here's a southbound shot of the road just north of Dabney.
As the road nears Napoleon, somebody spray-painted "St. Maurice 2008 CYO Champs" on the roof of this curious building, which stands on the southeast corner of 700N.
This stone culvert (or is it a very small bridge?) is just beyond 700N.
I wonder if this side used to be as tall as the other, but the stones above roadway level were removed at some point.
Even this far out in the country, the signs faithfully remember the road's heritage.
Here's a southbound shot of the road over the stone culvert.
When the Michigan Road reaches the south end of Napoleon, it makes a hard right and quickly ends at US 421. The map labels the road as 850N, but it is signed Michigan Road. Notice that if you follow the Michigan Road's path straight north, it meets US 421 somewhere north of Jackson St. My guess is that it used to do just that, but was abandoned after the road that is now US 421 was built.
This excerpt from an 1856 Indiana atlas in the David Rumsey collection, supports my theory. I've highlighted the Michigan Road in blue and the road from Versailles and Osgood that became US 421 in red.
North of the turn, the road becomes a gravel path briefly, as this southbound photo shows.
It provides access to the Lutheran Cemetery. Past the cemetery's north edge, the gravel becomes two-track briefly and then the road disappears. I would like someday to explore along this corridor for clues.
Here's where the road ends at US 421.
Napoleon was platted in 1820 with an east-west main street that is State Road 229 today. The Michigan Road is Madison St.
Check out the burglar alarm above the door of the 1904 Napoleon State Bank building on the northwest corner of Main and Madison.
The current Napoleon State Bank stands on the southeast corner. This bank has four branches in nearby towns and has managed to stay independent, which is no mean feat today.
I ducked down Main Street for a minute, where I found the 1838 Central House, a former stop for people driving hogs from Indianapolis to Cincinnati along an early stagecoach route. It is used today for the occasional play or musical.
Back on the Michigan Road, this building houses the Bonaparte's Retreat restaurant.
On the southwest corner of Wilson St. stands this flour mill, about which I have so far been able to find out nothing.
What's really interesting about this building is seeing the two new signs painted on it with all the old ones long fading.
The only White Lily flour I have been able to find information about is pretty much a Southern institution, well known for making the most tender biscuits. But that White Lily flour was, until 2006, made exclusively in Knoxville, Tennessee.
On the northwest corner of Wilson St. is this very large old house.
The old house stands at the east end of Berry's Trace, later known as Brownstown Road. It ran west to at least the east fork of the White River, where it joined a "three-notch" road that ran from Indianapolis to the falls of the Ohio River. I haven't been able to figure out Berry's Trace's route for certain.
Heading north out of Napoleon, this little creek comes out from behind a gas station and runs alongside the Michigan Road.
Directly across the street, drivers are reassured they're still on US 421 as they leave town.
From Napoleon, it's a short distance to the Decatur County line. Just before you get there, if you don't keep your eyes peeled you'll miss this old house on the right. It appears to be abandoned.
Here's a closer look at the house.
Created 18 June 2008. Updated 13 March 2009, 2 January 2012.


SINGAPORE: In public policy, there is no such thing as a free lunch. Due to limited time and resources, choosing to do something means choosing not to do another.
In his speech to Parliament last week, Minister for Education Ong Ye Kung gave his thoughts on various policy suggestions such as the abolition of streaming and the PSLE. The underlying theme was clear: All policy decisions involve trade-offs.
Most Singaporeans seem to understand intuitively that there is no such thing as a free lunch in policymaking. At the same time, the way many of us talk about changing the education system seems to suggest that we have unconsciously "exempted" the education system from the idea that there is no free lunch.
Mr Ong had remarked that the "voice of the people" offers a diversity of views, conflicting and complex. If I may add to his words, even a single individual can unconsciously hold conflicting views.
For example, many of us would like examinations which assess students' depth of understanding rather than ability to memorise. At the same time, we lament about "strange" questions in national examinations and express our frustration at how it seems to be getting harder to do well in exams.
READ: Are we still missing the point of education? A commentary.
READ: Can a love for learning be sustained in a competitive education system? A commentary.
There is no such thing as a free lunch: Top-level learning outcomes are often related to "difficult" tasks such as analysis and evaluation and the integration of different concepts. Difficult questions are in fact assessing students on genuine depth of understanding. Are we willing to forgo that?
The point is, if we want a policy change, we must be able to name and justify what we are trading off.
Ong Ye Kung in parliament
Education Minister Ong Ye Kung speaking in Parliament on May 15, 2018.
An inadequate understanding of tradeoffs in the education system is hampering our education discourse.
Every policy decision has consequences and every argument proposing major changes can be responded to by simply highlighting the negative consequences. Often, this is where the discourse ends.
It need not be so. If they are serious about their proposals, those who seek major policy changes should respond to critics by substantiating why a certain consequence is justified. This would then prompt those who oppose said changes to review and clarify why it is not justified.
This may then lead to a deeper discussion, where we move from merely describing the benefits and costs to resolving why certain trade-offs are worth incurring, and coming to a common consensus on the way forward.
As much as policy changes are about what we want (benefits), they are also about what we are willing to forego (costs) and most importantly, why we are willing to forgo them.
For any meaningful discourse and constructive policy review to take place, proposers of policy change cannot merely focus on the benefits. They need to consider the consequences arising from the changes they seek and why they are willing to incur them.
In my observations of education policy discourse, it seems the following consequences are often raised in response to new ideas. In other words, the consequences act as fundamental "constraints" on the system, against which any new suggestions should not erode. Think of them as reflecting key pillars of the solid foundation of our system.
In general, every new suggestion should not:
 1. Compromise education standards;
 2. Hamper students' preparation for the future economy;
 3. Unduly increase levels of stress and competition; or
 4. Unnecessarily disrupt the system
These constraints are present in most education issues. Just look at the suggestion to abolish PSLE.
In his speech last week, Mr Ong remarked that many parents support the PSLE system "because the PSLE experience teaches their children to work hard, and to demonstrate what they have learned throughout their primary school years".
Release of PSLE results at St Hilda's Primary School on Nov 22, 2013. Photo : Ernest Chua
Students at St Hilda's Primary School during the release of the PSLE results in 2013. (File photo: Ernest Chua/TODAY)
This argument implicitly invokes the second constraint, since students may be less prepared for the future if a key learning checkpoint is removed and they do not work as hard.
Earlier this year, during the Ministry of Education's Committee of Supply debate, thenMinister for Education (Schools) Ng Chee Meng remarked that "removing the PSLE and having a through train will only transfer the stress on parents and students elsewhere, such as at the P1 registration".
He also emphasised that "it will make the O-Level and N-Level exams most stressful – a single exam in the whole career of a child's life."
This argument invokes the third constraint, since it implies that there will be more stress overall without the PSLE.
If those who want to abolish PSLE still wish to push for it, they must be able to explain why the benefits of doing so outweighs the cost of eroding a key system constraint i.e. why a system which may less actively prepare students for the future or one with more sources of stress is justified.
If they now feel the true cost of their proposal is too high a price to pay, then they should consider more suitable, alternative proposals.
This is what quality policy discourse should look like – one based on well-thought through ideas, the consideration of trade-offs and a judgment call on what one is willing to forgo.
READ: A commentary on a parent's struggle in picking a "good school" for their child.
READ: With less focus on grades, is PSLE still a necessary checkpoint? A commmentary.
A conversation centred on trade-offs can advance our education policy discourse. It can be propelled forward even further if we look deeper into why different people prefer certain trade-offs over others.
O level results
Before diving into policy discourse, consider this: If policies are means to ends, then disagreements over education policies (means) can reflect disagreements over the aims of education (ends).
In education, there can only be one primary aim. Secondary aims must take on a lower priority. Trade-offs must again be made.
Thus, before detailed policy discussions, we should all ask ourselves: What is the primary aim of education? To equip the next generation with skills for the future economy? To reduce inequality? To cultivate values and unity?
Our answers will show us why we are willing to make the trade-offs we make.
If there are vastly differing opinions within the population on the aims of education, then we may also need to have a more fundamental debate on what the primary aim of education in Singapore should be, to get everyone on the same page. Otherwise, our discourse will also still remain hampered.
Last week, Finance Minister Heng Swee Keat announced in Parliament that the 4G leaders will hold a series of discussions to engage Singaporeans on their views.
I expect education to feature heavily in these discussions. The success of these discussions can be maximised if all participants are aware of the trade-offs they are willing to make and are explicit about what they feel the primary aim of education is and why other aims are of a lower priority.
In other words, understanding that the education system is not a free lunch.
Source: CNA/nr


New York Seasonal Jobs
Job Information
Berkshire Nursery & Supply Corp Nursery and Greenhouse Worker in Pattesron, New York
10 full time, temporary, seasonal jobs available 4/26/2021 - 12/31/2021 Nursery and Greenhouse Workers will work at a nursery that has both outdoor and indoor/greenhouse facilities. They can one one or any combination of the following tasks: Harvest plants, and transplant or pot and label them; Operate tractors, tractor-drawn machinery, and self-propelled machinery to plow, harrow and fertilize soil, or to plant, cultivate, spray and harvest crops; Set up and operate irrigation equipment; Harvest fruits and vegetables by hand; Clean work areas, and maintain grounds and landscaping; Sell and deliver plants and flowers to customers; plant plugs of grass; Identify plants, pests, and weeds to determine the selection and application of fertilizers; Regulate greenhouse conditions, and indoor and outdoor irrigation systems; Cut, roll, and stack sod; Feel plants' leaves and note their coloring to detect the presence of insects or disease; Provide information and advice to the public regarding the selection, purchase, and care of products; Maintain and repair irrigation and climate control systems; Dig, cut, and transplant seedlings, cuttings, trees, and shrubs; Maintain inventory, ordering materials as required; Record information about plants and plant growth; Dig, rake, and screen soil, filling cold frames and hot beds in preparation for planting; Inspect plants and bud ties to assess quality; Move containerized shrubs, plants, and trees, using wheelbarrows or tractors; Tie and bunch flowers, plants, shrubs, and trees, wrap their roots, and pack them into boxes to fill orders; Load agricultural products into trucks, and drive trucks to market or storage facilities; Haul and spread topsoil, fertilizer, peat moss, and other materials to condition soil, using wheelbarrows or carts and shovels; and Plant, spray, weed, fertilize, water, and prune plants, shrubs, and trees, using gardening tools. Requirements: *Lifting 80 pounds *Frequent stooping or bending The full terms and conditions of the job (form ETA790a) should be reviewed and provided to qualified applicants from this website: For qualified applicants requiring a Spanish translation of this job order, please email or call _PHONE_. Please include the applicant name and job order number in your request.


Frequently Asked Questions
What is 'No Load Speed'?
The maximum speed a cordless drill driver can reach without a load (when it's not driving screws or drilling holes).
Manufacturers give the tool's speed at no-load because once the drill driver begins driving screws or drilling, its maximum speed will vary depending on how demanding the task is.
A cordless drill driver's speed will be presented as a number followed by 'RPM'. The higher the number, the higher the tool's maximum no-load speed.


text:
Difference between revisions of "Perl lib/EPrints/"
m (EPrints Directory Structure/eprints3/perl lib/EPrints moved to Perl lib/EPrints/)
|Line 1:||Line 1:|
Revision as of 12:17, 15 January 2007
This is a list of almost all the EPrints perl modules. We've not expanded the Plugins and MetaField directories as these are pretty big.
- AnApache.pm - Abstracts differences between apache and mod_perl versions.
- Auth.pm - Handles authentication
- LogHandler.pm - Logs accesses as Access Objects
- Login.pm - Handles the login screen
- Rewrite.pm - Redirects and rewrites URLs in requests, as appropriate
- Template.pm - Handles applying the template to pages
- VLit.pm - Handles the vlit feature.
- BackCompatibility.pm - defines EPrints 2.3 function calls which call their 3.0 equivalents.
- Config.pm - Handles the configuration of the EPrints system itself
- DataObj/ - all classes in this dir are a subclass of EPrints::DataObj
- DataObj.pm - Base class for Data Objects
- DataSet.pm - Has one instance per repository for each type of Data Object
- Database.pm - Object connecting the Session to the database. Provides most database calls.
- Email.pm - Handles sending email messages.
- Extras.pm - Handy functions. Nearly obselete.
- Index.pm - Handles text indexing and the indexer.
- Language.pm - Provides access to phrases.
- Latex.pm - Latex rendering tools for functions and equations.
- List.pm - A search result, or other list of Data Objects within a single Dataset
- MetaField/ - Contains classes representing each type of metadatat field.
- MetaField.pm - Base class for field objects. An instance of a metafield represents a single field in a Dataset, not a field + a value.
- OpenArchives.pm - Handles OAI stuff.
- Columns.pm - Subclass of EPrints::Paginate which renders the results as a spread sheet style list, and allows sorting by clicking titles.
- Paginate.pm - Paginate search results (eg. 20 items per page) in HTML
- Paracite.pm - Paracite interface
- Unix.pm - UNIX specific functions
- Platform.pm - Allows abstraction of methods which are operating system specific.
- Plugin/ - The plugins directory.
- Plugin.pm - The base class (and loader) for all plugins.
- Probity.pm - Handles producing checksum files for documents.
- Profiler.pm -?
- Repository.pm - An instance of this represents a single repository and has access to the configuration of that repository.
- ScreenProcessor.pm - Handles the Screen plugin interface
- Script.pm - Processes expressions in the mini-scripting language used in citation and workflows.
- Condition.pm - Represents a single search condition (used internally)
- Field.pm - Represents a single search field (a row in the search interface). Has a value and a list of metadata fields to search.
- Search.pm - Represents a single search. Returns a List object when executed.
- Session.pm - A link between a web request (or command line script), a language, a database connection and a repository.
- StyleGuide.pm - Notes on how to write EPrints code.
- SystemSettings.pm - Created by the installation. Contains information on your apache version, where commands are to be found and where EPrints is installed.
- TempDir.pm - Creates and removes tmp directories.
- Time.pm - Functions related to time and date processing.
- Utils.pm - Misc. functions.
- Processor.pm -
- Stage.pm -
- Workflow.pm -
- DOM.pm -
- EPC.pm - Code to handle processing the epc namespace: eg.
- GDOME.pm -
- LibXML.pm -
- XML.pm - Abstraction to handle diferent XML libraries. (DOM, GDOME, LibXML)

source: openbmb/Ultra-FineWeb


text:
This will really impress your friends, but really isnt that difficult.
Short Crust Pastry - 500g
Cooking Apples 2 medium
- Cut the pastry in half and roll each half into a ball.
- Drop the first ball onto a floured surface and roll out until it is the same size as the oven proof plate you are using
- Place the rolled pastry onto the plate. Crack the egg into a cup and whisk lightly. brush the surface of the pastry with the egg to prevent the base going soggy during cookinig
- Peel the apples, cut into quarters and remove the core. cut into thin slices about 3mm thick.
- Arrange the slices into a layer on the pastry (leaving the edge clear) and sprinkle with a third of the sugar. Add a second layer, more sugar and so on until you have used all the apple.
- Roll out the second ball of pastry on a flored surface, and lay on top of the pie.
- Gently press down the edges to make the top stick to the bottom pastry.
- Finally, brus some remaining egg over the top
- Pop into the oven at 180 C for about 40 mins. When you take it out, check if the apple is soft by gently inserting a knife or skewer. Return the the oven for a further 10 mins if the apple isnt soft enough.


text:
I'm having a really hard time understanding your problem/question. Perhaps you can rephrase?
Please see the 2 screen shots. If you look at the Y axis in each of the shots you will see that the numbers are different, however the only difference between the 2 sheets is thta one includes the dimension "Tier" and the other does not. The totals in both cases should be the same. In ExcludingTier sheet, I would expect to see the total of ~9k(as a can be seen in the IncludingTier chart).
An Area Chart will always sum values visually. You are summing averages. For example:
if you have 10 people with test scores averaging 95% then you have one level of detail at.95.
If you decide to graphically represent test score averages of men and women then you get two values (Hypothetically 91% and 98% distribution isn't relevant) With an area chart you are now representing.91 +.98 getting a total axis of 1.89. You can't ask what you're asking with an area chart and expect to get your desired result. Is there another way you would want to represent multiple averages?
To better describe the problem. If you look at the data, for a given day a "Job_Name" can appear more than once, if this is the case then I would like to take the average time it took to run that job for that day. I would then like to plot for each day the total/sum of the average times it took to run each of the jobs defined in "Job_Names".
In the example data, for the 6th, there are 4 jobs:
A, this was run twice with run times of 3010+3012 so average is 3011
C, this was run once with time of 3120
D this was run once with time of 3040
So the total time take to run all 3 jobs is 9171.
However when you plot this in a graph the total is calculated as the avg(3010+3012+3120+3040)=3045.5 which is not displaying the same information as 9171.
Basically I was to view a graph of total time take to run jobs as opposed to the average run time of all jobs.


text:
Chapter 11 - Miscellaneous Notes
This chapter just contains miscellaneous notes about different things.· These are just thoughts and tidbits that I have picked up here and there and are in no specific order or reasoning.· Some of these notes may be moved to a different section of the book at a later time.· Think of it as more of a scratch pad for the thought process.
Tips for using silicone caulking for making a mold
- Use a brush to spread the silicone in very thin layers on the model. This will force out any small air pockets that may be trapped in it.
- When making coats of silicone, latex or whatever, brush each coat in a different direction than the last. This will create a stronger mold from different grain directions.
- Continue this process until the silicone is built up enough to be somewhat rigid, say a quarter of an inch. fill the rest of the form with a hard setting backing. Resin, liquid fiber glass, plaster, etc.
- Repeat the process with the other side of the mold.
How to create a pull away mold (Slip Mold)
- Attach the item to a piece of styrene or Plexiglas.
- Paint layers of latex on the model, extending it an inch or so away from the model onto the styrene..
- Continue painting layers as described earlier until you have an eighth inch or so of latex built up.
- Pull latex from model covering it with talcum powder as you go. The talcum powder prevents the latex mold from sticking to itself.
- To cast using the pull away mold, cut a hole in a box large enough to set the mold in, but small enough for the lip of the mold to rest on the box.
- Pour and pull latex slip mold from casting.
- Vaseline thinned with Naptha (lighter fluid) can be used as a release agent on silicone. The ratios very. I have used 10:1 (Naptha:Vaseline) and applied it with a spray bottle.
- Soapy water (8 oz. water and a few drops of liquid soap) can be used as a release agent on clay for making plaster molds. Additionally, I spray it in RTV molds that I cast plaster in to help reduce the number of air bubbles seen on the surface.
Parting line fillers
- Soft wax can be used to create a mold line and can be melted away with a light bulb.
Thinning Silicone Caulk
- Sources on the Internet indicate that Distilled water, Naphtha, Toloul or charcoal lighter fluid can be used to thin silicone caulk in a tube. One suggestion was to mix 50:50 Naphtha : Silicone Caulk to about the consistency of honey and paint on. These need to be tested.


Welcome to Ewon's Blog
Discover how Ewon solutions can turn your IIoT ambitions into reality!
Strategies for Developing Granular Cost Analysis
by Tom McKinney | Mar 04, 2020
Documenting the true cost of production for any product is a key step in understanding profitability, but in facilities producing a high mix of product can be hard to associate costs with a specific production run. As a result, averaging is commonly used to associate electrical costs, machine costs and labor with a specific product. Moving from averaging to a more accurate cost analysis gives product management better insight into costs which allows for better pricing models and long term a better understanding of the business.
Automation is key to developing any KPI
KPI's based on manual entry are prone to errors and the possibility of abandoning the manual tasks. Automated measurements eliminate any impact on the work force. Creating a database of periodic measurements allows for historical analysis which can lead to insights only visible over a longer measurement cycle. The top four challenges to developing an automated product production cost analysis are:
 1. Documenting the amount of consumable product used during the manufacturing of a specific product and documenting any scrap of raw material
 2. Mapping power usage to the specific product being run at the time of measurement
 3. Documenting any product scrapped during production
 4. Documenting the total number of shipable units produced for a specific product batch
All manufacturing processes start with raw materials
These materials include anything the manufacturing facility uses as an input. Ingredients for a specific batch can be pulled together in a manual or automated process but at some point a machine is used to combine the ingredients. This machine represents the start of the process and can be used to document the use of consumable product. The current state of the machine can be read automatically from either a PLC or an HMI. Additionally, any weighing of ingredients with electronic scales can easily be captured automatically. HMS can convert virtually any machine with a Ethernet port, Serial port or an HMS into a data source.
 koss industrial mixer
Weight scale image and a mixer image. (Source: _URL_
The Koss Industrial mixer is can easily be connected to a monitoring system to count the number of jobs executed each day. Batch info can be used to associate the mix with a specific product being produced.
The number of machines that can be integrated into a automated process monitoring system is almost unlimited. Here is a list of vendors leveraging PLC's to create food production systems. All of these systems can be monitored automatically using the HMS Networks Flexy gateway.
 Oven Drying
 FPEC Corp.
 Tetra Pak
 Eirich Machines
 Sveba Dahlen
 Buhler AG
 Ross Syscon
 Frain Industries
 Revent International
 DST Seibu Giken
 Marel HF
 Sterling Systems & Controls
 Readco Kurimoto
 Middleby Corp.
 Specialty Food
 Process Technologies
 Haas Food Equipment
 JBT Corp
Investing in your data
Manufacturers producing 1000 or 10,000 units per month may struggle to justify an investment in a quality improvement program. Bring in a consulting company to analyze operations is an option, but the costs are typically beyond the reach of most relatively low margin food and beverage production facilities.
HMS Networks and Altizon have developed a path to manufacturing optimization that pays for itself. The solution is an incremental approach to process improvement that produces results based on a very limited investment and then can be easily scaled to achieve further benefits. The solution is based on three key tenets:
 1. Process Visibility leads to process improvement across the organization
 2. Measurable KPIs shall be based on machine/sensor data to eliminate ambiguity
 3. Granular cost analysis vs daily or monthly cost averaging leads to lower production costs
Manufacturing Optimization Solution
Altizon and HMS Networks both recognize that small to mid-size manufactures do not have the time or budget to completely overhaul their manufacturing processes. HMS and Altizon have developed a system called First Line Analysis. The outcome of this First Line Analysis is a fully functional process optimization system for a single line.
This solution involves instrumenting a single line with data collection gateways from HMS Networks. Then passing that data to Altizon for organization, storage and visualization. The solution offers the end user all of the benefits of a complete manufacturing optimization solution on a single line. The manufacturer can expose the platform to their entire team and measure the results of the solution by fully optimizing the line. The results can then be used to justify further investment across the organization.
Time is money so Altizon and HMS Networks have developed an engagement model for our First Line Analysis that limits the time investment required on the manufacturer side less than 40 hours (including all planning meetings, gateway installation and training). A typical First Line Project can be completed in less than 30 days.
Lets get started with a free manufacturing optimization evaluation!
Manufacturing Optimization Evaluation
Case Study
When a label is more than just a label
Preventive Maintenance
Case Study
Thiele Technologies use Ewon for global remote support
Ewon and Talk2M helping Thiele technologies handle their customer issues.
Data Collection
OPC UA : the grail of your Digital Transformation?
Easy & Secure IIoT
ISO 27001 is Key for IIoT Security
Data Visualization
Take the First Step to Digital Transformation
Easy Setup


text:
Lawrence Ernst (2003) "Sample Expansion for Probability Proportional to Size without Replacement Sampling." Proceedings of the Section on Survey Research Methods, 2003, American Statistical Association.
A drawback of probability proportional to size (PPS) without replacement, fixed size sampling, in comparison with equal probability sampling, is the difficulty of expanding the sample with the expanded sample remaining PPS without replacement. In fact, this author is unaware how to perform such a sample expansion for most PPS sampling schemes, such as systematic PPS sampling. However, Tille (1996) has developed a step by step PPS sampling scheme, for which at each step one unit is eliminated until the desired sample size is reached. It is shown in the current paper that sample expansion is very straightforward if Tille's method had been used to select the original sample, provided a record had been kept of the order in which units had been eliminated in selecting the original sample. Even if no such record had been kept, we demonstrate that it is still possible to expand the sample. We also discuss a modification of Tille's method that allows it attain some of the advantages of ordered systematic PPS sampling. Finally, we discuss applications to the National Compensation Survey conducted by the Bureau of Labor Statistics.
Last Modified Date: July 15, 2004


text:
Yorkshire CND has commissioned Steve Schofield to research and write a report about Menwith Hill, said to be the largest electronic monitoring station in the world, which provides intelligence on terrorist activities to both the UK and the USA. It is alleged to scan emails, phone calls and faxes for keywords.
At present the draft has been read by a few and comments coming are:
- absolutely fascinating and
- very well written.
- The numbers are a revelation.
- hugely informative
- a remarkable account of the growth of America's 'reach' and strategy since the 2nd World War.
We look forward to its publication.


text:
Scrap paper was the primary ingredient in Mme. Webster's class' fruit salad this November. The grade 6 students took the challenge of "closing the loop", using waste material to create something new. In this case, they diverted scrap paper from the recycling and used it to make new paper – in the shape of fruits including watermelon and strawberries.
To make homemade paper, students first ripped up the scraps into small pieces, before putting it in the blender with water. Once it reached a smoothie-like consistency, the mixture was filtered, and shaped into whatever their creative minds could think of. Finally, the new paper was rolled out and left to dry.
What a fun way to learn first-hand h ow old things can become new again!


Take the 2-minute tour ×
I have a diagonal line and I have also a circles having a 100 meters in distance. The problem is that the circles are not really to the center of the line. I know this is quiet easy but I'm just confused on how to do it.. Could someone help me how to put the circles at the center of the line?
Here's what I've tried so far :
public void paint(Graphics g)
 Graphics2D g2d = (Graphics2D) g;
 int x0_pixel = 0;
 int y0_pixel = 0;
 int x1_pixel = getWidth();
 int y1_pixel = getHeight();
 int x0_world = 0;
 int y0_world = 0;
 double x1_world = 2000; // meters
 double y1_world = 1125; // meters
 double x_ratio = (double) x1_pixel / x1_world;
 double y_ratio = (double) y1_pixel / y1_world;
 int xFrom = 0;
 int yFrom = 0;
 double xTo = x1_world;
 double yTo = y1_world;
 int FromX_pixel = convertToPixelX(xFrom, x_ratio);
 int FromY_pixel = convertToPixelY(y1_pixel, yFrom, y_ratio);
 int ToX_pixel = convertToPixelX((int) xTo, x_ratio);
 int ToY_pixel = convertToPixelY(y1_pixel, (int) yTo, y_ratio);
 g2d.drawLine(FromX_pixel, FromY_pixel, ToX_pixel, ToY_pixel);
 double theta = Math.atan(yTo / xTo);
 int len = (int) Math.sqrt(xTo * xTo + yTo * yTo);
 int interval = 100;
 final double cosTheta = Math.cos(theta);
 final double sinTheta = Math.sin(theta);
 for (int distance = xFrom; distance <= len; distance += interval)
 double distance_x = distance * cosTheta;
 double distance_y = distance * sinTheta;
 int x_circle_pixel = convertToPixelX(distance_x, x_ratio);
 int y_circle_pixel = convertToPixelY(y1_pixel, distance_y, y_ratio);
 g2d.drawOval(x_circle_pixel, y_circle_pixel, 50, 50);
private static int convertToPixelY(int y_offset, double y_world, double y_ratio)
 return (int) (y_offset - (y_world * y_ratio));
private static int convertToPixelX(double x_world, double x_ratio)
 return (int) (x_world * x_ratio);
share|improve this question
Some comments and descriptions about what your code is doing would help a lot. Also an SSCCE would offer your best hope for a quick helpful answer. – Hovercraft Full Of Eels Oct 11 '11 at 2:11
1 Answer 1
up vote 2 down vote accepted
When you draw an oval, the first two parameters are the upper-left corner of the rectangle that holds the oval. The next two parameters are the width and height of this same bounding rectangle. Your current code places the upper-left corner on the line itself, but what you actually want is that the center of the bounding rectangle be placed on the line. The solution to your problem is to simply shift the upper-left corner over by 1/2 the diameter. Your code should have something like so:
public class GraphicsFoo extends JPanel {
 // avoid using magic numbers:
 private static final int CIRCLE_DIAMETER = 50;
 // override a JComponent's paintComponent method, not its paint method
 protected void paintComponent(Graphics g) {
 Graphics2D g2d = (Graphics2D) g;
 // make your graphics smooth
 //...
 final double cosTheta = Math.cos(theta);
 final double sinTheta = Math.sin(theta);
 // *** here's the key: ***
 x_circle_pixel - CIRCLE_DIAMETER / 2,
 y_circle_pixel - CIRCLE_DIAMETER / 2,
share|improve this answer
sorry for the late response, actually my problem is the only part in drawing the oval and you give me the exact code for that.. tnx.. it works.. I accept your answer.. ;-) – sack Oct 11 '11 at 10:33
Your Answer


Steam Weeder – the technology behind the machine.
The technology behind SteamWeeder's chemical free "hydro-thermal" steam weeding uses high-temperature heated water and wet steam to kill weeds on contact. To be effective at killing weeds the temperatures need to be greater than 98° Celsius, (205°F) and must have rapid transfer into the plant cells.
Propane flame and non-saturated steam is less efficient at transferring destructive heat into the vegetation and hot water will do the job but is much slower and uses a lot more energy.
How does Steam Weed technology work?
The steam destroys the weeds on contact within minutes. This occurs via a process known as "plasmolysis" where the steam rapidly raises the temperature of water in plant's cells, which in turn causes them to expand and destroys the structure of the cell wall and soft tissue. The targeted weeds will immediately wilt and within 1-3 days they decompose, enriching the soil.
How plants cells break down after Steam Weeding?
1. The cell of a healthy plant
The cell wall of a healthy plant cell is robust and full of liquid.
2. After high-pressurised steam
SteamWeeding applies high-pressurised steam, thereby increasing the temperature of the water within the cell, causing the plant cell wall to collapse.
3. Plant cell wall breaks down completely
Immediately the plant cell wall has completely broken down and the plant wilts. Within 1-3 days the plant decomposes adding nutrients back in the soil.


Accessory Dwelling Units
Guide to Developing Accessory Dwelling Units
An Accessory Dwelling Unit (ADU), also known by other terms such as a laneway house, granny flat, or mother in law unit, is a separate housing unit on the same lot as a typical single family house. It can be either attached or detached from the main house. It could be rented out to a tenant, or it could be provided for free to the homeowner's friends or family.
ADUs are self-contained dwellings. That means an ADU should provide space for cooking, sleeping, and using the bathroom.
ADUs have a long history in Bremerton. They were a popular form of housing since the days of World War 2, when Bremerton's population boomed and housing was desperately needed. However, because many of those historical ADUs were small and built cheaply and quickly, they were not often considered in a positive light. Most people can imagine the benefit of having an ADU on their property, whether for housing their loved ones who can no longer live independently, or gaining additional income from rent. However, in recent decades the Zoning Code limited ADU construction, and many property owners that wanted to accommodate an ADU on their property were blocked from doing so.
In December of 2020, the City of Bremerton took a huge step forward and made it easier than ever to establish an ADU (Ordinance No. 5410). This page will help you to determine whether an ADU is feasible for your property, and inform you of the City's requirements for ADUs. Below is a table showing some quick standards for ADU construction. Click here for a helpful guidebook that will walk you through developing an ADU. If you have any questions, please contact the Department of Community Development at or _PHONE_.
What is an ADU? An additional, accessory dwelling unit on a lot with an existing principal unit added to or created for use as a complete, independent or semi-independent living unit with provisions for cooking, eating, sanitation and sleeping.
What areas of the City are ADUs permitted? An ADU may be permitted anywhere a new or existing single-family dwelling unit is allowed. ADUs are exempt from the density requirements of the underlying zone.
What is the maximum size of an ADU (square footage)? An ADU is limited to one thousand (1,000) square feet or not more than sixty (60) percent of the principal unit's total habitable floor area, whichever is greater.
 - If the primary residence is greater than 1667 square feet, an ADU can be 60% of its size.
 - If the primary residence is 1667 square feet or less, an ADU can be up to 1000 square feet.
How many ADUs can a property have? Each property can have a one (1) single family home and two (2) ADUs, for a maximum total of three (3) dwelling units. These ADUs can be either detached or attached to the single family home.
Must the owner live on site? No, owner occupancy is not required.
Is parking required for an ADU? The first ADU is not required to provide an additional off-street parking space. The site must comply with Chapter 20.48 BMC - that means the two (2) paved parking spaces for the single family home must be provided. A 2nd ADU must provide an additional paved parking space, for a total of three (3) spaces.
What are the required yards (setbacks & development coverage)? In the R-10 zone, the minimum front and rear yard setbacks are 15 feet, and the side yard setbacks are 5 feet. Contact a Planner to determine your zone.
An ADU must comply with the development standards of the underlying zone for the principal unit including setbacks, height, and lot coverage. However:
 - An ADU can be placed directly on the rear property line, if it abuts an alley.
 - An ADU can be as close as 3 feet from the side property lines, as long as the wall closest to the property line is built according to fire separation standards.
What are the design standards for ADUs? ADUs must preserve the appearance of the main house as a single-family dwelling,and the design of an ADU should blend into the existing house or the neighborhood. That means no duplex-like designs, and nothing that sticks out like a sore thumb. Try to design an ADU so that the materials used complement the design of the main house.


The Anzick child genome: How Native Americans react to the oldest American burial.
The Anzick Child Could Reconcile Scientists and Native Americans
New Scientist
Stories from New Scientist.
Feb. 15 2014 7:15 AM
What the Oldest Native American Burial Means to Me
We're trying to heal a wound between the scientific community and tribal communities.
Shane Doyle, a member of the Crow tribe in Montana, was the first Native American to be told of the Anzick child's 12,600-year-old genome and its implications. He is a Crow historian and an educator affiliated with Montana State University in Bozeman.
Tools found in the burial site of a 3-year-old boy who lived in Montana about 12,600 years ago and whose genome sequence was recently published.
Courtesy of Sarah L. Anzick
Catherine Brahic: How did you find out about the Anzick child?
Shane Doyle: I was invited to the burial site last year, where Eske [Willerslev, who led the team sequencing the boy's genome] told me about his findings. [See: "Ancestry of First Americans Revealed by a Boy's Genome."] It was overwhelming. I didn't quite know what to say. I was overcome with emotion. I knew that it was going to be a landmark discovery, but I don't think I realized how significant it was. I'm still wrapping my head around it. I can say my life hasn't been the same since that day though.
CB: In what way has your life changed?
SD: For one thing, having that knowledge. As Indian people, we've always believed that we've always been here. But to have an intellectual sense of that really added to my sincere feeling that this is my homeland. I still am kind of in awe of it. My ancestors amaze me, really, all that they did and how they took care of that boy and his grave.
I sang an honor song that day. There was a burial there that was disturbed. It was an accident, and now we're trying to make it right, we're trying to heal some of the stuff that has happened, we're trying to heal that wound in the earth and the wound between the scientific community and tribal communities in America.
CB: What does the burial site mean to you?
SD: He's kind of like a King Tut in a way. These people were hunter-gatherers. They had no agriculture, no disposable economy. Everything was important to them; their tools took hundreds of hours to produce. To put them all, that kind of wealth, in the grave of a [3-year-old] boy who wasn't a pharaoh or anything... it is just too much for words.
CB: What are you telling others about the finds?
SD: My goal is that everyone learns about the story: not just the genetics, but also the amazing cultural artifacts. I feel a responsibility that more people should know about this. It's a story probably every American should know. There are different ways to do that, but I'm an educator, so one of my goals is to turn this into a public school curriculum so students can find out about the scientific, historical, and cultural significance of it.
CB: Where is the boy now?
SD: He is in an undisclosed location, a safe place. Now the scientific paper is out, we'll get feedback from other tribes, and maybe some will want to help with the reburial. His parents could never imagine how important he was going to be, and now I think we should put him back.
CB: How have other Native Americans reacted?
SD: Responses have been very measured. I don't think the cultural significance has played out. Funnily enough I think that will happen when they see it in the papers and on TV. Our whole life experience has been: "You are not important, you have no culture, you're cavemen." So for them to get excited about scientific discoveries where science has in large part either ignored or neglected us... there's a lot of mixed emotions.
CB: There's a rift between geneticists and Native Americans, who have been reluctant to have their DNA sequenced. Will this change?
SD: I hope so. I don't believe there's anything wrong with genetic testing and I don't think most Native Americans would either. What all of us agree on is that you should have respect for people who have been put in the ground. Eske's message is that this work is not intended to be disrespectful.
This article originally appeared in New Scientist.
 Slate Plus
Political Gabfest


text:
I was asked to write a blog post about farmers - to explain what are the difference between chalupník (chalupner, cottager), sedlák (rusticus, Bauer, farmer), who was gruntovník and so on. I'll try to do my best to explain the differences and introduce different kinds of Czech farmers.
Let's start with hide (lán in Czech). It's a historical measurement used in both Bohemia and Moravia. There were different kinds of hides used, the one used for farmers was usually about 18 hectares (45 acres) large. It was a basic measurement and farmer who owned one hide of land and more (this is important to emphasize) was called láník (Lähner in German) or celoláník (Ganzlähner, celý, ganz = whole). I usually translate it as a farmer owning one hide of land. These farmers belonged among the largest farmers among our ancestors.
Those owning three quarters of hide to one hide were called třičtvrtěláník (Dreiviertlähner or Dreiviertler in German). It means they had between 13,5 and 18 hectares of land. Those owning half to three quarter of hide were called pololáník or půlláník or půlník (Halblähner in German).
Farmers owning from one quarter to one half of hide were called čtvrtláník or čtvrtník (Viertllähner or Viertler in German). One quarter of hide was minimum to be called sedlák (farmer), but you can see (mainly in southern and south-eastern Moravia) also farmers with half of one quarter of hide, called půlčtvtník (Halbviertler). This is historical case when houses were divided between two sons and both of them received half of the quarter - you can see such houses for example in Nová Lhota (Hodonín district). For people who had very small amounts of land (or none, but worked in agriculture), see this post.
Example of house divided among two people. Nová Lhota, Hodonín district.
Those who owned less than one quarter of hide were called chalupník (Chalupner in German, usually translated as cottager). These people belonged among farming class but weren't called sedlák. Their fields quite often weren't large enough to provide enough food to the family so they were often also craftsmen.
There is one more name you will most probably see in the registries if your ancestors were from Eastern Moravia - pasekář (Passeker in German). Paseka is forest clearance and this gives us a hint how these farms were founded - by clearing part of forest and settling there. The area of such farm wasn't strictly set, so it's hard to say how much land they had - the best way to find out is to check cadastral books in archives.
Example of pasekář settlement in Držková, Zlín district. Forests are grey.
Gruntovník was anyone owning a farm. Grunt means farm house, so anyone owning such house could be called gruntovník in parish books.
Ownership of farms
The question of ownership was also raised. Were farms owned by farmers or by the domain holders? Generally, as long as serfdom existed they were owned by the domain holders even the fact that the farmers lived on one farm for centuries. The farm was often inherited in the family but it didn't mean the farm couldn't have been taken away from the family - if the farmer was a bad housekeeper the domain owner has his right to decide he is going to change the keeper of the farm.
There were several serf duties connected to the ownership of the farm - farmers paid interest out of the farm (was set during the purchase) and they were also obliged to robota, labour for the domain owner, usually on his fields. Robota was set differently for various farmers, it always depended on the area of the farm.
I definitely forgot something I wanted to mention so this post will be most probably updated in future. :)


Take the 2-minute tour ×
In Ubuntu SDK QML tutorial a simple currency converter is build. The complete QML source code can be found here. When working through the example I found the following snippet somewhat confusing, particularly line 92 where the index field is assigned to caller.currencyIndex.
ListView {
 clip: true
 width: parent.width
 height: parent.height - header.height
 model: currencies
 delegate: Standard {
 objectName: "popoverCurrencySelector"
 text: currency
 onClicked: {
 caller.currencyIndex = index // where does index come from?
I couldn't find any clue in the documentation where index is defined. What it should contain is absolutely obvious, but where does it come from? If it is a property of the Standard list view item it is nowhere documented.
share|improve this question
1 Answer 1
up vote 3 down vote accepted
index is a property of the ListView delegate, not necessarily a ListItem. It represents the number of the currentItem. From the docs:
The index is exposed as an accessible index property. Properties of the model are also available depending upon the type of Data Model.
share|improve this answer
That was exactly the piece of documentation I was looking for! Would've never expected this to be a property of the delegate. – ubuntudroid Mar 3 at 8:32
Your Answer


text:
5,000-year-old tools from Crawford County.
Chipped-stone tools from the Crow Hollow site
These five tools are from the Crow Hollow site, a rare, Middle Archaic campsite located along the Kickapoo River in Crawford County. They were made and used about 5,000 years ago. Over 2,000 artifacts were recovered during recent excavations there, including projectile points and bifaces, scrapers, graver, and chipping debris produced during the manufacture and resharpening of chipped-stone tools. Two grinding or milling stones were also found. Society archaeologists also encountered several storage or refuse pits and possible areas of special activity, reflecting the daily activities of cooking food, animal hide preparation, and making and repairing stone tools. For more information about Crow Hollow, click the icon under "Related Link" on the First Peoples page.
Early Native Peoples|
|Creator: ||Wisconsin Historical Society
|Pub Data: ||Artifacts in the collection of the Wisconsin Historical Museum.
|Citation: ||"Chipped-stone tools from the Crow Hollow site" (photograph).
Online facsimile at:
Visited on: 5/25/2013


Hacking Golang: Accessing Specific Value from Multi-Value Function Returns
In current version of Go (1.2), a multi-value returned from a function call can only be accessed by doing a multi-variable assignment:
b, c := F()
That works great. However, there are times, instead of using a two-step approach (assignment, then access) to get to targeted values, I want to access the value inline using an expression, not an assignment. Right now, however, Go does not support anything like that. For instance
the following will blow up:
type Path struct{FileName string}
The Go compiler will complain (paraphrasing here) about multi-value in a single-value context since path.Split() returns (string, string). This is as expected. I started thinking, with a language as capable as Go, is there a way to express target a specific return value and mute others so the expression above would work?
A Workaround
So I started to research how the multi-value returned by a function is represented inside Go? Is it an array, a slice, container, what? And why does fmt.Println(path.Split(...)) works without any complaint from the Go compiler? Looking for the answer to the ladder question in Go's source code for the fmt package revealed some interesting facts about the multi-values returned from a function call:
 - Multi-values returned from one function call can be passed in as multi-variable arguments to another function. Meaning, func Split()(string,string) can be passed as argument to fmt.Printf(a...interface{}). Inside, fmt.Printf(...) receives variable a as []interface{} from the compiler.
 - The compiler only does that trick (as far as I found) for function with varargs params. For instance f.Foo(a []interface{}) cannot be called with b.Bar()(string, string) as argument.
 - In other contexts, you get big fat ugly failures:
 - a []interface{} := path.Split(...) // illegal, fails compilation
 - var b []interface{} = path.Split(...) // fails with multi-value in single value context error
 - var c []interface{}; c = path.Split(...) // stil fails (as above)
So, that led me to come up with a function I call the mute function (represented by Greek letter mu, single character, simple, easy to use) as defined below.
func µ(a...interface{}) []interface{} {
 return a
See code at _URL_ mu function exploits the automatic conversion from the compiler to convert a vararg parameters in the form of "x...interface{}" to a standard []interface{}. The implication here is that I can use mu to wrap multi-values from a function call to access specific returned value by specifying an index as shown below.
NOTE: since µ() returns []interface{}, you will need Type Assertion to get the actual value.
You can see an example of the mu function on the Go Playground at _URL_ is a hack by all means. Go designers take pride in keeping things simple. Having an extra assignment step to access multi-values returned form function calls is not that big of a deal. On the other hand, while working with Go, you will inevitably run into cases where you wish there's a way to chain function calls as expressions. But right now, when your function call returns multiple values, you have to do an assignment first to unpack that value. Which feels like it is robbing Go of its functional qualities.
Jumping to Go
This post is about my impression of Google's language Go (or Golang). As the holidays approached last year (2013), I decided to pour my free time into Go. I went through the Go documentation methodically to make sure I understand the motivation behind some of the decisions regarding the language. That is very important since I carry the Java hammer around.
The result of all of my efforts culminated into the creation of an HDFS FileSystem client written in Go - _URL_ That alone is a testament of the simplicity and approachability of the language. Within 3 weekends (in Jan/Feb), I was able to put together a working WebHDFS client.
The followings are some points I wanted to share if you are thinking about jumping into Go yourself.
Jump into Go
Getting started in go is incredibly easy. To get a taste of the language you can take the Go Tour (_URL_ The tour gives you an online editor and server-side compilation service to explore several Go examples. The tour covers all major language constructs and APIs to get you started and keep you interested.
When you are ready to do Go locally, the steps are just as easy. First, download and install Go for your platform (_URL_ Next, select your favorite text editor to start slinging Go code.
The Workspace
One important point that I enjoy (as a Java developer) is the notion of Go's workspace. It is a location where Go keeps all source and binary packages organized in a specific directory structure. This simplifies many aspects of working with Go including building, testing, and dependency resolution. Because of this "Convention over Configuration" approach, one can build Go code without having to specify a long list path information (as is necessary using Java tools). For instance, the following will resolve package dependencies declared in the code, compile, and run the specified Go file:
go run hello.go
If you are from the Java camp, this may be reminiscent of what the local repository does when using the Maven tool. However, in Go, this approach is much simplistic and the workspace is a first-class citizen with the Go tools which understand how to deal with the code's organization.
For a full explanation of Go's code organization, check out 'How to Code in Go'.
No IDE Needed (Really)
If you are from the Java camp like myself, you may not believe it's possible to create complete projects without an IDE. Well, yes really, no IDE. I wrote the entire project using Sublime Text. How is that possible you may ask? Well, Go is a simple language with little surprises. In addition, the Godoc (see below) tool provides easy access to the API reference documentation whether online or offline.
Non-Ceremonious Language
I won't go into too much about the language itself as it is well documented at the _URL_ website. Nevertheless, Go takes a simplistic approach to language design by foregoing object-orientation. Go programs are collections of first-class functions, simple types, struct types, and Go's version of interfaces. Functions can be graphed unto any types (function receivers) to further organize code as computational components.
By removing the need to declare a class, a constructor, and main with program argument list, a compilable, functional Go code can be as simple as the following.
package main
import "fmt"
func main() {
Run the code at _URL_
Documentation! Documentation! Documentation!
Switching sweaty Steve Balmer's chant from "Developers! Developers! Developers!.." (_URL_ to "Documentation! Documentation! Documentation! Docu..." would be an an apt way to explain the importance of documentation for the Go folks. Here are a few documentation resources.
Go's Website (_URL_)
The website has all the docs you will ever need to get started with Go including API docs, videos, best-practice articles, etc. I think the rarity of Go books has to do with the fact that the platform is so well documented on the site.
The Godoc Tool
The Godoc tool further demonstrates the importance of documentation within Go all the while keeping things simple. The following command will compile the entire golang.org website along with any source-level documentation in you own code and makes them available at http://localhost:6060/.
godoc -http=:6060
This makes all of Go's API documentation portable even when you don't have an Internet connection.
Godoc.Org (_URL_)
This website aggregate Go projects documentation from major source code hosting services including GitHub, BitBucket, Google Project, and LaunchPad. The content is indexed and made searchable. It is a really neat tool.
Go Talks (_URL_
Another fantastic source of information are the Go Tasks. This section of the website is a collection of deck slides and accompanying source code.
Fast Compile and Fast Tests
Again, being from the Java camp, I got used to my project taking minutes to compile and test. I have used that time slice (between build start and build finish) to read entire books, catch up on twitter, or even pick up a new skillset.
The story is a bit different with Go. I can compile and test my modestly-sized HDFS client project in milliseconds. That also includes running about two dozen tests (and counting). "So what?" you may say. Well, Go, it turns out, is the perfect platform for TDD. Because testing is so fast, it almost feels like there is little to no cost to integrate unit testing into your code cycle.
Solid APIs
Within its short existence, Go has garnered an impressive list of APIs (


Take the 2-minute tour ×
I came to haskell having some c background knowledge and wondering is there an analog to
_TAG_ print( a ) printf( "%s = %d\n", _TAG_, a )
int a = 5;
print( a );
that should print
a = 5
share|improve this question
3 Answers 3
up vote 20 down vote accepted
Here's the TH solution augustss mentioned:
{-# LANGUAGE TemplateHaskell #-}
module Pr where
import Language.Haskell.TH
import Language.Haskell.TH.Syntax
pr :: Name -> ExpQ
pr n = [| putStrLn ( $(lift (nameBase n ++ " = ")) ++ show $(varE n) ) |]
then in another module:
{-# LANGUAGE TemplateHaskell #-}
import Pr
a = "hello"
main = $(pr 'a)
share|improve this answer
You can use the same _TAG_ trick in Haskell if you turn on the CPP language extension. Or you can use Template Haskell to get the same effect.
But in pure Haskell it is impossible, because it violates the principle of alpha conversion, i.e., renaming bound variables (in a hygienic way) should not change the program semantics.
share|improve this answer
Couldn't achieve this behaviour with {-# LANGUAGE CPP #-}. Seems GHC C preprocessor just ignores #. – Matvey Aksenov Oct 29 '11 at 9:48
Matvey, I think it is just that Haskell's printf doesn't take a tuple, but, in the first instance, just the format specification. Then it takes further arguments successively according to its interpretation of the format in question. "%s = %d\n" leaves room for two arguments. So you'd write e.g. printf "%s = %d\n" "five" 5 rather than printf( "%s = %d\n", "five", 5). I paste something that works below; see what you can make of it. – applicative Dec 1 '11 at 7:06
By the way, a simple illustration of an extensive use of CPP to avoid boilerplate is here hackage.haskell.org/packages/archive/uu-parsinglib/2.7.3/doc/… Note the uncurrying in the message to the preprocessor: _TAG_ DEMO(p,i) demo "p" i p – applicative Dec 1 '11 at 7:11
import Text.Printf
_TAG_ print( a ) printf "%s = %d\n" (show a) a
main = do let a = (5 :: Int)
 print( a )
 $ ghci a.hs
 *Main> main
 5 = 5
share|improve this answer
Thanks, "a" instead of (show a) works as needed. – Matvey Aksenov Dec 1 '11 at 9:45
Your Answer


text:
Cluster-in-Molecule Local Correlation Method with an Accurate Distant Pair Correction for Large Systems
datasetposted on 07.01.2021, 13:08 by Zhigang Ni, Yang Guo, Frank Neese, Wei Li, Shuhua Li
The cluster-in-molecule (CIM) local correlation approach with an accurate distant pair correlation energy correction is presented. For large systems, the inclusion of distant pair correlation energies is essential for the accurate prediction of absolute correlation energies and relative energies. Here, we propose a simple and efficient scheme for evaluating the distant pair correlation energy correction for the CIM approaches. The corrections can be readily extracted from electron correlation calculations of clusters with almost no additional effort. Benchmark calculations show that the improved CIM approach can recover more than 99.94% of the correlation energy calculated by the parent method. By combining the CIM approach with the domain-based local pair natural orbital (DLPNO) local correlation approach, we have provided accurate binding energies at the CIM-DLPNO-CCSD(T) level for a test set consisting of eight weakly bound complexes ranging in size from 200 to 1027 atoms. With these results as the reference data, the accuracy and applicability of other electron correlation methods and a few density functional methods for large systems have been assessed.


text:
Six Deaf people with additional disabilities
- share their experiences and insights
- give suggestions on how we can develop an inclusive NZSL community
The information shared is relevant for others who know and work with Deaf people with disabilities in education, in services, in the workplace or within your family.
The six topics are:
1. Being Deaf and Disabled
Describing experiences and feelings as Deaf people with additional disabilities.
2. Our Identity
Talking about identities and self-awareness insights
3. Different Worlds
Sharing experiences when navigating the Deaf world, hearing world and the disability world
4. Feeling Equal
Discussing thoughts about equality and inclusion.
5. Our Challenges
Explaining some of the challenges faced
6. Being an Inclusive NZSL Community
Guidance for creating an inclusive NZSL community
Thanks to the NZSL Board for funding this project.


text:
Loan Policy Review and Enhancement
The first rule of policy analysis is that any changes will have both intended and unintended consequences. As such, it is critically important that institutions study and carefully craft policies in order to achieve desired goals while avoiding adverse effects of policy changes. Our firm has the experience and the necessary tools to enhance lending performance, correct deficiencies, foster continuity and consistency, and achieve the primary goal of reducing regulatory risk.
In our experience, many institutions that have been faced with regulatory challenges in regard to fair lending have, in a large part, been a direct result of flawed or outdated loan policies and procedures. Often banks are reluctant to make changes due to the uncertainty in the longer term this may create with respect to the impacts on the bank's business model and overall lending performance. We understand these challenges and, therefore, take a holistic approach to policy formulation rather than a myopic view of addressing individual issues. Our proven approach helps institutions balance efficiency and risk.


text:
Adjust for multiple comparisons by calculating a more stringent alpha value
The Bonferroni adjustment is a simple method for deterring increased experimentwise error rates when adjusting for multiple comparisons in applied statistics. Simply divide the alpha value, oftentimes set at.05, by the number of comparisons being conducted. For example, if you are comparing two independent groups on five different outcomes,.05/five comparisons = new Bonferroni corrected alpha value of.01. Research journals are requiring that adjustment for multiple comparisons be made before accepting manuscripts for publication, and the Bonferroni is a well-known and accepted methodology. Bonferroni is most commonly used when testing fewer outcomes that have been planned a priori.
Statistician For Hire
DO YOU NEED TO HIRE A STATISTICIAN?
Eric Heidel, Ph.D. will provide statistical consulting for your research study at $100/hour. Secure checkout is available with PayPal, Stripe, Venmo, and Zelle.
- Statistical Analysis
- Sample Size Calculations
- Diagnostic Testing and Epidemiological Calculations


Explore BrainMass
Explore BrainMass
 conditional probability and joint probability
 2. For the following table, what is the value of :
 a) P(A1)
 b) P(B1│A2)
 c) P(B2 and A3). Compute this as P(B2)*P(A3│ B2). In what row and column will you find this answer? Rows are B1 & B2: columns are A1, A2 & A3.
 Second Event
 First Event
 A1 A2 A3 Total
 B1 2 1 3 6
 B2 1 2 1 4
 Total 3 3 4 10
 © BrainMass Inc. brainmass.com October 1, 2020, 10:12 pm ad1c9bdddf
 Solution Summary
 Conditional probability and joint probability are caculated using the data from the table.