Twig
The flexible, fast, and secure
template engine for PHP
a Symfony Product
You are reading the documentation for Twig 3.x. Switch to the documentation for Twig 1.x. 2.x.
Table of Contents
Questions & Feedback
License
Twig documentation is licensed under the new BSD license.
include
The include function returns the rendered content of a template:
1
2
{{ include('template.html') }}
{{ include(some_var) }}
Included templates have access to the variables of the active context.
If you are using the filesystem loader, the templates are looked for in the paths defined by it.
The context is passed by default to the template but you can also pass additional variables:
1
2
{# template.html will have access to the variables from the current context and the additional ones provided #}
{{ include('template.html', {foo: 'bar'}) }}
You can disable access to the context by setting with_context to false:
1
2
{# only the foo variable will be accessible #}
{{ include('template.html', {foo: 'bar'}, with_context = false) }}
1
2
{# no variables will be accessible #}
{{ include('template.html', with_context = false) }}
And if the expression evaluates to a \Twig\Template or a \Twig\TemplateWrapper instance, Twig will use it directly:
// {{ include(template) }}
$template = $twig->load('some_template.twig');
$twig->display('template.twig', ['template' => $template]);
When you set the ignore_missing flag, Twig will return an empty string if the template does not exist:
1
{{ include('sidebar.html', ignore_missing = true) }}
You can also provide a list of templates that are checked for existence before inclusion. The first template that exists will be rendered:
1
{{ include(['page_detailed.html', 'page.html']) }}
If ignore_missing is set, it will fall back to rendering nothing if none of the templates exist, otherwise it will throw an exception.
When including a template created by an end user, you should consider sandboxing it:
1
{{ include('page.html', sandboxed = true) }}
Arguments
 - template: The template to render
 - variables: The variables to pass to the template
 - with_context: Whether to pass the current context variables or not
 - ignore_missing: Whether to ignore missing templates or not
 - sandboxed: Whether to sandbox the template or not
Website powered by Symfony and Twig, deployed on
The Twig logo is © 2010-2021 Symfony


Take the 2-minute tour ×
If $(m, 10) = 1$, choose $b$ so that $10 b \equiv 1 \pmod m$. Then $n \equiv 0 \pmod m$ if and only if $n' + ba_0 \equiv 0 \pmod m$, where $a_0$ is the unit's digit of $n$, and $n'=(n-a_0)/10$. First generalize this and tell me how to extend this theorem to general divisibility tests of other numbers by a single formula or method or procedure.
share|improve this question
What are n' and $a_0$? – user7530 Oct 4 '11 at 7:23
I suspect that $a_0$ is the last (one's) digit of $n$ and that $n'=(n-a_0)/10$, the number that you get when you erase the last digit of $n$; is that correct? – Brian M. Scott Oct 4 '11 at 7:49
_USER_ M. Scott! Your suspected one is very right. The last digit is $a_0$. – gandhi Oct 4 '11 at 8:09
Edited to include Brian's interpretations. – Gerry Myerson Oct 4 '11 at 12:11
add comment
2 Answers
I suppose a generalization would be, if $\gcd(m,r)=1$, choose $b$ so that $rb\equiv1\pmod m$. Then $n\equiv0\pmod m$ if and only if $n'+ba_0\equiv0\pmod m$, where $a_0$ is the unit's digit of $n$ when $n$ is written in base $r$, and $n'=(n-a_0)/r$.
share|improve this answer
Can you go little further from your consideration. – gandhi Oct 4 '11 at 17:49
Can you be a little more specific in your request? – Gerry Myerson Oct 4 '11 at 21:44
add comment
HINT $\ $ In radix $\rm\:d:\ \ n'\:d + a_0 \equiv 0\ \iff n' + a_0/d \equiv 0\pmod{m}\ \:$ when $\rm\:\ (d,m) = 1\:. $
This amounts to "simplifying" an equation by cancelling some unit factor $\rm\:d\:.\:$ Because $\rm\:d\:$ is a unit (i.e. invertible), this is an invertible transformation, i.e. $\rm\:d\:x\equiv d\:y\iff\ x\equiv y\:.$ One encounters such simplifications (or normalizations) quite frequently, e.g. normalizing polynomial equations to be monic, i.e. scaling them so that the leading coefficient $= 1\:.$
share|improve this answer
Good. Thank you sir. – gandhi Oct 4 '11 at 17:48
add comment
Your Answer


text:
The Red Hills, also known as the Gyp or Gypsum Hills, are located mostly in Clark, Comanche, and Barber counties in southern and central Kansas. These hills gather their name from the red tint they have. The red color comes from oxidated iron within the soil. The area is also known for its large gypsum deposits. Rainfall amounts are low in this region, so there are few trees and the air is dry.
The flat top hills in the area are more reminiscent of the mesas and buttes in Arizona and New Mexico. The elevation here disputes Kansas' reputation as "flat." Mount Nebo is 2,441 feet (744 meters), Mount Jesus is 2,340 feet (710 meters), and Mount Lookout is 2,320 feet (710 meters).
Entry: Red Hills
Author: Kristina Gaylord
Date Created: July 2011
Date Modified: May 2012
The author of this article is solely responsible for its content.

source: HuggingFaceFW/fineweb-edu


text:
This example shows how to construct an automated parking valet system in Simulink® with Automated Driving Toolbox™. It closely follows the Automated Parking Valet MATLAB® example.
Automatically parking a car that is left in front of a parking lot is a challenging problem. The vehicle's automated systems are expected to take over and steer the vehicle to an available parking spot. This example focuses on planning a feasible path through the environment, generating a trajectory from this path, and using a feasible controller to execute the trajectory. Map creation and dynamic obstacle avoidance are excluded from this example.
Before simulation, the
helperSLCreateCostmap function is called within the
PreLoadFcn callback function of the model. For details on using callback functions, see Model Callbacks (Simulink). The
helperSLCreateCostmap function creates a static map of the parking lot that contains information about stationary obstacles, road markings, and parked cars. The map is represented as a
To use the
object in Simulink®, the
helperSLCreateUtilityStruct function converts the
into a struct array in the block's mask initialization. For more details, see Initialize Mask (Simulink).
The global route plan is described as a sequence of lane segments to traverse to reach a parking spot. Before simulation, the
PreLoadFcn callback function of the model loads a route plan, which is stored as a table. The table specifies the start and end poses of the segment, as well as properties of the segment, such as the speed limit.
routePlan = 5×3 table StartPose EndPose Attributes ________________ ____________________ ____________ 4 12 0 56 11 0 [1×1 struct] 56 11 0 70 19 90 [1×1 struct] 70 19 90 70 32 90 [1×1 struct] 70 32 90 52 38 180 [1×1 struct] 53 38 180 36.3 44 90 [1×1 struct]
The inputs and outputs of many blocks in this example are Simulink buses (
classes). In the
PreLoadFcn callback function of the model, the
helperSLCreateUtilityBus function creates these buses.
Planning is a hierarchical process, with each successive layer responsible for a more fine-grained task. The behavior layer sits at the top of this stack. The Behavior Planner block triggers a sequence of navigation tasks based on the global route plan by providing an intermediate goal and configuration for the Motion Planning and Trajectory Generation blocks. Each path segment is navigated using these steps:
Motion Planning: Plan a feasible path through the environment map using the optimal rapidly exploring random tree (RRT*) algorithm (
Trajectory Generation: Smooth the reference path by fitting splines to it using the Path Smoother Spline block. Then convert the smoothed path into a trajectory by generating a speed profile using the Velocity Profiler block.
Vehicle Control: The
HelperPathAnalyzer provides the reference signal for the Vehicle Controller subsystem that controls the steering and the velocity of the vehicle.
Goal Checking: Check if the vehicle has reached the final pose of the segment using
The Vehicle Controller subsystem contains a Lateral Controller Stanley block and a Longitudinal Controller Stanley block to regulate the pose and the velocity of the vehicle, respectively. To handle realistic vehicle dynamics, the Vehicle model parameter in the Lateral Controller Stanley block is set to
Dynamic bicycle model. With this configuration, additional inputs, such as the path curvature, the current yaw rate of the vehicle, and the current steering angle are required to compute the steering command. The Longitudinal Controller Stanley block uses a switching Proportional-Integral controller to calculate the acceleration and the deceleration commands that actuate the brake and throttle in the vehicle.
To demonstrate the performance, the vehicle controller is applied to the Vehicle Model block, which contains a simplified steering system that is modeled as a first-order system and a Vehicle Body 3DOF (Vehicle Dynamics Blockset) block shared between Automated Driving Toolbox™ and Vehicle Dynamics Blockset™. Compared with the kinematic bicycle model used in the Automated Parking Valet MATLAB® example, this Vehicle Model block is more accurate because it considers the inertial effects, such as tire slip and steering servo actuation.
The Visualization block shows how the vehicle tracks the reference path. It also displays vehicle speed and steering command in a scope. The following images are the simulation results for this example:
Simulation stops at about 45 seconds, which is when the vehicle reaches the destination.
This example shows how to implement an automated parking valet in Simulink.
 Buehler, Martin, Karl Iagnemma, and Sanjiv Singh. The DARPA Urban Challenge: Autonomous Vehicles in City Traffic (1st ed.). Springer Publishing Company, Incorporated, 2009.
 Lepetic, Marko, Gregor Klancar, Igor Skrjanc, Drago Matko, and Bostjan Potocnik, "Time Optimal Path Planning Considering Acceleration Limits." Robotics and Autonomous Systems, Volume 45, Issues 3-4, 2003, pp. 199-210.
 Hoffmann, Gabriel M., Claire J. Tomlin, Michael Montemerlo, and Sebastian Thrun. "Autonomous Automobile Trajectory Tracking for Off-Road Driving: Controller Design, Experimental Validation and Racing." American Control Conference, 2007, pp. 2296-2301.

source: openbmb/Ultra-FineWeb


Take the 2-minute tour ×
I have some noisy audio files, which are voice recordings or lectures. There is no music, but the recordings are noisy.
Sometimes, the voice is not clear. Is there any software that can extract the clear voice out of those audio files? It would be better to have automated processing and batch processing supports.
I'm using Windows 7.
share|improve this question
2 Answers 2
Regardless of OS, Audacity can do this just fine. So says Wikipedia:
Noise Removal based on sampling the noise to be removed. Surface noise from records, for example, can be removed with hardly any discernable effect on the music.
See this Audacity Wiki entry for Noise Removal.
As for batch, see the manual page.
share|improve this answer
just a short comment. Sometimes the recording is so bad, that it is almost impossible to extract the voice. And human ear is much more capable to filter out the voice, than any SW. I tried Audacity for some school lessons recordings and in many cases got only terribly sounding distorted voice like from cheap chinese radio in metal barrel - in fact not much better, than the source file. – Juhele Feb 5 '12 at 17:29
A generic noise removal program manipulating the sound will never ever reach the human brain understanding speech. It's not your ear, it's the brain using the redundancy of the human language, the likely context of the speech and so on. Try to understand random words in a made up language on a noisy track. – chx Feb 5 '12 at 18:07
You might want to try the expertise of _URL_
Here you have an example of what they can do:
share|improve this answer
Your Answer


text: At least one indication in every list box has to be made to show a result for each variable. When you wish to see one or a few variables, mark these only. N.B. To undo a mark, press the button CTRL and click the mouse button on the text. To select all lines in a list box: - Mark the first line in the list box. Then press the buttons SHIFT and END simultaneously. To select/undo a marked line in a list box: - Press the button CTRL and click the left mouse button on the selected line simultaneously. To select more than one line in a list box: - Mark lines in a row by pressing the left mouse button and slip it over the requested lines. Or, mark the first line on your list and then press the button SHIFT at the same time as you press the up or down arrows on the keyboard. - Mark lines, not in a row, by pressing the button CTRL at the same time as you click the left mouse button on the requested lines. To search for a specific value in the list box: - Mark the first line in the list box. Then type the first letter in the line requested. If you fail in getting the right line, try the typing again until you find the right value. Or use the up or down arrows or the mouse button to look further.


text:
Nitesh Chawla, David Cieslak
Decision trees, a popular choice for classification, have their limitation in providing good quality probability estimates. Typically, smoothing methods such as Laplace or m-estimate are applied at the decision tree leaves to overcome the systematic bias introduced by the frequency-based estimates. An ensemble of decision trees has also been shown to help in reducing the bias and variance in the leaf estimates, resulting in better calibrated probabilistic predictions. In this work, we evaluate the calibration or quality of these estimates using various loss measures. We also examine the relationship between the quality of such estimates and resulting rank-ordering of test instances. Our results quantify the impact of smoothing in terms of the loss measures, and the coupled relationship with the AUC measure.
Subjects: 12. Machine Learning and Discovery; 15.6 Decision Trees
Submitted: May 25, 2006


How Did Mount Rushmore Get Its Name and Who Was Mount Rushmore Named After?
Rushmore wasn't the guy who carved the mountain.
After gold was discovered in South Dakota in 1874, the Sioux tribes that lived there were forced out, and prospectors and a smattering of tourists and curiosity-seekers moved in.
In 1885, a New York attorney named Charles Rushmore was riding through the area on a guided horseback tour and asked the name of the mountain.
His guide teased the city slicker: "Hell, it never had a name, but from now on we'll call the thing Rushmore."
Strangely enough, the name stuck.
The lawyer Rushmore, by the way, never abandoned his rocky namesake, he was one of the first to donate a large sum of money toward carving the mountainside.
 1. kailey says
 yea some guy said that he went to see mount rushmore in 1919 but the funny part is is the mountion was not built till 1927….
Leave a Reply


text:
The Bridge of Lions
The Original Bridge
The Bridge in the open position
One of the Lions
The New Bridge
Backstory and Context
Construction on the Bridge of Lions started in 1925 and finished two years later. This structure replaced the old bridge and connected St. Augustine and Anastasia Island. Two marble lions were mounted on each side of the Bridge to symbolize the guarding of St. Augustine (Cooper). With length of 1,545 feet with two lanes, this bridge crosses over the Matanzas River.
The Bridge of Lions gets its name from the founder of St. Augustine, Ponce de Leon. Leon means lion, which is why the bridge is guarded by lions. The lions were donated by Dr. Andrew Anderson and Henry Flagler (St. Francis Inn).
Because Henry Flagler brought so many people to Florida for tourism, he knew they would need a place to stay. Henry Flagler began building the Hotel Ponce de Leon in December 1885. This hotel attracted many rich people to visit St. Augustine and Anastasia Island. To go from one side to the other can only done over The bridge of Lions. As more people came, it was decided to widen the bridge to better the traffic flow. Dr. Andrew Anderson was apart of the fast growing St. Augustine. He stated, "The past year has witnessed a revolution in our City which no one could have anticipated. Hundreds of thousands of dollars have been spent and are being spent in our midst…The crowning enterprise, the building of the Ponce De Leon Hotel, will make St. Augustine famous… Our city bids fair therefore to become the Nice, as well as the Newport of America" (Graham, 96). Population growth in Florida continued after the Flagler era.
During the construction of The Bridge of Lions, the Florida Land Boom happened. The land boom brought the use of automobiles such as Aurora, Metz, Kritt, Regal, Peerless and Empire. More cheap cars were made quicker because of a fluent assembly line. This allowed easy transportation to the tourist state of Florida (Gannon, 301). As Florida became more popular with automobiles, the decision was made to widen the two lane road of the bridge to four lanes. This would allow traffic to flow more smoothly as tourist entered and exited St. Augustine. St. Augustine is one of the top rated tourist visiting places in Florida.
The bridge is called the Bridge of "Lions" because at the west end stands two replicas of the Medici Lions made of Carrara marble. The origin of the Medici Lions stems from the Villa Medici in Rome, Italy. They were actually a gift to the town from Dr. Andrew Anderson, a previous mayor of St. Augustine. The statues were made by Romanelli Studios in Florence, Italy. In 2015, two new lions were donated by the Schau family and placed at the east end of the bridge. The names of the new lions are Pax y Peli, which is Latin for peace and happiness. The names of the original lions are Fiel y Firme, Latin for faithful and firm.
The Bridge of Lions draws attraction to the fort in St. Augustine and many shops there as well. Ponce De Leon statue stands in the middle of the square in St. Augustine. Davis Shores is a residential spot close to the bridge. This was a popular spot to stay to get the full experience of St. Augustine. The sun sets right over the bridge which allows for a beautiful view to end the night (Griffin).
More recently, the Bridge of Lions was signed into contract to redo and create a more stable and efficient roadway. This is when the building started for the two lane bridge. However, St. Augustine became more of tourist location. The Bridge of Lions was rebuilt in 2010 (Visit St. Augustine).
The lions were taken away during reconstruction for six years. It was a big process when the workers brought "Firm" and "Faithful", the two marble lions, back to their rightful place. The process was during the middle of the night at two am. The construction workers chose the less busy time that the bridge would be used. The sheets covered lions were lowered with a crane one by one to their platforms. After both lions were put down, the lions were cleaned by sculptors to fix up the damage that was done to the lions. (Griffin)
"[The] project had also received the following awards: 2011 National Recognition Award from the ACEC Engineering Excellence Awards, Award of Merit in the Reconstructed Category from the National Steel Bridge Alliance Prize Bridge Competition, and ranked Fourth in Roads & Bridges Top 10 Bridges of 2010." (RS&H)
Admin. "Bridge of Lions - Historical Things to Do in St. Augustine." Agustin Inn. N.p., n.d. Web. 26 Feb. 2017.
"Bridge of Lions Rehabilitation." RS&H, Inc, _URL_
Bridge of Lions." St Francis Inn Bed and Breakfast, 29 Jan. 2016, _URL_
"Bridge of Lions | Visit St. Augustine." VisitStAugustine.com, _URL_ bridge-lions.
"Construction of the Ponce De Leon, _PHONE_." Mr. Flagler's St. Augustine, by Thomas Graham, University Press of Florida, 2014, pp. 88–100.
Cooper, Jason. Historic St. Augustine. Rourke Book, 2001.
Gannon, Michael. The History of Florida. University Press of Florida, 2013.
Griffin, Justine. "Lions Roar Back." The St. Augustine Record, The St. Augustine Record, 16 Mar. 2011, _URL_
St. Augustine Loves Lions. "Bridge of Lions." St. Augustine Loves Lions. N.p., n.d. Web. 26 Feb. 2017.

source: m-a-p/FineFineWeb


Prior Criminal Convictions as a Bar to Employment
Can an Employer use a person's prior criminal convictions as a bar to employment? The answer to that question requires further thought. In some situations, an Employer can use a person's prior conviction as a bar to employment. However, in some situations, the Employer is not allowed to. The reason an Employer is allowed to consider prior convictions in certain circumstances is because of the Pennsylvania Criminal History Record Information Act Handbook ("CHRIA"), also found at 18 Pa. C.S.A. §9101 et seq.
A preliminary background of CHRIA shows that Chapter 91 of the Crimes Code of Pennsylvania and Pennsylvania Consolidated Statutes Annotated was adopted in January of 1980. The purpose of this Act is to protect criminal history information for all persons in the Commonwealth of Pennsylvania. This Act says when an Employer may or may not bar employment to a person when such person has a prior criminal background.
18 Pa. C.S.A. §9125 is the Section that allows Employers to use a person's criminal record information in the hiring process. Section 9125 specifically states:
Felony and misdemeanor convictions may be considered only to the extent to which they relate to the applicant(s) suitability for employment in the position for which he has applied.
Id. (emphasis added)
The key to Section 9125 is that a prior conviction may only be considered to the extent to which it "relates to the applicant's suitability for employment." Id. Therefore, the prior convictions have to relate to the applicant's ability to perform the specific job/position to which he/she has applied. To illustrate, my firm recently filed two employment discrimination cases (Ripley v. Sodexo and Gaston et al v. Sodexo) in the United States District Court for the Western District of Pennsylvania alleging that the Defendant's use of the Plaintiffs' prior convictions as the main factor for termination was improper. In those two cases, the Plaintiffs' prior convictions (from over 10-30 years ago) did not relate to their suitability to perform their jobs in the food industry, which is why our firm filed employment discrimination suit alleging violation of CHRIA.
However, it is also important to note that there are certain situations where Section 9125 doesn't factor into an Employer's decision to refuse employment to a person with prior convictions. In some professions, an Employer is legally prohibited by law from hiring persons with certain offenses. CHRIA does not even factor into an Employer's decision whether to hire a potential applicant.
For example, aircraft/airport positions (including those with direct access to airplane or secure airport areas) have restrictions. Under 49 U.S.C. §44936, an Employer MAY NOT hire individuals for the above positions if:
The individual, within the last ten (10) years, has been convicted of federal hijacking or other air crimes, murder, assault with intent to murder, espionage, treason, sedition, kidnapping, rape, extortion, armed robbery, weapons convictions, distribution (or intent to distribute) a controlled substance, of felonies involving: a threat, willful destruction of property, information or manufacture of a controlled substance, burglary, theft/fraud, possession or distribution of stolen property, aggravated assault, bribery, or illegal possession of controlled substance punishable by a maximum term of imprisonment of more than one year.
Another example is a childcare position. 23 Pa. C.S.A §6344(c) states that an Employer MAY NOT hire an individual if:
The individual has founded child abuse reports within the last five (5) years or with convictions for homicide, aggravated assault, kidnapping, rape, various sex crimes, prostitution felonies, concealing death of child, endangering welfare of child, or pornography ever, or for drug felonies within the last five (5) years.
There are many more examples of professions where, regardless of how qualified an individual is, an Employer literally has their hands tied and cannot hire an individual because of prior convictions. Other professions include, but are not limited to, bank employees, nursing home workers, police, port workers, school employees, etc. These are examples where an Employer is legally bound by law to refuse employment.
However, if an Employer is not legally required to exclude an applicant and the Employer does exclude an applicant because of a prior conviction that has no bearing on the applicant's ability to perform the job in question, the Employer may be facing an employment discrimination lawsuit in violation of CHRIA and various other employment statutes.
More by | Michael Kraemer Michael Kraemer, Contributor


text:
Reduction capability of soil humic substances from the Rio Negro basin, Brazil, towards Hg(II) studied by a multimethod approach and principal component analysis (PCA)
Data de publicação2007-03-15
Direito de acesso
MetadadosExibir registro completo
This paper characterizes humic substances (HS) extracted from soil samples collected in the Rio Negro basin in the state of Amazonas, Brazil, particularly investigating their reduction capabilities towards Hg(II) in order to elucidate potential mercury cycling/volatilization in this environment. For this reason, a multimethod approach was used, consisting of both instrumental methods (elemental analysis, EPR, solid-state NMR, FIA combined with cold-vapor AAS of Hg(0)) and statistical methods such as principal component analysis (PCA) and a central composite factorial planning method. The HS under study were divided into groups, complexing and reducing ones, owing to different distribution of their functionalities. The main functionalities (cor)related with reduction of Hg(II) were phenolic, carboxylic and amide groups, while the groups related with complexation of Hg(II) were ethers, hydroxyls, aldehydes and ketones. The HS extracted from floodable regions of the Rio Negro basin presented a greater capacity to retain (to complex, to adsorb physically and/or chemically) Hg(II), while nonfloodable regions showed a greater capacity to reduce Hg(II), indicating that HS extracted from different types of regions contribute in different ways to the biogeochemical mercury cycle in the basin of the mid-Rio Negro, AM, Brazil. (c) 2007 Published by Elsevier B.V.


Check your search results here
Deputy Director Job NGO Kenya
Position: Deputy Country director, Somalia Mission.
Action contre la Faim (ACF) was founded by a group of prominent French figures in response to the emergency caused by Afghan refugees fleeing to Pakistan to escape fighting in 1979, with the aim of eradicating hunger in a more global, lasting and effective way worldwide.
The organisation focuses its activities on an integrated approach, taking various aspects into account: "Nutrition, health and healthcare practices", "Food security and livelihoods", "Water, sanitation and hygiene" and "Advocacy and awareness-raising"
Location: Somalia mission based on Nairobi
Incorporation date: April 2011
Overall Objectives:
Continuous analysis of the humanitarian context and definition of strategic programming:
* Collect Information and analysis from external sources and from technical coordinators
* Ensure information is analyzed and provide relevant future propositions for geographic and sectoral interventions throughout the country to Country Director (CD) in a timely fashion.
* Identify humanitarian needs, brief the mission team and design potential responses within the operational country strategy
* Lead the definition of the framework and orientation of strategic programming in collaboration with the CD and the Desk
* Contribute to the identification of potential funding opportunities
* Produce the program related part of the mission situation report
* Contribute to the design and implementation of the Missions advocacy strategy
Overall management of implementation, design and reporting of Somalia programs
* Initiate and supervise design and development of WASH and Food Security programs in Somalia until such Programs would require dedicated HR
* Ensure integration and synergy of ACF programming at coordination and base level through promotion of regular coordination meetings and information sharing between field and coordination office
* Ensure program objectives are met and timelines, budgets, donor guidelines are respected by the Program Staff and Coordinators
* Ensure APR are delivered on a monthly basis for each project
* Compilation and pre-final validation of programmes sections of proposals and reports (donors and authorities).
* Supervise the design and implementation of tools to launch needs assessments and initiate new programs in a remote management setup
* Supervise the design and implementation of tools and procedures to monitor and evaluate ACF field activities in a remote management setup.
* Extensively train and coach Base Officers on ACF programming approach, PCM and program monitoring tools
* Lead ACF technical planning for contingency and emergency response programs with other stakeholders
* Liaise and coordinate with stakeholders on ACF activities when necessary
Human Resources Management and Capacity Building
* Provide training and guidance to all program staff on operational management of programs
* Contribute to the career development for Program Staff in collaboration with the HR department in order to identify needs of training and develop training plans
* Conduct regular evaluations of Technical Coordinators / Program Managers and contribute to regular evaluations of Base Officers (in collaboration with CD)
* Revise all job descriptions for technical positions in collaboration with coordinators and CD as needed
* Deliver induction to all incoming staff on projects' status and background country program strategy
* Overall responsible for providing the Human Resources Budgeting input to the HR Coordo with the support of the technical coordinators
* Initiate disciplinary measures where needed in accordance with HR regulations and under the authority of CD
Acting CD in the absence of the CD
* Be the acting CD in his/her absence and ensure the continuation of overall mission management under direct supervision of the Desk Officer.
* Participate in the management of Mission Security & Safety in conjunction with the Security Coordinator and under direct supervision of the Desk Officer.
* Be the focal point at mission level for external contacts such as Partners, Stakeholders, Donors and Media in the absence of the CD.
* Significant experience in humanitarian and emergency/early recovery program management.
* Minimum 5 years humanitarian work in developing or emergency context.
* Minimum 3 years humanitarian experience in a senior management / coordination role.
* Experience with ACF is desirable
* Excellent human resource management skills.
* Advanced knowledge of donors' guidelines/procedures.
* Experienced in working with private funding and foundations.
* Excellent organizational, leadership and motivation/training skills.
* Able to set own deadlines and meet them consistently.
* Proven experience in proposal writing and budget development.
* Fluent in oral and written English (professional English required).
* Excellent communication skills.
* Excellent writing and analytical skills.
* Excellent training skills – proven competencies in providing Training of Trainers
* Excellent business management and representation competencies.
* Long-term contract, provided by ACF according to the French legislation.
* All expenses paid on the field: travel out/return, collective or individual accommodation depending on position, meals and hygiene expenses
* ACF will pay for the family living depending on position and mission
* Program Managers: Monthly salary ranging from €1800 to €2425 (depending on relevant experience)
* Allowance of €200 paid on the mission
* Social benefits: Medical, life and accident insurance provided by the institution
* 25 days of annual paid leaves
* 20 days of extra leaves per year (taken as recovery time breaks of one week every 2 or 4 months depending on the mission) + break allowances
* Pre departure training of two weeks, at the HQ in Paris
How to apply
Please, send your CV and cover letter to Camille DARDE under references DEPUTYCD-0211:
Closing date: 22 Apr 2011
You can also visit for more jobs
Enter your email address:
Delivered by FeedBurner


Was Rick Perry actually drunk? A computer says it knows
by Jerry Gorin | Off-Ramp
32209 full
Researchers at Signal Analysis Interpretation Lab at USC test out their drunk speech detector. Clockwise from top: Shri Narayanan, Daniel Bone and Matt Black. Jerry Gorin/KPCC
Last October, Republican presidential candidate Rick Perry delivered a bizarre speech in New Hampshire during which he bounced on his heels, giggled, and struggled to stay on point. Many people thought that he was drunk, and the claims became so widespread that Perry had to publicly deny them. But short of going back in time and taking a blood sample, there was no way to be sure. That is, until a team of researchers from USC came along.
Professor Shri Narayanan and his team designed the winning entry in the latest challenge from the International Speech Communication Association (ISCA). The challenge asked participants to design a computer system that could identify drunk people from their speech patterns. The team's winning system could tell if someone was drunk about 70 percent of the time.
Narayanan said the topic isn't exactly what their lab is known for.
"It wasn't a core problem in our lab, that we are interested in the state of inebriation of people."
What they are interested in is speech. The researchers in Professor Narayanan's lab have developed computer programs that dissect speech patterns and then tie them to hidden states, like emotions or diseases such as autism.
"Let's consider the example of a child with autism," said Narayanan. "A prototypical way of characterizing that is to say that their intonation sounds atypical. We are interested in how to quantify this atypicality in intonation."
Many doctors currently use the way he or she talks as an indicator for autism. Narayanan thinks his computer programs will soon be able to do it better.
"[Computers] can look at micro-variations and intonations in the beginning of my sentence now and compare it with [my voice] three minutes later," he explained. "That's difficult for humans to do, or maybe even impossible, but computers can build analytic tools to try to measure these things."
Professor Narayanan's laboratory focuses mostly on debilitating speech in order to help physicians better diagnose their patients. But the drunken detection challenge was no gimmick. Since there's a reliable way to measure drunkenness (blood-alcohol content) the challenge gave researchers a concrete way to see whether their systems were any good. So his team signed up.
The data they used came from researchers in Germany, who collected sober speech recordings from recruited subjects. Then they gave them a few beers and recorded their speech again.
Narayanan said they also measured their blood alcohol content to determine which ones were legitimately drunk.
The professor's six-man team included recent Ph.D. Matt Black and third-year doctoral candidate Daniel Bone, who showed Off-Ramp the system. Black queued up an example of a sober German utterance - a banal statement where the speaker asks his car to play a CD. He then played an utterance from the same speaker, with the same prompt, but after drinking lots of beer.
It didn't sound like the first.
"He adds an extra 'gut' at the end," said Bone, laughing. "I think that means 'good'".
Black said they started with the speaking rate. They thought that it would be an intuitive thing to measure because they expected that drunk speakers would speak slower. But the computers didn't think it was such a useful measurement.
"We found that the rate features weren't very helpful," said Black, "but then we found other features that were less interpretable that ended up allowing us to win the competition."
Black said that the most important thing was to build a system that was robust and could measure thousands of different features, regardless of whether the research team could hear them.
"How these happen sometimes is beyond human interpretability," said Narayanan. "And that's what we refer to as black box. We really can't interpret the internals of these algorithms and how they choose data, how they slice them and dice them, and it's not often nicely packaged to listen to. But what we can see with certainty are outcomes."
At a computer station in the back of the laboratory, the team was eager to finally show off its new system. Black put on a headset and sat in the pilot's seat, where he began saying commands to familiarize the program with his voice.
He uttered three "sober" sentences, three "drunk" sentences and then a test sentence.
"Now it's going through and training the system," said Narayanan. "It's extracting spectral voice quality features, extracting prosodic features, intonation and so on, it's now crunching, organizing it in order of importance."
A few minutes later the results were in. The computer came up with a score of five out of seven, or about 70 percent. Narayanan said it was a pretty good score - about on par with human accuracy, in fact - and said it was time to try a clip from Rick Perry's speech.
They ran the audio and waited. The results appeared. Perry was sober.
Narayanan didn't want to speculate whether the computer got that one wrong, but he said hopefully by the time the next presidential election rolls along, they'll be absolutely sure.
More from USC News: The Computer Says He Sounds Drunk
blog comments powered by Disqus
Enjoy Off-Ramp? Try KPCC's other programs.
What's popular now on KPCC


text:
Translate Cancer | into French | into Spanish 1 Astronomy a constellation (the Crab), said to represent a crab crushed under the foot of Hercules. It is most noted for the globular star cluster of Praesepe (the Beehive cluster).
(as genitive Cancri
/ˈkaNGkrē/) used with a preceding letter or numeral to designate a star in this constellation:the star Delta Cancri
2 Astrology the fourth sign of the zodiac, which the sun enters at the northern summer solstice (about June 21).
) a person born when the sun is in the sign of Cancer.


text:
Were UK rules on SRM relaxed to bring them into line with EU rules?
A. In order to comply with Decision 2000/418, the UK with effect from 01 October removed thymus and intestine of bovines aged 6 months or under from the definition of SRM in our national SRM controls.
SEAC considered the Commission's proposals for a Decision on SRM at its meeting on 11 May. The Committee welcomed the proposals and agreed they would represent a significant step forward even though they would require some adjustments to the present UK SRM controls. On balance, the Committee felt that the benefit of introducing SRM controls across the EU would outweigh the slight increase in risk that may arise from any consequential change to the UK controls.
Have there been any further changes to the definitions of SRM?
A. Yes. Following further scientific advice from the SSC, the Commission adopted Decision 2001/2 on the 27 December designating the intestines of bovine animals of all ages as SRM from the 01 January 2001 in all Member States.
Q. Has this change been adopted into UK law?
A. Yes. This has now been transposed into domestic legislation in the Specified Risk Material (England) Amendment (No.3) Order and the Specified Risk Material (England) Amendment (No.2) Regulations.
Q. How can we be sure that the current list of SRM tissues removes all BSE risk?
A. The SRM controls have been regularly reviewed and strengthened on the basis of developing scientific evidence by SEAC. In December 2000 the Food Standards Agency published a review of BSE controls which recommended that the current rules on SRM should be retained in their current form.
Q. What happens to the SRM after removal and how do we know it is disposed of safely?
A. Once SRM has been removed from the carcase and stained in accordance with the Specified Risk Material Regulations 1997 it must be sent without unreasonable delay directly to an approved premises. The types of premises which may be approved include collection centres, incinerators and rendering plants.
The Regulations apply strict rules on the handling, storage and treatment of SRM at these premises. SRM must be disposed of by prescribed and controlled methods which include rendering or incineration. The controls extend to the products of rendering - protein and tallow - which may be disposed of by burial at a licensed landfill site, incineration or other approved method.
It is a problem in that initially it was difficult to find adequate incineration plants for the MBM that was produced after rendering. Howerver, at least in the UK, all that is produced is then incinerated.
When and why were controls for Specified Bovine Material (SBM) first introduced?
A. Controls prohibiting the use of certain bovine offals in human food were first introduced in November 1989, following scientific advice on tissues which were known to, or might potentially, harbour detectable BSE infectivity in infected animals. These tissues - now known as Specified Risk Material (SRM) - originally comprised the brain, the spinal cord, the spleen, the thymus, the tonsils and the intestines of bovine animals aged six months or over.
Q. When and why were these controls extended to cover Sheep and Goat Material?
A. SEAC, (the Spongiform Encephalopathy Advisory Committee) first reported to the Government the potential risk to human health from TSEs in sheep in July 1996. The report focused mainly on the possibility that BSE could be transmitted to sheep. SEAC recommended that the Government give early consideration to removing the brains of sheep, from any source, aged over six months from the human food chain.
Legislation to implement this recommendation was introduced in September 1996, and banned the use of heads from sheep and goats of all ages (with the exception of animals born, reared and slaughtered in Australia or New Zealand).


text:
How to show image linked to the list element
For example, if you want to show the linked image and text for the selected item:
To create a drop-down list with linked images, do the following:
I. Create a drop-down list from your data (see Creating a drop-down list in a cell for more details):
In this example the drop-down list was created in the List sheet:
II. To show the linked picture of the selected item, do the following:
1. Create the name range of pictures:
1.1. On the Formulas tab, in the Defined Names group, click Define Name (see Creating and using named ranges for more details):
1.2. In the New Name dialog box:
- In the Name field, enter the name of this new range, for example, Pictures,
- In the Refers to field, enter the formula:
= INDEX (, MATCH (, , 0))
In this example:
= INDEX (Data!$C$3:$C$7, MATCH (List!$B$3, Data!$B$3:$B$7, 0))
2. Select any picture and copy it by doing one of the following:
- On the Home tab, in the Clipboard group, click the Copy button:
- Right-click in the selection and choose Copy in the popup menu,
- Click Ctrl+C.
3. Select the cell where you want to show the linked picture.
4. On the Home tab, in the Clipboard group, click on the Paste list and then choose one of the options:
- Keep Source Formatting:
5. Select the pasted picture and in the Formula Bar type the name of your range (in this example, Pictures):
III. To show the linked text of the selected item, do the following:
On the appropriate cell, where you want to see the linked text, enter the following formula:
= VLOOKUP (, , , )
Where should be:
- TRUE, if items in your table are sorted,
- FALSE, if items should find an exact match.
In this example:
= VLOOKUP (B3, Data!$B$3:$D$7, 3, FALSE)
See also this tip in French: Comment afficher l'image liée à l'élément de liste.


text: Abstract: We describe case studies of clinically significant changes in sedentary behavior of older adults captured with a novel computer vision algorithm for depth data. An unobtrusive Microsoft Kinect sensor continuously recorded older adults' activity in the primary living spaces of TigerPlace apartments. Using the depth data from a period of ten months, we develop a context aware algorithm to detect person-specific postural changes (sit-to-stand and stand-to-sit events) that define sedentary behavior. The robustness of our algorithm was validated over 33,120 minutes of data for 5 residents against manual analysis of raw depth data as the ground truth, with a strong correlation (r=0.937, p<0.001) and mean error of 17 minutes/day. Our findings are highlighted in two case studies of sedentary activity and its relationship to clinical assessments of functional decline. Our findings show strong potential for future research towards a generalizable platform to automatically study sedentary behavior patterns with an in-home activity monitoring system.


text:
Along the northern bank of the Tagus River lies this large stone monument celebrating Portugal's Age of Discovery and sitting on the location that ships bound for Asia used to depart from in the 15th and 16th centuries. It was constructed for the Portuguese World Fair in 1940, inaugurated in 1960 upon the anniversary of Henry the Navigator's death, and has been a Cultural Center of Discovery since 1985. The monument depicts 33 sculpted historical figures including explorers, monarchs, artists and missionaries, all led by Henry the Navigator at the front. The figures are spread along both sides of a ship, intentionally looking forward and facing the sea.
Outside of viewing the monument itself, there is a large marble wind rose embedded in the pavement containing a world map that illustrates the locations of Portugal's various explorations. There is also a museum with exhibition rooms in the monument, with panoramic views of Lisbon and the Tagus River from its rooftop.


text:
June 21, 2021
Across its 11-state footprint, American Electric Power practices environmental stewardship to preserve the natural ecosystems where we live and operate.
Pollinators, like birds, bees, butterflies and other creatures, help more than 80% of the world's flowering plants reproduce. They play a pivotal role in creating healthy ecosystems, while also ensuring agricultural crops flourish. AEP and our employees are dedicated to maintaining and creating habitats for these crucial species.
In early 2020, we received the first Pollinator Electric Power Award from the North American Pollinator Protection Campaign (NAPPC). We were recognized for studying the substitution of native vegetation in place of traditional grasses to establish and maintain prairie habitat on typical transmission line upgrades. Native seed mixes developed for AEP's research projects include a variety of plants that attract pollinator species and support wildlife.
Learn more about our commitment to environmental stewardship.
Other Featured Stories
November 17, 2021
The Power of Helping One
Two employees recount stories of engaging with customers with compassion and determination as they worked to restore power after storms.
November 12, 2021Read more


Difference between revisions of "Usage Scenarios"
From Linux-VServer
Jump to: navigation, search
(Fail-over Scenarios)
(+{{Languages|Usage Scenarios}})

(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Languages|Usage Scenarios}}
 +

For many people, virtual server may look like a great toy: Very high geekness factor. It looks cool, but probably not for everyone. '''Wrong!'''

For many people, virtual server may look like a great toy: Very high geekness factor. It looks cool, but probably not for everyone. '''Wrong!'''

Line 20: Line 22:

* Unreachable from the network.

* Unreachable from the network.
* Able to log messages from the virtual server in a secure way. The virtual server would be unable to change/erase the logs. Even a cracked virtual server would not be able the edit the log.
+
* Able to log messages from the virtual server in a secure way. The virtual server would be unable to change/erase the logs. Even a cracked virtual server would not be able to edit the log.

* Able to run intrusion detection facilities, potentially spying the state of the virtual server without being accessible or noticed. For example, tripwire could run there and it would be impossible to circumvent its operation or trick it.

* Able to run intrusion detection facilities, potentially spying the state of the virtual server without being accessible or noticed. For example, tripwire could run there and it would be impossible to circumvent its operation or trick it.

Line 108: Line 110:

* [[Overview]]

* [[Overview]]
 +
 +
[[Category:Documentation]]
 +
[[Category:Community]]
 +
[[Category:Categories]]
Latest revision as of 22:56, 21 October 2011
For many people, virtual server may look like a great toy: Very high geekness factor. It looks cool, but probably not for everyone. Wrong!
The primary goal of this project is to create virtual servers sharing the same machine. A virtual server operates like a normal Linux server. It runs normal services such as ssh, mail, web and database servers.
Contents
[edit] Consolidation and Separation
As the hardware evolves, it is tempting to put more and more tasks on a server. Though Linux could reliably handle it, at some point, you will end up with too much stuff and people fiddling in the same box that you worry about updating things. Additionally, separating different or similar services which otherwise would interfere with each other, either because they are poorly designed or because they are simply incapable of peaceful coexistence for whatever reason, may often be complex or even impossible.
The Linux-VServer project addresses this issue. The same box is able to run multiple virtual servers and each one does the job it is supposed to do. If you need to upgrade to PHP 5 for a given project, you can do so, and only that one project is affected.
Also, you can give the root password of a virtual server to an administrator for that virtual server and he/she will be able to perform updates, restart services and so on without having to know about every other project hosted on the same server. This allows a clever provider to sell Virtual Private Servers, which uses less resources than other virtualization techniques, which in turn allows to put more units on a single machine.
The list of providers doing so is relatively long, and so this is rightfully considered the main area of application. See VServer Hosting for a (probably incomplete) list of companies providing Virtual Private Servers based on the Linux-VServer technology.
[edit] Enhancing Security
While it can be interesting to run several virtual servers in one box, there is one concept potentially more generally useful. Imagine a physical server running a single virtual server. The goal is isolate the main environment from any service, any network. You boot in the main environment, start very few services and then continue in the virtual server.
The service in the main environment would be:
 - Unreachable from the network.
 - Able to log messages from the virtual server in a secure way. The virtual server would be unable to change/erase the logs. Even a cracked virtual server would not be able to edit the log.
 - Able to run intrusion detection facilities, potentially spying the state of the virtual server without being accessible or noticed. For example, tripwire could run there and it would be impossible to circumvent its operation or trick it.
Another option is to put the firewall in a virtual server, and pull in the DMZ, containing each service in a separate VPS. On proper configuration, this setup can reduce the number of required machines drastically, without impacting performance.
[edit] Resource Independence
Since virtual servers are only guests on the hardware they are using, they are not aware of the specifics: they do not contain disk configurations, kernels or network configurations.
One key feature of a virtual server is the independence from the actual hardware. Most hardware issues are irrelevant for a virtual server installation.
The main server acts as a host and takes care of all the details. The virtual server is just a client and ignores all the details. As such, the client can be moved to another physical server with very few manipulations.
For example, to move the virtual server from one physical computer to another, it sufficient to do the following:
 - shutdown the running server
 - copy it over to the other machine
 - copy the configuration
 - start the virtual server on the new machine
No adjustments to user setup, password database or hardware configuration are required, as long as both machines are binary compatible.
Thus, once you have found that a project is using more resource than expected, you can easily move it to another box without tinkering around in hardware configuration files. A virtual server is just a directory on the filesystem of host system.
[edit] Fail-over Scenarios
Pushing the limit a little further, replication technology could be used to keep an up-to-the-minute copy of the filesystem of a running virtual server. This would permit a very fast fail-over if the running server goes offline for whatever reason.
All the known methods to accomplish this, starting with network replication via rsync, or drbd, via network devices, or shared disk arrays, to distributed filesystems, can be utilized to reduce the down-time and improve overall efficiency.
[edit] Experimenting and Upgrading
If you intend to upgrade a system to get new features or security updates, you probably first test the new packages on the development machine, before you are ready to update the production server. Having some experience you do it properly:
 - Doing a backup of the server
 - Perform all the upgrades and install the new applications
Two hours later you realise that something does not work as expected. To make it worse, it works fine on the development machine. We have all experienced this.
Another solution to this problem would be to install the new production server on new hardware, but this is not as easy, as you have to clone the first server (most people are not comfortable doing this) or you do not have the hardware.
Using virtual servers, all this is very easy:
 - Stop the virtual server in production
 - Make a copy of the virtual server
 - Perform the upgrades in the new virtual server
To get back to our example above, two hours later you realise that something does not work as expected and you cannot immediately fix it.
Again, using virtual servers, the (temporary) solution to this problem is very easy:
 - Stop the new virtual server and assign it a new IP address
 - Start both the old and new virtual server
Now the old one is still online and you can track down the issues on your new virtual server using a different IP address, fix the problem and reassign the old IP address to the new virtual server.
[edit] Distribution Independence
People are often talking about their preferred distribution. Should one use Fedora, Debian or something else? Should one give a spin to the latest and greatest distribution just for the sake of it?
With virtual servers, the choice of a distribution is less important. When you select a distribution, you expect it will do the following:
 - Good hardware support/detection
 - Good package technology/updates
 - Good package selection
 - Reliable packages
The choice is important because every service running on a box will be using the same distribution. Most distributions out there are good and reliable. Still each one has its peculiarities and probably flaws. For example, one distribution is doing a great job on security but is not delivering the latest and greatest PHP. Now because you have decided to use this distribution for some projects, using virtual servers does not prevent you from using another distribution for other projects or even a second virtual server for existing projects.
[edit] Other considerations
 - Virtual Private Servers are running on the same kernel as the host: Unlike other VM solutions, Linux-VServer does not require additional memory or processing power, in fact it may even reduce used memory due to the fact that multiple virtual servers may share the same files.
 - There are no special daemons running: A VPS running crond, sshd, httpd and sendmail uses the same resources as a normal Linux server running these services.
 - No pre-allocated disk space needed: A VPS generally shares the disk space with the host system, so there is no need to pre-allocate disk space for each virtual server to find out later that your disk is full, yet each VPS is using only a tiny portion of their allocated space.
 - Resource sharing: Since virtual servers can share binaries and libraries without interfering, a second VPS generally costs


is "no". Time to test Node 5.
 quadfig10.gif
 Figure 10
 [size="3"]Test 4
 This time, the camera is within Node 5's bounding coordinates, so we test its children. I've named Node 5's four children A, B, C and D for clarity. Time to test Node 5's first child. "Is camera within Node A's bounding coordinates?". Looking at Figure 10, we can see that it isn't, so we'll dismiss Node A and its children.
 quadfig11.gif
 Figure 11
 [size="3"]Test 5
 Now let's test Node 5's second child. "Is camera within Node B's bounding coordinates?". Looking at figure 11, we can see that it doesn't, so we'll dismiss Node B and its children.
 quadfig12.gif
 Figure 12
 [size="3"]Test 6
 Right, let's test Node C, Node 5's third child. "Is the camera within Node C's bounding coordinates?". 'Course it's not, so let's just rid ourselves of node C altogether.
 quadfig13.gif
 Figure 13
 [size="3"]Test 7
 Ok, it has to be in Node D. "Is the camera within Node D's bounding coordinates?" "Yes, yes it is." Finally. Now all we have to do is test all of Node D's children (groan). Well, I'm gonna stop here. Think of working the rest out as an exercise :). For your information, there are 16 more tests, resulting in 5 cells being visible. Let's total up the number of tests. 7 + 16 = 23. We've gone from 256 tests to 23 (22 really, as it wasn't worth testing the root. The camera must lie within the root, else nothing would be visible). With a quadtree, we've done approx. 11.6% of the work of the previous method of testing every cell/leaf. By now you should have a firm understanding of the theory of quadtrees, so put on your coding socks, because were going to make one. Not so fast, Sonny Jim. We'll just summarize what we've talked about:
 A quadtree is used to dismiss large chunks of terrain at a time. If an apple is on a tree's leaf, chopping off the branches the apple is nowhere near saves you looking on every leaf.
 [size="5"]Putting it Together: Coding a Quadtree
 Before we go any further, I advise those who are unsure about Indexed Lists to read through my tutorial here.
 So, now we've got the theory under our belt. How do we put it together? We will need:
 - A structure to hold our Quadtree data
 - A function to create the tree
 - A structure to hold triangle datatypedef struct node
 {
 int bType;
 VERTEX vBoundingCoordinates[4];
 unsigned int uiBranches[4];
 unsigned int uiVertexStrip1[8];
 unsigned int uiVertexStrip2[8];
 unsigned int uiVertexStrip3[8];
 unsigned int uiVertexStrip4[8];
 unsigned int uiID;
 unsigned int uiParentID;
 }NODE;
 The variable bType tells us what type this node is. It can either be NODE_TYPE or LEAF_TYPE. If we are drawing our tree (terrain), it is used as a flag to tell the program to either stop and draw some triangles (LEAF_TYPE) or carry on reading through the tree (NODE_TYPE).
 Next is an array of 4 vertices. These hold the node's bounding coordinates. The layout for the structure VERTEX is as follows:
 typedef struct vertex
 {
 float x,y,z;
 }VERTEX;
 Now we have an array called uiBranches. This is an array of four indexes to the quadtree array. These indexes are the 'children' of the node. If the bType is LEAF_TYPE, this isn't used.
 As we said each leaf would hold 16 triangles, we have 4 arrays, named uiVertexStrip1 to uiVertexStrip 4. Each of these arrays holds 4 indexed triangles in the form of a triangle strip. In this tutorial, we won't be using these, so we won't go into detail about them (it also saves me an explanation).
 The variable uiID holds the nodes ID in the quadtree. As I said before, the quadtree is just an array of nodes. The ID is just an index in that array.
 Then we have our last variable, the uiParentID. This is the ID (index) of the parent. This, coupled with the uiBranches array, lets us navigate our way round the tree, by jumping from node to node. At any given node, we can go to its parent or its children, which, if we follow the tree, will take us to the root, or all of the leaves.
 NODE *pNodeList;The line above creates a pointer structure called pNodeList. It can be called anything. Basically, it is our quadtree. Note: we'll use array element pNodeList[0] as our root.
 quadcode1.gif
 Formula 1
 The above formula gives us the number of leaves. The Leaf Width is the number of triangles across in each leaf. As we said each leaf will be one cell by one cell, we also said each cell contains 16 triangles. In our case, seeing as cells are 16x16 triangles, the Leaf Width will be 4. Grid Width is the width of the grid in triangles. As each cell is 4 triangles across, 16 cells x 4 is 64. To find out the total number of nodes in the tree, we call the function CalcNodeNum. Below is the function CalcNodeNum:
 unsigned int CalcNodeNum(unsigned int max,unsigned int min)
 {
 int ctr=0;
 int var = 0;
 while(var==0)
 {
 ctr+=max;
 max=max/min;
 if(max==1)
 {var=1;}
 }
 ctr++;
 return ctr;
 }
 Here, CalcNodeNum takes two parameters: the total number of leaves (max), and the leaf width (min). In our case, the leaf width is 4 triangles. The total number of leaves was obtained in the previous formula. What CalcNodeNum does is keep on dividing the grid by min to get the total number of leaves. Step through the function to understand it better. So, let's get the next bit of code done:
 unsigned int Temp =(GridWidth/4)*(GridWidth/4);
 unsigned int Temp2 = CalcNodeNum(Temp,4);
 pNodeList = (NODE*)malloc(sizeof(NODE)*Temp2);
 Ok. The first line uses Formula 1 to calculate the total number of leaves. The second line stores the total number of nodes in an unsigned integer called Temp2. The third line allocates memory for pNodeList. We typecast the function "malloc" with our structure "NODE". Then, we allocate memory for Temp2 nodes by multiplying the number of nodes by the size of the NODE structure. For more information, check out the "malloc" and "sizeof" functions in your compiler's help file. Now that we've calculated the number of nodes and allocated memory for our quadtree, let's call our quadtree creation function.
 But first, let's lay the foundation knowledge for recursive code. We'll use a number counter as an example. If we want to display the numbers 1 to 10, we could do this:
 void Count(int num)
 {
 cout< }
 void main()
 {
 Count(0);
 Count(1);
 Count(2);
 Count(3);
 Count(4);
 Count(5);
 Count(6);
 Count(7);
 Count(8);
 Count(9);
 return;
 }
 But as you know, that would be tedious every time we wanted to count with numbers. So, the natural progression would be something like so:
 for(int ctr=0;ctr<10;ctr++)
 {
 Count(ctr);
 }
 Although there is nothing wrong with the above code, using it for our quad-tree would be a real nightmare. This would involve having lots of temporary values and it would take a lot of time to get right. You'll understand why once we've coded our quadtree. In the above code, we have actually implicitly called Count 10 times ourselves. If we wanted to call it 20 times, we would have to explicitly tell the 'for' statement 20 times. Recursive code needs only be called once. There is no need for 'for' or 'while' statements. The reason is that we call the recursive function, and it calls itself however many times we tell it to. So, to the code:
 void Count(int num)
 {
 static int ctr = 0;
 if(ctr>num)
 {return;}
 else
 {


The Inventor
Survival. Brilliance. Obsession. The untold story of modern medicine.
The Inventor is a true story inspired by the life of Herman Margulies, a brilliant, but obstinate holocaust survivor who leaves Poland in search of a better life in the United States. With an unwavering spirit of hope, he overcomes the pain of his past and builds an accomplished, yet un-applauded career as an inventor, revolutionizing modern medical devices. Later, he pursues his passion as an artist, and despite his professional success, his personal life is overshadowed by eccentricities and his obsessive lifestyle with the women he loved.
In the end, will his obsession outweigh his wisdom?
In pre-production in association with CALIFORNIA PICTURES
Abandoned, inspiration behind The Inventor
"No matter what you do, do it with a passion" Herman Margulies


Skip to end of metadata
Go to start of metadata
This page takes you through the general steps for upgrading product versions based on Carbon 4.4.6 to Carbon 4.4.7.
Preparing to Upgrade
The following are the specific prerequisites you must complete before an upgrade:
 - Before you upgrade to the latest version of a product, you create a staging database, which is essentially an empty database. Note that you should NOT connect a new product version to an older database that has not been upgraded.
 - Make a backup of the database and the directory prior to upgrading. The directory can simply be copied to the new directory.
 - Stop all the Carbon servers connected to the database before running the migration scripts.
 Note that the upgrade should be done during a period when there is low traffic on the system.
 - This upgrade can only be done if the database type is the same. For example, if you are using MySQL currently and you need to migrate to Oracle in the new version, these scripts will not work.
 - You cannot roll back an upgrade. It is impossible to restore a backup of the previous server and retry the upgrade process.
The downtime is limited to the time taken for switching databases when the staging database is promoted to the actual production status.
Upgrading the configurations
There are no database changes between Carbon 4.4.6 to Carbon 4.4.7. Therefore, only the new configuration options in Carbon 4.4.7 should be updated for the new environment as explained below.
 1. Copy the data from the old database to the staging database you created. This becomes the new database for your new version of Carbon.
 2. Download Carbon 4.4.7 and connect it to your staging database.
 3. Update the configuration files in Carbon 4.4.7 as required.
 4. Copy the following directories from the old database to the staging database.
 1. To migrate the super tenant settings, copy the /repository/deployment/server directory.
 2. If multitenancy is used, copy the /repository/tenants directory.
 Note that configurations should not be copied directly between servers.
 5. Start the server.
Going into production
The following are recommended tests to run on the staging system.
 - No labels


Las Soldaderas
The Battlefield Heroines of the Mexican Revolution
Why Soldaderas
"La Adelita"
Historical Context
Roles of Las Soldaderas
Prominent Figures
Modern Day
Las Soldaderas were women "fighters" who made significant contributions to both the federal and rebel armies of the Mexican Revolution. Though few actually engaged in combat, their assistance to male soldiers in fighting the war were monumental. This website discusses in further detail the roles of Las Soldaderas; prominent female figures in the war; provides a historical context for the war effort; and discusses modern day ramifications of the efforts of Las Soldaderas.
Image Gallery Notes Bibliography American Culture 213 Home Page Credits


Avoid Common Pitfalls in Greasemonkey
Pages: 1, 2, 3, 4, 5
Pitfall #1: Auto-eval Strings
In places where you want to set up a callback function (such as window.setTimeout, to run a function after a delay), JavaScript allows you to define the callback as a string. When it's time to execute the callback, Firefox evaluates the string and executes it. This leads to our first pitfall.
Assuming a user script defines a function called my_func, this code looks like it will execute my_func() after a one-second delay:
window.setTimeout("my_func()", 1000);
This doesn't work in a Greasemonkey script; the my_func function will never execute. By the time the callback executes one second later, the user script and its entire sandbox have disappeared. The window.setTimeout function will try to evaluate the JavaScript code in the context of the page as it exists one second later, but the page doesn't include the my_func function. In fact, it never included the my_func function; that function only ever existed within the Greasemonkey sandbox.
This doesn't mean you can never use timeouts, though. You just need to set them up differently. Here is the same code, but written in a way that works in the context of a user script:
window.setTimeout(my_func, 1000);
What's the difference? The my_func function is referenced directly, as an object instead of a string. You are passing a function reference to the window.setTimeout function, which will store the reference until it is time to execute it. When the time comes, it can still call the my_func function, because JavaScript keeps the function's environment alive as long as something, somewhere, is holding a reference to it.
Pitfall #2: Event Handlers
Another common pattern in JavaScript is setting event handlers, such as onclick, onchange, or onsubmit. The most common way to set up an onclick event handler is to assign a string to an element's onclick property:
var elmLink = document.getElementById('somelink');
elmLink.onclick ='my_func(this)';
This technique fails in a user script for the same reason the first window.setTimeout call failed. By the time the user clicks the link, the my_func function defined elsewhere in the user script will no longer exist.
OK, let's try setting the onclick callback directly:
var elmLink = document.getElementById('somelink');
elmLink.onclick = my_func;
This also fails, but for a completely different reason. The document.getElementById function returns an XPCNativeWrapper around an Element object, not the element itself. That means that setting elmLink.onclick to a function reference sets a property not on the element, but on the XPCNativeWrapper. With most properties, such as id or className, the XPCNativeWrapper will turn around and set the corresponding property on the underlying element. But due to limitations of how XPCNativeWrappers are implemented, this pass-through does not work with event handlers such as onclick. This example code will not set the corresponding onclick handler on the actual element, and when you click the link, my_func will not execute.
This doesn't mean you can't set event handlers; just that you can't set them in the obvious way. The only technique that works is the addEventListener method:
var elmLink = document.getElementById('somelink');
elmLink.addEventListener("click", my_func, true);
This technique works with all elements, as well as the window and document objects. It works with all DOM events, including click, change, submit, keypress, mousemove, and so on. It works with existing elements on the page that you find by calling document.getElementsByTagName or document.getElementById, and it works with new elements you create dynamically by calling document.createElement. It is the only way to set event handlers that works in the context in which user scripts operate.
Pages: 1, 2, 3, 4, 5
Next Pagearrow


Is it possible to assign a reference to "this" in java?
JavaObject Oriented ProgrammingProgramming
The "this" keyword in Java is used as a reference to the current object, within an instance method or a constructor. Using it, you can refer the members of a class such as constructors, variables, and methods.
Assigning reference to "this"
According to the definition "this" is a keyword which acts as a reference to the current object (the object from whose constructor/method you are using it), its value id is fixed. Therefore, you cannot assign a new reference value to it. Moreover, it is just a keyword, not a variable.
Still, if you try to it assign a reference value to "this" it leads to a compilation error.
In the following Java program, the class (ExampleClass) has two private variables name, age and, a parameterized constructor which instantiates these variables. From a method named display, we are trying to assign a new value to "this".
 Live Demo
public class ExampleClass {
 private String name;
 private int age;
 public ExampleClass(String name, int age){ = name;
 this.age = age;
 public void display(){
 this = new ExampleClass("krishna", 23);
Compile-time error
On compiling, this program gives you an error as shown below − error: cannot assign a value to final variable this
 this = new ExampleClass("krishna", 23);
1 error
Published on 02-Jul-2019 14:46:08


(possibly cast to some other type). As a special case, if __builtin_constant_p is the (potentially parenthesized) condition of a conditional operator expression ("?:"), only the true side of the conditional operator is considered, and it is evaluated with full constant folding.
 - __builtin_choose_expr: The condition is required to be an integer constant expression, but we accept any constant as an "extension of an extension". This only evaluates one operand depending on which way the condition evaluates.
 - __builtin_classify_type: This always returns an integer constant expression.
 - __builtin_inf, nan, ...: These are treated just like a floating-point literal.
 - __builtin_abs, copysign, ...: These are constant folded as general constant expressions.
 - __builtin_strlen and strlen: These are constant folded as integer constant expressions if the argument is a string literal.
The Sema Library
This library is called by the Parser library during parsing to do semantic analysis of the input. For valid programs, Sema builds an AST for parsed constructs.
The CodeGen Library
CodeGen takes an AST as input and produces LLVM IR code from it.
How to change Clang
How to add an attribute
Attributes are a form of metadata that can be attached to a program construct, allowing the programmer to pass semantic information along to the compiler for various uses. For example, attributes may be used to alter the code generation for a program construct, or to provide extra semantic information for static analysis. This document explains how to add a custom attribute to Clang. Documentation on existing attributes can be found here.
Attribute Basics
Attributes in Clang are handled in three stages: parsing into a parsed attribute representation, conversion from a parsed attribute into a semantic attribute, and then the semantic handling of the attribute.
Parsing of the attribute is determined by the various syntactic forms attributes can take, such as GNU, C++11, and Microsoft style attributes, as well as other information provided by the table definition of the attribute. Ultimately, the parsed representation of an attribute object is an ParsedAttr object. These parsed attributes chain together as a list of parsed attributes attached to a declarator or declaration specifier. The parsing of attributes is handled automatically by Clang, except for attributes spelled as keywords. When implementing a keyword attribute, the parsing of the keyword and creation of the ParsedAttr object must be done manually.
Eventually, Sema::ProcessDeclAttributeList() is called with a Decl and an ParsedAttr, at which point the parsed attribute can be transformed into a semantic attribute. The process by which a parsed attribute is converted into a semantic attribute depends on the attribute definition and semantic requirements of the attribute. The end result, however, is that the semantic attribute object is attached to the Decl object, and can be obtained by a call to Decl::getAttr<T>().
The structure of the semantic attribute is also governed by the attribute definition given in Attr.td. This definition is used to automatically generate functionality used for the implementation of the attribute, such as a class derived from clang::Attr, information for the parser to use, automated semantic checking for some attributes, etc.
include/clang/Basic/Attr.td
The first step to adding a new attribute to Clang is to add its definition to include/clang/Basic/Attr.td. This tablegen definition must derive from the Attr (tablegen, not semantic) type, or one of its derivatives. Most attributes will derive from the InheritableAttr type, which specifies that the attribute can be inherited by later redeclarations of the Decl it is associated with. InheritableParamAttr is similar to InheritableAttr, except that the attribute is written on a parameter instead of a declaration. If the attribute is intended to apply to a type instead of a declaration, such an attribute should derive from TypeAttr, and will generally not be given an AST representation. (Note that this document does not cover the creation of type attributes.) An attribute that inherits from IgnoredAttr is parsed, but will generate an ignored attribute diagnostic when used, which may be useful when an attribute is supported by another vendor but not supported by clang.
The definition will specify several key pieces of information, such as the semantic name of the attribute, the spellings the attribute supports, the arguments the attribute expects, and more. Most members of the Attr tablegen type do not require definitions in the derived definition as the default suffice. However, every attribute must specify at least a spelling list, a subject list, and a documentation list.
Spellings
All attributes are required to specify a spelling list that denotes the ways in which the attribute can be spelled. For instance, a single semantic attribute may have a keyword spelling, as well as a C++11 spelling and a GNU spelling. An empty spelling list is also permissible and may be useful for attributes which are created implicitly. The following spellings are accepted:
Spelling Description
GNU Spelled with a GNU-style __attribute__((attr)) syntax and placement.
CXX11 Spelled with a C++-style [[attr]] syntax. If the attribute is meant to be used by Clang, it should set the namespace to "clang".
Declspec Spelled with a Microsoft-style __declspec(attr) syntax.
Keyword The attribute is spelled as a keyword, and required custom parsing.
GCC Specifies two spellings: the first is a GNU-style spelling, and the second is a C++-style spelling with the gnu namespace. Attributes should only specify this spelling for attributes supported by GCC.
Pragma The attribute is spelled as a #pragma, and requires custom processing within the preprocessor. If the attribute is meant to be used by Clang, it should set the namespace to "clang". Note that this spelling is not used for declaration attributes.
Subjects
Attributes appertain to one or more Decl subjects. If the attribute attempts to attach to a subject that is not in the subject list, a diagnostic is issued automatically. Whether the diagnostic is a warning or an error depends on how the attribute's SubjectList is defined, but the default behavior is to warn. The diagnostics displayed to the user are automatically determined based on the subjects in the list, but a custom diagnostic parameter can also be specified in the SubjectList. The diagnostics generated for subject list violations are either diag::warn_attribute_wrong_decl_type or diag::err_attribute_wrong_decl_type, and the parameter enumeration is found in include/clang/Sema/ParsedAttr.h If a previously unused Decl node is added to the SubjectList, the logic used to automatically determine the diagnostic parameter in utils/TableGen/ClangAttrEmitter.cpp may need to be updated.
By default, all subjects in the SubjectList must either be a Decl node defined in DeclNodes.td, or a statement node defined in StmtNodes.td. However, more complex subjects can be created by creating a SubsetSubject object. Each such object has a base subject which it appertains to (which must be a Decl or Stmt node, and not a SubsetSubject node), and some custom code which is called when determining whether an attribute appertains to the subject. For instance, a NonBitField SubsetSubject appertains to a FieldDecl, and tests whether the given FieldDecl is a bit field. When a SubsetSubject is specified in a SubjectList, a custom diagnostic parameter must also be provided.
Diagnostic checking for attribute subject lists is automated except when HasCustomParsing is set to 1.
Documentation
All attributes must have some form of documentation associated with them. Documentation is table generated on the public web server by a server-side process that runs daily. Generally, the documentation for an attribute is a stand-alone definition in include/clang/Basic/AttrDocs.td that is named after the attribute being documented.
If the attribute is not for public consumption, or is an implicitly-created attribute that has no visible spelling, the documentation list can specify the Undocumented object. Otherwise, the attribute should have its documentation added to AttrDocs.td.
Documentation derives from the Documentation tablegen type. All derived types must specify a documentation category and the actual documentation itself. Additionally, it can specify a custom heading for the attribute, though a default heading will be chosen when possible.
There are four predefined documentation categories: DocCatFunction for attributes that appertain to function-like subjects, DocCatVariable for attributes that appertain to variable-like subjects, DocCatType for type attributes, and DocCatStmt for statement attributes. A custom documentation category should be used for groups of attributes with similar functionality. Custom categories are good for providing overview information for the attributes grouped under it. For instance, the consumed annotation attributes define a custom category, DocCatConsumed, that explains what consumed annotations are at a high level.
Documentation content (whether it is for an attribute or a category) is written using reSt


text:
Meter for hydraulic power made by Manchester Corporation Waterworks, made around 1920.
From 1894 to 1972, Manchester had a hydraulic power network. Water was pumped to high pressure and delivered to customers using a network of thick iron pipes. Massive meters capable of withstanding the high pressure of the water recorded how much water was used by each customer, so they could be charged accordingly, just like an electricity meter today. The meters were locked and only a Manchester Corporation Waterworks employee could access them.


Montana Fare (No. 407)
First Aired Monday, November 02, 2009
How do Americans decide what food to eat? Examine contemporary food culture in rural Montana through the eyes of two women who try to feed their families while living 50 miles from the nearest grocery store. What is more important: quantity or quality, taste or price?


DataTransfer.mozSetDataAt()
Deprecated
This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
The DataTransfer.mozSetDataAt() method is used to add data to a specific index in the drag event's data transfer object.
A data transfer may store multiple items, each at a given zero-based index. mozSetDataAt() may only be called with an index argument less than mozItemCount in which case an existing item is modified, or equal to mozItemCount in which case a new item is added, and the mozItemCount is incremented by one.
Data should be added in order of preference, with the most specific format added first and the least specific format added last. If data of the given format already exists, it is replaced in the same position as the old data.
The data should be either a string, a Boolean or number type (which will be converted into a string) or an nsISupports.
Note
This method is Firefox-specific.
Syntax
void dataTransfer.mozSetDataAt([type], data, index);
Arguments
type
A string representing the type of the drag data to add to the drag data object.
data
A nsIVariant representing the data to add to the drag data object.
index
A unsigned long representing the index of the data to add.
Return value
void
Example
This example shows the use of the mozSetDataAt() method in a dragstart handler.
function dragstart_handler(event)
{
 var dt = event.dataTransfer;
 var idx = dt.mozItemCount;
 // Add two new items to the drag transfer
 if (idx >= 0) {
 dt.mozSetDataAt("text/uri-list","_URL_ idx);
 dt.mozSetDataAt("text/html", "Hello World", idx+1);
 }
}
Specifications
This method is not defined in any Web standard.
Browser compatibility
BCD tables only load in the browser
See also


Does cello play in alto clef?
Explanation: Music for the cello is primarily written in the bass clef, though the tenor clef is commonly seen in both solo and orchestral music. … The cello plays in all of them except the alto, which is the primary clef of the viola.
What are the 4 clefs?
In modern music, only four clefs are used regularly: treble clef, bass clef, alto clef, and tenor clef. Of these, the treble and bass clefs are by far the most common.
What is the range of a cello?
three octaves
Is it hard to learn the cello?
Is cello a bass or treble?
Music for the cello is generally written in the bass clef, with tenor clef and treble clef used for higher-range passages. Played by a cellist or violoncellist, it enjoys a large solo repertoire with and without accompaniment, as well as numerous concerti.
What are the cello notes?
You might be interested: How is a cello tuned
Is the fifth line at the bottom or top of the staff?
The lines and spaces are numbered from bottom to top; the bottom line is the first line and the top line is the fifth line. The musical staff is analogous to a mathematical graph of pitch with respect to time. Pitches of notes are given by their vertical position on the staff and notes are played from left to right.
Why is bass clef different than treble?
In the treble clef, G is second from the bottom while F is the top line. In the bass clef, F is the second line from the top and G is the bottom line. … Visually, the separation of the two clefs makes playing with the left (bass clef) and right hand (treble clef) easier to read.
Why does Alto Clef exist?
Why does the alto clef exist? Historically, the Alto Clef was originally used to reduce the need for ledger lines when writing out the music for alto singers in choirs. This is because the pitch range of an alto occupies an awkward range of notes that sits between the Treble Clef and Bass Clef staves.
What is the hardest instrument to play?
Here are the hardest and easiest instruments to learn:
 1. Violin. The hardest instrument on the list. …
 2. Organ. …
 3. French horn. …
 4. Accordion. …
 5. Harp. …
 6. Drums. …
 7. Guitar. …
 8. Piano.
Why does the cello make me cry?
The cello can "sound sad" because of its low voice (pitch range). This allows composers to feature this stellar instrument in "sad songs, which tend toward lower pitch registers.
Leave a Reply


text:
Links and documents
1850/01/01 to 1900/01/01
Listed on the Canadian Register:
Statement of Significance
Description of Historic Place
The First and Second Street Heritage Conservation District is bounded by Allan Street, Second Street, Lakeshore Road East and Lake Ontario, in the Town of Oakville. The Heritage Conservation District consists of 69 one to two-and-a-half-storey residences that were built in Oakville's first development stage from 1850 until 1900, and during the second wave of development between 1900 and 1930.
The property was designated by the Town of Oakville in 1987 for its heritage value under Part V of the Ontario Heritage Act (By-law 1987-108).
The First and Second Street Heritage Conservation District is associated with the settlement and development of the Town of Oakville. The Town is the only privately developed port on Lake Ontario. William Chishlom, the founder of Oakville, purchased a 960 acre tract of land at the mouth of 16 Mile Creek, personally financed the development of the harbour and laid out a town survey. The first survey was completed in 1833 and included the area from 16 Mile Creek east to Allan Street. William Chisholm received a further land grant for his services in the War of 1812. This land lay east of Allan Street and was later sold to William Francis Romain, a prominent grain merchant. Romain surveyed the area in 1855 which was then quickly settled due to the rapid population growth in the area resulting from the promising railway development. The new residential area was later expanded by Thompson Smith, a wealthy lumber merchant.
The First and Second Street Heritage Conservation District remains relatively unaltered and provides an outstanding example of the architectural styles at the height of the Town's expansion. The area was developed in two stages, the first from 1850 until 1900 when most of the significant buildings were constructed and then between 1900 and 1930 when infill was created in the established neighbourhood to provide cottages for businessmen from Toronto. The district exhibits several architectural styles including Italianate, Shingle Style, Bungalow and Tudor Revival. This variety in styles represents the stages of developments and the distribution of wealth in the area.
Sources: Town of Oakville By-law 1987-108; First and Second Streets Heritage Conservation District Plan, 1991.
Character defining elements that contribute to heritage value of the First and Second Street Heritage Conservation District include its:
- proximity to Lake Ontario and the original settlement area
- proximity to the downtown commercial core
- one to two-and-a-half-storey residential buildings
- range of architectural styles including Italianate, Bungalow and Tudor Revival
- mature vegetation
Local Governments (ON)
Ontario Heritage Act
Heritage Conservation District (Part V)
1900/01/01 to 1930/01/01
Theme - Category and Type
- Peopling the Land
Function - Category and Type
Architect / Designer
Location of Supporting Documentation
Town of Oakville
1225 Trafalgar Road
Cross-Reference to Collection


text:
The white moss (Leucobryum glaucum)? Surely it is green? You actually need to see this moss close up to see why it is called white moss. The shoots are actually different colours, some are a dirty white, some a glaucous colour (see the glaucum in the scientific name) and some are pale green. From a distance it looks green but close up it looks more white.
This is a common moss in acid conditions, especially on damp soils in woods, heaths and bogs; the soil must be bare and very acidic. It forms tufted mats of closely packed shoots and it is sometimes called the pin cushion moss for this very reason. In favourable conditions these mats can be quite large and cover earth, logs, stumps and even tree trunks. It is very distinctive and cannot really be mistaken for any other moss species which, in moss identification, is a real treat for the novice!.


text:
Fellowship / research funding
Competitive Scholarships and Awards
Descriptions of Laurier's competitive scholarships and awards opportunities are listed on the Student Awards Search Engine. Each description will indicate if it is an award or a scholarship as well as the eligibility criteria for each.
What are Competitive Scholarships and Awards?
Competitive awards are granted to students who submit their student profile on LORIS and who best meet the specific eligibility criteria for each award opportunity. Competitive scholarships are available to all students in any year of study including numerous opportunities available to first-year students.
A competitive scholarship is granted for outstanding academic achievement and factors such as extracurricular activities or volunteer work may also be considered.
An award is granted on a competitive basis for a combination of academic achievement and participation in extracurricular activities such as volunteer work or involvement in sports or clubs. Recipients of awards must always demonstrate financial need.
The online general student profile to apply for competitive scholarships and awards is made available each year in the summer (check your Laurier email for notices). The application deadline is typically late September of each year.
An endowed scholarship is granted from investment income generated by the original gift to the university. An annual scholarship is paid directly by the donor to the university on an annual basis.
The university reserves the right not to grant a specific scholarship if no eligible applicants are identified.
The stated value of scholarships is subject to change.
Scholarships offered by the university are tenable only at Laurier.
Opportunities which are listed on the website that are identified as being "endowed" (see under the description of each opportunity) are financed by investment income generated by gifts to the university. The university will grant up to a maximum of 4% of the value of these endowments depending upon the amount of interest income generated on an annual basis.
Consequently, these opportunities may or may not be available during any particular academic year due to the nature of financial markets. Any values which may quoted for these opportunities on the website represent the maximum amounts that may be available, not the actual amounts that will ultimately be granted.
Pauline Spencer Award for Community-Building at Laurier
This award is for a full-time senior undergraduate student who is actively working for the betterment of the university community through meaningful involvement in campus activities. The award can be granted to a student in any program at the Waterloo campus who is a Canadian citizen, permanent resident (landed immigrant) or protected person and who is also a long-term resident of Ontario. The student must have a minimum cumulative GPA of 8.0 and proven financial need.
Brantford Campus Office


@article{Iliev_Hristov_2024, place={Rezekne, Latvia}, title={MODELLING AND SIMULATION OF DYNAMIC PROCESSES OF PNEUMATIC LINES}, volume={3}, url={_URL_ DOI={10.17770/etr2023vol3.7190}, abstractNote={The paper presents the simulation of dynamic processes of pneumatic lines using the program "SIMULINK" from the product " MatLab". Simulation is a process of forming, preparing and entering a mathematical model in a computational environment and obtaining the results of the calculations performed in this environment. The mathematical model of the pneumatic line to be simulated is according to previously presented equations. For the simulation of the dynamic processes, various real parameters of the dimensions and lengths of the pneumatic lines with the corresponding coefficients are introduced into the model. The simulation of the transient responses was carried out with stepwise variation and sinusoidal input signal supplied by the set point device and pneumatic line lengths of 1 m, 5 m and 10 m. The simulation output data were output to the interface in the form of graphs showing the dependence of the observed quantities, the input and output pressure through the pneumatic line, and the input and output flow rates. From the mathematical model and the experiments performed, it can be concluded that the transient responses in the simulations correspond to the dynamic processes of pneumatic lines of different lengths.}, journal={ENVIRONMENT. TECHNOLOGIES. RESOURCES. Proceedings of the International Scientific and Practical Conference}, author={Iliev, Georgi and Hristov, Hristo}, year={2024}, month={Jan.}, pages={112–118} }


text:
Simple Batik Instructions
Batik Instructions for Soy Wax
By: Colorado Wholesale Dye
These are simple instructions with soy wax and pipettes. This method won't work with other waxes as they have higher melting points and require other methods of removal. The proper way to batik is with a batik pen (a Tjanting Tool) but this works just as well if you don't have one available.
What you need:
-Soy Wax -Dye
-Pipettes -Dye Fixer (Soda Ash)
- Melt the wax. Soy wax has a low melting point so it can be melted in the microwave or in a double boiler with some hot water.
2. Apply the wax to your fabric using a pipette. Use caution and gloves as Pipette will get hot from the wax and you don't want to get burned!
(Tip: Make sure to put cardboard or something between the fabric otherwise the wax will soak through and create a resist on the other side of the fabric as well)
3. Wait for the wax to dry completely.
4.Soak the fabric in dye fixer. Use warm water, but not too hot. If the water is to hot it could re-melt the wax and mess up your design.
5. Ring the fabric out and tie it up in the design you wish to achieve.
6. Dye the fabric and then let it sit for anywhere from 3 hours to 24 hours. The length of time you let it sit affects how easy the fabric is to wash out. The longer it is left alone the less loose dye will flow out and the shorter it will be to wash out.
7. Rinse the fabric under COLD running water. Keep rinsing until the water is flowing clear and all the loose dye is washed out.
8. When all the loose dye is rinsed out run the fabric under HOT running water. This will melt the wax and wash it away from the fabric. Do NOT rub the wax to help get it off, this will just spread the wax around and muddy up the design. Just let the hot water run over it and it will all wash away.
9. When the wax is all washed away, wash and dry the fabric as normal.