text:
How Endla's visualization software delivers value
Deep Insight Platform
Deep Insight is our Digital Twin and Auto-Design platform on which we build solutions to your problems.
Custom analytics, visuals and automation can be built by your own engineers or our team on top of the platform.
Deep Insight already has rich interactive visuals supporting surface and subsurface teams. It is secure (SOC 2 Type 2 certification), cloud first, and integrates with your organizations's single sign-on (SSO).
Deep Insight is the perfect location to build your custom solution.
Auto-Design & Optimization
Automating, optimizing and creating auto-design workflows for repeated processes is a key part of our mission. Implement an existing module on Deep Insight or work with us to build a new one to solve your specific problem.
- Do more with less
- Accelerate cost saving initiatives
- Optimize design & operation
- Identify & assess more uplift opportunities
- Shorten feedback loops
- Free Engineers from lower value tasks to tackle higher value problems
- Reduce admin tasks
- Focus on core competencies not software development
Integrated Asset Optimization Platform
Using its core design optimization algorithms and step change in performance from cloud compute Endla can help optimize field wide configuration of assets.
Combining physics based simulation with machine learning techniques
Optimally designing and operating complex systems requires digital models to explore and understand the solution space. The nodal nature of oil & gas developments results in a problem with huge number of configuration options.
We develop purpose specific modelling solutions utilising existing physics based simulation engines, machine learning and cloud computing to enable field wide optimization.
There are many opportunities for operators to apply this for significant cost savings and production uplift, such as:
- well draw down pressure
- predicting bottom hole flowing pressure from production data
- automatic calculation of well properties (e.g. skin) from production and shut-in events
- location of compression (well head, nodal and hub level)
- acceleration of draw down versus infill drilling
Endla identified an opportunity for the optimization of completion design in coal seam gas through an implementation of its software AlphaSpace.
AlphaSpace is already being used by major operators in Australia to improve performance of new wells.
- Factory like well operation
- Multiple target zones defined by heterogenous lithology in reservoir
- Grouping lithology and designing completion efficiently to balance multiple competing objectives is challenging
- Implementation Endla's auto-design software called AlphaSpace
- Automatically generates the optimal completion design given the operators understanding of factors driving well performance, lithology and available inventory
Results and Benefit
- Reduced installation cost
- Increased mean time between workover
- Improved capture of production coals


text:
Children can respond to disasters such as bushfires and floods in a number of ways, our son has recently started inserting fires into his creative play, smashing down lego creations as "fires" come to destroy everything.
It may be comforting to know that this is entirely normal behaviour, kids often process big emotions and issues through play. Perhaps you've noticed your children processing their feelings, how are your children/grandchildren processing the bush fires we've been experiencing for several months?
The disaster is hard to avoid, and you can't ignore them, if you've experienced an evacuation, had your home or community destroyed or, if you've been breathing in the smoke for several weeks your children/grandchildren would have experienced it too.
It may be the case that you're struggling to find ways to support your children or grandchildren at this time, being there is of utmost importance, showing them you're with them is of utmost importance, everything else flows from being present.
What follows are some articles and resources which I hope can help you think through how you work through these big feelings and issues together.
If you find any of these helpful, or if you've used other resources please let us know.
Kinderling – Helping Kids Cope With Bushfire Stress
I'll start with resources from Kinderling, (via Babyology) Initially they link to an episode of the Feed Pray Love podcast focussing on "helping children cope with fires" in which Margaret Nixon, the workforce officer for the National Workforce Centre for Child Mental Health discusses how parents (and grandparents) can help children during this emergency.
They then list a number of ways to support children through the stress brought out by the current bushfires:
- Being there matters most
- Children need reassurance and information
- Creating new routines
- Watch out for stress signals (in which they list a number of trauma responses)
- Look out for silver linings together
- Keeping kids safe from media coverage
Unicef – How to Talk to Your Children About Australia's Bushfire Emergency
UNICEF have a great article exploring how to talk with children overwhelmed by Australia's bushfire emergency.
"UNICEF's years of experience in providing counselling and emotional support to children impacted by disaster tells us that children and young people respond differently to disaster than adults."
Their list gives a number of tips for discussing the bushfires with your children, grandchildren, nieces and/or nephews:
- Focus on the child, not the distress
- Be honest, explain the truth
- Offer reassurance
- Help children get back to their normal routine
- Show them all the good people trying to help
- Show them they can help
- Take care of yourself
The Conversation – Bushfires Can Make Kids Scared & Anxious: Here Are 5 Steps To Help Them Cope
The Conversation has a great article by the people behind the Bounce Back program ( _URL_ ) on building resilience and lessons learned from working with students after the 2009 bushfires in Victoria.
Resilience is the capacity to bounce back after hardship. To help your child bounce back, you can communicate that:
- Life is mainly good but now and then everyone has a difficult or unhappy time
- Although things aren't good now and it might take a while to improve, it's important to stay hopeful and expect things to get better
- You will feel better and have more ideas about what to do if you talk to someone you trust about what's worrying or upsetting you
- Unhelpful thinking ("our family will never get a nice home again") isn't necessarily true and makes you feel worse
- Helpful thinking ("it might take a while to get our home back again but it will happen") makes you feel better because it is more accurate and helps you work out what to do.
Birdie's Tree – Growing Together Through Natural Disasters
Birdie's Tree is the work of the Queensland Centre for Perinatal and Infant Mental Health. The website includes:
- Therapeutic online games for children to play online (building a face, colouring in, singing songs…)
- Story flipbooks of Birdie and her friends experiencing natural disasters (fire, cyclone, floods, drought, sickness…). These stories can be read as families or in the classroom.
- Information and resources from the Child and Youth Mental Health team from the Queensland Hospital on recovering together through different natural disasters.
- A Curriculum for teachers and carers to help infants, young children and families recover emotionally from the 'big feelings' a natural disaster can cause.
Emerging Minds – Community Trauma Toolkit
Finally I've recently been introduced to the Community Trauma Toolkit from Emerging Minds, I've not had any time to really check it out, but it's come from a reliable source.
"This toolkit contains resources to help and support adults and children before, during, and after a disaster or traumatic event. It will help you understand some of the impacts of disaster and how you can help lessen these impacts.
Emergencies and disasters are extremely stressful and it is normal to feel overwhelmed. Children, even infants, can also be affected. They depend on the adults around them for safety and security, and will need reassurance, care, and opportunities to share their feelings. These resources provide a starting point for you to help children navigate the different stages of a disaster."

source: openbmb/Ultra-FineWeb


text:
Aurora Borealis May Be Visible Over NJ Tonight [VIDEO]
Normally you'd have to travel to the Arctic Circle to see the Northern Lights, but that may not be true tonight.
According to meteorologists, a powerful solar flare last night will make the natural phenomenon known as Aurora Borealis visible for much of the United States.
- INTERACTIVE: The Science Of The Aurora
Accuweather.com is reporting that mostly clear skies along the eastern seaboard tonight could improve visibility in New Jersey, though the lights may be obscured by a full moon.
Experts suggest attempting to view the Aurora Borealis from areas with as little light pollution as possible.

source: HuggingFaceFW/fineweb-edu


Random Smoke Testing – What Homeowners Need to Know
In the past few weeks, we've had a surge of customers in Oakland and Berkeley who have experienced "random city smoke testing" requiring them to have their sewer lines tested for compliance. This has caused considerable angst and confusion amongst homeowners.
Here's everything you need to know about smoke tests, and what you should do if you have a random test administered on your home.
What are Smoke Tests?
The cities of Oakland and Berkeley conduct random smoke tests of residential sewer laterals—without the need for permission from homeowners. Notices are set to be delivered in the days leading up to the test but in just case you do not receive a notice or the notice arrives after the test has been performed, don't panic. The tips in the following sections should help inform what you do next.
What exactly is a smoke test? According to the City of Berkeley:
The reason cities are conducting smoke testing is to locate problem areas within the overall sewer system. The test identifies the sources of leaks and other problems in a sewer system, such as where storm water drainage is infiltrating the sewage pipes. This is done in order to avoid the environmental and property damages that occur when the city's sewage system is overwhelmed by storm water.
These tests are scheduled to occur in select areas throughout the entire sewer system, which includes not only the main line running down the street, but also the private sewer laterals that connect homes to the public sanitary sewer main.
How Does a Smoke Test Work?
A smoke test is a sewer inspection method in which a non-toxic smoke, approved by the MSDSs Public Health Agency, is blown into manholes. The smoke makes its way through all the connected pipes in the sanitary sewer, helping to locate pipe leaks, broken manholes, cracks, uncapped lines, and more. Testers will also locate unknown sections of pipe (or sections professionals may not have realized were connected to the sewer), such as cleanouts, roof downspouts, and sump pumps. Certain types of discovered connections are actually illegal.
Regarding the smoke itself, the City of Oakland explains:
"The smoke is non-toxic and non-hazardous and is manufactured specifically for this purpose. It leaves no residuals or stains, and has no effects on plants or animals. The smoke should not enter your home, but if it does, it will have a distinct odor and should only last a few minutes with proper ventilation. Please note, all plumbing fixture drain traps must be filled with water prior to smoke testing."
Homeowners are requested to pour water down all drains of plumbing fixtures that are not regularly used in order to fill the P-traps, which will help prevent smoke from entering the house.
During the smoke test, you may see smoke coming out of grass, utility boxes, cracked pavement, and more. Each test typically lasts about 15 minutes. Homeowners do not need to be home during that time, although it can be helpful to ensure the home is well-ventilated if smoke enters the home. You should also alert the testing crew if this happens.
What Happens After a Smoke Test?
All deficiencies are documented in a written report that should also include photos of the observed smoke. Smoke sources observed on private property will result in a letter from the city explaining the problems with an included deadline for correcting the issues, as these issues are the responsibility of the homeowner to fix.
From what we have seen so far, the cities tend to randomly smoke test a block of parcels on a given day and then send notices to homeowners after they have tested the lines. In some cases, the time lapse between the smoke test and the actual notice going out is large enough that homeowners are able to diagnose and address their problems by the time the notice arrives.
The challenges resulting from smoke test results will vary depending on the issues present in the system. Luckily, there are some fixes that are relatively simple to fix, including:
 - Disconnecting downspouts from sanitary lateral
 - Replacing a missing or broken lateral cleanout cap
However, more difficult corrections may also result. Issues that will usually require professional assistance include:
 - Cracked sewer laterals
 - Tree root issues
 - Re-routing damage from separating storm lines
sewer camera inspection is the next step whenever there is a more serious problem. The closed circuit TV (CCTV) will allow inspectors to discover/verify the true extent of the damage, helping to ensure a solution that truly solves your sewer problems once and for all. This is also important for the environment in our communities, as fixing these issues helps keep the Bay clean and preserve our overall local ecosystems. (Learn more about eco-friendly plumbing.)
What Should I Do?
If your neighborhood is experiencing random smoke tests, there is no need to worry. Follow the instructions given by the city in any notices they might send; and refer to paragraph three in this article, under the section "How Does a Smoke Test Work"? The paragraph instructs you to pour water down all drains of plumbing fixtures that are not regularly used in order to fill the P-traps, which will help prevent smoke from entering the house.
After your home is tested, you will receive communication regarding deficiencies in your line. (Since most homes in the Bay Area have relatively old sewer systems, most homes will have some sort of deficiency to fix.) The most important thing to do is follow the directions given and ensure you have fixed any issues by the given deadline.
Our team is happy to help translate and make sense of any issues reported in the notification you have received. We also offer video inspection, trenchless sewer repair services, and more. For individual assistance, get in touch with the experts at Pipe Spy.


text:
- to pass into or through every part of: Bright sunshine permeated the room.
- to penetrate through the pores, interstices, etc., of.
- to be diffused through; pervade; saturate: Cynicism permeated his report.
- to become diffused; penetrate.
Origin of permeate
Examples from the Web for permeate
As AOL evolved, this ethos of personalization began to permeate the entire user experience.We're All Still Secretly Using Our 1990s AOL Screen Names. Why?
January 23, 2014
The colors, lines, and shapes that permeate the film are truly a sight to behold.A Debate About Paul Thomas Anderson's Movie 'The Master'
Ramin Setoodeh, Marlow Stern
September 14, 2012
But its presence speaks to the contradictions that permeate Muslim society.Osama's Dirty Mind
Asra Q. Nomani
May 14, 2011
The New York Times editorial page does not permeate across all of America.
But it seems fair to say they permeate his thinking, and past slights have not been forgotten.
It is this which enables fire and air to permeate the flesh.Timaeus
The fumes of bad tobacco and whisky began to permeate the closet.Canoe Boys and Campfires
William Murray Graydon
When they are counted by hundreds, we can permeate and trim and compromise.British Socialism
J. Ellis Barker
The truth that he taught was a truth that was to permeate every thought and every act of life.The Higher Powers of Mind and Spirit
Ralph Waldo Trine
The aromatic quality of the odours that permeate the air suggests that word.From sketch-book and diary
- to penetrate or pervade (a substance, area, etc)a lovely smell permeated the room
- to pass through or cause to pass through by osmosis or diffusionto permeate a membrane
Word Origin and History for permeate
1650s, from Latin permeatus, past participle of permeare "to pass through" (see permeable). Related: Permeated; permeating.
- To spread or flow throughout; pervade.
- To pass through the openings or interstices of, as a liquid through a membrane.
- One that can permeate.


text:
On April 24, 2012, The Maryland State Board of Education accepted the definition of STEM Education and STEM Standards of Practice presented by the Office of STEM Initiatives. The definition of STEM Education and the STEM Standards of Practice reflect the skills and knowledge students must master to be prepared to meet the increasing demand of the workplace where STEM skills are required.
STEM Education Defined:
STEM education is an approach to teaching and learning that integrates the content and skills of science, technology, engineering, and mathematics. STEM Standards of Practice guide STEM instruction by defining the combination of behaviors, integrated with STEM content, which is expected of a proficient STEM student. These behaviors include engagement in inquiry, logical reasoning, collaboration, and investigation. The goal of STEM education is to prepare students for post-secondary study and the 21st century workforce.
STEM Standards of Practice:
The titles of the seven STEM Standards of Practice are:
Maryland STEM Brochure
STEM Standards of Practice
The STEM toolkit contains resources to support teachers in the classroom.
Maryland STEM: Innovation today to meet tomorrow's global challenges.


text:
Mathcad Offers Solution for Legacy Fortran Code
At a Halloween party we threw for MIT students this weekend, the subject of Fortran came up (yeah, I know, nerdy stuff) which pretty much drew blank looks from the more junior witches and warlocks. For those of you who don't know, Fortran is the most widely used general-purpose programming language for numerical applications. Us old-timers learned how to program in it, back in the good old days of punch cards. The problem is that no one new seems to be learning it anymore. And with so many gray-hairs who originally coded in Fortran now retiring, there's a lot of legacy stuff out there that's quickly destined to become a rather wicked black box.
The good news is that there's a solution that doesn't require hiring expensive consultants – the app engineers at Mathcad (an interpretive math engine with natural math notation) have published a step-by-step guide to converting a Fortran program with several do loops into an equivalent Mathcad program using Mathcad's while loop. Although engineers can enter an exact system of equations into Mathcad, some users may want to replicate exactly the results they were getting in Fortran. In that case, engineers can preserve the margin of error for backward compatibility bt taking the original partial differential equations (which the Fortran code was trying to approximate) and typing it directly in Mathcad.


TY - JOUR AU - Barbara Kornacka PY - 1970/01/01 Y2 - 2021/04/12 TI - Tra legge, corpo e simbolo. La paternità omosessuale e la cultura androcentrica in Sei come sei di Melania G. Mazzucco JF - Romanica Silesiana JA - RS VL - 12 IS - 1 SE - DO - UR - _URL_ AB - The following paper analyzes the theme of homosexual paternity. It analyzes Mazzucco's novel on three different levels: the legal and social context, the gender perspective, and the level of literary and artistic symbols. In each of these areas we can observe the importance given to traditional paternity, seen as legal power or divine creation of the men. On the contrary, homosexual paternity is excluded by law, denied as containing maternal elements, and endowed with modest symbolic power. ER -


text:
Q: Why is the term "seed" used when a player is put into particular bracket in a sporting contest? Is it because the organizers try to "plant" the best players around so they don't meet until the playoffs?
A: The Oxford English Dictionary's entry for the sporting sense of the verb "seed" suggests that the usage evolved in the late 19th century as a tennis term.
The OED defines it as "to assign (to several of the better competitors) a position in an ordered list, so that those most highly ranked do not meet until the later stages of an elimination competition; to arrange (a draw or event) to this end."
The verb first appeared in print in 1898, the OED says, in this passage from the magazine American Lawn Tennis:
"Several years ago, it was decided to 'seed' the best players through the championship draw, and this was done for two or three years."
So the verb may have been around for several years before it was recorded in print. It obviously had staying power.
Here's another citation, from Spalding's Lawn Tennis Annual (1900): "It is generally advisable to 'seed' the draw in handicap tournaments so that the players in each class shall be separated as far as possible one from another."
The past participle and adjective "seeded" was used for events ("Longwood is never seeded," from 1911), as well as people ("three of the women who had been 'seeded' for the draw," 1929).
The noun "seed," meaning a seeded player, was slower to catch on. According to the OED, it was first used in print in 1933 in The Aldin Book of Outdoor Games, in a reference to "the Thibetan 'seed.' "
But why "seed"? The OED doesn't explain the connection, but we can speculate. The best players are deliberately spread around – "planted," as you suggest – so they aren't too close together in the early rounds.
The fact that seeding is an appropriate image explains why the term has found a place in the language of sports.
Now, of course, the term "seeded" is often used in a more general way to refer to a high-ranked team or player: "Kelly Robinson's cover was that of a top-seeded tennis pro."


text:
LEAD-ALKALINE GLAZED EGYPTIAN FAIENCE: PRELIMINARY TECHNICAL INVESTIGATION OF PTOLEMAIC PERIOD FAIENCE VESSELS IN THE COLLECTION OF THE WALTERS ART GALLERY
3 3. RESULTS AND DISCUSSION
3.1 3.1 STEREOMICROSCOPY
Broken edges of vessel fragments and vessels with minor breakage and losses were examined under the microscope. All pieces exhibit a layered structure, which is composed of a body, an underglaze, and a glaze layer.
The body appears to be white or pale yellow (see table 2) and is very fine textured. In some cases the body contains small, bubblelike holes in the broken edges, indicating trapped air bubbles. The underglaze is present only at localized recessed areas to reveal surface designs. It appears to be thick and is opaque. The underglaze was probably applied as a layer of slurry overall, then wiped off from raised areas, leaving it collected in the recesses. It would be very time-consuming to fill each individual recess of a complex and detailed surface design. The glaze is present overall on both the interior and the exterior. It appears to be thin and transparent. Drip marks are observed in the interior of some of the vessel fragments and vessels, indicating that the overall glaze is applied. The glaze is weathered and exhibits a fine network of cracks. It is abraded and worn, particularly in the raised areas.
The underglaze and the glaze can be easily distinguished visually by the contrasting color hues used (see table 2). In general, the underglaze is greenish blue to blue, and the glaze is pale yellow to light green. The underglaze has a stronger and darker color than the glaze, thus emphasizing the design (see figs. 2, 3). The underglaze is also thicker than the glaze (see table 2). In addition to its usual colors, yellow is used as an accent for the underglaze in two cases (acc. nos. 48.367 and 48.379). The yellow underglaze is present only on the raised dot decorations. The examination of a half-broken dot indicated that the raised dots were probably created in the mold rather than applied after molding. The dots have the same body material underneath the yellow underglaze.
3.2 3.2 XERORADIOGRAPHY
Xeroradiography contributed to the understanding of the forming and the construction process. All pieces appear to be made from a mold or from piece molds. Neither circular lines associated with wheel-turning nor specific orientation of any particles was observed. The interiors of enclosed vessels, such as jars, are not as smooth as the exteriors, thus further suggesting the pressing of an object against a mold. In many cases, the xeroradiograph revealed numerous round or oval-shaped holes in the bodies. The holes are probably associated with air bubbles produced during the kneading of the body material. The trapped air bubbles (up to 2 x 3 mm) in the body indicated that the body was not very plastic and was hard to manipulate (fig. 4).
Xeroradiograph, taken at 130 kv, 2.4 mA, and 10 seconds, revealed numerous round or oval-shaped holes in the bodies of some faience vessel fragments in the study. From top left: acc. nos. 48.2696, 48.379, and 48.381; from bottom left: acc. nos. 48.374, 48.380, 48.383, and 48.375
Joints were observed in the xeroradiograph, which confirmed that piece molds were used for making objects with complex shapes or large size. The rhyton (see fig. 2), tall jars with narrow openings, and bowls with both interior and exterior relief decorations are examples of the use of piece molds. After the piece was taken out of the mold, the final details and designs were enhanced through carving and/or incisions.
3.3 3.3 ENERGY DISPERSIVE X-RAY FLUORESCENCE (ED-XRF)
In most of the pieces analyzed, lead, copper, iron, calcium, and antimony were detected qualitatively by ED-XRF in the surfaces of both the glaze and the underglaze. However, a tile, acc. no. 48.1664, was alkaline glazed. Being an exception, it was excluded from the study. All the remaining 20 pieces consistently exhibited an intense lead peak in the ED-XRF spectra. This finding led to questions about the faience glaze: Was the glaze a pure lead-silica glaze or an alkaline glaze containing lead? For the eventual selection of fragments for further analyses, the 20 pieces were divided into two groups based on the varied amounts of copper and iron present in the glaze and the underglaze layer. In one group of 14, the glaze layer contained more copper than the underglaze; in the other group of 6, the glaze layer contained more iron than the underglaze.
3.4 3.4 SCANNING ELECTRON MICROSCOPY (SEM)
3.4.1 3.4.1 Examination
Based on the ED-XRF results and stylistic diagnosis, five representative pieces (acc. nos. 48.376, 48.377, 48.379, 48.380, and 48.386) were selected (see fig. 3) for in-depth SEM analysis, with one additional sample taken from a raised dot area of a bowl (acc. no. 48.367) to determine the yellow colorant.
All polished sections of the samples were examined under the reflected light of a polarized microscope (100x). The thickness of the glaze layer, the underglaze layer, and the body were defined. Munsell soil color and Munsell color charts were used for determining the colors of each layer. The lighting conditions used for all color readings were to simulate daylight generated by a lamp, which combined both incandescent and fluorescent bulbs. The color choices of green, blue-green, and yellow in glazes were highly fashionable in the Ptolemaic period, as opposed to the predominantly turquoise blue used previously.
3.4.2 3.4.2 SEM-WDS Results
The analyses of the glaze layer were carried out in an area where glaze alone is present or in the glassy areas, to avoid the underglaze. For example, the glaze analysis of acc. no. 48.379 was carried out on the exterior where only glaze is present (fig. 5), and the glaze analysis of acc. no. 48.380 was done in the glassy matrix of the glaze layer (fig. 6). Obvious cracks and voids were also avoided when selecting analytical sites; however, the presence of extensive microcracking throughout the weathered surface of the glaze layer meant that ideal areas for glaze analysis do not exist. The analyses of the underglaze layer were carried out in the glassy matrix visible on the back-scattered electron images (figs. 6–7) as a white dense band away from the glaze layer. SEM-WDS analyses (in oxide wt%) of the glaze layer reveal that the major oxide in the glaze is silica (SiO2), ranging from 68% to 78%. A considerable amount of lead was identified in the glaze layer, with lead oxide (PbO) ranging from 2.4% to 11.1%. The alkali content, combining sodium oxide (Na2O) and potassium oxide (K2O), is below 1%. The chloride content is somewhat high, ranging from 1.2% to 2.5%, a finding that often suggests the glaze surface has been weathered (Freestone 1998).
Back-scattered electron image of a polished section of acc. no. 48.379, showing only the exterior glaze layer and the quartz body at 200x, 25 kv. The glassy glaze layer has penetrated into the body and has a network of fine cracks. The body contains chiefly quartz, seen as gray, and interstitial glaze material, seen as white spots.
Back-scattered electron image of a polished section of acc. no. 48.380, showing the exterior glaze layer (gray glassy area), the underglaze layer (a white band area), and the quartz body (gray crystalline grains) at 150x, 25 kv. The body contains interstitial glaze material, seen as white spots.
Back-scattered electron image of a polished section of acc. no. 48.377, showing partially the exterior glaze layer alone with the quartz body (upper half of the image) and the exterior glaze layer and the underglaze layer with the quartz body (lower half of the image) at 60x, 25kv
The solubility of chlorine in the alkaline glaze depends upon the amount of sodium present in the glaze. At about 15% Na2O, the solubility of chlorine is about 1.3%, which is about the maximum amount of chlorine that is found in unweathered alkaline glazes and glasses (Barber and Freestone 1990). When the surface of the glaze is weathered away, some of its components still remain, and chlorine content could actually be increased


text:
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
This article covers features introduced in SpiderMonkey 1.8
Callback for objects that wrap other objects.
typedef JSObject * (*JSObjectOp)(JSContext *cx, JSObject *obj);
||The context in which the object is being unwrapped.|
||The object to unwrap.|
If a class has the
JSCLASS_IS_EXTENDED bit set in its
JSClass.flags and has a non-null
JSExtendedClass.wrappedObject callback to get the wrapped object. Most classes do not implement
The specific cases where this happens are:
- The default
toStringmethod returns a string that contains the name of the wrapped object's class rather than the wrapper's class.
typeofexpressions and in
JS_TypeOfValue, the type of the wrapped object is returned. (The result may be
- When assigning to
- A wrapper object is strictly equal to the object it wraps, in the sense of
!==. Two wrapper objects that wrap the same object are also strictly equal.
- A wrapper object that wraps an Array is considered an array for the purpose of
Array.concat(which treat array arguments differently from other arguments, per ECMA 262-3 §22.214.171.124).
wrappedObject callback implementation must never fail. If it returns null or
obj, then the JS engine treats the object as though it were not a wrapper.
Wrapper objects typically have no prototype, do not allow setting
__proto__, and inherit properties from the wrapped object rather than the prototype chain (see


the signal dispatcher. An easier solution to this particular problem is for create_permissions to clear the content types cache before it recreates permissions, that way the necesarry content types will be created as needed (see attached patch). Results #10933: Avoid " TypeError: Cannot convert Decimal("0.0000") to Decimal " when the decimal module has been reloaded Mon, 27 Apr 2009 09:54:32 GMT gagravarr If for some reason the decimal module gets reloaded (seems fairly easy to trigger when using runserver, but we've seen it once or twice wiht apache + mod_python too), then calling on a model with a decimal field will blow up (see for example) One workaround is to have extra code in the decimal field logic in django, to detect when the value is no longer being recognised as a Decimal but is one, and port it over to the new decimal object. --- django/db/models/fields/ (revision 9643) +++ django/db/models/fields/ (working copy) @@ -579,6 +579,11 @@ def to_python(self, value): if value is None: return value + # Work around reload(decimal) problems + if not isinstance(value, decimal.Decimal) and \ + len(str(value.__class__).split("'")) == 3 and \ + str(value.__class__).split("'")[1] == 'decimal.Decimal': + return decimal.Decimal( value.to_eng_string() ) try: return decimal.Decimal(value) except decimal.InvalidOperation: I'm not sure if this is an ideal fix or not, but it'd be great to have this (or something like it) in django to help avoid the issue Results #10941: Add querystring helper methods to Page class Tue, 28 Apr 2009 00:57:52 GMT benspaulding Working with pagination and query strings within a template can be painful. Personally, I have never had a situation when I was paginating using a GET parameter where there were not other parameters that needed to be preserved through out the various pages. Take search, for example. There may be parameters for searching within one or more models, for a particular author and sorting by date. Maintaining all of these parameters within the pagination links takes some serious template logic. {# Linebreaks added for readability. In real life this would need to be one, long line. #} Next page That kind of logic shouldn't be in a template. I have created a patch that would allow for something much simpler, like so: Next page Though there has been much talk of creating template tags which would produce all-out pagination bars, I believe this particular functionality should be an actual method on the page object for two reasons: This is basic functionality whose end result is hard to dispute (as opposed to a full pagination bar where markup and features could be disputed eternally), This does not require the request context processor to be installed. Note that this patch includes documentation. Tests are still needed. I am not married to the exact implementation, but I and others I have discussed this and feel that this simplicity and fuctionality belong in Django's pagination. Results #11072: Add Info Window Html to GMarker Mon, 11 May 2009 17:07:03 GMT Ubercore I did a quick search for this and didn't find any previous work. It allows you to set HTML for a GInfoWindow on an instance of a GMarker. No support for options on the info window yet, this is just the simplest case. I did see that it's possible to accomplish this using the GEvent class in, but I think there's value in being able to set it directly on the marker. google-map.js uses bindInfoWindowHtml() to add the info window when the marker is added. A more complete solution might involve implementing GInfoWindow and GInfoWindowOptions, but I didn't want to implement them since they have no public constructor in the Google Maps API. Maybe represent the info window as a tuple of (html, { options})? Anyway, this tackles the simplest case. Example usage: marker = GMarker(object.location, title=object.address) marker.infowindowhtml = "
Info Window!
"; Results #11074: syncdb should execute custom field SQL separately from initial model SQL Mon, 11 May 2009 19:42:12 GMT psmith Currently, if I have exception-throwing SQL in a <app>/<model>.sql file, this breaks GeoDjango's creation of geometry fields and indexes on./ syncdb. You wind up with a database table that has the regular Django fields but is missing geometry fields at the end of the syncdb command. This is because GeoDjango's field-specific post-table-creation SQL which actually creates the geometry fields (from the post_create_sql() hook) is lumped in with the initial model SQL. I am proposing that custom field post-table-creation SQL like GeoDjango emits and user-specified initial model SQL in *.sql files be run in separate transactions. Arguably if my custom initial model SQL is broken then I shouldn't expect syncdb to work cleanly. But it may be surprising that my probably unrelated initial model SQL leaves my GeoDjango model tables (or any model with a custom field that implements post_create_sql()) in an incomplete or undefined state because it happens to be executing in the same transaction as the custom field SQL. syncdb does charge ahead and create as much as possible despite exceptions, so I think one could argue that leaving the database in as consistent a state as possible despite errors is a decent goal. Results #11111: WSGIRequest should not make PATH_INFO and SCRIPT_NAME unicode Thu, 14 May 2009 01:01:30 GMT mgood The WSGI spec requires the standard environment values to be str, not unicode types, but the WSGIRequest object updates the environ (via self.META which is a reference), setting PATH_INFO and SCRIPT_NAME to unicode objects. These unicode values led to some issues with WebTest which checks to ensure that the environ only contains str values. Results #11156: Unnecessary savepoints with Oracle Wed, 20 May 2009 10:24:55 GMT Richard Davies Savepoints are implemented in the Postgresql and Oracle backends, and provide a useful features to users of both. In addition, the framework itself wraps various calls in savepoints (e.g. inside django/db/models/ This is to work around a Postgresql-specific oddity that the open transaction needs to be rolled back to a prior savepoint if it experiences a database exception. This oddity is not present on Oracle, so the extra savepoints are not required. We probably need to split the current single backend flag uses_savepoints into two: can_savepoint and needs_savepoint_after_exception. See Results #11265: ForeignKey/OneToOneField should support user-defined id attribute name Fri, 05 Jun 2009 12:03:46 GMT dstora Currently, when defining a ForeignKey/OneToOneField field XXX, Django automatically defines a XXX_id attribute to store the id value. However, it is sometimes desirable to decide of the name as XXX_id may not be the most appropriate. Let's take the following example: I initially have a table "Payment" with a "ccy_code" field designating a 3-letter currency code. My model definition looks like:


Take the 2-minute tour ×
I have an iPad app that contains a webview. The webview's page has a button on it that, when clicked, needs to somehow tell the native app to close the webview. Is there any way to do this? i.e. a way for the javascript in the webview to pass messages to the native app, and vice-versa?
share|improve this question
4 Answers 4
up vote 2 down vote accepted
Maybe have an NSNotification fire when an NSString instance field is changed. Use the post here to help understand how to communicate between JavaScript and Objective-C.
Then, it is just a matter of notification and string logic:
Steps for JavaScript to Objective-C:
 1. Web view button is pressed.
 2. JavaScript fires method which returns string.
 3. Local NSString is updated to denote button in Web view was pressed (see post above).
 4. NSNotification fires based on string change.
 5. Objective-C closes the Web view.
Not sure what you want to pass back to the Web view from Objective-C, but the above post should help.
share|improve this answer
You can consider using -webView:shouldStartLoadWithRequest:navigationType:. Create a dummy link which you can identify and close the web view. As for the other way round, _USER_'s answer sounds appropriate.
share|improve this answer
You can attach any action using
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
that detects the javascript from your webview!
Here is the doc: _URL_
share|improve this answer
I think the best way is using pseudo image instead.
JS will insert a new image such as: _URL_
And your webview will override NSURLCache to retrieve 1x1 transparent image and parse parameters from you web content.
Note that NSURLCache only cache only one times, so please generate new timestamp for each calls.
This way is work for my project and call native iOS app immediately.
share|improve this answer
Your Answer


A summary of the key road rules for driving on freeways in Victoria.
The rules in detail
The key road rules and reference numbers for driving on freeways are:
 - 130 - Keeping to the left on a multi-lane road
 - 148 - Giving way when moving from one marked lane or line of traffic to another marked lane or line of traffic
 - 152 - Complying with overhead lane control devices
 - 177 - Stopping on a freeway
 - 178 - Stopping in an emergency stopping lane.
Managed motorways
Managed motorways have variable speed signs, ramp signals, travel time signs, underground sensors and CCTV cameras and are all part of a dynamic traffic system that responds in real time to what's happening on the road at any point in time.
Entering a freeway is one of the more demanding manoeuvres you will do when driving. Conditions on freeways are changeable and drivers can be unpredictable. Understanding the rules and having good driving skills are important to merging safely. Remember that the rules for merging onto a freeway are the same as for changing lanes on any road.
Speed. Use the entrance ramp to quickly gain speed to match the traffic on the freeway. Merging at the same speed as the existing freeway traffic will ensure that you can easily move onto the freeway without causing a dangerous situation when you merge.
Make sure you use your mirrors and keep your eyes on other vehicles while you gain speed. If you see a group of vehicles coming up quickly in the lane into which you are trying to merge you may need to adjust your speed to find the safe gap you need.
Indicate. Make sure you indicate early so it is clear to others that you want to change lanes. Make it clear to other drivers what you are doing and give them plenty of opportunity to make any necessary adjustments to their driving. Remember, as the person merging you need to give way to traffic on the road you are merging into.
Gap selection. You will have to find a gap in the traffic before you merge and this is more difficult in heavy traffic. Keep your eyes on the road, check your mirrors and do head checks to work out when it is safe to merge. Maintain an appropriate speed to merge safely and smoothly into the lane. Stay alert, keep an eye on traffic in front of you, use your mirrors, do head checks and check your blind spots, especially for motorcycles.
Merge smoothly and safely. When you see a gap, move your vehicle smoothly into the lane. Your speed should now be the same speed as the rest of the traffic. Pay attention to the vehicles around you as you merge as vehicles in front of you may brake or those beside you may try to enter the lane you are in.
Some Tips
Keep scanning the road. Drivers can behave very differently, so it is important to pay attention to what is going on around you at all times and especially when trying to merge onto a freeway. Make decisions based on reality.
If a driver is slowing down they are probably trying to let you in; accelerate and take the person up on the favour. The same goes if you notice vehicles moving out of the merge lane to make room for you. Remember to give a wave if you can to acknowledge the favour and do not ever exceed the speed limit.
If you see a vehicle speeding up they are probably trying to get past you before you merge. Let them do this as it might be the only option they have and they may be trying to create a gap for you behind them.
Sometimes drivers will wave you in with their hands, wave back to thank them.
Creating gaps. As you merge, you should maintain a safe distance from the vehicles behind and in front of you. This provides a buffer in case the vehicle in front of you brakes. At some freeway entrances there are ramp signals to help create a gap in traffic.
Merge smoothly. Try not to push into the lane you are trying to merge into. Other drivers might not see you or predict this. Make sure you use your indicator and where possible make eye contact.
Try not to stop in the merge lane. You might be tempted to come to a stop when merging. This is not a good idea, as it takes too long for a vehicle to accelerate from a standstill to freeway speed. However, this may happen when the freeway is very congested and going slow so do not worry if it happens.
Be considerate. When you see a driver trying to merge into your lane ease off the accelerator and let them in. Letting another driver in front of you will not make any difference to your journey time. Being considerate makes the freeway safer for everyone and they may return the favour to you and other drivers.
A transit lane is marked with a transit lane sign.
You can drive in a transit lane:
 - if you are driving a bus, taxi, motorcycle, or tram
 - if there are two or more people in the vehicle in a T2 transit lane
 - if there are three or more people in the vehicle in a T3 transit lane
 - for up to 100 metres if you need to make a turn.
When driving on any multi-lane road with a speed limit over 80km/h, you must keep out of the right lane unless:
 - you are overtaking or turning right, or
 - all lanes are congested.
If the right lane is a transit lane, this rule applies to the lane immediately to the left of the transit lane.
You are not allowed stop on a freeway unless it is an emergency.
If you do need to stop it must be in the emergency lane.
Buses and taxis can sometimes drive in the emergency stopping lane if there is a sign allowing it. At all other times vehicles are not allowed to travel in the emergency stopping lane.
There are lane control devices above the lanes on some freeways.
If the lane control device is showing a red cross, you must not drive in that lane and move to another one.
If the device is showing an arrow pointing down, or a speed limit sign, you can continue driving in that lane and must drive at or below the speed on the sign.
The speed-limit applies to a driver in a marked closed lane is the speed limit that applies to the adjacent marked open lane. In the diagram below, the speed limit that applies to the closed left lane is 40 km/h.
image showing complying with overhead lane control devices
On some freeways and highways there are express lanes or transit lanes, these are shown on signs.
Transit Lane
You can use a transit lane if you are a public bus, public minibus, motor bike, taxi or tram or a vehicle with two people in it T2 or three people in it T3.
Transit Lane T2 and T3 signs
A transit lane ends at this sign.
End Transit Lane signs
There is also another type of transit lane sign in Victoria. It looks like this and must include the word transit.
Green End Transit Lane signs
Express Lanes
Some toll roads paint EL on the road surface and refer to Express Lanes. Express lanes are not a road rule. If you wish to know further about Express Lanes and their purpose, please contact the appropriate toll road operator.
Was this page helpful?
Are you looking for...


text:
For decades, astronauts have been forced to endure space-friendly MREs and dehydrated foodstuffs, though we understand both the quality and the options have increased with time. But if we're serious about long-term space travel, colonizing Mars, or actually having a restaurant at the end of the universe, the ability to bake and cook from raw ingredients will become necessary. This zero-gravity culinary adventure might as well start with a delicious experiment, and what better than chocolate chip cookies for the maiden voyage?
The vessel in question is the Zero-G Oven, built in a collaboration between Zero-G Kitchen and Nanoracks, a Texas-based company that provides commercial access to space. In November 2019, Nanoracks sent the Zero-G oven aloft, where it waited a few weeks for the bake-off to kick off. Five pre-formed cookie dough patties had arrived a few weeks earlier, each one sealed inside its own silicone baking pouch.
The Zero-G Oven is essentially a rack-mounted cylindrical toaster oven. It maxes out at 325 °F (163 °C), which is enough heat for Earth cookies if you can wait fifteen minutes or so. But due to factors we haven't figured out yet, the ISS cookies took far longer to bake.


text:
A Robust Power-Scalable Transmitter Architecture for Wireless Body Area Networks
MetadataShow full item record
In this dissertation, an RF transmitter is presented that uses closed-loop PLLbased BFSK modulation and is reconfigurable for both the MedRadio and 433 MHz ISM bands. A power efficient class-C amplifier is utilized and the design methodologies for designing a highly efficient and low-power amplifier are discussed in detail. The mediocre PVT performance of the classical implementation of the class-C power amplifiers is a major cause of concern that inhibits widespread usage of these types of amplifiers. An open-loop ultra-low power calibration loop is designed to deal with process, temperature and voltage drifts. Also introducing for the first time, a digitally tunable power amplifier core with a single reconfigurable matching network is able to vary the output power level from -12 dBm to -2dBm while maintaining similar efficiency numbers. A completely integrated PLL is used in the frequency synthesis. BFSK modulation is performed by switching the divide ratio of a dual modulo divider and a low-power NMOS delay-based ring-VCO acts as the oscillator. Several performance records are achieved: (1) The PA realizes a peak efficiency of 47% in the high-power (ISM) (-2 dBm) mode and 43% (33%) in the MedRadio -12 dBm (-16 dBm backoff) modes. (2) The PLL dissipates only 72 &muW with a phase noise of -111 dBc/Hz @ 1 MHz. (3) The overall transmit efficiencies are 29% and 17% for the -12 dBm and -16 dBm backoff levels for the MedRadio band and 44% for the ISM (433 MHz) bands. (4) The PVT compensation loop reduces the standard deviation by 59% compared to the classical implementations.
- Electrical engineering


text:
Stubbed, stove and just plain busted
Dear Word Detective: I recently stubbed my toe on my kitchen table. The thought occurred to me — why do we say, "I stubbed my toe"? We don't "stub" other body parts, not our ankles, knees, chin, or elbows. You smack, hit, whack, bang up, etc., but not "stub" them. I've tried researching this on my own and I found nothing. The meaning of the word "stubbed" comes from tree stumps in a field, but I can't follow it from there. Anything you could find out would be great! — Lainey.
Well, you've come to the right place. I've not only stubbed but actually broken most of the toes on both my feet over the years. I'm not sure why we don't speak of "stubbing" one's fingers, however. I was using a shovel last year and managed to severely "stub" my little finger when my grip slipped. [Update: It was broken. Duh. Now it has a funny kink in it.]
The verb "to stub" comes from the noun "stub," which, as you found, originally meant "the stump of a tree" and comes from the Old English "stybb." Over the centuries since then, "stub" has acquired a variety of meanings, most involving something shortened, stunted, or cut off, frequently the remaining portion of something (as in the "stub" of a movie ticket). As a verb, "to stub," which first appeared in the 15th century, initially meant "to dig up by the roots" (i.e., to remove a tree stump, etc.), but soon developed a range of related meanings centered on the general idea of either "shortening" or "crushing" various things.
In the late 17th century, however, people began to speak of "stubbing" a horse, injuring its legs, by allowing it to trip over or jam its hooves on "stubs," tree stumps. By the mid-19th century, this use of "stub" had carried over to humans, and meant specifically to strike one's toe against an obstruction while walking or running. While this verb "to stub" does refer back to the noun "stub" in the "tree stump" sense, it also invokes the sense of "shortening" one's toe by jamming it lengthwise into an object. It's that "lengthwise" smashing that distinguishes "stubbing" one's toe from simply "banging" one's elbow or knee. The same verb "to stub" is used to mean extinguishing a cigarette or cigar by crushing the lighted end into a solid surface.
Incidentally, the verb used to describe "stubbing" one's finger the way I did is, for some strange reason, "to stave," a verb which originally meant to destroy a cask or barrel by smashing the "staves" of which it was constructed. "Stave" is actually the archaic plural of "staff" in the sense of "rod or stick," and when we speak of "staving off an attack," it originally meant to use sticks as weapons. A ship which has had a hole punched in its hull (e.g., by a rock) is said to be "stove" (the archaic past tense of "stave") or "stove in," and a finger which has be damaged by being jammed with great force lengthwise into an object is said to be "stove." The term "stove in" has also been used, since the early 20th century, as slang for anything that is worn out or run down, including people ("Mr. Avery'll be in bed for a week — he's right stove up. He's too old to do things like that," Harper Lee, To Kill a Mockingbird, 1960).


Extra Credit: Chocolate Chip Cookies!
School may be out for winter break but the opportunity to share a fun delicious and educational experience is a batch of cookies away! Follow the recipe below and keep an eye out for the "Extra Credit" to make teaching math a warm and chocolatey winter treat.
Before you get down to learning and baking make sure you head to your local Mollie Stone's Markets and pick up all you need for this activity!
Chocolate Chip Cookies
 - 1 cup Butter or margarine, softened
 - 3/4 cup Sugar
 *Extra Credit: Scoop 2 tablespoons, 2 teaspoons and 2 cups of sugar and place into piles to show the difference between tablespoons, teaspoon and cups.
 - 3/4 cup Brown sugar, packed
 - 2 Eggs, large
 - 2 teaspoons Vanilla
 - 2 1/4 cups Flour, unsifted
 *Extra Credit: Use a measuring scale to see the difference in weight between 2 1/4 cups of sifted and unsifted flour.
 - 1 teaspoon Baking soda
 - 1/2 teaspoon Salt
 - 1 cup Walnuts or pecans, chopped (optional)
 - 2 cups Ghirardelli Bittersweet 60% Cacao Baking Chips
 *Extra Credit: Weigh the 2 cups of chocolate on a measuring scale and see what happens when 4 chocolate chips are taken away.
 1. Heat oven to 375ºF.
 2. Stir flour with baking soda and salt; set aside.
 3. In large mixing bowl, beat butter with sugar, and brown sugar at medium speed until creamy and lightened in color.
 5. Gradually blend dry mixture into creamed mixture. Stir in nuts and chocolate chips.
 6. Drop by tablespoon onto ungreased cookie sheets.
 *Extra Credit: Measure how much cookie batter you have total in cups and calculate how many tablespoons/cookies you will be able to get out of the mixture.
 7. Bake for 9 to 11 minutes or until chocolate chip cookies are golden brown.


text:
The National Park, formerly occupied by the Demerara Golf Club since 1923 was renamed the Queen Elizabeth II National Park in 1965 in honour of the Queen's visit to Guyana. On Guyana's attainment of independence it was became known as the National Park. It was the scene for one of the most historic events of Guyana's history. On 26 May 1966 the Golden Arrowhead was hoisted and the Union Jack lowered marking the birth of Guyana. This park is utilized for cultural, educational and recreational activities and is maintained by The National Parks Commission under the Ministry of Agriculture.
The Monument To the Child, located in the complex of the National Park was erected by the National Commission for The Right of The Child in 2000. The monument consists of the sun seated on an up sided down L, the vertical part signifying strength and the growth of children whilst the other arm indicates that children have to reach for the stars. The base of the monument is representative of the world and the six benches depict the six races of Guyana.
Along Carifesta Avenue are examples of the Magazines, which were once used for the storage of ammunition by the British armed forces. Constructed of concrete they stand as a reminder of the nation's history.
The Young Men's Christian Association, one of the longest associations in Guyana was founded in the early 1900's and was the stage for many cultural and educational activities.


text:
36 Days of Type is an annual challenge that asks creatives to reimagine the alphabet and numbers 0-9 from a different perspective, sharing typographic inspiration from all around the world through social media. And this year we teamed up with our clients at KinderCare – America's leading private childhood and early education provider – to reimagine these familiar symbols from the perspective of children.
The KinderCare business is built on care and emotional connection, and has a strong prioritization for the arts within STEAM. Its playful and colorful design system, which we created with the team in 2019, uses a system of simple building blocks drawn from their distinctive bell tower logo to help build confidence for life. We took the five iconic shapes from the brand's visual identity system plus the simple marker pen doodle and duplicated, rearranged and combined them into 36 completely unique ways to bring our letterforms to life.
Each letter was specially chosen to be easily identifiable and relatable to children who are learning to read. We used a mix of animals and objects that they would be familiar with whilst also sprinkling in a little extra creative magic so that our letterforms maintained a sense of playfulness and surprise for each reveal.
Our numbers were crafted to highlight important aspects of childhood education and KinderCare's role in creating that supportive environment, and also to provide a literal quantity a child could easily connect to. Eight, for example, is represented by the eight planets of our solar system, but it also symbolizes the importance of nurturing curiosity and encouraging children to explore.
During the process, it was important for us not to become too abstracted from the original symbol to make sure that children could see the letter, identify what it is and what it represents. For example, we chose a Goose to represent G as its long winding neck celebrates the true shape of the symbol better than a Gorilla, Goldfish or Glove. Designing each character with only the brand's building blocks created restrictions that allowed for unique solutions and resulted in something a bit different to the usual animal alphabet illustrations you often see on nursery walls.
It was also important to us to bring each character to life further through animation. We mimicked a stop-motion technique with our digital assets to keep a child-like, handcrafted and joyful quality to each letterform. The additional layer of personality became something that people following along could look forward to seeing on each day of the 36-day project, which were shared from the KinderCare Instagram account.
KinderCare supports kids every day – from learning the alphabet and writing their names to setting them on a path to express themselves and begin to tell their own stories with their own words – and we're proud to have been able to contribute and support them in this pursuit.
By Jea Hyun, Senior Designer at Design Bridge New York.
Project overseen by Jemma Campbell, Creative Director at Design Bridge New York.
If you'd like to join Jea, Jemma and the team in NYC, check our Careers page for the latest opportunities.


findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree1());
 ((TextView) servo2TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree2());
 ((TextView) servo3TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree3());
 ((TextView) servo4TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree4());
This feature enables the user to control the robotic arm with a very intuitive user interface. And the save timeline feature allows the user to use/share already stored timeline for some actions with other users.
A small video to explain the save timeline functionality can be seen below,
Tags : GSoC '19, PSLab, Android, Robotic Arm
Continue Reading The Robotic Arm Controller Feature in PSLab Android Application.
Importing files from local storage in PSLab Android application
This blog demonstrates how a user can import log files from local storage to the PSLab Android application for various instruments and play them. This functionality is really useful as users can share their log files and import them in their app. This blog mostly consists of my work in the PSLab Android repository.
How to access local storage files?
We here use the concept of implicit intent to access the local storage of the device and then generate the file from the received data URI.
Implicit intents differ from explicit intents in a way that, they don't give exact class or activity to be initialized through the intent, instead they provide the action to be performed and the class or activities are selected implicitly from the required action
The code block is shown below.
private void selectFile() {
 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
 startActivityForResult(intent, 100);
Here the Intent.ACTION_GET_CONTENT defines implicit intent. This intent opens the activity related to the action of GETTING CONTENT. The type of content is specified in the Intent.setType(). Since here the type is set to "*/*", it will open all types of files. If we want only images we can set Type to "images".
startActivityForResult(intent, ) starts the file selection activity.
How to generate a file from received URI?
Once the user selects a file from the file selection activity we can generate the selected file from the data passed in the callback function of startActivityForResult(). The data intent passed as a parameter to onActivityResult() callback contains data for the selected file. We can retrieve path, name, etc details of the selected file from this data intent. The code block for the same is given below.
 protected void onActivityResult(int requestCode, int resultCode, _USER_ Intent data) {
 if (requestCode == 100) {
 if (resultCode == RESULT_OK) {
 Uri uri = data.getData();
 String path = uri.getPath();
 path = path.replace("/root_path/", "/");
 File file = new File(path);
 else Toast.makeText(this, this.getResources().getString(R.string.no_file_selected), Toast.LENGTH_SHORT).show();
Here we check for the requestCode, which we passed when calling the startActivityForResult() function. We further check if the result is valid and then generate the file from the file path we received in the data Intent. Once we get the path we can get the selected file using the following lines of code:
String path = uri.getPath();
File file = new File(path);
How to get Data from the file?
Once the file is generated, it is passed to a function getFileData(File file) to get data in the file to add to the logs of the selected device. The main part of the getFileData function is given below.
FileInputStream is = new FileInputStream(file);
String line = reader.readLine();
int i = 0;
long block = 0, time = 0;
while (line!= null) {
 if (i!= 0) {
 String[] data = line.split(",");
 try {
 time += 1000;
 BaroData baroData = new BaroData(time, block, Float.valueOf(data[2]), Double.valueOf(data[3]), Double.valueOf(data[4]));
 } catch (Exception e) {
 Toast.makeText(this, getResources().getString(R.string.incorrect_import_format), Toast.LENGTH_SHORT).show();
 line = reader.readLine();
Here we read the file line by line and convert the CSV data into the object of the selected device. And then this data is added to app storage using the realm. As shown in the code block above, we are parsing the data to the BarometerData class instances. We split each line by "," and then use each field as input to the constructor of the BarometerData class. Once we create the instances of the class, we add them to the realm, so the imported file is saved in the realm and now we can access it easily from DataLoggerActivity.
The following images demonstrate the functionality of Import log
Step 1: Select Import Log menu from
(Figure 1: Import Log menu)
Step 2: Select the file to be imported from the local storage
(Figure 2: Files to import from Local storage)
Step 3: Play the imported log from the DataLoggerActivity
(Figure 3: Imported logged data in DataLoggerActivity)
Tags: PSLab, Android, GSoC 19, ImportLog, Intents, Implicit Intent
Continue Reading Importing files from local storage in PSLab Android application
Examples of how AsyncTask is used in PSLab Android App
In this blog, we will look at a very useful and important feature provided by Android – AsyncTask and more importantly how AsyncTasks have been put to use for various functionalities throughout the PSLab Android Project
What are Threads?
Threads are basically paths of sequential execution within a process. In a way, threads are lightweight processes. A process may contain more than one threads and all these threads are executed in parallel. Such a method is called "Multithreading". Multithreading is very useful when some long tasks need to be executed in the background while other tasks continue to execute in the foreground.
Android has the main UI thread which works continuously and interacts with a user to display text, images, listen for click and touch, receive keyboard inputs and many more. This thread needs to run without any interruption to have a seamless user experience.
When AsyncTask comes into the picture?
In PSLab Android application, we communicate with PSLab hardware through I/O(USB) interface. We connect the PSLab board with the mobile and request and wait for data such as voltage values and signal samples and once the data is received we display it as per requirements. Now clearly we can't run this whole process on the main thread because it might take a long time to finish and because of that other UI tasks would be delayed which eventually degrade the user experience. So, to overcome this situation, we use AsyncTasks to handle communication with PSLab hardware.
Methods of AsyncTask
AsyncTask is an Abstract class and must be subclassed to use. Following are the methods of the AsyncTask:
 - onPreExecute()
 - Used to set up the class before the actual execution
 - doInBackground(Params…)
 - This method must be overridden to use AsyncTask. This method contains the main part of the task to be executed. Like the network call etc.
 - The result from this method is passed as a parameter to onPostExecute() method
 - onProgressUpdate(Progress…)
 - This method is used to display the progress of the AsyncTask
 - onPostExecute(Result)
 - Called when the task is finished and receives the results from the doInBackground() method
There are 3 generic types passed to the definition of the AsyncTask while inheriting. The three types in order are
 1. Params: Used to pass some parameters to doInBackground(Params…) method of the Task
 2. Progress: Defines the units in which the progress needs to be displayed/
 3. Result : Defines the data type to be returned from onInBackground() and receive as a parameter in the onPostExecute(Result) method
Example of the usage of the AsyncClass is as under :
private class SampleTask extends AsyncTask {
 protected Result doInBackground(Params... params) {
 // The main code goes here
 return result;
 protected void onProgressUpdate(Progress... progress) {
 // display the progress
 protected void onPostExecute(Result result) {
 // display the result
We can create an instance of this class as under and execute it.
SampleTask sampleTask = new SampleTask();
We can cancel a running class by calling the task.cancel() function
AsyncTask in PSLab Android Application
As mentioned earlier some task which takes a lot of time, can't be executed on the main thread. Hence in such cases AsyncTask is used. We will look into some examples where AsyncTask has been put to use in PSLab Android Application
Delete All Logs:
In the DataLoggerActivity, user has an option to delete all the logs that have been saved on the local storage. Now there might be a lot number of log files that needs to be deleted. Hence it is better to use AsyncTask for these. The code snippet for this is below,
private class DeleteAllTask extends AsyncTask {
 protected Void doInBackground(Void... voids) {
 Realm realm = Realm.getDefaultInstance();
 for (SensorDataBlock data : realm.where(SensorDataBlock.class)
 .findAll()) {
 File logDirectory = new File(
 Environment.getExternalStorageDirectory().getAbsolutePath() +
 File.separator + CSVLogger.CSV_DIRECTORY +
 File.separator + data.getSensorType() +
 File.separator +


text:
The claim rejections are returned by the MoH. The 'Rejection Report' is the summary of the rejected claims generated by MDBilling.ca. Rejected claims can be fixed and resubmitted - no need to resubmit as a new claim.
You have reached the maximum number of times you can bill this code within a time period. For example, consults/(re) assessments have limits on the number of times you can bill in a 12-month period – refer to the Schedule of Benefits, section GP12 for more details.
Consider billing a lower paying code (e.g., if originally billed a Consultation, then resubmit with a Medical Specific Assessment). Alternatively, if the patient is seen for a second time with a clearly defined unrelated diagnosis, then consider billing the same service code again, but with the different diagnosis code. Refer to the Schedule of Benefits section GP12 for more details.
You can obtain further information by doing the following:
1. Reviewing the Schedule of Benefits. Here is the link to the SoB: Physician Services Under the Health Insurance Act; or
2. Contacting your Ministry of Health Claim Assessor for advice: How do I find my Claim Assessor?
Please let me know if you have any questions.


Take the 2-minute tour ×
So C99 blessed the commonly-used "flexible array member" hack to allow us to make structs that could be overallocated to suit our size requirements. I suspect it's perfectly safe on most sane implementations to do this, but is it legal in C to "underallocate" if we know in certain situations that we won't need some members of a struct?
Abstract Example
Say I have a type:
struct a {
 bool data_is_x;
 void * data;
 size_t pos;
If data_is_x, then the type of data is a type that needs to use the pos member. Otherwise, the functions that work with this struct won't need the pos member for this particular copy of the struct. Essentially, the struct carries around information about whether or not it has a pos member, and this information will not be changed within the struct's lifetime (outside of evil mischief, which will break pretty much anything anyway). Is it safe to say:
struct a *a = malloc(data_is_x? sizeof(struct a) : offsetof(struct a, pos));
which will allocate space for a pos member only if one is needed? Or does it violate a constraint to use cast space that is too small to a struct pointer, even when you never use the members in question?
Concrete Example
My real-world use case is a bit involved; it's here mainly so you can understand why I want to do this:
typedef struct {
 size_t size;
 void * data;
 size_t pos;
} mylist;
The code for mylist_create specifies that, for size > 0, data is an array of contiguous data that is size items long (whatever an item may be), but that for size == 0 it is the current node of a doubly-linked list containing the items. All the functions that work with mylists will check whether size == 0. If it does, they'll handle the data as a linked list with the "current" index being whichever node data points to. If not, they'll handle the data as an array with the "current" index stored in pos.
Now if size == 0 we don't really need the pos member, but if size > 0 we will. So my question is, is it legal to do this:
mylist *list = malloc(size? sizeof(mylist) : offsetof(mylist, pos));
If we guarantee (on penalty of undefined behavior) that, while size == 0, we will never try to (or need to) access the pos member? Or does it say somewhere in the standard that it's UB to even think about doing this?
share|improve this question
This is a very good question, and I'm sad to say I don't know the answer. I wish you'd given a simpler example case though; I have a feeling folks will have a hard time following... +1 anyway. – R.. Sep 9 '11 at 2:07
_USER_.. - It's essentially my use case; I used it because I thought a more abstract example might not make sense and raise the question "Why are you doing this?" (which I myself often ask when I see people trying to do things that may be inadvisable). If you think it'll make the question clearer, I can change it to be simpler, or I could leave it and add a simpler version. – Chris Lutz Sep 9 '11 at 2:09
I would leave it, but a simpler version might be nice too. – R.. Sep 9 '11 at 2:13
5 Answers 5
up vote 4 down vote accepted
malloc itself doesn't care at all how much memory you allocate for a structure, it's the dereferencing of memory outside the block that is undefined. From C99 Address and indirection operators:
And, from 7.20.3 Memory management functions, we find (my italics):
Hence, you can do something like:
typedef struct { char ch[100]; } ch100;
ch100 *c = malloc (1);
and, provided you only ever try to do anything with c->ch[0], it's perfectly acceptable.
For your specific concrete example, I'm not too sure I'd be that worried, assuming that what you're concerned about is storage space. If you're concerned for other reasons, feel free to ignore this bit, especially since the assumptions included within are not mandated by the standard.
From my understanding, you have a structure:
typedef struct {
 size_t size;
 void * data;
 size_t pos;
} mylist;
where you want to use only data where size is 0, and both data and pos where size is greater than 0. This precludes the use of putting data and pos in a union.
A significant number of malloc implementations will round up your requested space to a multiple of 16 bytes (or some greater power of two) in order to ease memory fragmentation issues. This isn't required by the standard of course, but it is pretty common.
Assuming (for example) 32-bit pointers and size_t, your twelve bytes of structure will most likely take up a 16-byte arena header and a 16-byte chunk for the data. This chunk would still be 16 bytes even if you only asked for 8 (ie. without pos).
If you had 64-bit pointer and size_t types, it might make a difference - 24 bytes with pos and 16 without.
But even then, unless you're allocating a lot of these structures, it may not be a problem.
share|improve this answer
Are you sure this is defined? I would like it to be, but I can't find a justification. – R.. Sep 9 '11 at 2:14
This is what I suspected, but I figured it was thin enough ice that I might as well ask and see if the many fine C gurus here might dig up an interpretation of the standard that prohibits doing this. (Though in your example, wouldn't you'd need to use (*c)[0]?) – Chris Lutz Sep 9 '11 at 2:15
Also I think it's possible that the answer could differ for paxdiablo's example (with an array) and your example (with a struct). Certainly from a "moral" standpoint, doing this hack with a struct seems more offensive. – R.. Sep 9 '11 at 2:19
I think your standards citation takes the cake. I'll accept this tomorrow if no one's come up with anything opposing this. – Chris Lutz Sep 9 '11 at 2:33
I think the big question is which object you are "accessing". If anything in the standard implies that you are "accessing" the structure/array, then the behavior is undefined. If on the other hand you only "access" elements/members in the space allocated then it seems okay. It might be worth reading the rather roundabout text on flexible array members in the standard to better understand this... – R.. Sep 9 '11 at 2:48
It is perfectly legal, but you should probably make it less obscure by having two structs, and when you read it:
struct leaf_node {
 size_t size;
 void *data;
 size_t pos;
struct linked_node {
 size_t size;
 void *next;
void *in =...;
if (*(size_t*)(in) == 0) {
 struct leaf_node *node = in;
} else {
 struct linked_node *node = in;
This goes more hand-in-hand with the standard that paxdiablo quoted, that you can cast the pointer to any data pointer. If you do it this way you will also always make sure you cast it to a struct that fits in the allocated buffer (an unnecessary but convenient feat).
What paxdiablo said about a minimum size of 16 bytes on 32-bit systems is often true, but you can still allocate big chunks to get around that.
On a 32-bit system the linked_node will use 8 bytes. You must use pools to benefit from what you are trying to do.
struct leaf_node *leaf_pool = malloc(N*sizeof(struct leaf_node));
struct linked_node *linked_pool = malloc(N*sizeof(struct linked_node));
Of course you should never realloc the pools, but allocate new pools as needed and reuse nodes. In this case a single leaf_node will use 12 bytes.
Same applies to linked_node, which will use 8 bytes instead of 16 bytes if you allocate them in a pool.
There will be no performance bottleneck as long as your structs aren't using __attribute__ ((packed)) in GCC, in which case your structs could get very badly aligned. Especially if you have, for example, an extra char in your struct giving it a size of 13 bytes.
Now if we go back to your initial question, the pointer you use to point to allocated data doesn't matter as long as you make sure you don't access data outside of the buffer. Your struct is essentially like a char string, and you check if the first size_t is a "null byte", if it is then assume the buffer is smaller. If it is not null, then the "string" is assumed to be longer and you read more data. The exact same risks are involved, and the only difference after compilation is the size per element read. There is nothing magic about using [el] for strings compared to casting to a struct pointer and reading elements, as you can verify by just as easily causing a segfault using [el].
share|improve this answer


Nigeria Civil War Effect On Aboh Mbaise Local Government Area Imo State
Nigeria Civil War Effect On Aboh Mbaise Local Government Area Imo State
Background of the Study
The period _PHONE_ is a very remarkable period in the history of Nigeria. During this period, the country witnessed a devastating civil war characterized by unwanted destruction of lives and property.
The Nigeria Civil War is so significant that the history if this country would be incomplete without a survey of the circumstances that led to the war and the effects it had on the people that fought the war and the neighbouring communities. Although Nigeria as a whole witnessed the impact of the war, the people of the Eastern region suffered most because the war was fought in their territory.
This study is designed to investigate the effects of the Nigerian Civil War on Aboh-Mbaise L.G.A of Imo State, which was torn apart by the cruel war. This prosperous community was ravaged of her progressive and population. While the war lasted, it influenced both men and women by bringing them face to face with the ghastly realities of battle in a town where the sound of gun and other weapons of war were never heard before, it exposed children to hunger and death. The happy days of men and women at work on their own occasion and for their own profit disappeared from millions of people.
War is always a terrible things, it most often connotes deaths, injury, hunger and suffering. however courteous the soldier may be, by their nature, by their training and orders, they must seek to destroy their enemies. The very events of the recent conflict in Nigeria have inevitably made matters worse than might have been the case.
The effect of the war on Aboh-Mbaise is a turning point in the history of Nigeria and the then Eastern region and Aboh-Mbaise in particular. It marked a new dispensation in the government of the communities in Aboh-Mbaise.
Statement of the Problem
The Nigerian Civil War has come and gone but the stigma has remained. This is because of the negative effects of the war on the economic, social and political life of the people of Aboh mbaise. forty two years after the Civil War, people from other ethnic groups in Nigeria regarded the Igbos as enemies when in actual fact, it should not be so, Instead of looking at the war as a unifying factor, some people still approach it from a secessionist point of view.
This pre-conserved notion should be changed in order to ensure peace, unity and progress of the country.
It should be stated here that having officially declared an end to the war on the 10th of January 1970, the Federal Government adopted the slogan "No Victor, No vanquished". In line with the above slogan, one would have expected the government of the federal Republic of Nigeria to integrate the Igbos as was the case in the United States of America. After the Nigeria Civil War however, certain policies of federal government were deliberatly aimed at discriminating and marginalizing the Igbos.
This research work by acting as a catalyst would explore areas through which the country would remain together and forge ahead based on equitable distribution of resources, equal participation in governance and equality before the law. It is therefore believed that at the end of this study, peoples' attitude to the war will be inclined towards the appreciation of it's positive consequences.
Purpose of Study
This study is aimed at investigating the following.
Significance of Study
This research work would be of immense benefit to the people of Aboh-Mbaise Local Government Area as it will help to rediscover their socio-economic, political and educational background.
Furthermore, the Ministry of Education would benefit from this research work since it offers an opportunity on educational planning and policy making.
The Federal Government would benefit immensely from this research work as it would provide solutions to the lingering ethnic rivalry and political imbalance plaguing the Nigerian Political System.
Research Questions
This research work is focusing on the effect of Nigerian Civil War on Aboh-Mbaise Local Government Area of Imo State. In order to achieve the set objectives, the underlisted research questions were formulated to guide the study.
They are as follows:
Need More or Something Else?
Hire Writer


Pine bough, from
Pine bough, by fortinbras
PyNN (pronounced 'pine') is a Python package for simulator-independent specification of neuronal network models.
In other words, you can write the code for a model once, using the PyNN API, and then run it without modification on any simulator that PyNN supports (currently NEURON, NEST and PCSIM).
The API has two parts, a low-level, procedural API (functions create(), connect(), set(), record(), record_v()), and a high-level, object-oriented API (classes Population and Projection, which have methods like set(), record(), setWeights(), etc.).
The low-level API is good for small networks, and perhaps gives more flexibility. The high-level API is good for hiding the details and the book-keeping, and is intended to have a one-to-one mapping with FacetsML.
The other thing that is required to write a model once and run it on multiple simulators is standard cell models. PyNN translates standard cell-model names and parameter names into simulator-specific names, e.g. standard model IF_curr_alpha is iaf_neuron in NEST and StandardIF in NEURON, while SpikeSourcePoisson is a poisson_generator in NEST and a NetStim in NEURON. Only a small number off cell models have been implemented so far.
PyNN development has now moved to
Supported by the FACETS project.
Hosted by INRIA GForge Supported by the FACETS project Powered By GForge Collaborative Development Environment


text:
Justin Gaethje ● The Dominance of The Wrestler Base In MMA
Mindsmash is back with another intriguing analysis and question of why are wrestlers so dominant in MMA? Let's begin by taking a look at the players dominating in the sport. What is it about wrestling that makes it so powerful as an important discipline, when stringing together the rest of your arsenal? It's intent, as a sport and the philosophy it uses to execute that intent. So what is its intent?
"To Gain and Maintain a Superior Position"
This does two things. Using techniques to gain a superior position over the opponent. So that a fighter can hit you and you cannot hit them. With fighters like Tyron Woodley or Cody Garbrandt. Who can use their wrestling to keep the fight on the feet and away from the other fighters strengths. Which could, for instance, be Jiu Jitsu. That is why wrestling is so strong.
Wrestling is essentially a tool to inhibit the other opponent from using theirs, forcing you to play into their World. In MMA it may look a little different. But it's intent, its philosophy remains the same. Using explosiveness and technique to maintain a superior position over you.
Explosiveness is another key point we have to note. The explosive training regiment. Wrestling doesn't have as many techniques as Jiu Jitsu. Yet it is still very much a game of chess, a game of the mind. Mass times acceleration equals force. The faster you move your mass, the more force you will deliver.
Justin Gaethje is the newest athlete to sign with the UFC and he brings that same wrestling base with him. Gaethje was an NCCA division one All America wrestler. Who transitioning to MMA throughout college under the tutelage of Trevor Wittman. How will his skill set translate into the elite divisions of the UFC. With a fight of the year contender win over Michael Johnson, he's off to a great start. Let's deconstruct the overall philosophy they are using.


text:
of columns in the SELECT list has no impact on the ORDER BY when the columns are referred by names instead of numbers. Consider the following example, in which the second query is more readable than the first one:
SELECT OrderID, OrderDate FROM Orders ORDER BY 2
SELECT OrderID, OrderDate FROM Orders ORDER BY OrderDate


text:
One of the most important bridges across the Tiber.
The bridge was built to cross the river from the city center to Emperor Hadrian's mausoleum, which later became the Castel Sant'Angelo.
In 1450, its balustrades buckled due a surging mob of pilgrims making their way to the Basilica di San Pietro, leading to a mass drowning. Later, in the 16th century, the structure was used to display the bodies of executed men to the public.
- The Ponte Sant'Angelo was one of the few landmarks to appear in both Assassin's Creed II and Assassin's Creed: Brotherhood.
- The bridge was a restricted area in Brotherhood, except in certain memories, such as "The Ezio Auditore Affair".
- The bridge was formerly known as Pons Aelius or Ponte Aelius.


USGS - science for a changing world
Northern Prairie Wildlife Research Center
Monitoring Duckling Temperature Using A Remote Receiver/Datalogger System
Elston H. Dzus, Nova Gas Transmission Ltd., P.O. Box 2330, Edmonton, Alberta T5J 2R1 Canada, and Robert G. Clark, Canadian Wildlife Service, Environment Canada, 115 Perimeter Road, Saskatoon, Saskatchewan S7N 0X4 Canada
The ability to remotely monitor body temperature allows the researcher to evaluate behavior and survival of an unrestrained animal under a variety of environmental conditions. Mallard ducklings are unable to effectively regulate their body temperature in the first week after hatching and thus require an external heat source during this period. We monitored brooding behavior and a correlate of body temperature of mallard ducklings under laboratory and field conditions.
Temperature-sensitive microtransmitters (1.1 g) were glued to the skin on the back of wild-strain, captive-reared ducklings using Skin-bond O adhesive. Four to 6 ducklings per brood received transmitters. Captive female mallards that had recently (<3 days prior) hatched their eggs were used as the care-giving heat source. The recording system was comprised of an omni-directional antenna and a telemetry receiver (modified to accept a voltage output to change channels) connected to a data logger (which served to store data and provide the voltage output to the receiver). The system was programmed to record temperature and change channels every 10 sec. Experimental protocol was developed and utilized primarily in a laboratory setting where ambient temperature was manipulated between 5 and 30°C. A video camera was mounted above the experimental chamber to monitor behavior of the female and young. The sensitivity and accuracy of the transmitters allowed us to easily record tenth of a degree accuracy for duckling temperature; such sensitivity allowed detection of when the duckling was or was not being brooded by the female (confirmed by the video recording). The system worked very well in laboratory conditions and limited field testing showed considerable promise for future applications under natural conditions.
Previous Section -- Telemetric transmission of load cell and activity data from animal trap sites
Return to Contents
Accessibility FOIA Privacy Policies and Notices
Page Contact Information: Webmaster
Page Last Modified: Saturday, 02-Feb-2013 07:28:11 EST
Reston, VA [vaww55]


Translations of this page?:
 ostream& ostream::flush();
The flush() function causes the buffer for the current output stream to be actually written out to the attached device. This function is useful for printing out debugging information, because sometimes programs abort before they have a chance to write their output buffers to the screen. Judicious use of flush() can ensure that all of your debugging statements actually get printed.
You should use cerr for debugging, which does not buffer output by default.
Related Topics: put, write
- • • IndexRecent changesRSScc


NEW! Our Hero's Journey tool can help you with your next step towards financial freedom - click here to try now.
Advertiser Disclosure
What does it mean to 'keep your powder dry'?
What does it mean to 'keep your powder dry'?
Image source: Getty Images.
'Keep your powder dry' is a saying that you may be familiar with. But have you ever wondered what it means or where it comes from? This colloquial expression from the 1800s once worked as an alternative to 'take care' or 'be ready'.
Plot your path towards financial freedom with our Hero's Journey tool!
Over time, the phrase has found its way into the financial world, where it now means to always be ready for opportunities.
Basic meaning
The Cambridge Dictionary says that 'keep your powder dry' means 'remain cautious and ready for a possible emergency'. This refers more to always being prepared so you can take action if necessary rather than a warning about danger. It's a suggestion to avoid missing out on a great opportunity because you didn't consider all possibilities.
Origin of the expression
English general and statesman Oliver Cromwell is credited with creating the expression. The story goes that Cromwell was talking to his army during his campaign in Ireland. He warned them about keeping their gunpowder dry as they were about to cross a river before a battle. So, as a mix of warning and inspiration, he told his soldiers to 'Trust in God and keep your powder dry'.
About two hundred years later, British Army officer William Blacker used the entire phrase in his poem Oliver's Advice and made it famous. Over the years, the second half of the sentence has become commonplace on its own. It was even used as a movie title for a 1945 American drama film starring Lana Turner.
Financial applications
The concept of dry powder has made it into the financial world in the past few decades. It is mostly used to mean 'hold cash or liquid securities' in case a big opportunity opens up. When a company has cash reserves, it becomes easier to invest in a sudden opportunity, buy stocks or participate in a now-or-never deal.
Could you be rewarded for your everyday spending?
Rewards credit cards include schemes that reward you simply for using your credit card. When you spend money on a rewards card you could earn loyalty points, in-store vouchers airmiles, and more. MyWalletHero makes it easy for you to find a card that matches your spending habits so you can get the most value from your rewards.
Investopedia refers to 'dry powder' as cash reserves kept on hand for potential acquisitions, purchase of assets or payment of obligations (like tax). Highly liquid securities are also cash-like. These include short-term investments, money market accounts and instruments that you can sell quickly for emergency funding.
While cash reserves are especially important for venture capitalists and corporate environments, they also have a role in personal finance.
Holding some of your personal net worth in cash means you will have money available for both opportunities and emergencies. A threeto six-month emergency fund is an example of this.
Examples of liquid assets
Thinking about keeping your own powder dry? There are different ways to keep money easily accessible. Keeping money in a savings account is the easiest way to have liquid assets available. While interest rates are low, you can still find a savings account that offers a decent return on your deposit.
Stocks and shares are also good examples of liquid assets. You can buy and sell in the stock market at any time and access the funds within a few days.
If you have a business, your accounts receivable (money your customers owe you) is also a liquid asset. Of course, how soon you have access to it depends on how quickly your customers pay you.
Are you making these 3 common investing mistakes?
These all-too-common investing errors can cause you to miss out on the long-term wealth-building power that shares can hold….
To help you side-step these pitfalls, and move forward on your path to wealth-building, we've created a free report, "The 3 Worst Mistakes New Investors Make".
Just enter you best email below for instant access to your free copy.
By checking this box and submitting your email address, you agree to MyWalletHero sending you emails with money tips, along with details of products and services that we think might interest you. You can unsubscribe from future emails at any time. You also consent to us processing your personal data in line with our privacy policy, and our cookie statement. For more information, including how we collect, store, and handle personal data, please read our Privacy Statement and Terms & Conditions.


Thank you for visiting
10 Rows A Day!
You are welcome to download
free knitting e-books, charts and patterns
from the Resource Library
Hello! I'm Maryna, a knitting instructor, designer and a lifelong knitter. I'll show you simple ways to knit without stress and to make beautiful knits that you'll be happy to wear or gift.
Be the first to receive my newest photo and video tutorials
You might wonder – What's in the name? Why "10 rows a day"?
Well, that's how simple knitting is. If you knit 10 rows every day, you'll make a baby hat in about 4 days, an adult hat in just a week.
That means you can make 52 hats in a single year! Amazing, isn't it?
Check out estimations for other projects with
So, what's happening here, at 10 rows a day?
A lot of knitting, swatching and researching. Every week I pick a question that I get from my subscribers (there are over twenty-five thousand of them and they are all amazing, incredibly supportive people 🙂 ) Then I search through lots of resources both online and offline to find the best ways to answer that question.
Sometimes I choose to describe and explain a technique that I've learned from a book or from my own knitting experience. In that case, I search for all possible variations of that technique and different ways to use it.
Once I have that information handy, I start swatching to test every little tip. I find those that are the easiest to knit and provide the best results. I take photos (often they are step-by-step demonstrations) to show how that technique works and how you can use it in your knitting.
For those knitters who are visual learners, I make a video tutorial.
If necessary, I compile additional cheat sheets and templates to help you use the technique I describe. For example, I made a sweater size chart that helps you take the measurements of your favourite sweater to ensure that your finished knits fit. Or the knitting time calculator, that helps you plan your knitting time and get fewer UFOs.
Every Friday, I put all that information together in a tutorial and share it with my community of subscribers.
You are more than welcome to join in (the newsletter is free)


text:
Invertebrates in your Backyard
Uses these techniques to discover what invertebrates call your backyard home.
There are many techniques to survey the invertebrates in your backyard. Use a combination to determine the diversity of invertebrates in your local area.
- Pitfall traps sampling involves placing a small container buried to ground level so that it can collect anything that falls into it. This is a commonly used technique that catches large amount of material for very little effort. Common species found with this method include ants, spiders and beetles. This test is also very easy to standardise.
- Leaf Litter sorting involves collecting leaf litter then sifting through the material to find the invertebrates. Protective clothing should be worn, sample sizes should be the same and equal lengths of time should be spent sifting the leaf litter samples.
- Beat sampling is probably the most widely used technique for collecting invertebrates from vegetation. This is a good technique for collecting beetles, ants, bugs and spiders. Use a sturdy stick is used to beat the vegetation, stunning the invertebrates. They can be collected in a light colour shallow bag or off a drop sheet.
- Dip Netting is the simplest and most effective technique for collecting aquatic invertebrates. Nets can be used to collect from shallow and reedy areas. Organisms are put in a bucket or container along with water from the creek or pond to be identified.
Karen Player, Manager Museum Outreach