"The Secret Life of Walter Mitty" runs on the theme of escapism from feeble reality into a fulfilling dream world. Explain.
Expert Answers
An illustration of the letter 'A' in a speech bubbles
Yes, this is the prominent theme. In case you need to study the story further, you might consider what Thurber might be communicating through this theme: what is he saying about those who daydream as well as the world they are trying to escape through daydreaming? To understand this, you can look closely the contrast between Walter Mitty in real life and the persona of his daydreams.
1. What are the real Walter Mitty's character traits? (does he have any noticeable virtues, or special skills?) How is he treated as a consequence?
3. Now consider the daydream-Mitty's virtues and skills. Note how he is treated as a consequence.
Everyone wants to escape reality to some degree at some point of their lives. "The Secret Life of Walter Mitty" offers us an extreme example--a man who seems unable to function in the world without daydreaming. Is he a sympathetic character? (Can we relate to him, or not?) Did Thurber mean to portray Walter Mitty as the victim of a "feeble", possibly emasculating modern society and over-aggressive wife? Or is he unsympathetic--merely a pitiful figure who deserves the mocking, harsh treatment he gets? A little of both?
Your answer will help you determine what you think the author is trying to convey with the escapism theme.
Approved by eNotes Editorial Team
An illustration of the letter 'A' in a speech bubbles
Newcastle is a city in England that was well-known as the center of a coal mining region. To bring coal there means to have too many of something. In this case, it's pointless to have so many great doctors with Mitty there.
The story does run on this theme. Mitty's life is totally feeble. He cannot do anything right. He can't even take the chains off his tires or park his own car. That's pretty feeble. But in his dream world, he is everything a man could hope to be. He is brave and strong and smart and attractive to women. Therefore, he uses these daydreams as a way to escape from his feeble reality.
Approved by eNotes Editorial Team
We'll help your grades soar
 - 30,000+ book summaries
 - 20% study tools discount
 - Ad-free content
 - PDF downloads
 - 300,000+ answers
 - 5-star customer support
Start your 48-Hour Free Trial


text:
Special Issue Article
Comparison of Buck-Boost and CUK Converter Control Using Fuzzy Logic Controller
DC-DC converters are used in many application such solar battery system, dc motor drives etc. DC-DC converters are used to convert the unregulated dc voltage into regulated dc voltage .The performance of these types of converters are best choice of control methods. Traditional methods require a mathematical model for a system but the fuzzy logic controller doesn't require any mathematical model and very simple to implement .The main objective of this work to reduce the overshoot of these types of converters. This work concentrates on buck-boost and cuk converter. The buckboost and cuk converter is simulated for different R-Loads and their output voltage is settle at desired voltage .The performance of buck-boost and cuk converter are simulated using Matlab/Simulink and comparison study is performed.

source: m-a-p/FineFineWeb


text:
Three Tree Point is a prominent peninsula on the eastern shore of Puget Sound about 14 miles south of Seattle. Its name came from three massive fir trees that stood on the north side of the point at the beginning of the 20th century. The area remained largely undeveloped until 1903 when the Three Tree Point Company began marketing the community as a place to build summer homes. Seattle's business elite built houses at the point to take advantage of the beach lifestyle for which it has become known. Over the years, Three Tree Point and its 2.5 miles of waterfront emerged as one of the Northwest's most unique residential communities. Its history is a diverse mixture of family life, unusual characters, Fourth of July celebrations, shipwrecks, fishing derbies, and storytelling.
Author Bio: Pam and Guy Harper's families have been residents of Three Tree Point for generations, and the couple has an intimate knowledge of the history, culture, and lifestyles of the people who have lived there. Doug Shadel is also a resident of Three Tree Point and an author of five previous books on a variety of topics. Numerous residents of the point generously contributed to this book by donating pictures from their personal collections.
Find Books By Title:
Find Books By Theme:
Find Books By State:

source: HuggingFaceFW/fineweb-edu


How to Survive a Performance Counseling Meeting
What to do if you learn your work isn't up to par.
You thought everything was going fine at work, but your manager just pulled you into a meeting and told that she has serious concerns about your performance. Or maybe you've sensed for a while that your manager wasn't happy with your work, and now you're hearing details. Either way, what should you do when you hear your performance isn't up to par?
Here are eight keys to surviving a performance counseling meeting and coming out OK on the other side.
1. Listen. Your mind might be reeling, especially if you didn't see this coming, and you might be anxious or even panicking. But the most important thing you can do in this meeting is to stay calm and listen to the feedback – because understanding your manager's concerns will be key to being able to resolve them.
2. Don't get defensive. It's human nature to want to defend yourself against criticism. But focusing on defending yourself can keep you from hearing and processing what your manager is saying. Even if your manager is wrong, you need to understand her concerns, because your job security depends on how she views your work. Moreover, getting defensive will generally make the situation worse; your manager is looking for signs that you're hearing her feedback and will be able to act on it. If you're solely focused on fighting it, she's likely to become worried that you won't be able to make the changes she's asking for.
3. Ask questions to make sure you understand what you're being told and what you must do to improve. If your manager has been vague, ask her to help you understand the issues by giving you a specific example or two.
4. Show that you're taking it seriously. Responding with a brusque "OK" and nothing more makes it look like you're just interested in ending the conversation. Instead, show that you're taking the feedback seriously, by using language like, "I'm glad you're telling me this. I hadn't realized this was a concern and I'm glad to have the chance to work on it." Or, if you can't stomach that, at least say something like: "I want to take some time to think about this, but I appreciate you telling me." Responses like this can change the nature of the meeting, diffusing any adversarial feel and making it more collaborative.
5. If you genuinely disagree with the feedback you're hearing, and you're sure it's not just your ego getting in the way, it's OK to share that. But how you say it and what tone you use will be key. For instance, you might say: "I hadn't realized it was coming across that way, so I'm glad to know. From my perspective, it seems like _____."
6. Be honest with yourself about the feedback. As difficult as it might be to admit, is there truth to your manager's feedback? What factors do you think have been causing the problems? Understanding this will be important in figuring out how to move forward.
7. Set out a plan. Tell your manager what you plan to do to address her feedback, even if it's as simple as, "I'm going to take some time to think about this and figure out how to resolve these issues."
8. Thank you manager for the feedback. Yes, really. Thanking your manager may be the last thing you feel like doing right now, but remember that it's far better to be made aware of your boss's concerns than to be blindsided by them one day when it's too late to fix them. Repeat as needed: "I appreciate you talking to me about this."
And remember, it's not the end of the world to receive critical feedback. Most people have, at some point in their professional lives, been told that they need to do something different or better. Only a very small percentage of those conversations ended with the person losing their job. So listen, be receptive, and try not to let your emotions get in the way.
corporate culture
You Might Also Like


text:
Complex Adaptive Socio-Technical Systems – The Role of Socio-Technical Networks in New Product Development
51 Pages Posted: 29 Jan 2014
Date Written: January 15, 2014
New product development (NPD) is challenging, as it involves mastering new technologies by coordinating appropriate resources efficiently and effectively. Established models of NPD focus on structuring, planning and ordering the innovation process but do not account for complexity and organizational responses and strategies in handling day-to-day resource allocation and decision-making.
Our work is theoretically based on ideas from complexity science and NPD procedures. We build on and extend the work on Complex Adaptive System (CAS) and combine it with Socio-Technical System in an innovative approach to analyze, understand and manage NPD complexity by means of network analysis and performance metrics.
This paper contributes to existing literature by introducing a framework of complex adaptive socio-technical systems (CASS). It is intended to (1) consider dependencies between product and individuals, (2) provide indicators to measure complexity, efficiency and effectiveness, (3) explain complex phenomena by identifying patterns, and (4) enable NPD governance.
We demonstrate the applicability of our framework and metrics using comparative longitudinal case studies using novel and unique data from 4 years of meeting minutes and document exchange in the design phase of the NPD process of a large German automobile OEM. Results reveal new measures for addressing operational, social and technical complexity, providing new insights into complex dynamic behavior. From a managerial point of view, contributions of CASS are twofold: First, new possibilities for NPD governance emerge from performance indicators. Second, the extraction of dynamic socio-technical networks supports project-to-project learning.
Keywords: Innovation; Complexity; Socio-technical Systems; Networks; Longitudinal
Suggested Citation: Suggested Citation

source: openbmb/Ultra-FineWeb


How do visually impaired swimmers know where their opponents are?
Paralympic champion Brad Snyder and tapper Brian Loeffler explain their tricks in the pool. 28 Apr 2017
Tapper taps a visually impaired swimmer on the head
Tappers let visually impaired swimmers know when they are approaching the end of the pool. Once the swimmers recieve the tap, they know when to turn.
"The most interesting dynamic to me is that after the race, we don't find out the outcome for quite a while because we can't see the scoreboard"
With raging adrenaline and muscles propelling their bodies at high speeds toward a wall, visually impaired swimmers need to know – exactly – when to turn.
Otherwise, they would collide with the wall.
This is where the swimmer's tapper comes into play.
A tapper is a person who lets the swimmer know when they are approaching the end of the pool by "tapping" them either once or twice.
Timing, the swimmer's preference and repetition, repetition, repetition, are all important, as five-time US Paralympic champion Brad Snyder and his tapper Brian Loeffler explain the tricks and techniques to visually impaired swimming:
1. How do you manage to swim in a straight line?
Brad Snyder: Practice, practice, and more practice … and even then, I still veer off course. That being said, the ways I attempt to stay straight are by always training with symmetry in mind, both in and out of the water.
I try to train so that my body is strong on both sides, and that I am employing both sides equally. Even still, I still notice differences in strength from one side to the other. So I note these differences and compete with that awareness.
I have modified my arm recovery, dragging my fingers along the surface of the water so that if I veer off course toward the lane line, I will hopefully detect the lane line with my fingers, allowing me to correct course before I crash and lose precious time.
2. How do you know (if even) where your opponents are?
BS: I don't! That's the magic of blind swimming. We are not really racing each other so much as we're racing ourselves.
3. How do you know if you are first, second, third, etc.? Or does that matter?
BS: I don't! I often imagine that I am behind so that it's easier to dig down deep towards the end of a race!
4. When a tapper taps your head, what does that tell you? How do you know when to turn for another lap?
BS: The tapper taps my back, not my head. When I get the tap, I immediately turn. We feel as though this eliminates any potential errors in stroke counting or whatever else. I try to simplify things as much as possible, so our strategy is 'tap, then turn!' Nothing else!
5. Have you been a "tapper" before you worked with Brad? What are some differences among athletes and their tapping preferences?
Brian Loeffler: Before I coached Philip Schultz who was a 2008 Paralympian. … That's where I had my first experience and really learned how to tap.
There are other nuisances with tapping. There's no official [tapping device].* It's not a standard piece of equipment. It's a really homemade device. Some people use long fishing poles. Brad would tend to use a cane that we could fold up to transport easily and it usually had a tennis ball at the end.
What also varies for each person is that some people like to be struck on the head. And some people like to be struck on the back. Brad likes the back. Philip likes the head.
6. What is key between a tapper and the swimmer?
BS: Consistency. It helps the tapper to know my race strategy and what pace I will be coming into the wall. It helps me if the tapper taps at the same point every time. When we get on the same page, the turn should look exactly like an able-bodied swimmer's turn. You shouldn't even be able to tell that I'm blind.
BL: I think it's really important to have a tapper you trust because you're swimming at a fast rate into the wall and you have to know that the tapper is going to tap you, and at a point where you're not too far away or close to the wall.
Some other folks like a long tapping device like 14 feet long. So they get to tap further out and take a couple of strokes before they flip in. Brad's preference is to be closer so that it's more immediate and he knows when to flip.
7. What else is important for a tapper on the pool deck?
BL: You have to just focus on your swimmer. Don't get distracted with what's going on in the race, where they are in the race or where their competitors are. Don't look at the stands. Your sole job is to focus on them and gauge their speed. It's very much like a relay takeoff. You have to anticipate how fast they're moving, and when the point is when they want to receive the tap.
I think some other things tappers might be afraid of when they're starting out is being too timid. … They need to be struck fairly hard. They would rather be struck hard and feel the tap rather than question oh was that a tap? Or was that a bump on the lane line?
Tappers also can't communicate with the swimmers. No words of encouragement or strategy.
8. What other facts should we know about how visually impaired swimmers swim?
BS: The most interesting dynamic to me is that after the race, we don't find out the outcome for quite a while because we can't see the scoreboard. It's excruciating to sit in the pool, listening to everyone cheer, hoping it's for you, but not being sure.
(*) While there are no set length regulations in the current rulebook, all tapping devices must be deemed safe by the Technical Officials at all international World Para Swimming competitions (rule


Migrating a NIM client by using LPM
When Live Partition Mobility (LPM) is used to move a machine from one physical server to another and the machine is defined as a Network Installation Management (NIM) client, the NIM administrator must update the cpuid attribute for the NIM client to reflect the new hardware value after the LPM migration completes.
To update the cpuid attribute, complete the following steps:
 1. On the NIM client, acquire the new cpuid ID by running the following command:
 uname -a
 2. On the NIM master, run the following command:
 nim -o change -a cpuid=cpuid client
 Note: The OS_install network installer no longer supports the installation of the Linux® operating system because of the removal of Cluster Systems Management (CSM) support in the AIX® operating system.


text:
What is Dynamic Combinatorial Chemistry?
DCC methodology utilizes cyclic structures which interchange via reversible covalent bond formation to create a dynamic library of potential receptors. When this thermodynamically controlled mixture is incubated with an analyte of interest, the library responds by shifting the equilibrium towards the receptor that best binds the analyte, i.e. the best receptor is amplified relative to the non-templated state. This is best visualized with the following simple graphic:
The experiment begins with a library of "monomers", each of which has two reactive groups on it; in the example above, the reactive groups are thiols. Prior to adding the analyte, the dithiols are oxidized and equilibrated to the complex mixture of disulfides; three are shown but statistically many hundreds are possible. An analyte is then added under conditions where the library is in equilibrium, such that the library constituents can respond to the analyte by shifting towards the best host-guest pair to establish a new equilibrium. In this competitive binding situation, the best receptor is identified by determining which compound(s) was amplified. This differs from a traditional (static) combinatorial library because the method simultaneously generates the library and dynamically amplifies/identifies the winner.
Funding for the CDCC comes from the Defense Threat Reduction Agency Basic Research program administered by the Army Research Office (W911NF04D0004)


text:
QoS provisioning in the absence of ARQ in cellular fixed relay networks through inter-cell coordination
We propose an interference management scheme for providing qualify of service (QoS) in the absence of automatic repeat request (ARQ) in cellular networks augmented with fixed relays. The high packet error rate in a system with ARQ not only incurs additional packet delay, which is undesirable for real-time services, but also reduces link throughput because of the increased over-the-air signaling overhead and retransmissions. The proposed scheme strives for improvements in packet error rate and net throughput while maintaining acceptable delay through the use of inter-cell coordination. The inter-cell coordination uses backbone network for information exchange and thereby transfers over-the-air signaling overhead to the high-speed backbone network. In our scheme, a group of base stations, each of which is either a recipient of or a contributor to dominant interference, form an interferer group and exchange channel state information with each other. Based on this instantaneous channel quality information, the proposed scheme makes intelligent scheduling and routing decisions taking the interference into account. The performance of the scheme is compared with that of an uncoordinated scheme through extensive simulations. It has been observed that the proposed scheme achieves significant performance benefits in terms of packet error rate and net throughput.
|Keywords||Base station coordination, Cellular relay networks, Dynamic interference aware scheduling, Interference management, Multihop networks, QoS in non-ARQ systems, Radio resource management|
|Conference||IEEE GLOBECOM 2006 - 2006 Global Telecommunications Conference|
Rahman, M. (Mahmudur), & Yanikömeroǧlu, H. (2006). QoS provisioning in the absence of ARQ in cellular fixed relay networks through inter-cell coordination. In GLOBECOM - IEEE Global Telecommunications Conference. doi:10.1109/GLOCOM.2006.702


Soil Infusion
Soil Infusion is a complex high carbon product designed to build healthy soil and increasing the diversity of soil biology. These carbon compound wake up the soil as they provide readily available food for the beneficial soil biota. This interaction will result in better soil flocculation, increased root mass, disease suppression and more efficient water infiltration. Soil Infusion has a broad diversity with complex carbons, fish solubles, crab meal, worm castings, humates and polysaccharides. Our research observed a ten fold increase in native soil biology and 25% more available fertilizer nutrients in the root zone, apply soil drench or foliar.
Beneficial soil bacteria, microbes, amino acids, mycorrhizae, trichoderma and saprophytic fungi. Great way to build your soil food web.
*Application cost per acre $8.00 - $16.00
Related Items


Sign up ×
There is of course the standard construction of the reals by considering the set of sequences that are Cauchy with respect to the standard metric and taking the quotient by sequences that converge to 0, but in many other cases of the completion of a ring or group, we can complete by taking an inverse limit of factor rings/groups corresponding to some predetermined ideals/subgroups. For example, the $\mathfrak{p}$-adic integers are constructed using precisely this type of inverse limit construction, where the ideals are the powers of $\mathfrak{p}$, where $\mathfrak{p}$ is the ideal $(p)$ for $p$ a prime.
Is there any way to construct the reals using a similar inverse limit construction?
It seems like this might be related to the so-called "infinite prime", but I don't know if there is really a way to complete with respect to an "infinite prime", which doesn't seem like it is strictly a prime integer or ideal, so that doesn't really seem to help..
(If anyone can think of better tags, please go ahead and change the ones I've used. I wasn't really sure how to classify this).
share|cite|improve this question
It appears to me that it is not the arithmetic but the ordering that plays the game here. The question seems to still make sense if we ignore the arithmetic structure of rational number and only look at it as a countable dense linear ordering without end points. My first reaction is no, but I don't have a good argument for it. – abcdxyz Mar 30 '10 at 10:04
The infinite prime is certainly a mathematical object in the context of Arakelov geometry, although I don't know if that's relevant here. – Qiaochu Yuan Mar 30 '10 at 10:07
Rather, it's not strictly a prime. – Harry Gindi Mar 30 '10 at 10:10
I think the things are the other way round. Since both usual primes and the Euclidean metrics define absolute values, and you can do many similar constructions with them (e. g. completion) it is sometimes more convenient to think of these objects together. So, given a global field K with a maximal order O, one often consider the set of places of K (equivalence classes of absolute values) as a better behaved replacement of Spec(O). In this sense the absolute value itself is a "generalized prime" tautologically, but this surely does not answer your question. – Andrea Ferretti Mar 30 '10 at 10:15
In the category of archimedean ordered fields, $\mathbb{Q}$ is initial and $\mathbb{R}$ is terminal. I think this mirrors what happens at finite primes pretty well (a little too well, in fact). – François G. Dorais Mar 30 '10 at 11:44
4 Answers 4
up vote 8 down vote accepted
Although your question is not at all vague, there are a few completely different ways to interpret what a good answer would be. Knowing a bit about your personal preferences, I suspect the following is not at all what you wanted, but it is still of interest to the community.
The fact that $\mathbb{Q}_p$, for example, can be seen as an inverse limit boils down to the fact that the series representations $$\sum_{n \in \mathbb{Z}} a_n p^{-n}$$ give a homeomorphism between $\mathbb{Q}_p$ and the subspace of $\{0,1,\dots,p-1\}^{\mathbb{Z}}$ of eventually zero sequences (on the positive side). At first glance, it would seem that the same works for $\mathbb{R}$ since every element of $[0,\infty)$ has a very similar binary expansion $$\sum_{n \in \mathbb{Z}} a_n 2^n$$ where $(a_n)_{n \in \mathbb{Z}}$ is again in the space of all eventually zero sequences in $\{0,1\}^{\mathbb{Z}}$. Unfortunately this is not a bijection. In fact, there is no way to select such a sequence $(a_n)_{n\in\mathbb{Z}}$ continuously — binary rationals are always points of discontinuity no matter how the selection is made.
There is a funny way to remedy this which is commonly used in Computable Analysis and Reverse Mathematics. The idea is to represent real numbers again with series of the form $$\sum_{n \in \mathbb{Z}} a_n 2^n$$ but where $(a_n)_{n \in \mathbb{Z}}$ is now an eventually zero sequence from the extended set $\{-1,0,1\}^{\mathbb{Z}}$. The obvious cost is that no number has a unique representation in this form, but the side benefit is that the binary rationals are no longer'special' in this way. In the end, this representation is extremely well behaved compared to ordinary binary expansions. This can be seen from the fact that any invariant continuous function between representations (see note) gives rise to a continuous function $\mathbb{R}\to\mathbb{R}$, and every continuous function $\mathbb{R}\to\mathbb{R}$ admits such a lifting.
The conclusion to draw from this is that, up to some very nice blurring, $\mathbb{R}$ is indeed an inverse limit just like $\mathbb{Q}_p$.
Note: The topology on eventually zero sequences is not exactly the product topology, it is given by the metric $$d(\vec{x},\vec{y}) = \inf\{2^n : \forall m \geq n\,({x_m = y_m})\}.$$ The invariance of a function $f$ between eventually zero sequences from $\{-1,0,1\}^{\mathbb{Z}}$ means that if $\vec{x}$ and $\vec{y}$ represent the same real number then so do $f(\vec{x})$ and $f(\vec{y})$.
share|cite|improve this answer
You can express the condition that $a_n$ is eventually zero as follows: $$\sum_{-\infty


text:
In 2011 CCRC chose to honour Les Horne's lifetime of achievement and commitment to children by presenting his family with a Child Rights Champion award in his memory.
CHILD RIGHTS CHAMPION: LES HORNE
Les Horne lived out his respect for the rights of children in a lifetime of work with children and fighting for changes when they were treated unfairly. Les pioneered in: giving children a voice in what happens to them in child welfare and youth justice; treatment in community homes instead of institutions; individualized plans for young people with many needs; and putting children first in government policies. Among other achievements, Les Horne was the first provincial Children's Advocate in Canada and he was a leader in getting the Convention on the Rights of the Child adopted.


text:
Alumnus Wins Early-Career Research Award
A Department of Energy Computational Science Graduate Fellowship (DOE CSGF) alumnus is one of three people honored for their promising research in high-performance computing (HPC).
Edgar Solomonik, a fellow from 2010 to 2014, is a 2018 winner of the Technical Consortium on High Performance Computing Early Career Researchers Award, sponsored by the Institute of Electrical and Electronics Engineers Computer Society. The winners will be honored in November at SC18, the international supercomputing conference, in Dallas.
An SC18 release says the award "recognizes up to three individuals who have made outstanding, influential, and potentially long-lasting contributions in the field of high-performance computing within five years of receiving their Ph.D." as of January 1 of the award's year.
Solomonik is an assistant professor in the scientific computing group of the Department of Computer Science at the University of Illinois at Urbana-Champaign. He received his doctorate in 2014 at the University of California, Berkeley, and later was a postdoctoral fellow at Switzerland's ETH Zurich.
Solomonik has developed improved numerical algorithms and high-performance computing libraries. His research group, the Laboratory for Parallel Numerical Algorithms, leads the development of the Cyclops library for tensor computations. Cyclops, which sprang from Solomonik's 2011 DOE CSGF practicum at Argonne National Laboratory, has enabled groundbreaking simulations of electronic structure and quantum circuits. It also has applications in graph and data analysis.
The other honorees are Lin Gan of Tsinghua University and the National Supercomputing Center in Wuxi, China, and Argonne's Min Si.
The award is sponsored by the IEEE-CS Technical Consortium on High Performance Computing (TCHPC) and its member Technical Committees. The selection committee includes DOE CSGF alumna Amanda Randles, an assistant professor of biomedical sciences at Duke University.


text:
01 Operation Principle
- • Integration of the structure by interlocking separated blocks from the top, bottom, left and right underwater while integrating with a firm foundation at the same time
- • Suitable for locations where it is difficult to install caisson blocks
- • Technique applied to Tiecell caisson that can be applied to all marine structures from breakwaters and small fishing ports to large container piers
Reduced cross-section of structure and integration with the foundation
02 Improvement of Efficiency
- • Unlike conventional breakwaters, since each block is interlocked from the top, bottom, left and right sides underwater due to the interlock structure and ensures reliable stability against waves, it enables the implementation of various breakwater shapes
- • There may be minor errors in the production of blocks, and errors may occur because they are mounted in water. The solutions to these errors are as follows
- - The rebar mesh is made 30% smaller than the original lattice holes.
- - When designing the interlocking pipes, the diameter is designed to be 30% larger than the size in the structural review so that there won't be structural stability problems even if construction error occurs.
- - As shown in the figure, even if an allowable error occurs in the production and installation of the blocks, since the square rebar net is 30% smaller than the lattice holes, there isn't a problem with embedding.
- - The seawater barrier is installed in close contact with the lattice hole side by lateral pressure to bind the blocks.
Drill-type Tiecell Flow Chart
- • Rebar concrete columns are installed directly into the ground by drilling directly into the bedrock layer.
- • The economic effect is maximized by dramatically miniaturizing the cross section of the existing large caisson
Economic feasibility is secured through the minimization of cross sections and quantity
Caisson method application by manufacturing small blocks and then interlocking them underwater
Efficiency of Tiecell Blocks
04 Structural Stability
- • Stability is secured by examining only the column member force for external forces
- • Friction by the weight of the Tiecell block is not considered
- • Considering the frictional force caused by the weight of the structure, the reduction in construction costs can be even greater


: wide
+
+ | :sl:'Gets or sets the face's wide style'
+ | :sg:'wide -> bool'
+
+ Gets or sets whether the face will be stretched horizontally
+ when drawing text. It produces a result simular to font.Font's
+ bold. This style is only available for unrotated text.
+
+ .. attribute:: strength
+
+ | :sl:'Gets or sets the strength of the strong or wide styles'
+ | :sg:'strength -> float'
+
+ The amount by which a face glyph's size is enlarged for the
+ strong or wide transformations, as a fraction of the untransformed
+ size. For the wide style only the horizontal dimension is
+ increased. For strong text both the horizontal and vertical
+ dimensions are enlarged. A wide style of strength 1/12 is
+ equivalent to the font.Font bold style. The default is 1/36.
+
+ .. attribute:: underline_adjustment
+
+ | :sl:'Gets or sets an adjustment factor for the underline position'
+ | :sg:'underline_adjustment -> float'
+
+ Gets or sets a factor which, when positive, is multiplied with the
+ face's underline offset to adjust the underline position. A negative
+ value turns an underline into a strikethrough or overline. It is
+ multiplied with the ascender. Accepted values are between -2.0 and 2.0
+ inclusive. A value of 0.5 closely matches Tango underlining. A value of
+ 1.0 mimics SDL_ttf.

 .. attribute:: fixed_width

- | :sl:'Gets whether the font is fixed-width'
+ | :sl:'Gets whether the face is fixed-width'
 | :sg:'fixed_width -> bool'

- Read only. Returns whether this Font is a fixed-width (bitmap) font.
+ Read only. Returns whether this Face is a fixed-width (bitmap) face.

- Note that scalable fonts whose glyphs are all the same width (i.e.
+ Note that scalable faces whose glyphs are all the same width (i.e.
 monospace ''TTF'' fonts used for programming) are not considered fixed
 width.

- .. ## Font.fixed_width ##
-
 .. attribute:: antialiased

- | :sl:'Font antialiasing mode'
+ | :sl:'Face antialiasing mode'
 | :sg:'antialiased -> bool'

- Gets or sets the font's antialiasing mode. This defaults to True on all
- fonts, which will be rendered by default antialiased.
+ Gets or sets the face's antialiasing mode. This defaults to ''True'' on
+ all faces, which are rendered with full 8 bit blending.

- Setting this to true will change all rendering methods to use glyph
- bitmaps without antialiasing, which supposes a small speed gain and a
- significant memory gain because of the way glyphs are cached.
+ Setting this to ''False'' will enable monochrome rendering. This should
+ provide a small speed gain and reduce cache memory size.

- .. ## Font.antialiased ##
+ .. attribute:: kerning
+
+ | :sl:'Character kerning mode'
+ | :sg:'kerning -> bool'
+
+ Gets or sets the face's kerning mode. This defaults to False on all
+ faces, which will be rendered by default without kerning.
+
+ Setting this to true will change all rendering methods to do kerning
+ between character pairs for surface size calculation and all
+ render operations.

 .. attribute:: vertical

- | :sl:'Font vertical mode'
+ | :sl:'Face vertical mode'
 | :sg:'vertical -> bool'

- Gets or sets whether the font is a vertical font such as fonts
+ Gets or sets whether the face is a vertical face such as faces in fonts
 representing Kanji glyphs or other styles of vertical writing.

- Changing this attribute will cause the font to be rendering vertically,
+ Changing this attribute will cause the face to be rendering vertically,
 and affects all other methods which manage glyphs or text layouts to use
 vertical metrics accordingly.

 Note that the FreeType library doesn't automatically detect whether a
- font contains glyphs which are always supposed to be drawn vertically, so
+ face contains glyphs which are always supposed to be drawn vertically, so
 this attribute must be set manually by the user.

- Also note that several font formats (specially bitmap based ones) don't
+ Also note that several face formats (specially bitmap based ones) don't
 contain the necessary metrics to draw glyphs vertically, so drawing in
 those cases will give unspecified results.

- .. ## Font.vertical ##
+ .. attribute:: origin

- .. ## ##
+ | :sl:'Face render to text origin mode'
+ | :sg:'vertical -> bool'

- .. ## pygame.freetype.Font ##
+ If set True, then when rendering to an existing surface, the position
+ is taken to be that of the text origin. Otherwise the render position is
+ the top-left corner of the text bounding box.

-.. ## pygame.freetype ##
+ .. attribute:: pad
+
+ | :sl:'padded boundary mode'
+ | :sg:'pad -> bool'
+
+ If set True, then the text boundary rectangle will be inflated to match
+ that of font.Font. Otherwise, the boundary rectangle is just large
+ enough for the text.
+
+ .. attribute:: ucs4
+
+ | :sl:'Enables UCS-4 mode'
+ | :sg:'ucs4 -> bool'
+
+ Gets or sets the decoding of Unicode textdecoding. By default, the
+ freetype module performs UTF-16 surrogate pair decoding on Unicode text.
+ This allows 32-bit escape sequences ('\Uxxxxxxxx') between 0x10000 and
+ 0x10FFFF to represent their corresponding UTF-32 code points on Python
+ interpreters built with a UCS-2 unicode type (on Windows, for instance).
+ It also means character values within the UTF-16 surrogate area (0xD800
+ to 0xDFFF) are considered part of a surrogate pair. A malformed surrogate
+ pair will raise an UnicodeEncodeError. Setting ucs4 True turns surrogate
+ pair decoding off, letting interpreters with a UCS-4 unicode type access
+ the full UCS-4 character range.
+
+ .. attribute:: resolution
+
+ | :sl:'Output pixel resolution in dots per inch'
+ | :sg:'resolution -> int'
+
+ Gets the pixel size used in scaling face glyphs for this Face instance.
+
+ .. method:: set_transform
+
+ | :sl:'assign a glyph transformation matrix'
+ | :sg:'set_transform(xx, xy, yx, yy) -> None'
+
+ Set a transform matrix for the face. If None, no matrix assigned.
+ The arguments can be any numeric type that can be converted
+ to a double. The matrix is applied after the strong transformation,
+ but before oblique and rotation.
+
+ .. method:: delete_transform
+
+ | :sl:'delete a glyph transformation matrix'
+ | :sg:'set_transform(xx, xy, yx, yy) -> None'
+
+ Remove the transformation matrix, if any.
+
+ .. method:: get_transform
+
+ | :sl:'return the user assigned transformation matrix, or None'
+ | :sg:'get_transform() -> (double, double, double, double) or None'
+
+ Return the transform matrix for the face. If None, no matrix is assigned.
docs/reST/ref/freetype.rst
 .. method:: render_raw

 | :sl:'Renders text as a string of bytes'
- | :sg:'render_raw(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> (bytes, (int, int))'
+ | :sg:'render_raw(text, style=STYLE_DEFAULT, rotation=0, ptsize=default, invert=False) -> (bytes, (int, int))'

- Like ''Face.render(None, ...)'' but the tuple returned is an 8 bit
+ Like ''Face.render()'' but the tuple returned is an 8 bit
 monochrome string of bytes and its size. The forground color is 255, the
 background 0, useful as an alpha mask for a foreground pattern.

+ .. method:: render_raw_to
+
+ | :sl:'Renders text as a string of ints to an array'
+ | :sg:'render_raw_to(array, text, dest=None, style=STYLE_DEFAULT


Worked With:
Robert Altman
Paul Verhoeven Biography
Home > Actors > V > Verhoeven, Paul > Biography
Birth Name: Paul Verhoeven
Born: 07/18/1938
Birth Place: Netherlands
Verhoeven spent his childhood in the Nazi-occupied Netherlands, and the wartime visions of fire in the sky and death became imprinted on the future filmmaker's consciousness. Though he earned a doctorate in mathematics and physics at the University of Leiden, he put his heart in film, having feasted on action-packed American fare since his youth, as well as enjoying a passing fascination with the French New Wave and the films of Fellini. Verhoeven had directed a series of shorts before service in the Royal Dutch Navy film corps forever turned him from the academic life. After first making documentaries for Dutch TV, he moved into fiction, gaining attention for the medieval series "Floris", starring Rutger Hauer. His feature debut came in 1971 with "Business Is Business", but it was "Turkish Delight" (1973), Oscar-nominated for Best Foreign Film, which established his credentials. The erotic, satirical study of a marriage between a sculptor (Hauer) and a middle-class girl (Monique van de Ven) scored at the domestic and international box office, although some saw the seeds of pornography in this early art-house success.
Verhoeven fashioned his varied Dutch oeuvre working with several valued collaborators: Rob Houwer produced his first four features, screenwriter Gerard Soeteman wrote or co-scripted all his pictures through his first English-language film ("Flesh + Blood" 1985) and Jan de Bont was the cinematographer of choice before Jost Vacano joined the team for "Soldier of Orange" (1979). (Though de Bont would collaborate on three more films with Verhoeven, he would replace Vacano for only "Basic Instinct" among the director's first five Hollywood films.) "Keetje Tippel" (1975), the follow-up to "Turkish Delight", again starred Hauer and van de Ven who played a poor-but-determined young woman who struggles against all odds (even becoming a prostitute) to climb the social ladder in 19th Century Amsterdam. With "Soldier of Orange", Verhoeven delivered a rousing World War II story with plenty of action, reminiscent of US war films of the late 1940s and 50s. Hauer came into his own as the handsome aristocrat who reluctantly joins the Dutch Resistance, and Jeroen Krabbe, in his first of three performances for the director, pushed Hauer for acting honors, dying at the hands of the Nazis after exacting his measure of revenge.
For "Spetters" (1980), a gritty look at a teenage motorcycle gang, Verhoeven and Soeteman returned to formula: squeezing in as much sex as possible without crossing into hardcore, relieved by quick action so the audience never feels like a voyeur. Though both Hauer and Krabbe were present in small roles, Renee Soutendijk stole the film as the little sexpot who will sleep with anyone to advance her career in the fish-and-chips business, setting the stage for her starring role as a scissors-wielding hairdresser in the psycho-sexual thriller "The Fourth Man" (1982). Castration-anxiety abounded in the film, and whether Soutendijk has murdered three husbands or not, she definitely messes up the mind of gay writer Krabbe when he tries to investigate. Though it generated little critical enthusiasm in Holland, it garnered the greatest international attention yet for the director, leading to "Flesh + Blood", a rowdy swashbuckler set in 16th Century Europe. Possessing plenty of its promised titular gore, it paired Hauer with Jennifer Jason Leigh but scored points only for its sheer audacity.
Verhoeven went to Hollywood and teamed with producer Jon Davison, screenwriter Ed Neumeier and special effects guru Phil Tippett on "RoboCop". For his first stab at science fiction, he had envisioned the future in the tradition of "Blade Runner", but the paltry budget was enough only for the very necessary RoboCop costume and the fantastic stop-motion animation of opponent ED-209. Jettisoning his elaborate production design, Verhoeven shot it straight in Dallas (standing in for a not so futuristic Detroit), and turned the film into a heavy-metal comedy with more than a few caustic things to say about the progressive dehumanization of civilization. The success of "RoboCop" insured there would be more than enough money for the sci-fi summer blockbuster "Total Recall", a big, loud comic book of a movie adapted from Philip K Dick's "We Can Remember It for You Wholesale". Although the project had languished in developmental hell for 10 years with different directors, Arnold Schwarzenegger's box-office clout finally got it off the ground, and Verhoeven fashioned an ambiguous twist to make Dick proud. Does Arnold really go to Mars, destroy the dictatorship and save the world? Or does he just dream it?
Sharon Stone had played Arnold's wife in "Total Recall", and though she was not the director's first choice for the role of kinky murder suspect Catherine Trammell in "Basic Instinct", she nailed it with her brazenly sexual and cold-blooded portrayal. Audacious, erotic and larger-than-life, "Basic Instinct" falls short of its vastly superior prototype "The Fourth Man", but it still kept audiences guessing to the final shot. The sexual tension Verhoeven managed to get on screen was a by-product of his own unconsummated love-hate relationship with Stone. As he explained to MOVIELINE (October 1995): "Everything I felt and everything she felt for me is in the movie. It was not consumed in bed. That's the victory. It was translated to art." Screenwriter Joe Eszterhas, happy to bask in the box office glow of "Basic Instinct", wasted no time, however, breaking ranks from "Showgirls" to publicly denounce it, causing the director to question his character.
Reuniting with his "RoboCop" team, Verhoeven roared back into Hollywood favor with the sci-fi blockbuster "Starship Troopers", about a highly-trained force sent to fight an invasion of insect-like aliens. The resounding failure of "Showgirls" did not prevent him from getting $100 million to make what is essentially a war movie, characterized by screenwriter Neumeier as "'Full Metal Jacket' meets 'Them!' in the style of 'RoboCop'." Very little of that big budget went to its cast of relative unknowns, including Dina Meyer, Denise Richards, Jake Busey and Casper Van Dien, but what the film lacked in star power, it made up in fire power, featuring 500 digital special effects shots of bugs, explosions and flames, as well as the "old-fashioned technique" of using miniature models for the spaceships. In all, more than 250 artists and technicians worked under the skilled supervision of Tippett. Accustomed to courting controversy, Verhoeven refused to make a mere popcorn movie and drew on his genuinely subversive streak to depict the good guy humanoids as fresh-faced fascists. After a three-year absence, Verhoeven returned to the big screen with the sci-fi tinged "The Hollow Man" (2000), focusing on a trio of scientists (two men and a woman) who discover a potion for invisibility. When one of the males consumes it, he begins to stalk the others who have begun a love affair. Boasting a cast headed by Kevin Bacon, Elisabeth Shue (who injured her foot causing shooting delays) and Josh Brolin, it allowed Verhoeven to once again combine eroticism, thrills and special effects.


text:
Portraying the characters and events of a small Midwestern town at the
end of the nineteenth century, Winesburg, Ohio
is a chronological cycle of
stories which reads like an episodic novel. Centring on George Willard, a
young local reporter with big-city aspirations, and his conversations with fellow
inhabitants, the book gives voice to a disparate cast of figures and lays
bare the constraints and struggles of life in a small community.
A landmark work of American naturalism and a priceless chronicle of rural
life, Winesburg, Ohio
has been compared to the writings of Turgenev,
Chekhov, Dreiser and Twain, and hugely influenced authors such as Steinbeck,
Hemingway and Faulkner.
'The father of my generation of American writers and the tradition
of American writing which our successors will carry on.' William Faulkner
Read an excerpt from Winesburg, Ohio


text:
IC 555 used in many simple and useful circuits, every electronics hobbyist may surely tried IC 555 at least once while they learn electronics circuit making. Here the IC 555 Based Touch Alarm circuit is senses human touch and gives louder alert through buzzer.
This touch alarm circuit uses 9volt bias supply hence we can use general purpose 9volt battery for portable applications. Here Resistors R3,R4 and Capacitor C3 reacts as a Timing components, by varying R4 value we can obtain different timing output at the output pin 3. The SL100 transistor is reacts as a switch to connect buzzer with bias. Resistor R1 and capacitor C1 changes output wave shape as ramp depends on R1 resistor value the buzzer will produce different type of alarm sounds when the touch plate sense.
metal touch plate(coin)


text:
Skip to code content (skip section selection)
A. Deposits Of Waste On Public Or Private Property: It shall be unlawful for any person to discharge, or permit to be discharged in any unsanitary manner, on public or private property within the Town, or in any area under the jurisdiction of the Town, any human or animal excrement, garbage, or objectionable waste.
1. Discharge Of Wastewater: It shall be unlawful to discharge to any natural outlet within the Town, or in any area under the jurisdiction of the Town, any wastewater or other polluted waters, except where suitable treatment has been provided in accordance with subsequent provisions of this Chapter.
2. Unlawful Disposal Of Wastewater: Except as hereinafter provided, it shall be unlawful to construct or maintain any privy, privy vault, septic tank, cesspool or other facility intended or used for the disposal of wastewater.
C. Suitable Toilet Facilities And Public Sewer Connection Required: The owner of all houses, buildings or properties used for human occupancy, employment, recreation or other purposes, situated within the Town, and abutting on any street, alley or right of way in which there is now located or may in the future be located a public sanitary sewer of the Town, is hereby required at the owner's expense, to install suitable toilet facilities therein, and to connect such facilities directly with the proper public sewer in accordance with the provisions of this Chapter, within ninety (90) days after date of official notice to do so; provided, that such public sewer is within three hundred feet (300') (92 m) of the property line by way of road rights of way and easements. (Ord. 99-03, 11-16-1999)


text:
Source: Meyer, M.D. (1997) A Toolbox for Alleviating Traffic Congestion and Enhancing Mobility, Institute of Transportation Engineers, ISBN: _PHONE_.
The activity pattern of each land use is linked with the temporal usage of parking facilities. Residential parking usage is lower during working hours as many workers drive to their workplaces. Office and retail parking show a level of usage corresponding to peak commuting hours and restaurant parking use peaks during the evening. The challenge is to provide enough parking spaces for peak use, which will not be used for the majority of the day.


text:
A study of sound images produced by loudspeakers in typical listening rooms pointed up the importance of the interaural crosscorrelation coefficient (IACC) in determining the impression of distance, strength, and clarity in the overall sound image. To permit quantitative evaluation of IACC, a simple, direct readout correlation meter was developed. Studies using the simplified measurement techniques revealed marked variations in IACC due to loudspeaker construction and installation. The effect of these variations, even though transmission frequency response and reverberation time are practically equal, is a notable change in clarity, strength, and perceived distance of the sound image. The result is that a higher IACC tends to be more desirable in terms of the quality of the sound image.
Click to purchase paper as a non-member or login as an AES member. If your company or school subscribes to the E-Library then switch to the institutional version. If you are not an AES member and would like to subscribe to the E-Library then Join the AES!
This paper costs $33 for non-members and is free for AES members and E-Library subscribers.


text: Apprentice to William Caslon I in London, Jackson became one of England's most skilled and famous punchcutters, rivalling William Caslon II. However, Jackson was not apprenticed as a punchcutter; the Caslons, father and son, carried out this activity in secret. He learned his craft by watching the them at work through a spyhole, and started his own foundry in 1763. From his final premises at Salisbury Square, he became known for his peculiar' fonts, such as an Anglo-Saxon type for an edition of the Domesday Book. Vincent Figgins apprenticed for Jackson from 1782. On his death in 1792 the business was puchased by William Caslon III, grandson of Jackson's one-time master.


Lotus-Notes-oriented questions on StackOverflow are infrequent enough that the single lotus-notes tag should encompass all Lotus Notes language topics, including LotusScript, the Notes formula language, the Notes C/C++ API, and the COM and Java interfaces. As such, it is better to use that tag, lotus-notes, rather than this one, lotusscript.
It is appropriate to also include specific language tags when asking questions about communicating with Lotus Notes from those languages, for example using.NET or VBA to send an email, or to pull data from SQL into Notes.
history | show excerpt | excerpt history


text:
Author(s): Glenis Heath; Heather McKenzie; Laurel Tully
The fourth edition of Food Solutions: Food Studies Units 1 & 2 has been re-written specifically for the new Food Studies VCE Study Design. The trusted author team has added exciting new dishes from around the world to complement existing much-loved recipes, each accompanied by nutritional information to reflect the increased focus on enabling students to understand and own their food decisions. Featuring fully updated case studies and activities, designed to increase students' understanding and awareness of the issues surrounding food supply and consumption, Food Solutions builds a foundation of learning for students to live better and pursue further training and employment in food-related industries. *Complimentary access to NelsonNet is available to teachers who use the accompanying student book as a core resource in their classroom. Contact your education consultant for access codes and conditions.


text:
A new study from the Colorado State University Department of Soil and Crop Sciences suggests that hemp can help maintain bee diversity and prevent bee die-off.
Researchers set up ten traps in Colorado hemp fields and collected almost 2,000 bees from over 20 different genera of bees on flowering hemp, demonstrating that hemp supports pollinators in the agroecosystem. 38 percent of the bees were classic honeybees, but other specialized genera including Melissodes bimaculata and Peponapis pruinosa that turned up in surprisingly "high proportions."
"Industrial hemp can play an important role in providing sustained nutritional options for bees during the cropping season," the authors wrote, noting that hemp is wind-pollinated, dioecious and staminate—all of which is attractive to bees.
Male hemp flowers don't produce nectar, but bees are attracted to the pollen, which can last longer throughout the season than other plants. Previous research from Colorado State University has already studied the bee-saving properties of the hemp plant. Hemp that produces CBD oil, which accounts for 90 percent of hemp production in the U.S., comes from the female plant.
"This copious pollen production in hemp is likely to have an ecological value to beneficial insects in the ecosystem (as a pollen source)," the authors wrote. However, "being a crop that has only recently gained popularity, the ecological value has not been explicitly investigated."
The study could be useful in helping ecologists save declining bee populations. Over the past year, beekeepers have reported a 40 percent loss of colonies to the U.S. Department of Agriculture. The study warns that due to the increase in hemp cultivation across the country, there will be an increased risk of pests on the hemp plants. The authors suggest using the study to find a pest management plan that would minimize the risk of harming the bees.


text: I know that as things "fall" towards each other, they lose potential energy, that's fine. What I want to know is when a photon falls towards a mass does the photon also lose potential energy? I would assume so because potons have an equivalent mass. From the equation E = hf, can I therefore assume that the frequency of a photon actually lowers when it approaches the Earth? If so then it seems to also follow that it's momentum also lowers from the equation E = pc, this then seems to suggest that photons lose mass when approaching other mass and that an impulse is applied to the photon to cause this loss of momentum. But this would mean that the impulse was acting away from the mass, ie: the photon was experiencing a repulsive force upon approaching some matter. Is this a positive gravitational force?


Whenever you fullscreen a video in Firefox, a warning message appears for a few seconds and then slides off the screen. While its primary purpose is for security, you might want to disable the popup if you find it annoying.
What Is the Fullscreen Warning, and Why Is It Important?
All modern browsers use the Fullscreen API to present desired content—such as videos, pictures, and online games—using the entire screen, void of other user interface elements. When enabled, a small warning message momentarily appears at the top of the page, notifying you it has been triggered. This is the same functionality when you watch a YouTube video in fullscreen mode.
While it can be annoying at times—and before you go ahead and disable the message altogether— it's important to review its purpose and how it helps prevent phishing attacks.
The only real restriction for developers using the API is that in order to trigger fullscreen mode, the user must initiate it with a click or a keypress (keyboard shortcut). The reason this condition exists is to prevent sketchy sites from automatically loading a phishing scam into fullscreen when visiting a site.
Unfortunately, this feature is susceptible to a very ingenious phishing attack. Attackers can use the API to show you a fake version of a website in fullscreen mode that looks surprisingly similar to the real deal. All you need to do is click a legitimate-looking link, and the API loads fullscreen mode with what looks like a working web browser.
Advertisement
In this case, when the fake site goes to fullscreen mode, the browser flashes a warning message notifying you it has been triggered. If you miss the warning, you might think it's a legit site.
If you want to know more about how the HTML5 Fullscreen API can be used in phishing attacks, Feross, a programmer who first discovered this, goes into great detail—and even has a working example of a fake Bank of America site—on their website.
So, now that we got all that out of the way, if you still want to disable the warning—or just reduce the time it takes to disappear—let's continue.
How to Disable the Fullscreen Warning Message
To move forward and disable the fullscreen warning message, we'll need to access the Advanced Preferences page, which is similar to enabling flags in Chrome.
Warning: Firefox stores every setting on this page, so you have to be careful when tinkering around here. Changing these settings can be harmful to the stability and security of the browser. You should only continue if you're confident and sure of what you're doing.
Type about:config into the address bar and then hit the Enter key. The page loads with a warning about the impacts of changing these preferences and the effect it can have on Firefox. Click the "Accept the Risk and Continue" button.
Proceed with caution and click "Accept the risks and continue."
Advertisement
In the search bar, type full-screen-api.warning.timeout into the search bar and click the pencil icon next to the result to change the value of the preference.
The number you enter is the amount of time in milliseconds until the warning starts to disappear. Keep in mind that anything under 500 barely appears after fullscreen is initiated. For security reasons, if you want to be able to see the warning when entering the fullscreen mode, you should put something around 500 milliseconds. Otherwise, enter 0. Click the checkmark when you finish.
Enter a timeout value---in milliseconds---and click the checkmark.
After you change the value in the setting, you don't need to restart Firefox. The next time you click a video into fullscreen mode, the new timeout will be used.
To revert back to the default timeout, head back to the "Advanced Preferences" page and click the reset arrow on the far right of the full-screen-api.warning.timeout setting.
Head back to the Advanced Preferences page and click the reset arrow on the far right of the full-screen-api.warning.timeout setting
As mentioned before, there are security risks to completely disabling the warning message as some known phishing scams can prey on this vulnerability. While this threat still exists, it's probably wise to keep a timeout delay that notifies you when anything triggers fullscreen mode in the browser.
Brady Gavin Brady Gavin
Brady Gavin has been immersed in technology for 15 years and has written over 150 detailed tutorials and explainers. He's covered everything from Windows 10 registry hacks to Chrome browser tips. Brady has a diploma in Computer Science from Camosun College in Victoria, BC.
Read Full Bio »
The above article may contain affiliate links, which help support How-To Geek.


text:
Blockchain in Astrophysics: Ensuring Data Integrity in Space Research
Emerging technologies are continuously revolutionizing industries across the globe, and space research is no exception. One such influential technology is blockchain, a digital ledger system that promotes transparency and accuracy. This post explores an exciting, largely unexplored convergence - the use of blockchain in astrophysics. Pioneers in the field are witnessing how this technology ensures data integrity in astrophysical research and space exploration.
Understanding the Basics: Blockchain and Astrophysics
What is Blockchain?
Blockchain is a distributed ledger system that provides a secure method of recording transactions and tracking assets in a business network. This technology is immutable, ensuring greater security by preventing data tampering.
What is Astrophysics?
Astrophysics is a branch of science that studies the physical properties and phenomena of celestial objects in the universe. It incorporates complex data collection and analysis, involving enormous amounts of data, making it necessary to ensure its reliability and integrity.
How Blockchain Could Bring Revolution in Astrophysics
Blockchain technology has the potential to address multiple challenges inherent in astrophysics research and other domains of space science. Here's how:
- Enhanced Data Security: Blockchain's inherent immutability and resistance to tampering can enhance data security, ensuring the reliability of astrophysical research findings.
- Improved Transparency: The transparency and traceability provided by blockchain enhance verification processes, promoting trust in the research outcomes.
- Standardization of Data: Blockchain can assist with the standardization of research data, enabling easier cross-reference and collaboration across international space research communities.
Real-World Applications of Blockchain in Astrophysics
The use of blockchain to ensure data integrity in space science is not purely theoretical. Concrete steps are being taken in this pursuit. For instance, NASA is exploring blockchain applications in space communications and navigation to secure data and protect privacy.
Blockchain's potential to revolutionize astrophysical research is immense. As we aim for the stars, ensuring data integrity becomes paramount. In blockchains, astrophysicists may have found a tool that can meet this need while also dispelling common data-related concerns in space research. The dawn of the blockchain era in astrophysics heralds a new epoch of trust and reliability in the cosmos.


text: We now test for several genetic markers that have been found to be strongly linked to the tobiano coat pattern. In 2002, researchers at the University of Kentucky, led by Dr. Samantha Brooks, located a SNP within the KIT gene that is closely linked to the Tobiano pattern. Since then, additional markers have been found within the KIT gene by researchers here at Animal Genetics that we also use to determine Tobiano zygosity. Most recently, researchers at the University of Kentucky discovered a large chromosomal inversion on chromosome 3 near the KIT gene of Tobiano horses. This inversion, which has only been found in Tobiano horses, is believed to disrupt the normal functioning of the KIT gene and cause the Tobiano pattern.


text:
African foods make healthy choices especially when eaten in the right combination. This is why recipes from Africa are prepared in many different ways. You will have to know some methods used for cooking by simple housewives to renowned world class African chefs. Below is a list of cooking methods used to make delicious African cuisine.
Click here to discover more cool African recipes
You can cook food without using water over an open fire by roasting. You can have the fire burning in an open wood fireplace, a charcoal burner or a hearth. In Africa, foods are often roasted such as fish, meat, bulbs such as Irish potatoes, sweet potatoes, cassava, arrow roots and some types of bananas.
You can also cook food in boiling water. You don't have to use oil. Frequently, Africans have to use earthen ware cooking pots. They also use cooking utensils made of metal and other materials, which are gaining much popularity.
Vegetables, bulbs such as cassava and potatoes, legumes such as beans and peas, and grains such as rice are commonly boiled foods. In places like northern Uganda, odii or a groundnut paste is added to the boiled food as sauce.
Some recipes in Africa particularly in southern Uganda, consider steaming as being an important technique of food preparation. Cooking matoke wrapped in banana leaves is usually steamed over boiling water. Meat, fish and vegetables are also steamed while enclosed in banana leaves.
This style of cooking is highly recommended to retain the nutritional value of foods.
Immigrants to Africa have brought their own styles of cooking as well which include frying food. Previously, frying food was not done in any African cuisine. But today, this method is now adopted by almost everyone in the country. When you fry food, you use cooking oil for cooking. It will also include onions and tomatoes to this style of food preparation.
Many Africans use frying many different foods such as fish, meat, vegetables, legumes and pastries.
African cuisine is slowly integrating the baking technique. This may however be a new method for cooking and most typically done in bakeries. In western societies, they have melted cheese dishes, breads, cakes, pies and other foods. But in Africa, this style of cooking is still not yet widespread.
The way that foods are prepared in Africa demonstrates the changing trends of African cuisine. It has adopted cooking techniques such as frying which plays a strong role in African style of food preparation.
The conventional styles of cooking such as boiling and steaming create meals with lesser or no fat. Hence, these styles of cooking have proven to be healthier and more nutritious.
These methods will continue to be used in many recipes from Africa. For instance, dried foodstuffs need to be boiled first to be cooked and ready to eat.
However, Africa has welcomed new methods for cooking to give a wider variation on flavors and taste as well as enhance cooking experiences.
Click to view the first part of a book on the flavors of African recipes


text:
Waleed Sawan - Drip - A Precision Irrigation System for the Developing World
Waleed Sawan - London, ON - Oakridge Secondary School
Project: Drip - A Precision Irrigation System for the Developing World
a program that provides mentorship and equipment for STEM oriented projects by students with learning disabilities, among other projects.
His current project is a low-cost and highly efficient precision irrigation system for farmers in developing nations. Using online API's and data repositories, key points of data are shown to the farmer in real time. It will provide the crop's current and future irrigation needs along with recommendations on how to optimize irrigation practices, leading to better use of scare resources, create a sustainable farm and improve crop yield.
The system is not only low-cost, but comprehensive and easy to install, making it more accessible to farmers in developing nations. A three-month long pilot where comparisons will be taken from the Drip system and a Basic Water Schedule is scheduled to run with Agriculture Canada in June 2018.


Set up email integration
Learn how to integrate your email addresses with Endor Labs and receive finding notifications
Integrate your email address with Endor Labs and automatically receive policy violations as email notifications.
Configure email integration
To configure an email integration, follow these steps:
 1. Sign in to Endor Labs and click Integrations from the left sidebar.
 2. Navigate to Email under Notifications and click Add.
 3. Click Add Notification Integration.
 4. Specify a name and description for this integration.
 5. Enter email addresses separated by commas in EMAIL ADDRESSES.
 6. Click Add Notification Integration.
Associate an action policy with the email notification
Users can create action policies to send an email notification when the conditions of a given policy are met. For example, if there is a critical or high vulnerability, send an email notification.
While creating an action policy, configure the following settings:
 - Select Choose an Action as Send Notification.
 - From SELECT NOTIFICATION TARGETS, choose the email integration notification that you created.
 - Choose an Aggregation type for notifications.
 - Choose Project to group and send the findings related to a project in one email.
 - Choose Dependency to send individual email messages for every dependency.
 - From Assign Scope, include the project tags in INCLUSIONS to apply this policy to a project.
See Create an action policy for more details.
Customize email notification templates
Endor Labs provides a default template with standard information that will be included in the email. You can use the default template or you can choose to edit and customize this template to fit your organization's specific requirements. You can also create custom templates using Go Templates.
 1. Sign in to Endor Labs and navigate to Manage > Integrations.
 2. Look for Email under Notifications.
 3. Click Manage to view the list of configured notification integrations.
 4. Choose a notification integration and click the ellipsis on the right side, and click Edit Template.
 5. Make required changes to any of the following templates and click Save Template.
 - Open - This template is used when new notifications are raised.
 - Update - This template is used when an existing notification is updated, such as, when some findings for the notification are changed.
 - Resolve - This template is used when all the findings reported by the notification are resolved.
 6. Click Restore to Default to revert the changes.
 7. Use the download icon on the top right corner to download this template.
 8. Use the copy icon to copy the information in the template.
Data model
To create custom templates for email notifications, you must understand the data supplied to the template.
See the EmailData message used for Open and Update templates.
// EmailData contains mappings for findings and package versions that is to be published as
// an email. It also contains the NotificationData object in the payload.
type EmailData struct {
 Payload *endorpb.NotificationData
 PackageVersionFindingMapping map[string]map[string][]string
 PackageVersionMap map[string]*endorpb.PackageVersion
 APIURL string
 APPURL string
 FromAddress string
}
See the ResolvedEmailData message used for Resolve template.
// ResolvedEmailData contains the data that's acessible in the resolved email template.
type ResolvedEmailData struct {
 APIURL string
 APPURL string
 Project *endorpb.Project
 Policy *endorpb.Policy
 ProjectName string
}
See the following protobuf specification for the NotificationData message referenced by EmailData.
syntax = "proto3";
package internal.endor.ai.endor.v1;
import "google/protobuf/wrappers.proto";
import "spec/internal/endor/v1/finding.proto";
import "spec/internal/endor/v1/notification.proto";
import "spec/internal/endor/v1/package_version.proto";
import "spec/internal/endor/v1/project.proto";
import "spec/internal/endor/v1/repository_version.proto";
option go_package = "github.com/endorlabs/monorepo/src/golang/spec/internal.endor.ai/endor/v1";
option java_package = "ai.endor.internal.spec";
// FindingStats holds the statistics for findings in a notification.
message FindingStats {
 // num_total_findings is the total number of findings for a notification.
 google.protobuf.UInt32Value num_total_findings = 1;
 google.protobuf.UInt32Value num_total_critical_severity_findings = 2;
 google.protobuf.UInt32Value num_total_high_severity_findings = 3;
 google.protobuf.UInt32Value num_total_medium_severity_findings = 4;
 google.protobuf.UInt32Value num_total_low_severity_findings = 5;
 // num_new_findings is the number of new findings for a notification
 // as compared to the previous scan of project.
 google.protobuf.UInt32Value num_new_findings = 6;
 google.protobuf.UInt32Value num_new_critical_severity_findings = 7;
 google.protobuf.UInt32Value num_new_high_severity_findings = 8;
 google.protobuf.UInt32Value num_new_medium_severity_findings = 9;
 google.protobuf.UInt32Value num_new_low_severity_findings = 10;
 // num_resolved_findings is the number of findings for a notification
 // that got resolved in latest scan.
 google.protobuf.UInt32Value num_resolved_findings = 11;
}
// NotificationData is the data that is supplied to Notification templates while rendering.
message NotificationData {
 // raw_notification holds the raw notification object.
 Notification raw_notification = 1;
 // project_name is the name of the project.
 google.protobuf.StringValue project_name = 2;
 // policy_name is the name of the violated policy that triggered the notification.
 google.protobuf.StringValue policy_name = 3;
 // ref_name is the git reference of the project which was scanned.
 google.protobuf.StringValue ref_name = 4;
 // project_url is the URL of the project.
 google.protobuf.StringValue project_url = 5;
 // findings_map is a map of finding uuids to finding objects.
 map<string, internal.endor.ai.endor.v1.Finding> findings_map = 6;
 // package_version_map is a map of finding uuids to corresponding parent package version objects.
 map<string, internal.endor.ai.endor.v1.PackageVersion> package_version_map = 7;
 // project_map is a map of finding uuids to corresponding parent project objects.
 map<string, internal.endor.ai.endor.v1.Project> project_map = 8;
 enum NotificationType {
 NOTIFICATION_TYPE_UNSPECIFIED = 0;
 // Notification type when a notification is created.
 NOTIFICATION_TYPE_CREATE = 1;
 // Notification type when a notification is updated.
 NOTIFICATION_TYPE_UPDATE = 2;
 // Notification type when a noticiation is resolved.
 NOTIFICATION_TYPE_RESOLVED = 3;
 }
 NotificationType type = 9;
 // project is the project object that the notification is associated with.
 internal.endor.ai.endor.v1.Project project = 10;
 // repository_version_map is a map of finding uuids to correcponding parent repository version objects.
 map<string, internal.endor.ai.endor.v1.RepositoryVersion> repository_version_map = 11;
 // project_app_url is the URL of the project in Endor's UI.
 google.protobuf.StringValue project_app_url = 12;
 // policy_app_url is the URL of the policy in Endor's UI.
 google.protobuf.StringValue policy_app_url = 13;
 FindingStats finding_stats = 14;
 // package_version_name_map is a map of package version uuids to package version names.
 map<string, string> package_version_name_map = 15;
}
To understand Project, Finding, PackageVersion and RepositoryVersion definitions that are used in this protobuf specification, see:
See the following specification to understand a few additional functions available to the template. You can access these functions by using their corresponding keys.
// EmailTemplateFuncs contains the functions that are available in the email template.
var EmailTemplateFuncs = template.FuncMap{
 "now": func() string {
 now := time.Now()
 utc := now.UTC()
 return utc.Format("01-02-2006 15:04:05")
 },
 // findingURL returns the URL for the finding.


Modify, access or limit threads in OpenAI Assistant Agent (Lang Chain)
Feature Request: Thread Limitation for User Conversation Isolation in OpenAI Assistant Agent (Lang Chain)
Description
I propose the addition of a crucial feature that allows users to limit threads in the OpenAI Assistant Agent (Lang Chain). Currently, it appears that only one thread is active, and there is no way to change threads or initiate separate sessions. This feature is essential to isolate and manage individual user conversations effectively.
Use Case
Thread Limitation for User Conversation Isolation
Users should have the ability to limit threads, creating a clear separation between each conversation or user session. This would ensure that interactions with one user do not impact or mix with interactions from another user, enhancing privacy and conversation organization.
Benefits
 - User Privacy: Thread limitation guarantees that each user's conversation remains private and isolated from others.
 - Efficient Management: Users and developers can more efficiently manage and track individual conversations by limiting threads.
 - Clarity and Structure: Thread separation provides a clear and structured way to organize and archive interactions with different users.
Implementation
The feature could be implemented through the user interface controls that allow users to initiate and manage separate threads or sessions with an id. This control could ensure that interactions within one thread do not influence or overlap with interactions in another.
Conclusion
Adding the ability to limit threads for user conversation isolation is a vital enhancement for the OpenAI Assistant Agent (Lang Chain). This feature aligns with the need for privacy, organization, and efficient management of multiple user interactions.
Thank you for considering this feature request.
Sincerely,
Lucas Peyrin


text:
By OBA I DONATUS, CNN
Updated 1034 GMT (1834 HKT) February 21, 2020The 46,000-year-old specimen was identified as a horned lark.
(CNN)Scientists studying the remarkably well-preserved remains of an Ice Age bird have identified the specimen as a horned lark.Buried and frozen in permafrost near the village of Belaya Gora in north-eastern Siberia, the bird was discovered by local fossil ivory hunters, who passed it on to a team of experts, including Nicolas Dussex and Love Dalén from the Swedish Museum of Natural History, for testing.Radiocarbon dating revealed the bird lived around 46,000 years ago, and genetic analysis identified it as a horned lark (Eremophila alpestris), according to a paper published Friday in the journal Communications Biology.Dalén told CNN that research showed the bird may be an ancestor to two subspecies of lark alive today, one in northern Russia and the other on the Mongolian steppe."This finding implies that the climatic changes that took place at the end of the last Ice Age led to formation of new subspecies," he said.The bird was found in north-eastern Siberia at a site which also contained other frozen specimens.The preservation of the bird is explained in large part by the cold of the permafrost, explained Dussex, but this specimen is in extraordinarily good condition."The fact that such a small and fragile specimen was near intact also suggests that dirt/mud must have been deposited gradually, or at least that the ground was relatively stable so that the bird's carcass was preserved in a state very close to its time of death," said Dussex.The next stage of research involves sequencing the bird's entire genome, said Dalén, which will reveal more about its relationship to present day subspecies and estimate the rate of evolutionary change in larks.
Is it a dog or is it a wolf? 18,000-year-old frozen puppy leaves scientists baffledScientists working in the area have also found carcasses and body parts from other animals such as wolves, mammoths and wooly rhinos.Dussex described such findings as "priceless" as they allow researchers to retrieve DNA and sometimes RNA, a nucleic acid present in all living cells."This in turn will open new opportunities to study the evolution of ice age fauna and understand their responses to climate change over the past 50-10 thousands of years ago," added Dussex.The horned lark was discovered at the same site as an 18,000-year-old frozen puppy, which Dalén and Dussex are also studying.Using carbon dating on the creature's rib bone, experts were able to confirm that the specimen had been frozen for around 18,000 years, but extensive DNA tests have so far been unable to show whether the animal was a dog or a wolf.Scientists can normally tell the difference relatively easy, and researchers hope that further tests on the remains will provide more insight into exactly when dogs were domesticated.


Custom Math Accessories
With the demand for mathematics and science growing, it is essential to encourage the younger generation to pursue those fields. A subtle way you can encourage this is by giving customers math gifts to your children and young loved ones. Both math lovers and teachers can appreciate the fun, educational designs of our math shoes and math socks. We have a variety of patterns including math formulas, the Pi symbol and number, geometry, statistics and more. No matter the type of math you are passionate about or the type of math lover gift you are looking for, Groove Bags has your back.


Skip to Main Content (Press Enter) Toggle side nav
Invisible Man Reader's Guide
By Ralph Ellison
Invisible Man by Ralph Ellison
The questions, topics, and author biography that follow are designed to enhance your group's reading and discussion of Ralph Ellison's Invisible Man. We hope that they will provide you with new ways of looking at–and talking about–a book that is widely acknowledged as one of the greatest American novels of the second half of this century.
From the moment of its publication in 1952, Invisible Man generated the impact of a cultural tidal wave. Here was a pioneering work of African-American fiction that addressed not only the social, but the psychic and metaphysical, components of racism: the nvisibility of a large portion of this country's populace and the origins of that invisibility in one people's willed blindness and another's habit of self-concealment.
In his prose, Ellison managed to encompass the entirety of the American language–black and white, high-brow and low-down, musical, religious, and jivey–and reshape it to his own ends. In Invisible Man he created one of those rare works that is a world unto itself, a book that illuminates our own in ways that are at once hilarious and devastating.
Questions and Topics for Discussion
1. What makes Ellison's narrator invisible? What is the relationship between his invisibility and other people's blindness–both involuntary and willful? Is the protagonist's invisibility due solely to his skin color? Is it only the novel's white characters who refuse to see him?
3. What are the narrator's dreams and goals? How are these variously fulfilled or thwarted in the course of the book?
5. What is the significance of the grandfather's deathbed speech [p.16]? Whom or what has he betrayed? What other characters in this book resort to the same strategy of smiling betrayal?
6. Throughout the novel the narrator gives speeches, or tries to give them, to audiences both black and white, at venues that range from a whites-only "smoker" to the funeral of a black street vendor murdered by the police. What role does oratory–and, more broadly, the spoken word–play in Invisible Man?
9. What black men does the protagonist choose as mentors or role models? Do they prove to be any more trustworthy than his white "benefactors"? What about those figures whose authority and advice the narrator rejects–for example, the vet in The Golden Day and the separatist Ras the Exhorter? What characters in Invisible Man, if any, represent sources of moral authority and stability?
11. Why might Tod Clifton have left the Brotherhood to peddle demeaning dancing Sambo dolls? What does the narrator mean when he says: "It was as though he [Clifton] had chosen…to fall outside of history"? How would you describe Ellison's vision of history and the role that African-Americans play within it?
13. Where in Invisible Man does Ellison–who was trained as a musician–use language to musical effect? (For example, compare the description of the college campus on pages 34-7 to Trueblood's confession on 51-68, to the chapel scene on 110-135, and Tod Clifton's funeral on 450-461.) What different sorts of language does Ellison employ in these and other passages? How does the "music" of these sections–their rhythm, assonance, and alliteration–heighten their meaning or play against it?
15. In spite of its vast success (or perhaps because of it), Ellison's novel–and the author himself–were fiercely criticized in some circles for being insufficiently "Afrocentric." Do you think this is true? Do you think Ellison made artistic compromises in order to make Invisible Man accessible to white readers?
About this Author
Ralph Ellison was born in 1914 in Oklahoma City, the son of Lewis Ellison, a construction worker, and his wife, Ida, a domestic. He was introduced to literature by his mother, who used to bring him books she borrowed from the homes she cleaned. A further exposure was provided by the ironies of segregation: in the 1920s, Oklahoma City had no black library, and books from the library's main branch were shelved haphazardly in a pool hall, where the young Ralph might find a volume of fairy tales alongside one of Freud–with no well-meaning librarian telling him what a child ought or ought not to be reading.
Ellison attended Alabama's Tuskegee Institute on a music scholarship, but in 1936 he moved to New York City, where he began writing short stories while supporting himself as a free-lance photographer and audio engineer. After serving in the Merchant Marine during World War II, he spent seven years writing Invisible Man, working out of an office located at the back of a jewelry store on Fifth Avenue. The book was published in 1952 and was awarded the National Book Award. It has been translated into seventeen languages.
The manuscript of Ellison's second novel was destroyed by a fire in 1967. He spent the remaining years of his life painstakingly reconstructing it, while publishing two volumes of nonfiction, Shadow and Act (1964) and Going to the Territory (1986). He taught and lectured widely, was appointed to the American Academy of Arts and Letters, served on the National Council on the Arts and Humanities and the Carnegie Commission on public television, and was a trustee of the John F. Kennedy Center for the Performing Arts. Ralph Ellison died of cancer on April 16, 1994, at his home in New York City.
Back to Top


text:
ST. PAUL, Minn. (4/23/2012) —Approximately 70 percent of the seed soybeans planted this year in Minnesota will be treated with fungicides. This is a dramatic change from 10 years ago when most farmers planted untreated soybeans. This change requires increased care to keep seed soybeans separate from harvested soybeans headed to market.
Federal law provides a zero tolerance for treated soybeans at market. That means that a single treated seed can contaminate a truck, bin or silo. Your elevator can hold you legally responsible for the contamination because of a problem that started with one treated soybean.
University of Minnesota Extension recommends that growers take these steps to avoid mistakes that can take place during the rush of planting:
- Make sure nobody on your farm dumps leftover soybean seed into a storage bin.
- Do not use the same equipment to transport treated seed and soybeans sold for grain.
- Clean all equipment that comes in contact with treated seed.
- Manage treated seed before and after planting to reduce the potential for problems.
- Buy only the seed you need to minimize dealing with leftover treated soybeans.
- Work with your seed supplier to develop a plan to dispose of any leftover treated seed.
In addition to avoiding costly penalties because of soybean contamination, handling treated soybeans with care is the right thing to do. Fungicides have a place in seed beds, but not on a dinner plate, which is why it's important to keep treated seed soybeans separate from your soybean harvest.
Take time this spring to pay attention to farm safety, both your personal safety and the safety of the crops that you grow. For more information for soybean growers, visit _URL_
Any use of this article must include the byline or following credit line: Seth Naeve is a soybean agronomist with University of Minnesota Extension.
Media Contact: Catherine Dehdashti, U of M Extension, _PHONE_, _EMAIL_


text:
As a child, our holiday tree was not decorated until Christmas morning when we found Santa had hung candy canes on its evergreen branches. A fairly modern invention, peppermint-flavored candy sticks have become a beloved symbol of the season.
In the 1600s in Europe, decorations for evergreen trees brought indoors at Christmas time were fashioned from food such as cookies and candies. Plain white sugar sticks were a traditional part of these decorations.
As Europeans migrated to America, they brought with them their holiday traditions, including white sugar canes. The first reports of the use of candy canes on Christmas trees in America date to the 1800s, where German immigrants in Ohio used them; however, the canes still were white. After the turn of the century, candy canes began to appear in Christmas cards and for sale with red stripes and flavored with mint.
Candy cane recipes are simple in theory, but take an experienced hand. Most recipes call for sugar, water, corn syrup, cream of tartar and peppermint extract. Growing and making peppermint extract is easier than making candy canes.
Mint is a perennial herb, and planted in a favorable location, most mints will spread quickly. The right place for growing mint is one that is sunny with plenty of water. When planted near faucets and downspouts and in naturally low spots, mint plants will flourish. Harvest mint regularly for ice tea, juleps and fruit salad.
Making peppermint extract at home is easy. Collect about ½ cup of leaves, and wash and dry them. Bruise the leaves to release the mint oil and place them in a sterile pint jar; cover the leaves with vodka. Cover and place the jar in a cool, dry location for three to four weeks. Shake the jar every few days so the leaves stay submerged. Taste the extract every couple of weeks until it is strong enough, and then strain the extract through cheese cloth to remove the leaves.
Carol Cloud Bailey is a landscape counselor and horticulturist. She can be reached at _EMAIL_.
Need Help? Call us at _PHONE_.
Monday-Friday: 6am-3pm / Saturday: 6:30am-10:30am / Sunday: 7am-11am


text:
|Home » Howtos » Secure code » Taint|
Taint mode is a way of making your code more secure. It means that your program will be fussier about data it receives from an external source. External sources include users, the file system, the environment, locale information, other programs and some system calls (e.g. readdir).
Some functions can unexpectedly cause problems with bad data. For example, the "magical" properties of the perl open function mean that it may be used to open a pipe to any arbitrary shell commands. It's in your interests to ensure that your program is opening the file that you think it should be opening, and not a command line supplied by a mischievous user.
There are differing opinions on when to use taint mode. Certainly as a minimum, any CGI application should use taint mode. When accepting external data you should always program defensively and use taint mode to ensure that the external data matches your expectations.
Some people argue that taint mode should always be used as it forces you to consider the implications of your use of external data. This is also useful because if you write your program without taint mode and then decide you need taint mode later on, you may have a lot of work adding the checks required.
You turn taint mode on by using the -T flag in your hashbang line. For example:
Or if you turn warnings on using -w:
Taint mode cannot be turned off in a script once it has been turned on. Note that the -T argument is read by perl even on those platforms where the hashbang line itself is not used by the operating system.
When your program receives any data in taint mode, that data is marked as tainted. Tainted data may not be used to affect anything outside your program (for example, to open a file, or used in a system call), until you have specifically un-tainted it.
If you assign a variable a tainted value, that variable is also tainted. For example:
#!/usr/bin/perl -T use strict; use warnings; my $arg = $ARGV; my $file = "/home/foo/$arg"; open FOO, ">$file" or die $!; print FOO "Yay\n"; close FOO; exit 0;
This program would fail with the following error:
Insecure dependency in open while running with -T switch at./test.pl line 9.
To untaint data you need to apply a regular expression and any data that you capture is then untainted. Remember when writing your regular expressions that it is better to include patterns that are allowed rather than those that aren't.
For the example above, assume we want the argument passed in on the command line to be a filename (not a path to a file), so we will only allow a filename argument limited to containing any alphanumeric characters, dots and underscores.
#!/usr/bin/perl -T use strict; use warnings; my $arg = $ARGV; # Untaint data and check result $arg =~ m/^([a-zA-Z0-9\._]+)$/ or die "Bad data in first argument"; my $file = "/home/foo/$1"; # Assign untainted data open FOO, ">$file" or die $!; print FOO "Yay\n"; close FOO; exit 0;
It is important to anchor your regular expression (use ^ and $ to ensure you match the entire string) and it is equally important to check that your regular expression has succeeded.
When writing modules and subroutines, you need to be careful that your code doesn't untaint data where it shouldn't. For example, the CGI module used to untaint all parameters because it used a regular expression with capturing parenthesis to capture the data.
Using the above example, if we want the data to remain tainted despite our check, we could use:
#!/usr/bin/perl -T use strict; use warnings; use re 'taint'; # Keep data captured by parens tainted my $arg = $ARGV; $arg =~ m/^([a-zA-Z0-9\._]+)$/ or die "Bad data in first argument"; my $file = "/home/becky/$1"; open FOO, ">$file" or die $!; print FOO "Yay\n"; close FOO; exit 0;
This would fail like the first example:
Insecure dependency in open while running with -T switch at./test.pl line 11.
If you then want to use capturing parenthesis to untaint data, you can use:
no re 'taint';


Introduction
Protocol
C Program
An Application
Introduction
Picture of the keypad The Qtronix Scorpius 22 keypad has the keys found in the "numeric" part of a standard keyboard. It has an RS-232 interface with a 9-pin connector. This note describes the keypad, its key codes, and simple application using the keypad.
The keypad is available from Jameco for $39.95 in their catalog #993. The unit evaluated was purchased from a local store (T-Zone) for 22 dollars.
Auxiliary keypads are also available which plug in-line with a normal keyboard using a PS2 style connector. These units are a better choice if you really want a numeric keyboard for your console or X-window applications. Currently serial devices can not be conveniently used as auxiliary keyboards under Linux
A PIC 17C54 is at the heart of the keypad. The modem control lines on the serial port supply power for the 17C54 and the green NumLock LED. The photo below is of the circuitry in the keypad.
Picture of the keypad circuitry
Protocol
It looks like the keypad uses RTS and DTR to power the serial port. DTR needs to be set to +12 volts and RTS must be set to -12 volts. The port should be configured for 8 data bits, no parity, and one stop bit (8,N,1) at 9600 baud. The unit sends a single byte for each keystroke. The keypad has three modifier keys: Shift, Fn, and NumLock. NumLock is modal with a green LED to indicate state. Fn and Shift are chord keys like the shift key on most keyboards. The table below shows the key codes for all keys for each of the modifiers.

Keypad Key Codes (in hex)
Key FnNumShift
*838383ac
+93939393
-92929292
.9f9f9090
/95959595
09eaa8e8e
19aa68a8a
296a08484
39ba78b8b
497a18585
5b2a48888
698a28686
79ca88c8c
899a38787
99da98d8d
BkSp89a58989
Enter94949494
Esc91919191
Tab8fab8fad

C Program
The following C program opens the port, sets the modem control lines and reads a single keystroke from the keypad. The output is a two character hex number which represents the keycode.
/* keypad : reads a single key code from a Qtronix serial keypad */
/* Usage: keypad <serial port> */
/* eg: keypad /dev/ttyS0 */
#include <stdio.h>
#include <termio.h>
#include <sys/fcntl.h>
main (int argc, char *argv[])
{
 struct termios tbuf;
 int fd_dev;
 int sm; /* state of the modem lines */
 unsigned char buf;
 if (( fd_dev = open(argv[1], (O_RDWR | O_NDELAY), 0)) < 0 ) {
 printf("Unable to open tty port specified\n");
 exit(1);
 }
 tbuf.c_cflag = CS8|CREAD|B9600|CLOCAL;
 tbuf.c_iflag = IGNBRK;
 tbuf.c_oflag = 0;
 tbuf.c_lflag = 0;
 tbuf.c_cc[VMIN] = 1; /* character-by-character input */
 tbuf.c_cc[VTIME]= 0; /* no delay waiting for characters */
 if (tcsetattr(fd_dev, TCSANOW, &tbuf) < 0) {
 printf("%s: Unable to set device '%s' parameters\n",argv[0], argv[1]);
 exit(1);
 }
 if (( fd_dev = open(argv[1], (O_RDWR), 0)) < 0 ) {
 printf("Unable to open tty port specified\n");
 exit(1);
 }
 sm = TIOCM_DTR;
 if(ioctl(fd_dev, TIOCMBIS, &sm) == -1) {
 printf("Unable to set modem control lines\n");
 exit(1);
 }
 read(fd_dev, &buf, 1);
 printf("%02x\n", buf);
 exit(0);
}

An Application
This is a description of the author's use of the Qtronix serial keypad.
One of my PCs boots from a SanDisk flash disk into OpenDOS and then into loadlin and Linux. The root file system is on a RAM disk. There are no fans on the CPU or power supply so the computer has no moving parts. This machine is meant to be less a PC and more an appliance. It has a modem, printer, Palm Pilot cradle, and a text-to-speech board, as well as the CD-writer and other I/O devices. It does not have a monitor or keyboard.
The serial keypad is used to set-up ('7') and tear-down ('8') a PPP link to my ISP. If "NumLock" is on, the command about to be executed is spoken by the text-to-speech board. The '4' key is used to speak the time.
The keypad.sh script file
#!/bin/bash
# A script to read a Qtronix serial keypad and
# execute commands based on the key pressed.
# 'NumLock' usually implies a spoken response
while true
do
 # Sleep waiting for a keypress
 KEY='./keypad /dev/ttyS4'
 case $KEY in
 85 | 97 ) # Either '4' or 'NumLock 4'
 speak 'date +%k%t%M'
 ;;
 88) # Both '5' and 'NumLock 5'
 speak '/usr/local/bin/temperature' degrees
 ;;
 9c) # '7' key
 /usr/sbin/dip .aim
 ;;
 8c) # 'NumLock 7' key
 speak "Setting up P P P link"
 speak '/usr/sbin/dip .aim'
 ;;
 99) # '8' key
 /usr/sbin/dip -k
 ;;
 87) # 'NumLock 8' key
 speak "Tearing down P P P link"
 speak '/usr/sbin/dip -k'
 ;;
 *)
 echo $KEY is not implemented
 ;;
 esac
done