generate_experiment() samples cells along the different simulations. Two approaches are implemented: sampling from an unsynchronised population of single cells (snapshot) or sampling at multiple time points in a synchronised population (time series).
generate_experiment(model)
list_experiment_samplers()
experiment_snapshot(
 realcount = NULL,
 map_reference_cpm = TRUE,
 map_reference_ls = TRUE,
 weight_bw = 0.1
)
experiment_synchronised(
 realcount = NULL,
 map_reference_cpm = TRUE,
 map_reference_ls = TRUE,
 num_timepoints = 8,
 pct_between = 0.75
)
Arguments
model
A dyngen intermediary model for which the simulations have been run with generate_cells().
realcount
The name of a dataset in realcounts. If NULL, a random dataset will be sampled from realcounts.
map_reference_cpm
Whether or not to try to match the CPM distribution to that of a reference dataset.
map_reference_ls
Whether or not to try to match the distribution of the library sizes to that of the reference dataset.
weight_bw
[snapshot] A bandwidth parameter for determining the distribution of cells along each edge in order to perform weighted sampling.
num_timepoints
[synchronised] The number of time points used in the experiment.
pct_between
[synchronised] The percentage of 'unused' simulation time.
Value
A dyngen model.
Details
experiment_snapshot() samples the cells using the length of each edge in the milestone network as weights. See Supplementary Figure 7A from the dyngen paper for an illustration of how these weights are computed.
experiment_synchronised() samples the cells along the simulation timeline by binning it into num_timepoints groups separated by num_timepoints-1 gaps. See Supplementary Figure 7B from the dyngen paper for an illustration of how the timepoint groups are computed.
Examples
names(list_experiment_samplers())
#> [1] "snapshot" "synchronised"
model <-
 initialise_model(
 backbone = backbone_bifurcating(),
 experiment = experiment_synchronised()
 )
# \donttest{
data("example_model")
model <- example_model %>% generate_experiment()
plot_experiment_dimred(model)
# }


text:
National Free and Open Source Software Policy
The goal of the project is to help create a National FOSS policy document for central and local government of Republic of Macedonia, based on the example of e-Croatia, in order to achieve higher efficiency in the work state bodies, as well as increased transparency and accountability of public procurement of computer equipment and software.
- Inclusive policy creation process conducted.
- National FOSS Policy finalized and published
- National FOSS Policy adopted by relevant state bodies

source: openbmb/Ultra-FineWeb


text: The oxidative stability of selected tree nut oils was examined. The oils of almond, Brazil nut, hazelnut, pecan, pine nut, pistachio, and walnut were extracted using two solvent extraction systems, namely, hexane and chloroform/methanol. The chloroform/methanol system afforded a higher oil yield for each tree nut type examined (pine nut had the highest oil content, whereas almond had the lowest). The fatty acid compositions of tree nut oils were analyzed using gas chromatography, showing that oleic acid was the predominant fatty acid in all samples except pine nut and walnut oils, which contained high amounts of linoleic acid. The tocopherol compositions were analyzed using high-performance liquid chromatography, showing that alpha- and gamma-tocopherols were the predominant tocopherol homologues present; however delta- and beta-tocopherols were also detected in some samples. The oxidative stability of nonstripped and stripped tree nut oils was examined under two conditions, namely, accelerated autoxidation and photooxidation. Progression of oxidation was monitored using tests for conjugated dienes, peroxide value, p-anisidine value, and headspace volatiles. Primary products of oxidation persisted in the earlier stages of oxidation, whereas secondary oxidation product levels increased dramatically during the later stages of oxidation. Hexanal was the major headspace aldehyde formed in all oxidized samples except walnut oil, which contained primarily propanal. Results showed that chloroform/methanol-extracted oils were more stable than hexane-extracted oils in both the accelerated autoxidation and photooxidation studies. Oils of pecan and pistachio were the most stable, whereas oils of pine nut and walnut were the least stable.

source: m-a-p/FineFineWeb


Product Administration Guide > Technical Reference >
Revising the System Default Cardinalities
When a you create a relationship in a customizable product, you can specify a minimum, maximum, and default cardinality. If you do not specify cardinalities, the system uses the following defaults:
 - Minimum cardinality = 0
 - Default cardinality = 0
 - Maximum cardinality = 999
If you do not specify cardinalities this means that users are not required to select any items from the relationship and are limited to selecting a maximum of 999 items.
You can change these defaults as needed. For example, you can set the maximum system default cardinality to a number larger than 999.
To revise the system default cardinalities
 1. In Siebel Tools, locate the Complex Product Structure BusComp.
 2. Within the business component, locate the desired field: Default Cardinality, Max Cardinality, or Min Cardinality.
 3. Display the user properties for the field.
 4. Set the Pre Default Value user property to the desired amount.
 The amount should be an integer that is greater than or equal to 0.
Product Administration Guide


text:
A non-corporeal energy-based species which inhabits inhabit the coronal haloes of O-spectra
stars and has developed a space faring civilisation, travelling the cosmos in field-enclosure ships. When encountering corporeal species, they usually use encounter suits aka Simulacrons which are tailored to look like a divine or idealised version of the species they interact with. When meeting humans, they look like golden greek gods, but act very mundanely.
Mizzarett have a commercial rivality with the Lamberj species. They are known to have colonies on Kimmonoshek.
Source: Isaac Asimov, Buy Jupiter!


Average Weather Data for Yucca, Arizona
Monthly Averages
January February March April May June July August September October November December
Average Monthly high in °F: 62° 66° 71° 80° 89° 101° 105° 103° 97° 85° 71° 62°
Average Monthly low in °F: 38° 41° 44° 50° 59° 69° 77° 75° 67° 55° 44° 38°
Yearly Averages
What's The Average High Temp in Yucca? 82.7 °F
What's the Average Low in Yucca? 54.8 °F
What's the Average Temperature in Yucca? 68.75 °F
How Many Inches of Rain per year does Yucca get? 8.1 inches
How Many Rainy Days a year are there in Yucca? N/A
How Much Sunshine each year is there in Yucca (in hours)? N/A
How much, if any, snow falls each year in Yucca? N/A
Yucca Temperature and Rain Graphs
Average high in °F
Average low in °F
Average precipitation in inches


text:
Regarding âDaily fine expected for water wastersâ (Home page, December 19): This story does not reflect current reality. Most suburban water users have already reduced their total water consumption. Much of the reason the reservoirs dry up so quickly is due to the cultivation of almond trees.
Almond growers in California added about 340,000 acres of orchards in just three years, from 2018 to 2020. A single almond may require 1.1 gallons of water to grow. Only a few trees could use as much water as some households for an entire year. Add to these facts that 80% of California's almonds are exported and agriculture accounts for 80% of California's water use overall. We export our water abroad in the form of nuts.


text:
Ep. 173 - Creating An Allyship + Feminism for All with Rachel Cargle
Today we are joined by Rachel Cargle; activist, writer, and lecturer. Her activist and academic works are rooted in providing intellectual discourse, tools, and resources that explore the intersection of race and womanhood. Rachel also created an organization called The Loveland Group, which houses multiple companies dedicated to lifelong culture, learning, and opportunity. Rachel was in town from NYC, so the girls hopped on the opportunity to spend time with Rachel in person. She is leading the movement on some incredibly issues plaguing our society. In today's episode, we talk about what it was like for Rachel growing up in a predominantly white community, socioeconomic differences between races, and using her platform to create accessible educational lectures. Rachel shares her view on the feminist movement, how the health and wellness space reacts to her, and the way that the welfare system works. We hope this conversation inspires you to have conversations within your community, friend groups, and families—conversations that might not be comfortable but conversations that could, ultimately, change history.


text:
Nonlinear Rayleigh waves propagating in a substrate coated with a thin elastic film are studied numerically. The evolution model consists of the nonlinear spectral equations of Zabolotskaya [J. Acoust. Soc. Am. 91, 2569-2575 (1992)] augmented ad hoc to include film dispersion. The dispersion relation is obtained from linear theory but is otherwise exact. Both loading and stiffening films are considered. Computations are performed for nonlinear evolution of an initially sinusoidal Rayleigh wave under three distinct dispersion regimes corresponding to different film thicknesses. The validity of the evolution model is also examined.
All Science Journal Classification (ASJC) codes
- Arts and Humanities (miscellaneous)
- Acoustics and Ultrasonics


text:
What Is Trading Effect?
- The trading effect measures a portfolio manager's effectiveness by comparing their portfolio returns to that of a chosen benchmark.
- The trading effect answers the simple question of whether the portfolio manager or investor added value by actively managing the portfolio.
- The trading effect can also be used to determine whether active investing (trading) is better than passive investing.
Understanding Trading Effect
The trading effect is the difference in performance between an active investor's portfolio and a chosen benchmark. Active investing takes a hands-on approach and requires that someone act in the role of the portfolio manager. With active investing, the aim is to see if the chosen composition of the investor's portfolio, including any alterations that were made during the observed period, performed better or worse than the benchmark. The trading effect can also be used to determine whether active investing (trading) is better than more passive buy-and-hold investing strategies.
The chosen benchmark has to have relevancy to the portfolio being measured and must be widely recognized and used. For example, the S&P 500 index would be an appropriate benchmark to measure an investor's portfolio that is predominantly comprised of U.S. large-cap equities.
The trading effect serves as a way for investors to quantify a portfolio manager's performance. It answers the simple question of whether the manager (or investor) added value by making adjustments to the portfolio.
If the benchmark, such as the Dow Jones Corporate Bond Index, outperforms the actively managed bond portfolio, then the portfolio manager subtracted value for the investor. If the bond portfolio earns more than the bond index, then the changes in portfolio composition have increased investor value, indicating a good management strategy.
Trading Effect and Bond Portfolios
Numerous and complex factors can influence bond portfolio returns. One reason for a lack of bond portfolio performance measures was that, prior to the 1970s, most bond portfolio managers followed buy-and-hold strategies, so their performance probably did not differ much. In that era, interest rates were relatively stable, so one could gain little from the active management of bond portfolios. The environment in the bond market changed considerably in the late 1970s and 1980s when interest rates increased dramatically and became more volatile.
Although the techniques for evaluating stock portfolio performance have been in existence for decades, comparable techniques for examining bond portfolio performance were initiated more recently, when the bond market volatility increased dramatically.
This change created an incentive to trade bonds, and this trend toward active management led to more dispersed performances by bond portfolio managers. This dispersion in performance, in turn, created a demand for techniques that would help investors evaluate the performance of bond portfolio managers.
The evaluation models for bonds typically consider the overall market factors and the impact of individual bond selection. This technique for measuring the trading effect breaks down the return based on the bond's duration as a comprehensive risk measure, but it does not consider differences in the risk of default.
Specifically, the technique does not differentiate between an AAA bond with a duration of eight years and a BBB bond with the same duration, which could clearly affect the performance. A portfolio manager that invested in BBB bonds, for example, could experience a very positive trading effect simply because the bonds were of lower quality.


text:
An ultra-flexible grouping system
The DemoS grouping unit offers the possibility to freely arrange containers by defining spacings both in the running direction and crosswise. This allows to simply create any grouping in order to meet all production needs.
A simple and efficient way to feed downstream equipments
Once prepared, groupings are delivered on a belt with a very precise positioning.
This belt can directly feed :
- a gripping head for direct case packing in one move,
- the lapping station of a shrink-wrapper,
- a wrap around case packer.
Optimum protection of your containers
The DemoS grouping unit uses comb-shaped guides instead of conventional bar guides. This system ensures a smooth and positive guiding, without friction and without having one container ever pushing another one.
It allows an efficient mechanization of unstable containers with maximum protection of the containers themselves as well as of their labels.
Suitable for high outputs and multiple formats
The DemoS grouping unit can manage up to 100 rows per minute and thus reach an output of 50 000 bph.
A quick set-up process and container turning option at machine's infeed also allow the DemoS grouping unit to manage multiple formats.


BTI420 notes – Fri Mar 11 and Mon Mar 14
Work with Azure services. Continue working on Assignment 7.

Are you interested in looking at the database?
If you're careful, you can open the database that's used in a web app. How?
First, in Solution Explorer, select/highlight the project name (e.g. "Assignment7").
On the toolbar, choose Show All Files.
Open (reveal) the contents of the App_Data folder. It will show "<something>.mdf". This "mdf" file is used to hold the contents of the database.
vs-db-1

Double-click it, and it will open on the left-side "Server Explorer" panel.
Look for the item named "DefaultConnection (project-name)". Open (reveal) the contents of the Tables folder.
vs-db-2

Notice several things:
 - There are several tables that begin with "AspNet…" – those hold the ASP.NET Identity security-related data
 - You can see tables for your design model entities – Artists, Albums, Tracks, Genres
 - To support many-to-many associations, there are also "bridge" tables; for example, Assignment 7 has ArtistAlbums, and TrackAlbums
You can right-click any of these tables, and choose "Show Table Data", to show the data in a grid in the Visual Studio editor area.
vs-db-3

Very important: When you're finished looking, right-click "DefaultConnection (project-name)", and choose "Close connection". If you do not do this, then some of your future coding and testing tasks will fail.

Uh oh – data loading problems
If your data did not load correctly, then you should remove the data, fix the coding problem, and attempt to load the data again.
How to remove the data?
Create another method in the Manager class for this purpose. (Later, you will call this method from a controller action/method.)
Remove ALL the objects in each entity collection. Here's an example of how you would do this for the track entity collection; you would repeat this code for the other entity collections:
foreach (var e in ds.Tracks)
{
 ds.Entry(e).State = System.Data.Entity.EntityState.Deleted;
}
ds.SaveChanges();

Note: There are other ways to remove objects. This is the way that your teacher team recommends at this time.

Arg – the database is really messed up – I want to delete it and start again
Maybe your data items are messed up. Maybe the design model classes are wrong. Maybe there are just too many little problems, and they're preventing progress.
You're thinking "I want to delete the database and start fresh". Here's how:
The data context has a database Delete() method. Be careful. With great power, there is great responsibility.
From MSDN:
Deletes the database on the database server if it exists, otherwise does nothing.
Calling this method from outside of an initializer will mark the database as having not been initialized. This means that if an attempt is made to use the database again after it has been deleted, then any initializer set will run again and, usually, will try to create the database again automatically.

We suggest that you add another method to the Manager class (which can then be called from a controller action/method). Its code:
public bool RemoveDatabase()
{
 try
 {
 // Delete database
 return ds.Database.Delete();
 }
 catch (Exception)
 {
 return false;
 }
}

After the database delete task, run the data load task again.

Security and how it influences class design and code workflows
This section discusses some security issues, and how they influence class design and code workflows.

[Authorize] attribute in a controller
Recently, you learned how to protect controller actions/methods with the [Authorize] attribute. A request must be authenticated before it can execute an action/method.
If you add the attribute before the controller declaration, all methods are protected.
If you add the attribute before an action/method, only that method is protected.
There are various combinations (overrides, AND and OR, specifying roles or users, etc.) that can influence whether an action/method can be executed. You will learn and use these now and in the future.

Protecting methods in the Manager class
In the Manager class, we cannot (and should not attempt to) use the [Authorize] attribute.
Therefore, we must use "if" statements to implement method protection.
The manager object has access to HttpContext.Current, which has access to the security principal data you need for your "if" statement conditions. Here's some scenarios:

The request must be authenticated
For example, use this:
if (HttpContext.Current.Request.IsAuthenticated)
// etc.

The request's security principal must have the "Manager" role claim
For example, use this:
// Get the user
var u = HttpContext.Current.User as ClaimsPrincipal;
// Optional, create a
var isManager = u.HasClaim(ClaimTypes.Role, "Manager");
if (isManager)
// etc.
It would be a really good idea (hint, hint) to put this code in a getter method in a read-only property in the Manager class, so it could be re-used by other methods in the class.

You want to read/display the frendlier given name and surname, instead of the email address
In this scenario, assume that your web app gathers given name and surname data during the "register" for a new user account task. As you know (from studying the Account controller's Register() method), these data items are saved as claims.
Therefore, you want to get and use the friendlier and nicer-looking given name and surname strings, instead of the ugly and unfriendly email address string. You can do this in a controller, or in a manager.
For example, use this code that declares a read-only property:
public string UserName
{
 get
 {
 // Get the user
 var u = HttpContext.Current.User as ClaimsPrincipal;
 // Attempt to get the given name claim
 string gn = u.Claims.SingleOrDefault(c => c.Type == ClaimTypes.GivenName).Value;
 // If null/empty, then set an initial value
 if (string.IsNullOrEmpty(gn)) { gn = "(empty given name)"; }
 // Attempt to get the surname claim
 string sn = u.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Surname).Value;
 // If null/empty, then set an initial value
 if (string.IsNullOrEmpty(sn)) { sn = "(empty surname)"; }
 // Return a nicely-formatted string
 return $"{gn} {sn}";
 }
}

Saving authenticated user information in your own entity objects
The techniques above enable you to read information about the authenticated user.
What about writing user information? For example, assume that you need to save the user name (i.e. the email address) of the current user, with the entity object that you're creating/editing.
Well, here are a few tips or hints:
If possible, do the work in the manager method. Why? The manager is nearest the data store.
Do NOT enable the browser user to enter/provide this data (and you should not show it as editable in an HTML Form in the user interface).
Do not get/fetch the data in the controller, and pass it to the manager. Why? The manager already has access to user information.
This has a design implication for your view model classes:
If you want to display user information in the user interface, then you must add one or more properties (whatever fits your needs) to a display-only view model class (e.g. "…Base", or "…WithDetails").
Do NOT add user information properties to "…AddForm" or "…Add" view model classes.

Azure – create your first Web App and SQL database
We have a separate document which will help you create your first Web App and SQL Database.
Web apps – deploy to Microsoft Azure

Work on Assignment 7
Your professor will guide students as we continue working on Assignment 7.
Before you leave the room at the end of the time slot, ensure that you give the Work Report to your professor, for the in-class grading part of the assignment.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
%d bloggers like this:


What might cause a rhythmic, wavy baseline?
Last Updated: 11/19/2014
The most common causes of a rhythmic or wavy baseline are related to the pumping system. Typically, your pump will have two pistons and seals. If one is more worn than the other, this can cause flow and pressure variations in a very rhythmic pattern, which will also be seen by the detector. You can confirm a pump seal problem by varying the flow rate; the frequency (in time) of the baseline fluctuations should increase/decrease proportionally to an increase/decrease in the flow rate if the pump seals are worn. The solution is to replace the pump seals.
If you have a multiple pump system (binary, ternary, or quaternary), the problem may also be a function of insufficient mixing or of a malfunctioning proportioning valve.
Finally, another possibility may be the detector itself, though fluctuations would not tend to be rhythmic. Again, varying the flow-rate as mentioned above can confirm pumps are the issue, but if adjustment of flow does not have an effect on the baseline fluctuation, the detector itself (e.g. aging lamp if UV) could be the cause.


text:
Issue No. 08 - August (1995 vol. 44)
DOI Bookmark: _URL_
Abstract—Achieving race-free state assignments is an important objective in the synthesis of asynchronous sequential logic circuits (ASLCs). Traditionally, adjacency diagrams are used to help identify and resolve race conditions; however, this approach has a high degree of computational complexity. This paper presents an efficient state assignment algorithm that utilizes a pattern matching technique to predict races and to eliminate the need for enumerative searches. More specifically, the race-free state assignment problem is formulated as the embedding of a bipartite connected graph onto an n-cube and achieves a near minimum number of state variables. This algorithm has been evaluated using several representative examples. Results show that the developed algorithm provides better performance than existing algorithms. Due to the simplicity of the bipartite representation of an n-cube, the developed algorithm is suitable for ASLC synthesis that may involve a relatively large number of states.
Asynchronous sequential logic circuits, adjacency diagram, bipartite adjacency table, bipartite graph, bipartite representation of an n-cube, mapping, partitioning, race-free state assignments, state assignments algorithm.
Jun-Woo Kang, P. David Fisher, Chin-Long Wey, "Application of Bipartite Graphs for Achieving Race-Free State Assignments", IEEE Transactions on Computers, vol. 44, no., pp. _PHONE_, August 1995, doi:10.1109/12.403716


text:
Annealing of Silver Oxide
Blackish brown silver oxide is heated by a burner.
The oxygen that forms can be demonstrated with a glowing splint. White shiny silver metal remains in the test tube.
The thermal decomposition of silver oxide can be described by:
The decomposition does not take place at room temperature because there exists no potential drop.
However, since a gas, that means a substance with strongly negative temperature coefficient α, should be formed we expect that this process will begin at a high enough temperature.
- Detailed description (pdf)


text:
Language Root of Star
Name: Scarlett P.
How did stars get the name 'stars'?
Tracing the word 'star'
Middle English sterre, from Old English steorra, similar to Old High German
sterno, to the Latin stella, and Greek aster or astron.
---Nathan A. Unterman
Click here to return to the Astronomy Archives
Update: June 2012


text:
How to access 'Open(Public)' forms or surveys
ClayHR allows you to create 'open' forms and surveys so they are publicly available to all your users to take and fill out at any time. Digital forms & surveys are widely used to collect data/information for different purposes, as they are less time-consuming and are customizable.
What is the use of Public Forms/Surveys?
Convenience is the keyIn ClayHR users have remote access to public forms and can fill out them according to their convenience. For filling these forms users don't need permission from the administration. For instance, If an employee wants to request a uniform and your organisation has a public form for it, the employee can simply fill it up and the administration can process the request accordingly.To access "Open (Public)" Forms
- To access 'Open' forms known as "Public" form, go to the "Forms" icon to the top right of the menu → "Public Form" sub-menu.
- Select the form you would like to complete.
- Fill out the form fields.
- Submit form.
To access "Open (Public)" Survey
- To access the 'Open' survey known as the "Public" survey, go to the "Forms" icon to the top right of the menu → "Public Survey" sub-menu.
- Select the survey you would like to complete.
- Fill out the survey fields.
- Submit the survey.


text:
This book provides prospective P.E. teachers with important tools for teaching young people various sport activities using valuable cues that promote student success and enjoyment.
Teaching Cues for Elementary Fundamental Sport Skills follows in the steps of Fronske's successful secondary teaching cues book by providing in-service and prospective elementary and middle school teachers with a popular technique for helping students develop essential skills. The use of teaching cues is used to simplify and enhance students' learning, and ultimately turn them on to physical activity. This book will serve as a valuable resource to students, instructors, and professionals who wish to create a positive learning environment that helps students walk away with a feeling of success. Teaching Cues helps teachers save valuable planning time and establish credibility with their students quickly.
SECTION 1: INTRODUCTION.
1. Teaching Physical Education Is Fun with the Right Tools.
SECTION 2: FUNDAMENTAL SPORTS SKILLS (GRADES K-3).
2. Locomotor Skills (Traveling).
3. Throwing, Catching, and Kicking (Stationary).
SECTION 3: ROPE JUMPING (GRADES K-8).
4. Learning the Ropes.
SECTION 4: FUNDAMENTAL SPORT SKILLS (GRADES 4-8).
5. Advanced Cues for Locomotor Skills.
6. Dynamic Stretching and Pillar Exercises.
7. Sprinting Drills.
8. Throwing, Catching, Kicking, and Striking.
SECTION 5: GRADES 4-8 SPORTS.
10. Floor Hockey.
12. Quad Ball.
13. Racquet Sports (Pickle Ball and Tennis).
15. Softball (Slow Pitch).
16. Track and Field.
17. Ultimate Frisbee.
SECTION 6: LIFETIME ACTIVITIES.
19. Cycling and BMX Riding.
20. In-Line Skating.
21. Recreational Running.
22. Swimming and Diving.

source: HuggingFaceFW/fineweb-edu


text: In this example for the PreonVM the 4 LEDs on the Preon32 Shuttle are controlled with different frequencies. As period duration a time of 1000ms is used. Depending on the colour, the LEDs are switched on and off with 0.25, 0.50, 0.75 or 1.00 of the period duration. The example shows how different time behaviour can be implemented in parallel. Due to the internal hardware-based counters in the microcontroller, the set times in the range of milliseconds are reached very precisely. In addition to the 4 threads for controlling the LEDs, the main program is in sleep mode, which it briefly leaves every 1000ms.


text:
Nitrogen enriched activated carbon fibers(ACFs) were prepared from isotropic quinoline and isoquinoline pitches produced by the catalytic action of HF/BF3 through spinning, stabilization, carbonization, and oxidative activation. The pitches exhibited excellent spinnability, and the resultant fibers had mechanical properties comparable to those of commercial fibers. The surface areas and nitrogen contents of the ACFs, obtained hereby were 740-860 m2/g and 4-5.6%, respectively, at around 50 wt% of burn-off. FT-IR and XPS analyses identified the surface oxygen and nitrogen functional groups on the stabilized and activated fibers. The ACFs from isoquinoline pitch(IQP-ACF) exhibited higher basicity(1.3 meq/g) than commercial ACFs of similar surface areas(0.68 and 0.25 meq/g for PAN(FE-300) and coal tar pitch(OG-8A) based ACFs, respectively) due to a higher basic nitrogen content on the surface. The activation appears to expose basic nitrogen atoms, which were located under the surface. The basicity of ACF from quinoline pitch(QP-ACF) was much lower than that of IQP-ACF, however, QP-ACF adsorbed 74 mg/g of SO2. which was 1.4 and 2.3 times higher than that over FE-300 and OG-8A. In contrast, IQP-ACFs showed less adsorption of SO2 than that of QP-ACF and FE-300, but more than that of OG-8A. Oxidation activity of ACF surface may participate in the adsorpton of SO2 in the form of SO3 or H2SO4. The oxygen functional groups under the influence of neighboring nitrogen atoms may be the active sites for the oxidative adsorption.
|Number of pages||7|
|Journal||Sekiyu Gakkaishi (Journal of the Japan Petroleum Institute)|
|Publication status||Published - 1998|
All Science Journal Classification (ASJC) codes
- Fuel Technology
- Energy Engineering and Power Technology


text:
1. Start out with removing any nail polish on your nails as well as cutting/filing them to the desired shape.
2. The next thing you need to do is find a triangular makeup sponge. You can find these at the Dollar Tree, or can even cut a rectangular sponge!
3. Pick out the two or three (or four!) colors you would like to ombre onto your nails. These can be varying shade of the same color or different colors altogether!
4. To get the ombre effect onto your nails, you can do one of two things:
- Apply the nail polish onto a surface like plastic wrap and mix the edges to create the desired effect. Dab the sponge onto the polish and then onto your nails!
- Apply nail polish directly on the sponge and then onto your nails!
5. Clean up the edges of the nails and your fingers using a Q-tip and nail polish remover.
6. Let dry!!!!!!! And ta-da, you have gorgeous ombre nails for the summertime! :D
|These colors together are amazingggggg|
What are your fav summer nail designs? Comment below and don't forget to follow! :)


text:
By NoCamels Team What do racism and lack of creativity have in common? According to a new study from Tel Aviv University – quite a lot. As it turns out, people who are of a racist mindset were less creative when put to the test.
"Although these two concepts concern very different outcomes, they both occur when people fixate on existing category information and conventional mindsets," researcher Carmit Tadmor and her colleagues write in an article published in Psychological Science, a journal of the Association for Psychological Science.
Racism, or "racial essentialism," is basically the view that racial groups possess underlying essences that represent deep-rooted, unalterable traits and abilities. The researchers hypothesized that, once activated, an essentialist mindset would lead to a reluctance to consider alternative perspectives, resulting in a generalized closed-mindedness.
Triggering racism kills creativity
The researchers manipulated participants' beliefs about racial essentialism by having them read one of three articles: one that described fictitious scientific research supporting racial essentialist (racist) beliefs, one that described fictitious research supporting racial nonessentialist beliefs, or one about the scientific properties of water.
The participants then took a commonly used test of creativity called the Remote Associates Test. The participants were given three distinct words and they had to identify a single target word that linked the three words together. So, for example, given the words "manners," "round," and "tennis," the correct answer would be "table."
The researchers found that participants primed with an essentialist viewpoint were less creative, solving significantly fewer of the word problems correctly than participants in the other two groups.
Results may help devise a preemptive strike
A follow up study added further explanation to the results, by showing that racial essentialism and decreased creativity could be explained, at least in part, by an increase in closed-mindedness.
Together, these studies suggest that essentialism exerts its negative effects on creativity by changing how people think, as opposed to changing what they think. This finding fits with previous research on information processing and creativity.
Despite the results being quite preliminary, researchers speculate that there may be a way to implement them for educational purposes. Tadmor and colleagues speculate that it might be possible to use these findings to devise an intervention program that reduces racial essentialist beliefs, thereby leading participants not only to become more socially tolerant but also to unleash their creative potential in the process.
Co-authors on this research include Melody M. Chao of Hong Kong University of Science and Technology; Ying-yi Hong of Nanyang Business School, Nanyang Technological University and Beijing Normal University; and Jeffrey T. Polzer of Harvard University.
Photo by Daviniodus


text: This paper concerns covariance matrix based spectrum sensing over frequency selective channels. The impact of frequency selective channels on the covariance matrix of received signals is analyzed in frequency domain and it is shown that the phases of channel spectra degrade the performance of covariance matrix based detectors. To overcome this problem, we propose a new detector which employs only the magnitude spectra of received signals and thereby achieves considerable performance gain. Theoretical performance, in terms of the false-alarm and detection probabilities of the proposed detector, is analyzed. Simulation results verify our theoretical analyses and demonstrate the superior performance of the proposed detector.


text:
The mountains and valleys of New Hampshire are rich with mineral formations. From the southwest corner of the state near Keene to the northern Canadian border near Littleton there are fascinating deposits of a variety of minerals.
One of these deposits is known as the Littleton Formation which was formed during the Devonian era approximately 300,000,000 years ago. The mining of these mineral deposits has been an important part of New Hampshire history from prehistoric eras to the present.
The Ruggles Mine, in Grafton N.H., is part of the Littleton Formation and has a rich mining and geological history. It is the oldest and largest mine of its kind in the United States. Minerals such as Mica, Feldspar, Beryl, and Uranium were mined at Ruggles for 175 years.


text:
This model demonstrates the use of GoldSim's optimization feature to calibrate a snowmelt model by automatically adjusting parameters to achieve correlation between historic streamflow record and streamflow calculated in the model. The historic record used to drive the snowmelt model includes temperature and precipitation. Calibration accuracy is measured using an R2 factor. Five model parameters are used as optimization variables and the objective function is to maximize the R^2 factor, which is documented in the model. An R^2 value of 1.0 indicates perfect calibration.
The optimization parameters include recession constants (x, y), and the degree-day factor (a).
The snowmelt-runoff model (SRM) is known to provide support for reservoir operators and water supply managers in anticipating and acting on changes in snowmelt runoff. WinSRM can be used for predicting snowmelt runoff which can then be incorporated into a reservoir model to estimate fill targets for the early summer months and often provides decision makers with increased knowledge for their annual strategic planning. To further understand their risks, modelers can use model results from SRM and statistically analyze them to quantify risks probabilistically. Refer to the Snowmelt-Runoff Model User's Manual for more information about the SRM model.
Download the Model File:


text:
Boston, Mass., Monday, April 28, 2014 –TSNE MissionWorks today awarded a series of grants to seven Massachusetts and Rhode Island-based networks to accelerate their commitments toward ending poverty in the region. The grants, made through TSNE's Inclusion Initiative program, will support the multi-sector networks in building a collaborative community of groups who will target their collective efforts at systemic issues that perpetuate economic inequality in the communities of color where they operate.
"The Inclusion Initiative grants are guided by the belief that when nonprofits, businesses, schools, civic organizations and government agencies work together and collaborate it enhances the potential for collective, lasting impact on the root causes of poverty," says Jonathan Spack, Executive Director, TSNE MissionWorks.
Inclusion Initiative grants are awarded in two stages with the first group of seven networks receiving a $28,500 grant to plan their initiative and design their network. In the second round, up to five networks will be awarded a larger implementation grants. In the first round of grants, networks were selected on their plans to address the root causes of poverty in one or more of five main areas including education, healthcare, environmental justice, community and economic development, and youth development.
"It has been 50 years since we first declared the 'war on poverty' and income inequality and poverty has continued to be persistent especially in communities of color," says Ayeesha Lane, Program Manager, Inclusion Initiative. "These grants are targeted to help close the gap and to move the needle on creating more just social systems that support racial and economic equity."
TSNE MissionWorks has awarded funding and provided technical assistance to networks of nonprofit for the past decade. This type of grant making -- multi-year funds to networks of groups -- presents what TSNE MissionWorks believes to be a more effective alternative to the conventional way of making grants which are typically one-year awards to individual organizations working separately on similar issues.
"This grant will enhance our ability to continue reaching men of color in the barbershop setting and encouraging them to become active stakeholders in their own health," says Brenda Jenkins, contributor to the Barbershop Health Network in Worcester, Mass. "Communities of color disproportionately comprise poverty stricken areas and the work funded by grants such as the Inclusion Initiative are imperative to restoring equity to the pervasive income inequality, health disparities, and other social justice issues that impact the population we work with."
"This grant will give us the opportunity to engage youth from communities of color to comprehensively analyze the causes of poverty in our city," says Frank Ramirez, contributor to the Immigrant Youth Solidarity Initiative in Boston, Mass. "The network will be able to pinpoint concrete ways in which the different sectors in the city can act to ensure poor Bostonians have the resources they need to help themselves develop and contribute to the wealth of the community."
The following networks received grant funding:
- The Barbershop Health Network - Worcester, MA
$28,500 to improve population health by employing community members to promote health resources in the community.
- P.O.W.E.R. Network (People Owning Wider Economic Resources) - Central Falls, RI
$28,500 to incubate and provide ongoing support to a diversity of worker owned co-operative businesses.
- Immigrant Youth Leadership and Solidarity Initiative - Boston, MA
$28,500 to cultivate immigrant youth leadership structures and activities that continually promotes immigrant youth leadership.
- Standing Together to End Poverty and Undo Profiling (STEP UP Network) - Providence, RI
$28,500 to build a solid infrastructure led by communities most affected by racial profiling toward shifting the debate on racial profiling in Rhode Island.
- Roxbury Food Justice Hub - Roxbury, MA
$28,500 to develop the Roxbury Food Justice Hub as both a physical space and a network of collaborative partners.
- Mattapan United - Mattapan, MA
$28,500 to improve the quality of life in Mattapan for all residents, focusing on the structural issues that impact poverty.
- Boston Tenant Coalition - Boston, MA
$28,500 to form community led democratic structures outside of the traditional authorities in Boston Public Housing.
About TSNE MissionWorks
Since its founding in 1959, TSNE MissionWorks (_URL_) has focused on building the knowledge, power and effectiveness of nonprofits, so they can better help communities leverage resources, solve problems, identify opportunities – and thrive. We use innovative models and strategies in our work to support organizations committed to social change.
For more information contact:
Sandy St. Louis


Item Pipeline
After an item has been scraped by a spider, it is sent to the Item Pipeline which process it through several components that are executed sequentially.
Each item pipeline component (sometimes referred as just "Item Pipeline") is a Python class that implements a simple method. They receive an Item and perform an action over it, also deciding if the Item should continue through the pipeline or be dropped and no longer processed.
Typical use for item pipelines are:
 - cleansing HTML data
 - checking for duplicates (and dropping them)
 - storing the scraped item in a database
Writing your own item pipeline
Writing your own item pipeline is easy. Each item pipeline component is a single Python class that must implement the following method:
process_item(item, spider)
This method is called for every item pipeline component and must either return a Item (or any descendant class) object or raise a DropItem exception. Dropped items are no longer processed by further pipeline components.
 - item (Item object) – the item scraped
 - spider (BaseSpider object) – the spider which scraped the item
Additionally, they may also implement the following methods:
This method is called when the spider is opened.
Parameters:spider (BaseSpider object) – the spider which was opened
This method is called when the spider is closed.
Parameters:spider (BaseSpider object) – the spider which was closed
Item pipeline example
Price validation and dropping items with no prices
Let's take a look at the following hypothetic pipeline that adjusts the price attribute for those items that do not include VAT (price_excludes_vat attribute), and drops those items which don't contain a price:
from scrapy.exceptions import DropItem
class PricePipeline(object):
 vat_factor = 1.15
 def process_item(self, item, spider):
 if item['price']:
 if item['price_excludes_vat']:
 return item
Write items to a JSON file
The following pipeline stores all scraped items (from all spiders) into a a single items.jl file, containing one item per line serialized in JSON format:
import json
class JsonWriterPipeline(object):
 def __init__(self):
 self.file = open('items.jl', 'wb')
 def process_item(self, item, spider):
 return item
Activating an Item Pipeline component
To activate an Item Pipeline component you must add its class to the ITEM_PIPELINES list, like in the following example:
Item pipeline example with resources per spider
Sometimes you need to keep resources about the items processed grouped per spider, and delete those resource when a spider finishes.
An example is a filter that looks for duplicate items, and drops those items that were already processed. Let say that our items have an unique id, but our spider returns multiples items with the same id:
from scrapy.xlib.pydispatch import dispatcher
from scrapy import signals
from scrapy.exceptions import DropItem
class DuplicatesPipeline(object):
 def __init__(self):
 self.duplicates = {}
 dispatcher.connect(self.spider_opened, signals.spider_opened)
 dispatcher.connect(self.spider_closed, signals.spider_closed)
 def spider_opened(self, spider):
 self.duplicates[spider] = set()
 def spider_closed(self, spider):
 del self.duplicates[spider]
 def process_item(self, item, spider):
 if item['id'] in self.duplicates[spider]:
 return item


text:
What ducks endure
When you think of a duck, most likely the image in your mind would be
of one on water. Children are told that ducks live near bodies of water
because they spend a lot of time on it. According to zoologist Juliet
Gellatley, ducks spend 80% of their time on water since they play, swim
and feed on it. So important is water for ducks that they can go blind
if they are unable to rinse their eyes with it. God crated them to be on
In spite of our knowledge about what ducks need and how they behave,
most of the 18 million ducks raised for meat in the U.K. have no access
to water for bathing and 90% of them are intensively confined.
A report by the animal protection organization Viva! states that the
industry keeps 10,000 birds to a shed with a stock density of about
eight birds per square meter (10.8 square feet). According to producers,
who have no regard for the lives of these animals, say that such access
to water would spread disease. To us, Christians, to deprive an animal
of an essential God-give need – in this case water - is to disobey God.
Although the U.K.'s Department for Environment, Food and Rural
Affairs (DEFRA) and the Council of Europe recommend that ducks have
enough water to cover their heads and splash their backs, Viva! says
this rarely occurs and cannot be enforced. The duck industry is said to
be aware of the criticism and close to finalizing a code of practice.
To read the full article please visit
Your question and comments are welcome


PHP Unconference Europe 2015
MongoCursor::info
(PECL mongo >=1.0.5)
MongoCursor::infoGets the query, fields, limit, and skip for this cursor
Description
public array MongoCursor::info ( void )
This can be called before or after the query.
Parameters
This function has no parameters.
Return Values
Returns the namespace, limit, skip, query, and fields for this cursor.
Changelog
Version Description
1.1.0 Added a number of other fields, including id (the cursor id), at (the driver's counter of which document is current), numReturned (the number returned by the server in the current batch), and server (which server the query was sent to—useful in conjunction with Read Preferences.
1.0.10 Added started_iterating field, a boolean indicating if cursor is pre- or post-query.
Examples
Example #1 MongoCursor::info() example
<?php
$m
= new MongoClient();
$cursor $m->foo->bar->find(array("x" => 4), array("y" => false));
var_dump($cursor->info());
?>
The above example will output something similar to:
array(5) {
 ["ns"]=>
 string(7) "foo.bar"
 ["limit"]=>
 int(0)
 ["skip"]=>
 int(0)
 ["query"]=>
 array(1) {
 ["x"]=>
 int(4)
 }
 ["fields"]=>
 array(1) {
 ["y"]=>
 int(0)
 }
}
add a note add a note
User Contributed Notes
There are no user contributed notes for this page.
To Top


child process will run all the checks and record the results in $RESULTFILE (default: /var/run/nhc.status). The next time nhc is executed, just before forking off the child process (which will again run the checks in the background), it will load the results from $RESULTFILE from the last execution. Once the child process has been spawned, it will then return the previous results to its caller.
The advantage of detached mode is that any hangs or long-running commands which occur in the checks will not cause the resource manager daemon (e.g., pbs_mom) to block. Sites that use home-grown health check scripts often use a similar technique for this very reason -- it's non-blocking.
However, a word of caution: if a detached-mode nhc encounters a failure, it won't get acted upon until the next execution. So let's say you have NHC configured to only on job start and job end. Let's further suppose that the /tmp filesystem encounters an error and gets remounted read-only at some point after the completion of the last job and that you have check_fs_mount_rw /tmp in your nhc.conf. In normal mode, when a new job tries to start, nhc will detect the read-only mount on job start and will take the node out of service before the job is allowed to begin executing on the node. In detached mode, however, since nhc has not been run in the meantime, and the previous run was successful, nhc will return success and allow the job to start before the error condition is noticed!
For this reason, when using detached mode, periodic checks are HIGHLY recommended. This will not completely prevent the above scenario, but it will drastically reduce the odds of it occurring. Users of detached mode, as with any similar method of delayed reporting, must be aware of and accept this caveat in exchange for the benefits of the more-fully-non-blocking behavior.
Built-in Checks
In the documentation below, parameters surrounded by square brackets ([like this]) are optional. All others are required.
The LBNL Node Health Check distribution supplies the following checks:
check_cmd_output
check_cmd_output [-t timeout] [-r retval] [-m match [...]] { -e 'command [arg1 [...]]' | command [arg1 [...]] }
check_cmd_output executes a command and compares each line of its output against any _mstr_s (match strings) passed in. If any positive match is not found in the command output, or if any negative match is found, the check fails. The check also fails if the exit status of command does not match retval (if supplied) or if the command fails to complete within timeout seconds (default 5). Options to this check are as follows:
Check Option Purpose
-ecommand Execute command and gather its output. The command is split on word boundaries, much like /bin/sh -c '...' does.
-mmstr If negated, no line of the output may match the specified mstr expression. Otherwise, at least one line must match. This option may be used multiple times as needed.
-rretval Exit status (a.k.a. return code or return value) of command must equal retval or the check will fail.
-tsecs Command will timeout if not completed within secs seconds (default is 5).
NOTE: If the command is passed using -e, the command string is split on word boundaries to create the argv[] array for the command. If passed on the end of the check line, DO NOT quote the command. Each parameter must be distinct. Only use quotes to group multiple words into a single argument. For example, passing command as "service bind restart" will work if used with -e but will fail if passed at the end of the check line (use without quotes instead)!
Example (Verify that the rpcbind service is alive): check_cmd_output -t 1 -r 0 -m '/is running/' /sbin/service rpcbind status
check_cmd_status
check_cmd_status [-t timeout] -r retval command [arg1 [...]]
check_cmd_status executes a command and redirects its output to /dev/null. The check fails if the exit status of command exit status does not match retval or if the command fails to complete within timeout seconds (default 5). Options to this check are as follows:
Check Option Purpose
-rretval Exit status (a.k.a. return code or return value) of command must equal retval or the check will fail.
-tsecs Command will timeout if not completed within secs seconds (default is 5).
Example (Make sure SELinux is disabled): check_cmd_status -t 1 -r 1 selinuxenabled
check_dmi_data_match
check_dmi_data_match [-h handle] [-t type] [-n | '!'] string
check_dmi_data_match uses parsed, structured data taken from the output of the dmidecode command to allow the administrator to make very specific assertions regarding the contents of the DMI (a.k.a. SMBIOS) data. Matches can be made against any output or against specific types (classifications of data) or even handles (identifiers of data blocks, typically sequential). Output is restructured such that sections which are indented underneath a section header have the text of the section header prepended to the output line along with a colon and intervening space. So, for example, the string "ISA is supported" which appears underneath the "Characteristics:" header, which in turn is underneath the "BIOS Information" header/type, would be parsed by check_dmi_data_match as "BIOS Information: Characteristics: ISA is supported"
See the dmidecode man page for more details.
WARNING: Although string is technically a match string, and supports negation in its own right, you probably don't want to use negated match strings here. Passing the -n or ! parameters to the check means, "check all relevant DMI data and pass the check only if no matching line is found." Using a negated match string here would mean, "The check passes as soon as ANY non-matching line is found" -- almost certainly not the desired behavior! A subtle but important distinction!
Example (check for BIOS version): check_dmi_data_match "BIOS Information: Version: 1.0.37"
check_dmi_raw_data_match
check_dmi_raw_data_match match_string [...]
check_dmi_raw_data_match is basically like a grep on the raw output of the dmidecode command. If you don't need to match specific strings in specific sections but just want to match a particular string anywhere in the raw output, you can use this check instead of check_dmi_data_match (above) to avoid the additional overhead of parsing the output into handles, types, and expanded strings.
Example (check for firmware version in raw output; could really match any version): check_dmi_raw_data_match "Version: 1.24.4175.33"
check_file_contents
check_file_contents file mstr [...]
check_file_contents looks at the specified file and allows one or more (possibly negated) mstr match strings (glob, regexp, etc.) to be applied to the contents of the file. The check fails unless ALL specified expressions successfully match the file content, but the order in which they appear in the file need not match the order specified on the check line. No post-processing is done on the file, but take care to quote any shell metacharacters in your match expressions properly. Also remember that matching against the contents of large files will slow down NHC and potentially cause a timeout. Reading of the file stops when all match expressions have been successfully found in the file.
The file is only read once per invocation of check_file_contents, so if you need to match several expressions in the same file, passing them all to the same check is advisable.
NOTE: This check handles negated match strings internally so that they "do the right thing:" ensure that no matching lines exist in the entire file.
Example (verify setting of $pbsserver in pbs_mom config): check_file_contents /var/spool/torque/mom_priv/config '/^\$pbsserver master$/'
check_file_stat
check_file_stat [-D num] [-G name] [-M mode] [-N secs] [-O secs] [-T num] [-U name] [-d num] [-g gid] [-m mode] [-n secs] [-o secs] [-t num] [-u uid] filename(s)
check_file_stat allows the user to assert


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.


text:
For Full-Text PDF, please login, if you are a member of IEICE,|
or go to Pay Per View on menu list, if you are a nonmember of IEICE.
Filtering of a Dissonant Frequency Based on Improved Fundamental Frequency Estimation for Speech Enhancement
IEICE TRANSACTIONS on Fundamentals of Electronics, Communications and Computer Sciences
Publication Date: 2003/08/01
Print ISSN: 0916-8508
Type of Manuscript: Special Section LETTER (Special Section on Digital Signal Processing)
dissonant frequency, fundamental frequency estimation, parametric cubic convolution,
Full Text: PDF>>
There have been numerous studies on the enhancement of the noisy speech signal. In this paper, we propose a completely new speech enhancement method, that is, a filtering of a dissonant frequency based on improved fundamental frequency estimation which is developed in frequency domain. The subjective test results indicate that the proposed method provides a significant gain in audible improvement especially for speech contaminated by colored noise and a husky voice. Therefore if the filter is employed as a pre-filter for speech enhancement, the output speech quality and intelligibility should be greatly enhanced.


text:
Investigation Of The Friction Factor Behavior for Flat Plate Tests Of Smooth And Roughened Surfaces With Supply Pressures Up To 84 Bars
Annular gas seal clearances were simulated with closely spaced parallel plates using a Flat?Plate tester. The device is designed to measure the pressure gradient along the test specimen. The main function of the Flat?Plate tester is to provide friction factor data and measure dynamic pressure oscillations. A detailed description of the test facility is described, and a theory for determining the friction factor is reviewed. Three clearances were investigated: 0.635, 0.381, and 0.254 mm. Tests were conducted at three different inlet pressures (84, 70, and 55 bars), producing Reynolds numbers range from 50,000 to 700,000. Three surface configurations were tested including smooth?on-smooth, smooth?on?hole, and hole?on?hole. The Hole?pattern plates are identical with the exception of the hole depth. The results indicate that, for the smooth?on?smooth and smooth?on?hole configurations, the friction factor remains constant or increases slightly with increasing Reynolds numbers. Moreover, the friction factor increases as the clearance between the plates increases. However, the results from the hole?on-hole configurations are quite different. A "friction?factor jump" phenomenon was observed, and the Helmholtz frequency was detected on the frequency spectra.


text:
Posted on February 1, 2013 by ilhandsandvoices
Learn Cued Speech!
* Cued speech provides families and professionals with a tool for complete and accurate communication with the deaf in English and MANY other spoken languages
* Combines hand "Cues" with the natural mouth movements of speech, providing 100% visual confirmation of every sound being spoken
* Is easy to learn: the average person needs 10-20 hours of instruction and a few weeks to a few months of practice (to develop fluency)
* Enables a deaf child to achieve AGE-APPROPRIATE language and literacy levels, from infancy through high school, college, and beyond.
Please see the attached flyer for more details:
Cued Speech Workshop Flyer
Please contact Karla Giese, Director of Deaf Services at _EMAIL_
for more information. We offer monthly workshops.
Looking forward to seeing you at one of our workshops!
Filed under: Cued Speech, Education, Education Resources | Leave a Comment »
Posted on February 1, 2008 by ilhandsandvoices
What is Cued Speech?
Cued Speech is a visual communication system — mouth movements of speech combine with "cues" (hand shapes and locations) to make all the sounds (phonemes) of spoken language look different.
Cued Speech Classes
Alternatives for the Hearing Impaired
Second Saturday of each month
2020 E. Camp McDonald Road
Mt. Prospect, IL 60056
Filed under: Cued Speech, Resources | Leave a Comment »


sales coaching
How To Level Up Your Sales Coaching with Artificial Intelligence
 - Shoaib
 - Artificial Intelligence, Business, Digital Transformation, Technology
 - No Comments
Sales coaching has always been an essential part of running a business. It can make a massive difference in your company's overall performance. Coaching also improves the well-being of your sales representatives. It can inspire them to grow past their limitations to achieve new success levels for the organization and in their personal lives.
However, sales coaching isn't as straightforward as you'd wish. Although many organizations have mastered the basics, the landscape is constantly changing. The digit-first economy, in particular, has made the market unpredictable.
Challenges in Traditional Sales Coaching
The following are some of the issues that make this kind of coaching in the traditional setup a significant challenge for organizations;
 - Time challenges: Sales coaching is a time-intensive undertaking. It takes a lot of time. What's more, it eats up both the management and trainees' time. This can often mean that managements try to limit as much as possible the time spent on coaching because they also need to work other revenue-generating aspects of the business. Moreover, the coaching schedules can conflict with time for other sales activities.
 - Feedback challenges: The quality of training feedback that managers can provide is directly related to the amount of time they can allocate to the training process. It means that takeaways from coaching sessions typically vary from one session to the next and from one learner to the next, making consistency very difficult to achieve.
 - Personalization challenges: In an ideal world, this kind of coaching should be personalized to address the challenges faced in individual roles and at a personal level. That's because each role has unique challenges. Also, each sales rep has unique strengths and weaknesses. The best coaching is that which takes these unique scenarios into account. It isn't easy to achieve this in the traditional coaching setup.
 - Ad-hoc coaching: Finally, conventional coaching approaches also create a scenario where you may end up coaching for its sake. Think about it – why do many organizations coach in the first place? It's rarely because they've noticed a skills gap. Instead, they coach because they feel they should coach or because it's the time of the year when they usually coach. This intuition-driven coaching approach has little impact on the bottom line.
Enter Artificial Intelligence (AI)-driven Sales Coaching
AI promises to resolve the above and many other challenges associated with sales coaching by addressing three key areas;
 1. Introducing a data-focused approach
By collecting and rapidly analyzing vast quantities of data related to the sales pipeline and sales rep performance, AI makes it possible to determine where reps are struggling. This information can then inform and influence sales coaching.
For instance, after extensive analysis, AI tools may reveal that a particular representative struggle with selling a given product at a particular sales cycle stage. It may also reveal that the rep struggles even more when facing competition from a specific brand.
With this information at hand, the coaching process can focus on the relevant product and competitor. You can help the rep understand more about the product and how to position it when selling. You can also help them know more about the competitor, including their strengths and weaknesses so that the rep is prepared and armed with the right information as they go out there.
sales coaching
Remember that the same AI tools can be used to make a more accurate sales forecast by analyzing all sorts of variables around the product. The result is a significantly increased chance of selling.
 1. Deliver smarter, more in-depth training
In addition to providing the platform and tools to crunch data to extract insight, it also provides a smarter, more impactful channel to deliver the information. You'll still rely on traditional training approaches, such as targeted training paths. But you'll also now have a new channel known as cognitive analytics to help you convey the message in a more impactful manner.
Cognitive analytics is a branch of AI that mimics' processes in the human brain to gain insight into unstructured data. The easiest way to explain how such analytics would help in sales coaching is to imagine a sales coach training rep on presentation skills where part of the session involving recording participants giving a presentation. Cognitive analytics can augment in-class feedback from the facilitator with an extra layer of coaching, without necessitating additional effort.
You can even run the videos through machine analysis to give instant, unbiased, and detailed feedback on eye contact, voice tone, emotion, language complexity, etc. in real-time.
 1. Simulate real-world face-to-face scenarios
Finally, the face-to-face role-playing is currently the most effective was to prepare salespeople for the task ahead. The sessions usually comprise the sales rep, a second person playing the part of a buyer, and the coach. When done properly, these role-playing sessions help the agent master the art of engaging targeted customers in specific environments.
Unfortunately, as the name suggests, they are only simulations, which often means that neither of the parties (sales rep or acting buyer) would be serious. This presents a few limitations considering that some things are only learned in the real world by making mistakes and learning from them. Yet, it's also not a very good idea to practice in the workplace as the costs could be too steep for the company.
When used together with Augmented Reality (AR) and Virtual Reality (VR), AI can create real-world coaching scenarios without the traditional costs. These three technologies allow you to recreate a real-world-like setting where reps can interact with avatars designed to behave like actual buyers – asking questions, voicing objections, etc.
If you're currently thinking about ways to improve your sales coaching, you can see how incorporating AI into your training activities would enhance your sessions. From collecting data and analyzing it to provide key coaching points to guiding the actual coaching process, it makes your sessions much more productive.
Author: Shoaib


text:
Kit Consists of: 40 oz MIL Engine Treatment, 8 oz Compound 90, 8 oz Fuel System Treatment
What you can expect after installing an one-time treatment:
- Reducing noxious emissions.
- Improve engine efficiency.
- Reducing fuel consumption.
- Decrease maintenance costs.
- Extending the life of your engine.
- Provides optimal performance.
- Smoother operation.
- Increased horsepower and torque.
- Engine Treatement is Microlon's standard formulation and is added to the crankcase
for the treatment of internal combustion engines.
- Fuel System Treatment is added to the fuel tank and contains the highest quality cleaning agents, corrosion inhibitors and antioxidants. These ingredients combine to prepare the pore structure to receive the Microlon Engine Treatment and provide lasting protection.


text:
Harold's Fall or King Will
April 2 - April 4, 2009
The winner of the 2009 Rod Parker Playwrighting Festival is George Watsky, for his play Harold's Fall or King Will. Harold's Fall or King Will by George Watsky focuses on William and Harold, two chess players in a park in New York City. Harold's magical piece of chalk can transform himself and his surroundings, but at the price of his undoing. Using chess as a metaphor, the play examines status, race and morality in the world that Harold creates. NewFest '09, sponsored by Rod Parker, is an opportunity for student playwrights to collaborate on a full production of his or her play. The play chosen is directed by Joe Antoun, Artistic Director of Centastage.


1 layout.api.php hook_block_view_alter(&$data, $block)
Perform alterations to the content of a block.
This hook allows you to modify blocks before they are rendered.
Note that instead of hook_block_view_alter(), which is called for all blocks, you can also use hook_block_view_MODULE_DELTA_alter() to alter a specific block.
Parameters
$data: The block title and content as returned by the module that defined the block. This could be an empty array or NULL value (if the block is empty) or an array containing the following:
 - title: The (localized) title of the block.
 - content: Either a string or a renderable array representing the content of the block. You should check that the content is an array before trying to modify parts of the renderable structure.
$block: The Block object. It will have have at least the following properties:
 - module: The name of the module that defined the block.
 - delta: The unique identifier for the block within that module, as defined in hook_block_info().
 - settings: An array containing all block settings as defined for this instance of the block.
 - contexts: An array containing all layout contexts available for the layout.
See also
hook_block_view_MODULE_DELTA_alter()
hook_block_view()
Related topics
File
core/modules/layout/layout.api.php, line 693
Describe hooks provided by the Layout module.
Code
function hook_block_view_alter(&$data, $block) {
 // Remove the contextual links on all blocks that provide them.
 if (is_array($data['content']) && isset($data['content']['#contextual_links'])) {
 unset($data['content']['#contextual_links']);
 }
 // Add a theme wrapper function defined by the current module to all blocks
 // provided by the "somemodule" module.
 if (is_array($data['content']) && $block->module == 'somemodule') {
 $data['content']['#theme_wrappers'][] = 'mymodule_special_block';
 }
}


How to Export Contact as vCard using PHP
by Vincy. Last modified on July 3rd, 2023.
VCard or VCF is a virtual contact file containing contact information in a standard format. It is used to attach and transfer contact data via email or any other form of electronic data transfer. The vCard stores contact data like name, email, address, company, and more details. This tutorial will show how to export contact data to a vCard using PHP.
Previously, we have seen PHP contact form example to get the contact details from the user. In this example, the user contact and company details are stored in a database table.
View Demo
Data for contact is retrieved using PHP from the database and listed in a tabular format. In this list, each item will have the option to export data to a vCard format. Once exported, the vCard will be downloaded to the browser.
php-vcard-export-output
Previously, we have seen several examples to export database results to various format like CSV, and Excel. I have used Jeroen Desloovere's vCard PHP library for exporting contact data to vCard. Download this library from Github and put it in your local environment to run this example.
Contact Data Table with vCard Export Option
This landing page displays the contact details from the database in a tabular form. In this PHP example, I have used MySQL prepared statement for performing database operations.
Initially, the query is executed to get all the contact details into a PHP array. This array of contacts is iterated and displayed in a tabular view with the vCard export option. By clicking this vCard Export control, the PHP export action will be called. Then the contact data will be exported to a VCF file and downloaded to the browser.
<?php
require_once "DBController.php";
$dbController = new DBController();
if(!empty($_GET["action"])) {
 $query = "SELECT * FROM tbl_contact WHERE id = ?";
 $param_type = "i";
 $param_value_array = array($_GET["id"]);
 $contactResult = $dbController->runQuery($query,$param_type,$param_value_array);

 require_once "VcardExport.php";
 $vcardExport = new VcardExport();
 $vcardExport->contactVcardExportService($contactResult);
 exit;
}
$query = "SELECT * FROM tbl_contact";
$result = $dbController->runBaseQuery($query);
?>
<!DOCTYPE html>

<title>How to Implement OTP SMS Mobile Verification in PHP with TextLocal</title>
<link href="style.css" type="text/css" rel="stylesheet" />

<?php
if(!empty($result))
{
?>

Name

Email

Phone

Address

Export

<?php
 foreach($result as $k=>$v)
 {
?>

<?php echo $result[$k]["first_name"]; ?> <?php echo $result[$k]["last_name"]; ?>

<?php echo $result[$k]["email"]; ?>

<?php echo $result[$k]["phone"]; ?>

<?php echo $result[$k]["address"]; ?>

<a href="index.php?action=export&id=<?php echo $result[$k]["id"]; ?>" title="Export to vCard">

<?php
 }
?>

<?php
}
?>

PHP vCard Library Class Instantiation and Contact Data Export
In this PHP class, the required vCard library class is instantiated. Regarding this instance, the contact data is added to an object array. This contact data object will be passed while exporting data to the VCF file.
This vCard PHP library requires the Behat-Transliterator library for transliterating the name. So, download Behat-Transliterator library and use it as a dependency to run this example.
<?php
use JeroenDesloovere\VCard\VCard;
class VcardExport
{
 public function contactVcardExportService($contactResult)
 {
 require_once 'vendor/Behat-Transliterator/Transliterator.php';
 require_once 'vendor/jeroendesloovere-vcard/VCard.php';
 // define vcard
 $vcardObj = new VCard();
 // add personal data
 $vcardObj->addName($contactResult[0]["first_name"] . " " . $contactResult[0]["last_name"]);
 $vcardObj->addBirthday($contactResult[0]["date_of_birth"]);
 $vcardObj->addEmail($contactResult[0]["email"]);
 $vcardObj->addPhoneNumber($contactResult[0]["phone"]);
 $vcardObj->addAddress($contactResult[0]["address"]);

 return $vcardObj->download();
 }
}
?>
Database Controller
This PHP class was created as a database controller to handle connections and fetch data with PreparedStatement. The runBaseQuery() function receives and executes the query without parameters. The runQuery() function gets the query, param type, and values as its argument to bind with the query statement. This function is used to fetch contact data by id for exporting it to a VCF file.
<?php
class DBController {
 private $host = "localhost";
 private $user = "root";
 private $password = "test";
 private $database = "blog_samples";
 private $conn;

 function __construct() {
 $this->conn = $this->connectDB();
 }

 function connectDB() {
 $conn = mysqli_connect($this->host,$this->user,$this->password,$this->database);
 return $conn;
 }

 function runBaseQuery($query) {
 $result = $this->conn->query($query);
 if ($result->num_rows > 0) {
 while($row = $result->fetch_assoc()) {
 $resultset[] = $row;
 }
 }
 return $resultset;
 }

 function runQuery($query, $param_type, $param_value_array) {
 $sql = $this->conn->prepare($query);
 $this->bindQueryParams($sql, $param_type, $param_value_array);
 $sql->execute();
 $result = $sql->get_result();

 if ($result->num_rows > 0) {
 while($row = $result->fetch_assoc()) {
 $resultset[] = $row;
 }
 }

 if(!empty($resultset)) {
 return $resultset;
 }
 }

 function bindQueryParams($sql, $param_type, $param_value_array) {
 $param_value_reference[] = & $param_type;
 for($i=0; $i<count($param_value_array); $i++) {
 $param_value_reference[] = & $param_value_array[$i];
 }
 call_user_func_array(array(
 $sql,
 'bind_param'
 ), $param_value_reference);
 }
}
?>
View DemoDownload
Vincy
Written by Vincy, a web developer with 15+ years of experience and a Masters degree in Computer Science.


Diffusion and the formation of vorticity staircases in randomly strained two-dimensional vortices
M.R. Turner, Andrew Bassom, A.D. Gilbert
 Research output: Contribution to journalArticle
 4 Citations (Scopus)
 Abstract
 The spreading and diffusion of two-dimensional vortices subject to weak externalrandom strain fields is examined. The response to such a field of given angularfrequency depends on the profile of the vortex and can be calculated numerically.An effective diffusivity can be determined as a function of radius and may beused to evolve the profile over a long time scale, using a diffusion equation thatis both nonlinear and non-local. This equation, containing an additional smoothingparameter, is simulated starting with a Gaussian vortex. Fine scale steps in thevorticity profile develop at the periphery of the vortex and these form a vorticitystaircase. The effective diffusivity is high in the steps where the vorticity gradient islow: between the steps are barriers characterized by low effective diffusivity and highvorticity gradient. The steps then merge before the vorticity is finally swept out andthis leaves a vortex with a compact core and a sharp edge. There is also an increasein the effective diffusion within an encircling surf zone.In order to understand the properties of the evolution of the Gaussian vortex, anasymptotic model first proposed by Balmforth, Llewellyn Smith & Young (J. FluidMech., vol. 426, 2001, p. 95) is employed. The model is based on a vorticity distributionthat consists of a compact vortex core surrounded by a skirt of relatively weakvorticity. Again simulations show the formation of fine scale vorticity steps withinthe skirt, followed by merger. The diffusion equation we develop has a tendency togenerate vorticity steps on arbitrarily fine scales; these are limited in our numericalsimulations by smoothing the effective diffusivity over small spatial scales.
 Original languageEnglish
 Pages (from-to)49-72
 JournalJournal of Fluid Mechanics
 Volume638
 DOIs
 Publication statusPublished - 2009
 Fingerprint Dive into the research topics of 'Diffusion and the formation of vorticity staircases in randomly strained two-dimensional vortices'. Together they form a unique fingerprint.
 Cite this


text:
KaKhaRa means the basic text from Nepali Grammar. KaKhaRa means same as the basic texts of Englsih ABC. KaKhaRa-the beginners...works through the different medium and tools of art and media like: Fine-Art, Theatre, Literature, Multimedia etc. to give positive impact in society via children and youths.
It is an independent organization with pure thought of Art and Multimedia.


Girl opens fire in high school Idaho
A student of a high school in the U.S. state of Idaho has opened fire on fellow students. Two kids and a janitor were injured before a teacher could disarm the girl.
The shooter, who would be around 12 years old, had taken the firearm in her backpack. At the beginning of the class day, she started shooting. Its not yet known what her motive is.
We were in class with our teacher and suddenly we heard a loud bang, and then twice more. Then there was screaming, says a schoolmate. Our teacher went to look and saw blood lying down.
Hit in limbs
The three victims were hit in limbs. None of them are in mortal danger. The 1500 students of high school have been given free to deal with the incident.
Shootings are more common in American schools, but in the state of Idaho they are rare: the last time a student fired a weapon in a school was in 1999, when one fellow student was injured by a ricochet bullet.


Paper £10 notes will go out of circulation at midnight today, Thursday, March 1.
This means you will no longer be able to spend them in stores, or receive them as change from retailers.
The paper tenner featuring Charles Darwin was issued on November 7, 2000, and has been in co-circulation along with the polymer £10 note since September last year.
Find out what you can do if you cannot spend or bank your notes in time.
What happens if I don't spend or bank my paper tenners before midnight?
You can still cash your notes at the bank before midnight, and some will accept them for an extended period after the date has passed.
However, check with your bank if they will extend the deadline, the dates will differ.
You can exchange notes which have been withdrawn from circulation, in person or by post, to the Bank of England, see more information here.
If you are exchanging large amounts, you may be asked to provide identification, such as a passport or driving licence.
Why was the paper note replaced?
The polymer tenner entered circulation on September, 14 2017. It features Jane Austen on it, and came one year after the polymer £5 note was released.
Production of the note began in August last year, and in three years time it will be followed by a new polymer £20 note which will feature the British painter JMW Turner.
The Bank of England printed 10 billion of the polymer tenners. The material is a thin, flexible plastic which is environmentally friendly, in comparison to paper, due to its durability.
Polymer notes are believed to have a lower carbon footprint than paper ones, according to The Carbon Trust.
The carbon footprint of a £10 polymer banknote is 8 per cent lower than a £10 paper one.
What are the design features of the polymer £10 note?
Denomination numeral
The large number 10 and £ symbol in the top-left hand corner of the front of the note help you easily see its value. There is also a slightly smaller number 10 in the top-right corner.
For the partially sighted, it has a densely coloured orange diamond on the front.
Unique numbering
A unique serial number is printed horizontally and vertically on the back of the note. The horizontal numbers is in the bottom right corner. It is made up of multi-coloured letters and numbers, which increase in height from left to right. The vertical number runs down the left-hand side and the numbers and letters are the same height and colour.
Copyright symbol
The international copyright symbol is included on the front and the back of the £10 note, around the edge of the watermark area.


Marathi in Kenya
Photo Source: A Daniel
Send Joshua Project a map of this people group.
People Name: Marathi
Country: Kenya
10/40 Window: No
Population: 500
World Population: 71,100
Primary Language: Marathi
Primary Religion: Hinduism
Christian Adherents: 2.00 %
Evangelicals: 0.00 %
Scripture: Complete Bible
Online Audio NT: No
Jesus Film: Yes
Audio Recordings: Yes
People Cluster: South Asia Hindu - other
Affinity Bloc: South Asian Peoples
Progress Level:
Introduction / History
Marathi is actually a language that originated in what is now Maharashtra, a state in western India. Marathis migrated to Kenya from India in the late 1800s. They originally came as indentured workers to work in the construction of the Uganda railway. Once the construction of the railway was completed, many of the workers not only chose to stay in Africa, but they also sent for their families to join them. They settled in Nairobi where they had more privileges than local Africans.
Where Are they Located?
Marathi speakers live all over India, but also in Great Britain, the US, Canada, Australia, and just about any African country that was once a British colony, including Kenya. There are very few of them in Kenya today.
What Are Their Lives Like?
Their astute business acumen enabled them to set up thriving businesses. Their new found economic strength enabled them to wield political power as well. Even though they are well assimilated into Kenyan society through prolonged stay in the country, they still have very close ties to India. Marriage and other social ties only happen between members of their own community. This has ensured the strengthening of ties with their cultural and religious roots in India.
What Are Their Beliefs?
Marathi people in Kenya are mainly Hindu. Like most prosperous Hindu communities, religion is only a way to connect with their community and to gain favor with whatever spiritual forces control their lives.
What Are Their Needs?
Marathi people in Africa need spiritual hunger that will drive them to seek and find the abundant life offered by Jesus Christ.
Prayer Points
* Pray that the Marathis in Kenya will become part of God's kingdom as they experience the savior.
* Pray that their ability to make money and lead prosperous lives will not keep them from having the spiritual hunger it takes to seek and find Jesus Christ.
* Pray for a Disciple-Making movement among Marathi people in Kenya that will spread throughout Africa.
Text Source: Keith Carey


Performance: speed up creation of ASP.NET DataSet objects
During some recent performance tuning work, I took a look at a method
that was taking around 450 ms. The primary task of the function was to
build a relatively large DataSet object, with around 350 rows and over
110 columns. Sure, that's over 38,500 cells, but 450 ms seemed extreme.
As a first step, I tried commenting out the actual logic that decided
what went into each and every cell and just sticking in the word "hello"
38,500 times. To my surprise, it hardly made a dent in the performance.
So, I took it a step further, and tried not putting in any data at all.
Sure enough, time fell down to close to zero!
How could copying the same string in over eat so much performance time?
Googling around didn't turn up much, but I started poking around in the
DataSet object and discovered that it had a lot of power that I had
never used. It's able to keep track of what rows have been modified,
what needed to be updated back in a database, etc. Clearly there was a
significant amount of logic behind it. With this in mind, I looked back
at exactly how we were creating the rows, and I spotted something
suspicious:
DataRow newRow = dataTable.NewRow();
dataTable.Rows.Add(newRow);
newRow[col1] = value1;
newRow[col2] = value2;
...
We were creating the row, adding it to the table, and then putting in
the values. When I was thinking of the DataSet as a glorified,
serializable hashtable, this shouldn't matter much. However, since it
was clearly doing some sophisticated state management, could modifying a
row after it was in the table be much more expensive than before it was
in the table? Perhaps the DataSet was working hard to keep track of all
the modifications we were doing on the theory that we might need it.
I tried making the simple change of moving step of adding the row until
after it was populated with data:
DataRow newRow = dataTable.NewRow();
newRow[col1] = value1;
newRow[col2] = value2;
...
dataTable.Rows.Add(newRow);
Boom! Construction time dropped down to close to zero. Clearly, that
small detail really mattered.
So, lesson learned: don't add the row to a DataSet until it is
populated.
This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.
One Response to Performance: speed up creation of ASP.NET DataSet objects
Leave a Reply
Fill in your details below or click an icon to log in:
WordPress.com Logo
You are commenting using your WordPress.com account. Log Out / Change )
Twitter picture
You are commenting using your Twitter account. Log Out / Change )
Facebook photo
You are commenting using your Facebook account. Log Out / Change )
Google+ photo
You are commenting using your Google+ account. Log Out / Change )
Connecting to %s


text:
The Most Fantastic, Funniest Camp Ever
By Tima Korin, Year 4 Student
I loved all the activities at the Year 4 camp but my favourites were rock climbing and canoeing. Lake Ainsworth was such a beautiful, brilliant place.
Kylie Russell, Year 2 Teacher
On Tuesday 8 March, Year 2 headed off to Currumbin Wildlife Sanctuary. The excursion was part of our current Inquiry into 'How The World Works'.
During the visit, students inquired into how living things grow and change, explored educational information in a fun and interactive way and observed living things in a variety of habitats.
The children got 'up close' during an educational presentation with a Blue Tongue Lizard, Stick Insect and Green Tree Frog. Some brave children demonstrated the 'Risk-Taker' attribute of the Learner Profile when they were invited to touch the Blue Tongue Lizard. Ros the Ranger gave an informative talk on living things and how they grow and change. Did you know these amazing life cycle discoveries?
Throughout the day, the Year 2 students encountered and participated in a number interactive activities. These included educational games, a free flight bird show and a visit to the animal hospital where we:
After lunch it was off to the kangaroo enclosure to observe an example of how living things grow and change. As students explored the kangaroo enclosure, they were lucky enough to see 3 stages of the life cycle; a young joey in mother's pouch, young independent joey and the adult stage of Red Kangaroos.
To end the day, we had time to explore the park and its many animals, visit the Crocodile enclosure, watch the feeding of Cassowaries, hear the call of Dingoes, view snakes and marvel at how living things grow and change!
Summed up by one of the Year 2 students, "I had the best day ever at Currumbin Wildlife Sanctuary. I felt interested because I was wondering a lot!"
Let's hope the Year 2 students apply the same curiosity to our classroom 'living things that ARE growing and changing'.« Back to IndexNext article in this edition »


You couldn't make it up – Japanese grid can't solve nuke power loss due to 50/60 Hz split
Despite the West of Japan having a power surplus it can't help the East, which is short if power thanks to the post-tsunami nuclear power problems.
Incredibly Japan is split by a 50 Hz/60 Hz incompatibility. The West based its power generation on 60 Hz American standards while the East uses 'European' 50 Hz. There are few interconnects and they can handle little power.
Neither choice explain Japan's unique decision to standardize on 100 volt power rather than US 110 or EU 240 volts.


higher priority than persistent tables. So you can do (with following trick safetly):
CREATE OR REPLACE FUNCTION public.disable_dml()
RETURNS trigger
LANGUAGE plpgsql AS $function$
BEGIN
 RAISE EXCEPTION SQLSTATE '42P01'
 USING message = format('this instance of %I table doesn''t allow any DML operation', TG_TABLE_NAME),
 hint = format('you should to run "CREATE TEMP TABLE %1$I(LIKE %1$I INCLUDING ALL);" statement',
 TG_TABLE_NAME);
 RETURN NULL;
END;
$function$;
CREATE TABLE foo(a int, b int); -- doesn't hold data ever
CREATE TRIGGER foo_disable_dml
 BEFORE INSERT OR UPDATE OR DELETE ON foo
 EXECUTE PROCEDURE disable_dml();
postgres=# INSERT INTO foo VALUES(10,20);
ERROR: this instance of foo table doesn't allow any DML operation
HINT: you should to run "CREATE TEMP TABLE foo(LIKE foo INCLUDING ALL);" statement
postgres=#
CREATE TABLE
postgres=# INSERT INTO foo VALUES(10,20);
INSERT 0 1
This trick emulates GLOBAL TEMP tables partially and it allows a statical validation. Other possibility is using a [template foreign data wrapper] (_URL_
You can use pragma table and create ephemeral table:
BEGIN
 CREATE TEMP TABLE xxx(a int);
 PERFORM plpgsql_check_pragma('table: xxx(a int)');
 INSERT INTO xxx VALUES(10);
Dependency list
A function plpgsql_show_dependency_tb can show all functions, operators and relations used inside processed function:
postgres=# select * from plpgsql_show_dependency_tb('testfunc(int,float)');
┌──────────┬───────┬────────┬─────────┬────────────────────────────┐
│ type │ oid │ schema │ name │ params │
╞══════════╪═══════╪════════╪═════════╪════════════════════════════╡
│ FUNCTION │ 36008 │ public │ myfunc1 │ (integer,double precision) │
│ FUNCTION │ 35999 │ public │ myfunc2 │ (integer,double precision) │
│ OPERATOR │ 36007 │ public │ ** │ (integer,integer) │
│ RELATION │ 36005 │ public │ myview │ │
│ RELATION │ 36002 │ public │ mytable │ │
└──────────┴───────┴────────┴─────────┴────────────────────────────┘
(4 rows)
Profiler
The plpgsql_check contains simple profiler of plpgsql functions and procedures. It can work with/without a access to shared memory. It depends on shared_preload_libraries config. When plpgsql_check was initialized by shared_preload_libraries, then it can allocate shared memory, and function's profiles are stored there. When plpgsql_check cannot to allocate shared momory, the profile is stored in session memory.
Due dependencies, shared_preload_libraries should to contains plpgsql first
postgres=# show shared_preload_libraries ;
┌──────────────────────────┐
│ shared_preload_libraries │
╞══════════════════════════╡
│ plpgsql,plpgsql_check │
└──────────────────────────┘
(1 row)
The profiler is active when GUC plpgsql_check.profiler is on. The profiler doesn't require shared memory, but if there are not shared memory, then the profile is limmitted just to active session.
When plpgsql_check is initialized by shared_preload_libraries, another GUC is available to configure the amount of shared memory used by the profiler: plpgsql_check.profiler_max_shared_chunks. This defines the maximum number of statements chunk that can be stored in shared memory. For each plpgsql function (or procedure), the whole content is split into chunks of 30 statements. If needed, multiple chunks can be used to store the whole content of a single function. A single chunk is 1704 bytes. The default value for this GUC is 15000, which should be enough for big projects containing hundred of thousands of statements in plpgsql, and will consume about 24MB of memory. If your project doesn't require that much number of chunks, you can set this parameter to a smaller number in order to decrease the memory usage. The minimum value is 50 (which should consume about 83kB of memory), and the maximum value is 100000 (which should consume about 163MB of memory). Changing this parameter requires a PostgreSQL restart.
The profiler will also retrieve the query identifier for each instruction that contains an expression or optimizable statement. Note that this requires pg_stat_statements, or another similar third-party extension), to be installed. There are some limitations to the query identifier retrieval:
 - if a plpgsql expression contains underlying statements, only the top level query identifier will be retrieved
 - the profiler doesn't compute query identifier by itself but relies on external extension, such as pg_stat_statements, for that. It means that depending on the external extension behavior, you may not be able to see a query identifier for some statements. That's for instance the case with DDL statements, as pg_stat_statements doesn't expose the query identifier for such queries.
 - a query identifier is retrieved only for instructions containing expressions. This means that plpgsql_profiler_function_tb() function can report less query identifier than instructions on a single line.
Attention: A update of shared profiles can decrease performance on servers under higher load.
The profile can be displayed by function plpgsql_profiler_function_tb:
postgres=# select lineno, avg_time, source from plpgsql_profiler_function_tb('fx(int)');
┌────────┬──────────┬───────────────────────────────────────────────────────────────────┐
│ lineno │ avg_time │ source │
╞════════╪══════════╪═══════════════════════════════════════════════════════════════════╡
│ 1 │ │ │
│ 2 │ │ declare result int = 0; │
│ 3 │ 0.075 │ begin │
│ 4 │ 0.202 │ for i in 1..$1 loop │
│ 5 │ 0.005 │ select result + i into result; select result + i into result; │
│ 6 │ │ end loop; │
│ 7 │ 0 │ return result; │
│ 8 │ │ end; │
└────────┴──────────┴───────────────────────────────────────────────────────────────────┘
(9 rows)
The profile per statements (not per line) can be displayed by function plpgsql_profiler_function_statements_tb:
 CREATE OR REPLACE FUNCTION public.fx1(a integer)
 RETURNS integer
 LANGUAGE plpgsql
1 AS $function$
2 begin
3 if a > 10 then
4 raise notice 'ahoj';
5 return -1;
6 else
7 raise notice 'nazdar';
8 return 1;
9 end if;
10 end;
11 $function$
postgres=# select stmtid, parent_stmtid, parent_note, lineno, exec_stmts, stmtname
 from plpgsql_profiler_function_statements_tb('fx1');
┌────────┬───────────────┬─────────────┬────────┬────────────┬─────────────────┐
│ stmtid │ parent_stmtid │ parent_note │ lineno │ exec_stmts │ stmtname │
╞════════╪═══════════════╪═════════════╪════════╪════════════╪═════════════════╡
│ 0 │ ∅ │ ∅ │ 2 │ 0 │ statement block │
│ 1 │ 0 │ body │ 3 │ 0 │ IF │
│ 2 │ 1 │ then body │ 4 │ 0 │ RAISE │
│ 3 │ 1 │ then body │ 5 │ 0 │ RETURN │
│ 4 │ 1 │ else body │ 7 │ 0 │ RAISE │
│ 5 │ 1 │ else body │ 8 │ 0 │ RETURN │
└────────┴───────────────┴─────────────┴────────┴────────────┴─────────────────┘
(6 rows)
All stored profiles can be displayed by calling function plpgsql_profiler_functions_all:
postgres=# select * from plpgsql_profiler_functions_all();
┌───────────────────────┬────────────┬────────────┬──────────┬─────────────┬──────────┬──────────┐
│ funcoid │ exec_count │ total_time │ avg_time │ stddev_time │ min_time │ max_time │
╞═══════════════════════╪════════════╪════════════╪══════════╪═════════════╪══════════╪══════════╡
│ fxx(double precision) │ 1 │ 0.01 │ 0.01 │ 0.00 │ 0.01 │ 0.01 │
└───────────────────────┴────────────┴────────────┴──────────┴─────────────┴──────────┴──────────┘
(1 row)
There are two functions for cleaning stored profiles: plpgsql_profiler_reset_all() and plpgsql_profiler_reset(regprocedure).
Coverage metrics
plpgsql_check provides two functions:
 - plpgsql_coverage_statements(name)
 - plpgsql_coverage_branches(name)
Note
There is another very good PLpgSQL profiler - _URL_
My extension is designed to be simple for use and practical. Nothing more or less.
plprofiler is more complex. It build call graphs and from this graph it can creates flame graph of execution times.
Both extensions can be used together with buildin PostgreSQL's feature - tracking functions.
set track_functions to 'pl';
...
select * from pg_stat_user_functions;
Tracer
plpgsql_check provides a tracing possibility - in this mode you can see notices on start or end functions (terse and default verbosity) and start or end statements (verbose verb