text:
Study: rumble strips curb deadly crashes
Posted: Jun 11, 2015 8:53 AM EST | Updated: Jul 10, 2015 8:39 PM EST
Over a couple years, the state's Department of Transportation installed thousands of miles of rumble strips on rural roads where the speed limit is 55 miles-per-hour or greater, according to MDOT Communications Representative Dan Weingarten.
"We had a major program between 2008 and 2010 where Michigan installed 5,400 miles of rumble strips on what we call high speed, rural, non-freeway roads," said Weingarten.
After the strips were installed, they wanted to see just how effective they were. MDOT partnered with Wayne State University and the results were surprising.
"The results came out to be an extremely effective kind of measure and an inexpensive kind of measure that the state has ever installed," said Tapan Datta, a Civil & Environmental Engineering Professor at WSU.
Rumble strips are a targeted method of preventing a specific type of crash."They help with lane departure crashes. Those would be crashes where the driver is distracted or falls asleep and leaves his lane," Weingarten added.
The strips in the median and over on the shoulder of roadways are designated to alert drifting drivers to get back in the proper lane.
"Rumble strips are grooves that are pressed into a roadway surface. They're designed and spaced apart so that when a vehicle accidentally travels over them, it creates a loud vibration and noise inside the car," said Weingarten.
"People get distracted while they're driving on the road with a variety of issues and drowsiness and not even paying attention," Datta added.
The results of the study concluded that these strips drastically curbed the number of deadly crashes on those rural Michigan roads. The number of serious injuries from accidents also dropped after they were installed.
"We found a 47 percent reduction in total crashes and a 51 percent reduction in fatal crashes so it basically cuts those types of crashes in half," Weingarten said.
Breaking down the numbers, the strips save about 16 lives per year. They are relatively inexpensive, too, costing less than $800 per mile to install.
"So it's not a super high cost and not a super high-tech fix but it definitely works," said Weingarten.
Here in Michiana, drivers may notice rumble strips in Michigan along U.S. 12, U.S. 31, as well as M-51 or M-60.


text:
In an era where we are one SARS-Bird Flu-Spanish Influenza-H1N1 outbreak from the world devolving into roaming packs of zombies and no reliable 4G service anywhere, it appears the Bros are doing a small part to prevent that.
"How?" you may ask. Well, by giving knucks. DAP. Fist bumps. You know, physical expressions of congratulations that require a minimum of actual physical contact. Which is good because, according to The Atlantic, shaking hands is spreading pathogens like WOAH.
The handshake … is unsanitary. The handshake is outdated in most places, born of a time when we might all be expected to be concealing sabers. It would make more sense for us to casually intertwine almost any other part of our bodies with those of strangers, lips and genitals the notable exceptions.
Basically, cooties. You get cooties from shaking hands. And why wouldn't we, as a society, want to find a way to have less cooties? Well, a doctor at West Virginia University thinks he's found a way. ENTER THE FIST.
[Tom] McClellan's team [surgeons at WVU] had a small group of clean-handed research subjects shake and fist bump at various intervals. They then cultured the bacteria grown on their hands. The handshake exposed more than three times as much skin surface area as the fist bump, and the contact averaged 2.7 times longer. More bacteria were transmitted, as expected, with the handshake.
That's because, contrary to what you may believe, modern people are filthy slobs.
"Handwashing has become a major initiative throughout healthcare systems to reduce transmission rates," [McClellan] wrote, "but as many as 80 percent of individuals retain some disease-causing bacteria after washing." Almost no one washes their hands appropriately—you're supposed to scrub long enough to sing the alphabet song twice. Health professionals are usually somewhat better than average, but far from perfect.
Yea, fuck trying to handwash better. Lame. Instead, the next time someone extends you a hand, offer them a tap. Not only will you look cool, you'll be saving the fucking world (which we also consider cool).
[Fist bump via Shutterstock]

subset: commoncrawl


text:
Advanced OAR
This page is actively maintained by the Grid'5000 team. If you encounter problems, please report them (see the Support page). Additionally, as it is a wiki page, you are free to make minor corrections yourself if needed. If you would like to suggest a more fundamental change, please contact the Grid'5000 team.
- 1.1 Useful tips
- 1.2 Connection to the job's nodes
- 1.3 Passive and interactive job modes
- 1.4 Batch jobs vs. advance reservation jobs
- 1.5 Getting information about a job
- 1.6 Complex resources selection
- 1.7 Handling the resources allocated to my job with oarprint
- 1.8 X11 forwarding
- 1.9 Using best effort mode jobs
- 1.10 Using the checkpointing trigger mechanism
- 1.11 Using jobs dependency
- 1.12 Container jobs
- 1.13 cosystem and noop jobs
- 1.14 Changing the walltime of a running job (oarwalltime)
- 1.15 Restricting jobs to daytime or night/week-end time
- 1.16 Use --project for users in multiple GGAs
- 1.17 About resources states
- 2 Multi-site jobs with OARGrid
- 3 Funk
- 4 OAR in the Grid'5000 API
- 5 OAR database logs
This tutorial consists of various independent sections describing various details of OAR useful for advanced usage, as well as some tips and tricks. It assumes you are familiar with OAR and Grid5000 basics. If not, please first look at the Getting Started page.
This OAR tutorial focuses on command line usages. It assumes you are using the bash shell (but should be easy to adapt to another shell). It can be read linearly, but you also may pick some random sections. Begin at least by #useful tips.
Useful tips
- Take the time to carefully configure ssh, as described in the SSH page.
- Use screen or tmux so that your work is not lost if you lose the connection to Grid5000. Moreover, having a screen session opened with one or more shell sessions allows you to leave your work session when you want then get back to it later and recover it exactly as you leaved it.
- Most OAR commands (
oarnodes) can provide output in various formats:
- text (this is the default mode)
- PERL dumper (-D)
- Yaml (-Y)
- json (-J)
- Regarding the
oarsubcommand line, you should mostly only see the "host" word, but the
oarsubcommand can use both the word "host" or "nodes" indifferently in Grid'5000, as nodes is just an alias for host. Prefer using "host". Besides, the word "host" is also to be preferred to the longer "network_address" word in the resources filters (both properties have sometime the same value, but not always).
- At job submission time, only important information are printed out by
oarsub. To have more indication about what is done by OAR on Grid'5000 (like computed resource filter, exceptional granted privileges, …) the
oarsubverbose (
-v) option can be used.
- A syntax simplification mechanism was deployed on Grid'5000 to ease job submission, described at OAR Syntax simplification.
Connection to the job's nodes
Two commands can be used to connect to nodes on Grid'5000,
oarsh and
Using ssh
ssh can only be used when a node is entirely reserved in your job (all CPU cores). Other cases may not allow assigning processes to the correct job, thus connecting with
ssh is not allowed.
For instance, when a node is entirely reserved as follows:
# Set walltime to default (3600 s). OAR_JOB_ID=<JOB_ID> # Interactive mode: waiting... # Starting... user@node-32:~$
If you open a new shell and try to connect to the node with
ssh, it should work:
Linux node-32.site.grid5000.fr 5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18) x86_64 Debian11-x64-std-2022013022 (Image based on Debian Bullseye for AMD64/EM64T) Maintained by support-staff <firstname.lastname@example.com> Last login: Wed Feb 23 15:20:32 2022 from 172.16.31.101 user@node-32:~$
However, when reserving for instance only one CPU core of a node:
# Set walltime to default (3600 s). OAR_JOB_ID=<JOB_ID> # Interactive mode: waiting... # Starting... user@node-32:~$
When trying to connect to the node with
ssh in another shell, you get:
To connect using 'ssh' directly, you must have a single job using all available cores on the node. Use 'oarsh' instead. Connection closed by node-32 port 22
Using oarsh
oarsh is a frontend to
ssh (the
oarsh command wraps the OpenSSH
ssh command to add some required functions to connect to a job, but provides mostly the same interface/options).
In case of nodes are not entirely reserved (all CPU cores), you have to use the
oarsh command to connect to nodes instead of
ssh, and
oarcp instead of
scp to copy files to/from the nodes. If you use
taktuk for parallel executions (or a similar tools like
pdsh) or
rsync to synchronize files to/from a node, you have to configure the connector so the command uses
oarsh instead of
ssh underneath (see the man pages of the command to find out how to change the connector, e.g. using -c or -e).
Please note that
oarsh also works for node entirely reserved in a job.
Spitting job resources
oarsh also allows splitting resources of a job, for instance to execute commands on different subsets of resources in a job (e.g. 1 GPU each instead of all the reserved GPUs).
See an example of using this functionality with GNU Parallel.
About OAR job keys
By default, OAR generates a job key pair for each job.
oarsh can use either the
OAR_JOB_ID or
OAR_JOB_KEY_FILE environment variables to know what job to connect. If outside a job shell (e.g. on the frontend), you have to set one of those enrionment variable. This is not required if
oarsh is called for the shell of a job (e.g. on a node), since variables are already set.
- Example using
For instance, create a job requesting 3 hosts (3 nodes):
# Set default walltime to 3600. OAR_JOB_ID=<JOBID> # Interactive mode: waiting... # Starting... ...
Then, in another terminal, assuming the 2nd host in the job is named
- Example using
OAR can expose the job key, using the
-e option of
Then, in another terminal, assuming the 2nd host in the job is named
Note that the following command also allows getting a shell in a job, but only on the first default resource (i.e. node).
Connecting to a job of a different site
Job keys are especially useful when having to connect from nodes of different sites, since each site is managed by a different OAR instance.
Thus, a convenient way is to tell OAR to always use the same job key for all jobs. You can for instance use your Grid'5000 internal SSH key (This key is generated when your account is created) as the job key: In your
~/.profile or
~/.bash_profile, set:
export OAR_JOB_KEY_FILE=
Then, OAR will always use that key for all jobs, allowing you to connect to your nodes with
oarsh seamlessly from sites to sites, jobs to jobs, or even outside jobs.
oarsh vs ssh: tips and tricks
The following is only interesting if you jobs do not reserve nodes entirely, as using
- 1st tip - hide
oarsh, rename it
Creating a symlink from
~/bin/ssh (assuming it is in the execution
PATH) to
/usr/bin/oarsh allows hidding the wrapper use (as long as
the OAR_JOB_ID or
OAR_JOB_KEY_FILE environment variables are set when connecting from a frontend to a node).
- 2nd tip - using
sshdirectly, without
If using
oarsh does not suit your need, because you would like to use some of the options of
ssh that
oarsh does not support, you can also connect to reserved nodes by using the real
ssh by adding the right set of options to the command. It can also allow a connection to reserved nodes directly from some place where
oarsh is not available (e.g. from outside Grid'5000):
Assuming you have a passphrase-less SSH key (preferably just for internal uses in Grid5000), you can tell
oarsub to use that key as a job key instead of letting OAR generate a new one (see #sharing keys between jobs). Then you can use that key to connect to nodes, even from outside Grid'5000.
- Copy the key to your workstation, for instance outside of Grid5000:
- In Grid5000, submit a job using this key:
- Wait for the job to start. Then in another terminal, from outside Grid5000, try connecting to the node:
ssh -i ~/
your_internal_private_key_file -p 6667
[any other ssh options] oar@
Finally, this can be hidden in a SSH ProxyCommand (See also SSH#Using_SSH_ProxyCommand_feature_to_ease_the_access_to_hosts_inside_Grid.275000):
After adding the following configuration in your OpenSSH configuration file on your workstation (
Host *.g5koar ProxyCommand ssh
firstname.lastname@example.com -W "$(basename %h .g5koar):%p" User oar Port 6667 IdentityFile ~/
your_internal_private_key_fileForwardAgent no
Warning: the
ProxyCommand line works if your login shell is
bash. If not you may have to adapt it.
You can just ssh to a reserved node directly from your workstation as follows:
Passive and interactive job modes
Interactive mode
In interactive mode, a shell is opened on the first default resource (i.e. node) of the job (or on the frontend, if the job is of type
deploy or
cosystem). In interactive mode, the job will be terminated as soon as this job's shell is closed or will be killed earlier if the job's
walltime is reached. It can also be killed by an explicit
You can experiment with 3 shells. On first shell, to see the list of your running jobs, regularly run:
To see your own jobs. On the second shell, run an interactive job:
Wait for the job to start, run
oarstat, then leave the job, run
oarstat again. Submit another interactive job, and on the third shell, kill it:
Passive mode
In passive mode, the
command that is given to
oarsub is executed on the first default resource (i.e. node) of the job (or on the site's frontend if the job is of type
deploy or
cosystem). The job's duration will be the shorter of the execution time of the
command and the job's given
walltime. That unless the job is terminated beforehand by an explicit
oardel call from the user or administrator.
command can be a simple script name or a more complex command line with arguments.
To pass arguments, you have to quote the whole command line, like in the following example:
oarsub-l nodes=4,walltime=2
"/path/to/myscript arg1 arg2 arg3"
Note: to avoid random code injection,
oarsub allows only alphanumeric characters (
[a-zA-Z0-9_]), whitespace characters (
[ \t\n\r\f\v]) and few others (
[/.-]) inside its command line argument.
Special case for jobs of type
noop which are always passive jobs: no command is executed for them. The duration of the job is the given
oardel can also be used to terminate a passive mode reservation. Note that it is only possible to remove the complete reservation, and not individual nodes.
Interactive mode without shell
You may not want a job to open a shell or to run a script when the job starts, for example because you will use the reserved resources from a program whose lifecycle is longer than the job (and which will use the resources by connecting to the job).
One trick to achieve this is to run the job in passive mode with a long
sleep command. One drawback of this method is that the job may terminate with status error if the
sleep is killed. This can be a problem in some situations, eg. when using job dependencies.
Another solution is to use an advance reservation (see below) with a starting date very close in the future, or even with the current date and time.
Batch jobs vs. advance reservation jobs
- Batch jobs
If you do not specify the job's start date (oarsub
-r option), then your job is a batch job. It lets OAR choose the best schedule (start date).
- With batch jobs, you're guaranteed to get the count of allocated resources you requested, because OAR chooses what resources to allocate to the job just before its start. If some resources suddenly become unavailable, OAR changes the assigned resources and/or the start date.
- Therefore, you cannot get the actual list of resources until the job starts (but a forecast is provided, such as what is shown in the Drawgantt diagrams).
- With batch jobs, you cannot know the start date of your job until it actually starts (any event can change the forecast). But OAR gives an estimation of the start date (such as shown in the Drawgantt diagram, which also changes after any event).
- Advance reservations
If you specify the job's start date, it is an advance reservation. OAR will just try to find resources for the given schedule, fixed by you.
- The Grid5000 usage policy allows no more than 2 advance reservations per site (excluding reservations that start in less than one hour)
- With advance reservation jobs, you're not guaranteed to get the count of resources you requested, because OAR planned the allocation of resources at the reservation time.
- If some resources became unavailable when the job has to start, the job is delayed a bit in case resources may come back (e.g. return from standby).
- If after 400 seconds, if not all resources are available, the job will start with fewer resources than initially allocated. This is however quite unusual.
- The list of allocated resources to an advance reservation job is fixed and known as soon as the advance reservation is validated. But you will get the actual list of resources (that is with unavailable resources removed for it) when the advance reservation starts.
- To coordinate the start date of OAR jobs on several sites, oargrid or funk use advance reservations.
Example: a reservation for a job in one week from now
$ oarsub -r "$(date +'%F %T' --date='+1 week')"
For advance reservations, there is no interactive mode. You can give OAR a command to execute or nothing. If you do not give a command, you'll have to connect to the jobs once the reservation starts (using oarsub -C <jobid> or oarsh).
Why did my advance reservation start with less than all the resources I requested ?
Since resources states are transitional, the advance reservation process considers indifferently the current state of resources, be it alive, suspended or absent. Indeed, at the requested start time of an advance reservation, all resources in any of those states should presumably be back in the alive state.
This is different for resources in the dead state, which mark failed resources. Although dead resources may be repaired at some point, that state is less transitional, so dead resources are excluded from eligible resources for advance reservations.
Also, the allocation of resources to an advance reservation is fixed at the time of validation of the submission (contrarily to batch jobs for which both the start time and allocated resources can change up until the job is effectively started, in order to fit with all requested resources available). As a consequence, resources allocated to an advance reservation which would end up unavailable at the job start time are not replaced by other alive resources.
In fact, at the start time of an advance reservation, OAR looks after any unavailable resources (absent or suspected), and whenever some exists, wait for them to return to the alive state for 5 minutes. Then, if they are not back in time, the job starts with less resources than requested and initially allocated (assuming at least one resource is available).
Information about reduced number of resources or reduced walltime for a reservation due to this mechanism are available in the event part of the output of
oarstat -fj
Getting information about a job
oarstat command gets jobs informations. By default it lists the current jobs of all users. You can restrict it to your own jobs or someone else's jobs with option
$ oarstat -u
You can get full details of a job:
$ oarstat -fj <JOBID>
If scripting OAR and regularly polling job states with oarstat, you can cause a high load on the OAR server (because default oarstat invocation causes costly SQL request in the OAR database). In this case, you should use option
-s which is optimized and only queries the current state of a given job:
$ oarstat -s -j <JOBID>
Complex resources selection
The complete selector format syntax (oarsub
-l option) is:
"-l {sql1}/name1=n1/name2=n2+{sql2}/name3=n3/name4=n4/name5=n5+...,walltime=hh:mm:ss"
- sqlN are optional SQL predicates on the resource properties (e.g. mem, ib_rate, gpu_count, ...)
- nameN=n are the wanted number of given resources of name nameN (e.g. host, cpu, core, disk...).
- slashes (/) between resources express resource subtree selection
- + allows aggregating different resource specifications
- walltime=hh:mm::ss (separated by a comma) sets the job walltime (expected duration), which defaults to 1 hour
- List resource properties
You can get the list of resource properties for SQL predicates by running the
oarprint -l command on a node:
sagittaire-1 $ oarprint -l List of properties: disktype, gpu_count, ...
You can get the property values set to resources using the
flyon $ oarnodes -Y --sql="host = 'sagittaire-1.lyon.grid5000.fr'"
These OAR properties are described in the OAR Properties page.
Using the resources hierarchies
The OAR resources define implicit hierarchies to be used on the resource requests (oarsub -l). These hierarchies are specific to Grid'5000.
- For instance
- request 1 core on 15 hosts (nodes) on a same cluster (total = 15 cores)
$ oarsub -I -l /cluster=1/host=15/core=1
- request 1 core on 15 hosts (nodes) on 2 clusters (total = 30 cores)
$ oarsub -I -l /cluster=2/host=15/core=1
- request 1 core on 2 cpus on 15 hosts (nodes) on a same cluster (total = 30 cores)
$ oarsub -I -l /cluster=1/host=15/cpu=2/core=1
- request 10 cpus on 2 clusters (total = 20 cpus, the number of hosts and cores depends on the topology of the machines)
$ oarsub -I -l /cluster=2/cpu=10
- request 1 core on 3 different network switches (total = 3 cores)
$ oarsub -I -l /switch=3/core=1
- Examples for GPUs
- request 3 GPUs on 1 single host (node). Obviously eligible nodes for the job need to have at least 3 GPU.
$ oarsub -I -l host=1/gpu=3
- request 3 GPUs, possibly on different nodes depending on availability (other jobs, possible resources):
$ oarsub -I -l gpu=3
- request a full node (possibly featuring more than 3 GPUs) with at lease 3 GPUs:
$ oarsub -p "gpu_count >= 3" -l host=1 [...]
- In the job, running oarprint as follows shows what GPUs are available in the job:
$ oarprint gpu -P host,gpudevice
(you may also look at nvidia-smi's output)
- Valid resource hierarchies are
- Compute and disk resources
- both switch > cluster, or cluster > switch can be valid (some clusters spread their hosts (nodes) on many switches, some clusters share a same switch), we note below cluster|switch to reflect that ambiguity.
- cluster|switch > chassis > host > cpu > gpu > core
- cluster|switch > chassis > host > disk
- vlan resources
- vlan only
- subnet resources
- slash16 > slash17 > slash18 > slash19 > slash20 > slash21 > slash22
Of course not all hierarchy levels have to be given in a resource request.
Please mind that the nodes keyword (plural!) is an alias for host (singular!). A node or host is one server (computer). For instance, -l /cluster=X/nodes=Y/core=Z is exactly the same as -l /cluster=X/host=Y/core=Z.
Selecting resources using properties
The properties of the resources are described in the OAR Properties page.
- Selecting nodes from a specific cluster
For example in Nancy:
$ oarsub -I -l {"cluster='graphene'"}/host=2
Or, alternative syntax:
$ oarsub -I -p "cluster='graphene'" -l /host=2
- Selecting nodes with a specific CPU architecture
For classical x86_64:
$ oarsub -I -p "cpuarch='x86_64'"
Other architectures are "exotic" so a specific type of job is needed:
$ oarsub -I -t exotic -p "cpuarch='ppc64le'"
- Selecting specific nodes
For example in Lyon:
$ oarsub -I -l {"host in ('sagittaire-10.lyon.grid5000.fr', 'sagittaire-11.lyon.grid5000.fr', 'sagittaire-12.lyon.grid5000.fr')"}/host=1
or, alternative syntax:
$ oarsub -I -p "host in ('sagittaire-10.lyon.grid5000.fr', 'sagittaire-11.lyon.grid5000.fr', 'sagittaire-12.lyon.grid5000.fr')" -l /nodes=1
By negating the SQL clause, you can also exclude some nodes.
- Other examples using properties
Ask for 10 cores of the cluster graphene
$ oarsub -I -l core=10 -p "cluster='graphene'"
Ask for 2 nodes with 16384 MB of memory and Infiniband 20G
$ oarsub -I -p "memnode='16384' and ib_rate='20'" -l host=2
Ask for any 4 nodes except graphene-12
$ oarsub -I -p "not host like 'graphene-12.%'" -l host=4
- Examples of joint resources requests
Ask for 2 nodes with virtualization capability, on different clusters + IP subnets:
- We want 2 nodes (hosts) and 4 /22 subnets with the following constraints:
- Nodes are on 2 different clusters of the same site (Hint: use a site with several clusters :-D)
- Nodes have virtualization capability enabled
- /22 subnets are on two different /19 subnets
- 2 subnets belonging to the same /19 subnet are consecutive
$ oarsub -I -l /slash_19=2/slash_22=2+{"virtual!='none'"}/cluster=2/host=1
Lets verify the reservation:
$ uniq $OAR_NODE_FILE graphene-43.nancy.grid5000.fr graphite-3.nancy.grid5000.fr
$ g5k-subnets -p 10.144.32.0/22 10.144.36.0/22 10.144.0.0/22 10.144.4.0/22
$ g5k-subnets -ps 10.144.0.0/21 10.144.32.0/21
Another example, ask for both
- 1 core on 2 hosts (nodes) on the same cluster with 16384 MB of memory and Infiniband 20G
- 1 cpu on 2 hosts (nodes) on the same switch with 8 cores processors for a walltime of 4 hours
$ oarsub -I -l "{memnode=16384 and ib_rate='20'}/cluster=1/host=2/core=1+{cpucore=8}/switch=1/host=2/cpu=1,walltime=4:0:0"
Walltime must always be the last argument of
-l <...>
If no resource matches your request, oarsub will exit with the message
# Set default walltime to 3600. There are not enough resources for your request OAR_JOB_ID=-5# Error: oarsub failed, please verify your request syntax.
Handling the resources allocated to my job with oarprint
oarprint allows to print nicely the resources of a job.
We first submit a job
$ oarsub -I -l host=4 ... OAR_JOB_ID=178361
- Retrieve the nodes list
We want the list of the nodes (hosts) we got, identified by unique hostnames
$ oarprint host sagittaire-32.lyon.grid5000.fr capricorne-34.lyon.grid5000.fr sagittaire-63.lyon.grid5000.fr sagittaire-28.lyon.grid5000.fr
(We get 1 line per host, not per core !)
- Retrieve the core list
$ oarprint core 63 241 64 163 243 244 164 242
Obviously, retrieving OAR internal core Id might not help much. Hence the use of a customized output format below.
- Retrieve core list with host and cpuset Id as identifier
We want to identify our cores by their associated host names and cpuset Ids:
$ oarprint core -P host,cpuset capricorne-34.lyon.grid5000.fr 0 sagittaire-32.lyon.grid5000.fr 0 capricorne-34.lyon.grid5000.fr 1 sagittaire-28.lyon.grid5000.fr 0 sagittaire-63.lyon.grid5000.fr 0 sagittaire-63.lyon.grid5000.fr 1 sagittaire-28.lyon.grid5000.fr 1 sagittaire-32.lyon.grid5000.fr 1
- A more complex example with a customized output format
We want to identify our cores by their associated host name and cpuset Id, and get the memory information as well, with a customized output format
$ oarprint core -P host,cpuset,memnode -F "NODE=%[%] MEM=%" NODE=capricorne-34.lyon.grid5000.fr[0] MEM=2048 NODE=sagittaire-32.lyon.grid5000.fr[0] MEM=2048 NODE=capricorne-34.lyon.grid5000.fr[1] MEM=2048 NODE=sagittaire-28.lyon.grid5000.fr[0] MEM=2048 NODE=sagittaire-63.lyon.grid5000.fr[0] MEM=2048 NODE=sagittaire-63.lyon.grid5000.fr[1] MEM=2048 NODE=sagittaire-28.lyon.grid5000.fr[1] MEM=2048 NODE=sagittaire-32.lyon.grid5000.fr[1] MEM=2048
- From the submission frontend
If you are not in a job shell (
$OAR_RESOURCE_PROPERTIES_FILE is not defined), running
oarprint will give:
$ oarprint /usr/bin/oarprint: no input data available
In that case, you can however pipe the output of the
oarstat command in
oarprint, e.g.:
$ oarstat -j <JOB_ID> -p | oarprint core -P host,cpuset,memnode -F "%[%] (%)" -f - capricorne-34.lyon.grid5000.fr[0] (2048) sagittaire-32.lyon.grid5000.fr[0] (2048) capricorne-34.lyon.grid5000.fr[1] (2048) sagittaire-28.lyon.grid5000.fr[0] (2048) sagittaire-63.lyon.grid5000.fr[0] (2048) sagittaire-63.lyon.grid5000.fr[1] (2048) sagittaire-28.lyon.grid5000.fr[1] (2048) sagittaire-32.lyon.grid5000.fr[1] (2048)
- List the OAR properties to use with oarprint
Properties are descibed in the OAR Properties page, but they can also be listed using the
oarprint -l command:
$ oarprint -l List of properties: disktype, gpu_count, ...
X11 forwarding
X11 forwarding is enabled in the shell opened in interactive job (
oarsub -I).
X11 forwarding can also be enabled in a shell opened on a node of a job with
oarsh, just like with a classic
ssh command: The
-X or
-Y option must be passed to
Please mind that for X11 forwarding to work in the job, X11 forwarding must already work in the shell from which the OAR commands are run. Check the
We will use
xterm to test X11.
- Enabling X11 forwarding up to the frontend
Connect to a frontend with
ssh (reminder: read the getting started tutorial about the use of the ssh proxycommand), and make sure the X11 forwarding is operational so far:
Look at the
DISPLAY environment variable, which ssh should have set to
10.0 or the like (the
10.0 part may vary from hop to hop in the X11 forwarding chain, with numbers greater than 10).
It requires to use the
-X or
-Y option in the
ssh command line, or to have
ForwardX11=yes set in your SSH configuration.
In any case, check:
- Using X11 forwarding in the
oarsubjob shell
If the
DISPLAY environment variable is set in the calling shell,
oarsub will automatically enable the X11 forwarding. Verbose oarsub option (
-v) is required to have the "Initialize X11 forwarding..." sentence.
# Set default walltime to 3600. # Computed global resource filter: -p "maintenance = 'NO'" # Computed resource request: -l {"type = 'default'"}/core=1 # Generate a job key... OAR_JOB_ID=4926 # Interactive mode: waiting... # Starting... # Initialize X11 forwarding... # Connect to OAR job 4926 via node idpot-8.grenoble.grid5000.fr
Then from the shell of the job, check again the display:
jdoe@idpot-8:~$ echo $DISPLAY localhost:10.0
And run
jdoe@idpot-8:~$ xterm
Wait for the window to open: it may be pretty long!
- Using X11 forwarding in a job via
oarsh, the
-X or
-Y option must be used to enable the X11 forwarding:
Then in the opened shell, you can again check that the
DISPLAY is set, and run
You can also just run the
xterm command directly in the
oarsh call:
- Using X11 forwarding in a job with a deployed environment
When an interactive job is used to deploy an environment, the spawned shell will not contain the
DISPLAY environment variable, even if it was forwarded in the user connection shell.
To use X11 forwarding in this situation, you can open a new (X11 forwarded) shell on the frontend, and then connect to the node using again X11 forwarding.
you can also connect directly to the node from your laptop either by:
- using the Grid'5000 VPN
- following the recommendations about a better usage of ssh listed in Getting Started document.
X11 forwarding will suffer from the latency between your local network and the Grid'5000 network.
Using best effort mode jobs
The best-effort jobs of OAR are implemented to back-fill the cluster with jobs considered as less important without blocking "regular" jobs. To submit jobs under that policy, you simply have to select the besteffort type of job in your oarsub command.
-t besteffortscript_to_launch
Jobs submitted that way will only get scheduled on resources when no other job use them (any regular job overtake besteffort jobs in the waiting queue, regardless of submission times). Moreover, these jobs are killed (as if oardel were called) when a regular job recently submitted needs the nodes used by a besteffort job.
By default, no checkpointing or automatic restart of besteffort jobs is provided. They are just killed. That is why this mode is best used with a tool which can detect the killed jobs and resubmit them. However OAR2 provides options for that.
Best effort job campaign
One can submit such jobs using the besteffort of job type (or indifferently in the besteffort queue).
For instance you can run a job campaign as follows:
for param in $(< ./paramlist); do oarsub -t besteffort -l core=1 "./my_script.sh $param" done
In this example, the file
./paramlist contains a list of parameters for a parametric application.
The following demonstrates the mechanism.
Please have a look at the UsagePolicy to avoid abuses.
Best effort job mechanism
- Running a besteffort job in a first shell
frennes:~$ oarsub -I -l host=10 -t besteffort # Set default walltime to 3600. OAR_JOB_ID=988535 # Interactive mode: waiting... # Starting... parasilo-26:~$ uniq $OAR_FILE_NODES parasilo-26.rennes.grid5000.fr parasilo-27.rennes.grid5000.fr parasilo-28.rennes.grid5000.fr parasilo-3.rennes.grid5000.fr parasilo-4.rennes.grid5000.fr parasilo-5.rennes.grid5000.fr parasilo-6.rennes.grid5000.fr parasilo-7.rennes.grid5000.fr parasilo-8.rennes.grid5000.fr parasilo-9.rennes.grid5000.fr
- Running a non best effort job on the same set of resources in a second shell
frennes:~$ oarsub -I -l {"host in ('parasilo-9.rennes.grid5000.fr')"}/host=1 # Set default walltime to 3600. OAR_JOB_ID=988546 # Interactive mode: waiting... # [2022-01-10 16:00:07] Start prediction: 2022-01-10 16:00:07 (FIFO scheduling OK) # Starting... Connect to OAR job 988546 via the node parasilo-9.rennes.grid5000.fr
As expected, meanwhile the best effort job was stopped (watch the first shell):
parasilo-26:~$ Connection to parasilo-26.rennes.grid5000.fr closed by remote host. Connection to parasilo-26.rennes.grid5000.fr closed. # Error: job was terminated. Disconnected from OAR job 988545
Using the checkpointing trigger mechanism
- Writing the test script
Here is a script which features an infinite loop and a signal handler trigged by SIGUSR2 (default signal for OAR's checkpointing mechanism).
#!/bin/bash handler() { echo "Caught checkpoint signal at: `date`"; echo "Terminating."; exit 0; } trap handler SIGUSR2 cat <<EOF Hostname: `hostname` Pid: $$ Starting job at: `date` EOF while : ; do sleep 10; done
- Running the job
We run the job on 1 core, and a walltime of 5 minutes, and ask the job to be checkpointed if it lasts (and it will indeed) more than walltime - 150 sec = 2 min 30.
$ oarsub -v -l "core=1,walltime=0:05:00" --checkpoint 150 ./checkpoint.sh # Modify resource description with type constraints OAR_JOB_ID=988555 $
- Result
Taking a look at the job output:
$ cat OAR.988555.stdout Hostname: parasilo-9.rennes.grid5000.fr Pid: 12013 Starting job at: Mon Jan 15 14:05:50 CET 2018 Caught checkpoint signal at: Mon Jan 15 14:08:30 CET 2018 Terminating.
The checkpointing signal was sent to the job 2 minutes 30 before the walltime as expected so that the job can finish nicely.
- Interactive checkpointing
oardel command provides the capability to raise a checkpoint event interactively to a job.
We submit the job again
$ oarsub -v -l "core=1,walltime=0:05:0" --checkpoint 150 ./checkpoint.sh # Modify resource description with type constraints OAR_JOB_ID=988560
Then run the
oardel -c #jobid command...
$ oardel -c 988560 Checkpointing the job 988560 ...DONE. The job 988560 was notified to checkpoint itself (send SIGUSR2).
And then watch the job's output:
$ cat OAR.988560.stdout Hostname: parasilo-4.rennes.grid5000.fr Pid: 11612 Starting job at: Mon Jan 15 14:17:25 CET 2018 Caught checkpoint signal at: Mon Jan 15 14:17:35 CET 2018 Terminating.
The job terminated as expected.
Using jobs dependency
A job can wait for the termination of a previous job.
- First Job
We run a first interactive job in a first Shell
frennes:~$ oarsub -I # Set default walltime to 3600. OAR_JOB_ID=988571 # Interactive mode: waiting... # Starting... parasilo-28:~$
And leave that job pending.
- Second Job
Then we run a second job in another Shell, with a dependence on the first one
jdoe@idpot:~$ oarsub -I -a 988571 # Set default walltime to 3600. OAR_JOB_ID=2071596 # Interactive mode: waiting... # [2018-01-15 14:27:08] Start prediction: 2018-01-15 15:30:23 (FIFO scheduling OK)
- Job dependency in action
We do a logout on the first interactive job...
parasilo-28:~$ logout Connection to parasilo-28.rennes.grid5000.fr closed. Disconnected from OAR job 988571
... then watch the second Shell and see the second job starting
# [2018-01-15 14:27:08] Start prediction: 2018-01-15 15:30:23 (FIFO scheduling OK) # Starting... parasilo-3:~$
Container jobs
With the container job functionality, OAR allows for someone to execute inner jobs within the boundaries of the container job. Inner jobs are scheduled using the same algorithm as other jobs, but restricted to the container job's resources and timespan.
A typical use case is to submit first a container job, then have inner jobs submitted, with referring to the container job_id.
Mind that the inner jobs that will not fit in the container's boundaries will stay in the waiting state in the queue, not scheduled and not executed. They will be deleted when the container job is terminated.
Container jobs are especially useful when organizing tutorial of teaching labs, with the container job created by the organizer, and inner jobs created by the attendees.
Mind that if in your use case, all inner job are to be created by the same user as the container job, it is preferable to use a tool such as GNU Parallel.
Inner job are killed when the container job is terminated.
- First a job of the type container must be submitted
- Then it is possible to use the inner type to schedule the new jobs within the previously created container job
A job created with:
cosystem and noop jobs
- cosystem
- Jobs of type cosystem, just like jobs of type deploy, do not execute on the first node assigned to the job but on the frontend.
- But unlike deploy jobs, cosystem jobs do not grant any special privileges (e.g. no kareboot right).
- noop
- Jobs of type noop do not execute anything at all. They just allocate resources for a time frame.
- noop jobs cannot be interactive (oarsub -I).
- noop jobs have the advantage over the cosystem job that they are not affected by a reboot (e.g. due to a maintenance or a failure) of the frontend.
If running a script on the frontend is not required, noop job should probably be preferred over the cosystem jobs.
Changing the walltime of a running job (oarwalltime)
Users can request a extension of the walltime (duration of the resource reservation) of a running job. This can be achieved using the
oarwalltime command or Grid'5000's API.
This change can be specified by giving either a new walltime value or an increase (begin with +).
Please note that a request may stay partially or completely unsatisfied if a job is already scheduled to occupy the resources right after the running job.
Job must be running for a walltime change. For Waiting job, delete and resubmit.
While changes of walltime are not limited a priori (by the
Command line interface
Querying the walltime change status:
Walltime change status for job 1743185 (job is running): Current walltime: 1:0:0 Possible increase: UNLIMITED Already granted: 0:0:0 Pending/unsatisfied: 0:0:0
Requesting the walltime change:
Accepted: walltime change request updated for job 1743185, it will be handled shortly.
Querying right afterward:
Walltime change status for job 1743185 (job is running): Current walltime: 1:0:0 Possible increase: UNLIMITED Already granted: 0:0:0 Pending/unsatisfied: +1:30:0
The request is still to be handled by OAR's scheduler.
Querying again a bit later:
Walltime change status for job 1743185 (job is running): Current walltime: 2:30:0 Possible increase: UNLIMITED Already granted: +1:30:0 Pending/unsatisfied: 0:0:0
May a job exist on the resources and partially prevent the walltime increase, the query output would be:
Walltime change status for job 1743185 (job is running): Current walltime: 2:30:0 Possible increase: UNLIMITED Already granted: +1:10:0 Pending/unsatisfied: +0:20:0
Changes events are also reported in
man oarwalltime for more information.
Using the REST API
Requesting the walltime change:
curl-i -X POST https://api.grid5000.fr/stable/sites/
1743185.json -H'Content-Type: application/json' -d '{"method":"walltime-change", "walltime":"
Querying the status of the walltime change:
curl-i -X GET https://api.grid5000.fr/stable/sites/
1743185/details.json -H'Content-Type: application/json'
See the walltime-change and events keys of the output.
Restricting jobs to daytime or night/week-end time
To help submitting batch jobs fitting inside the time frames defined in the usage policy (day vs. night and week-end), the types
day and
night can be used (
oarsub -t <type>…).
- Submit a job to run during the current day time
As such:
- It will be forced to run between 9:00 and 19:00, or the next day if the job is submitted during the night.
- If the job did not succeed to run before 19:00, it will be deleted.
- Submit a job to run during the coming (or current) night (or week-end on Friday)
As such:
- It will be forced to run after 19:00, and before 9:00 for week nights (Monday to Thursday nights), or before 9:00 on the next Monday for a job which runs during a week-end.
- If a job could not be scheduled during the current night (not enough resources available), it will be kept in the queue and then postponed in the morning for a retry the next night (hour constraints will be changed to the next night slot), that for 7 days.
- If the walltime of the job is more than 13h59, the job will obviously not run before a weekend.
- Submit a job to run exclusively during the coming (or current) night (or week-end on Friday)
If job is not scheduled and run during the coming (or current) night (or week-end on Friday), it will not be postponed to the next night for a new try, but just set to error.
Note that:
- the maximum walltime for a night is 14h, but due to some overhead in the system (resources state changes, reboots...), it is strongly advised to limit walltime to at most 13h30. Furthermore, a shorter walltime (max a few hours)? will result in more chances to get a job scheduled in case many jobs are already in queue.
- jobs with a walltime greater than 14h will be required to run during the week-ends. But even if submitted at the beginning of the week, they will not be scheduled before the Friday morning. Thus, any advance reservation done before Friday will take precedence. Also, given that the rescheduling happens on a daily basis for the next night, advance reservations take precedence if they are submitted before the daily rescheduling. In practice, this mechanism thus provides a low priority way to submit batch jobs during nights and week-ends.
- a job will be kept 7 days before deletion (if it cannot be run because of lack of resources within a week), unless using
Use --project for users in multiple GGAs
A OAR job is linked to the user's Granting Group Access (GGA). Indeed, GGAs are used by OAR for applying the privilege levels defined in the usage policy and for statistics:
- for users that belong to only one GGA, OAR automatically retrieves the GGA.
- for users that belong to more than one GGA at once (eg., teaching, multiple affiliations, economic activities), they must use the
--projectparameter to indicate OAR which GGA is used for the job.
Let us take an example for a user who is a member of group
projectA for their research and of group
lab-session-B for their teaching.
To submit jobs related to their research (GGA
projectA), they have to use the following command:
while for reserving nodes for their lab sessions with students (GGA
lab-session-B), they will use:
Note that it is possible to define a default GGA (used by OAR without specifying a GGA with
--project parameter) :
- Login to https://api.grid5000.fr/ui/account
- Go to the "Groups" tab (on the left menu), then select the default GGA by clicking on the button located on the 'Default' column.
About resources states
OAR resources can be in several states:
- Alive: Free for use or running a job.
- Absent: Temporarily unavailable for use, typically because rebooting after a deploy job.
- Absent/standby: Free for use but not immediately available because shut down. Will be powered on and become Alive whenever needed for a job
- Suspected: A fault has been detected, the resource is unavailable but it may be repaired soon.
- Dead: The resource is definitively not available.
Nodes in maintenance are nodes with a Dead state with the maintenance property set to YES.
Multi-site jobs with OARGrid
oargrid alows submitting OAR jobs to several Grid'5000 sites at once.
For instance, we are going to reserve 4 nodes on 3 different sites for half an hour
Note that in grid reservation mode, no script can be specified. Users are in charge to:
- connect to the allocated nodes.
- launch their experiment.
OAR Grid connects to each of the specified clusters and makes a passive submission. Cluster job ids are returned by OAR. A grid job id is returned by OAR Grid to bind cluster jobs ids together.
You should see an output like this:
SITE3:rdef=nodes=1 [OAR_GRIDSUB] [
SITE3] Date/TZ adjustment: 0 seconds [OAR_GRIDSUB] [
SITE3] Reservation success on
SITE3: batchId =
SITE2] Date/TZ adjustment: 1 seconds [OAR_GRIDSUB] [
SITE2] Reservation success on
SITE2: batchId =
SITE1] Date/TZ adjustment: 0 seconds [OAR_GRIDSUB] [
SITE1] Reservation success on
SITE1: batchId =
SITE_JOB_ID1[OAR_GRIDSUB] Grid reservation id =
GRID_JOB_ID[OAR_GRIDSUB] SSH KEY : /tmp/oargrid//oargrid_ssh_key_
GRID_JOB_IDYou can use this key to connect directly to your OAR nodes with the oar user.
Fetch the allocated nodes list to transmit it to the script we want to run:
(1) Select the node to launch the script (ie: the first node listed in the
~/machines file).
If (and only if) this node does not belong to the site where the
~/machines file was saved,
copy the
~/machines to this node:
OAR_JOB_ID=SITE_JOB_ID oarcp -i /tmp/oargrid/oargrid_ssh_key_LOGIN_GRID_JOB_ID ~/machines `head -n 1 machines`:
(2) Connect to this node using
OAR_JOB_ID=SITE_JOB_ID oarsh -i /tmp/oargrid/oargrid_ssh_key_LOGIN_GRID_JOB_ID `head -n 1 machines`
Do not forget to indicate the location of the temporary private key generated by the
And then run the script:
The Grid counterpart of
oarstat gives information about the grid job:
Our grid submission is interactive, so its end time is unrelated to the end time of our script run. The submission ends when the submission owner requests that it ends or when the submission deadline is reached.
We are going to ask for our submission to end:
funk is grid resources discovery tool that works at nodes level and generate complex
oargridsub commands. It can help you in three cases:
- to know the number of nodes availables for 2 hours at run time, on sites lille, rennes and on clusters taurus and suno
- to know when 40 nodes on sagittaire and 4 nodes on taurus will be available, with deploy job type and a subnet
- to find the time when the maximum number of nodes are available during 10 hours, before next week deadline, avoiding usage policy periods, and not using genepi
More information on its dedicated page.
OAR in the Grid'5000 API
An other way to visualize nodes/jobs status is to use the Grid'5000 API
OAR database logs
Grid'5000 gives the possibility to all users to use a read only access to OAR's database. You should be able to connect using PostgresSQL client as user
oarreader with password
read to database
oar2 on all
.grid5000.fr. This gives you access to the complete history of jobs on all Grid'5000 sites. This gives you read-only access to the production database of OAR: please be careful with your queries to avoid overloading the testbed!
- Example of access to logs
In this example, we use the PostgresSQL client to generate a CSV file, named '~/oardata.csv', containing all the jobs of the user 'toto'. Each row of the file will be one job of the user. The columns of the CSV file will be the list of nodes assigned to the job, the number of nodes, the number of cores, the cluster name, the submission time, start time and stop time, the job ID, the job name (if any), the job type, the command executed by the job (if any) and the request made by the user.
First, on one of the frontend nodes, launch the client
psql -h oardb.grenoble.grid5000.fr -U oarreader oar2
Then, after entering the password, run the following command (change the user name and the file name if needed):
\copy (Select string_agg(Distinct host, '/') as hosts, Count(Distinct host) as nb_hosts, Count(Distinct resources.resource_id) as nb_cores,cluster,submission_time,start_time,stop_time,job_id,job_name,job_type,command,initial_request From jobs Inner Join assigned_resources on jobs.assigned_moldable_job = assigned_resources.moldable_job_id Inner Join resources on assigned_resources.resource_id = resources.resource_id Where job_user = 'toto' Group By jobs.submission_time,jobs.start_time,jobs.stop_time,jobs.job_id,jobs.job_name,jobs.job_type,jobs.command,resources.cluster) To '~/oardata.csv' With CSV;


text:
. about beltline's population
As Calgary's most authentically urban community, the Beltline is home to thousands of Calgarians and the number has been steadily increasing over the past decade. Bordered by the CPR tracks on the north, 17th avenue to the south, 14th street on the west and the Elbow River in the east, the separate communities residing within the Beltline are located within Calgary's professional and recreational hub.
The majority of Beltline's population consists of single, working professionals who are situated within walking distance of their workplace.
Beltline is one of the fastest growing communities in Calgary, only being surpassed by Panorama Hills in 2011. Since 2007, Beltline has seen continuous growth with a 9.9% increase in the community in the past five years
Beltline's population is diverse. However, 39.9% of its residents fall within the 25-34 age range, resulting in a large community of young professionals. The smallest age group in Beltline is between 15-19 years of age. Only 385 residents of Beltline fell into this category in 2011.
Employment:Gathered from the 2006 census, the Beltline employment rate for those over the age of 15 is 66.4%. This is slightly greater than the overall Calgary employment rate of 65.29%.
Also gathered from the 2006 census, most Beltline residents choose to rend their accommodations (70.9%), usually in an apartment or condo building (97.5%). Only 29.1% of Beltline residents own their home, which is substantially lower than Calgary as a whole (72.8%). The average rent per month in 2006 was $781.
With the majority of Beltline residents living near the workplace, walking to work is the most popular form of transportation in the area (41.50%).This number is significantly higher compared to the rest of the city (5.1%).
The most popular ways to get to work in Beltline are:
1. Walking: 41.50%


text:
Did you know, a new entry door is the No. 1 way to increase the resale value of your home? Taylor Door Co. shows you how to select an entry door that will appeal to visitors or potential buyers. Consider the following for the perfect process on how to select an entry door.
- Security – Consider the level of protection and security you expect from your new entry door.
- Energy Efficiency – Choosing the right entry door can help with keeping hot or cold out and heat or air in.
- Style – Consider what kind of statement you want your door to make, whether for personal appeal or selling purposes.
- Environment – Entry doors do require maintenance. Consider the material for your entry door and the amount of weather abuse the door will be enduring.
Custom Style Entry Doors
At Taylor Door we have a selection of custom style entry doors for all needs! From fiberglass to steel to storm doors, you are sure to find the perfect entry door for your home. Taylor Door combines energy efficiency, durability and style into one long-lasting entry door package. Create the custom style entry doors you've been waiting for. Shop our selection now.
Best Selection of Entry Doors for Your Home at Taylor Door Co.
How to select an entry door might take some thought, but choosing where to buy your new door is a no-brainer. Taylor Door has the best selection of entry doors for updating your home. Our top quality manufactured entry doors have been the main focus of Taylor Door for more than 30 years. We carry top-of-the-line products to add the perfect finishing touches to update your home for your family or for selling. When it comes to knowing how to select an entry door or shopping the best selection, Taylor Door is your answer.
Contact Taylor Door today and find out how to get your FREE quote on the new entry door that's perfect for you! Call 1-800-NEW-DOOR now for the new entry door you've been waiting for.


text:
So I am not one to talk much about politics...at least online. There are several reasons for this. 1) I feel a bit naive on the subject matter and not as fluent in political knowledge and conversation as I would like to be. 2) I've rarely seen political discussion online lead to anything positive. So for the most part I work on improving my family, my neighborhood, and the communities around me by having face to face conversations (about all kinds of things), and working to affect change where I am able.
And I've noticed that ranting on FB about something does little to affect change.
And I think there is a reason for this.
This is the subject of this podcast. How emotional regulation (lack thereof usually), anxiety, and boundaries (usually violations of) lead to a toxic environment for political discourse. And in this I will just try and speak from my own knowledge of family and organization systems, and the lens that I view things from as a marriage and family therapist. And I think this has relevancy because we are all engaged in systems, and online political discourse is a relational system where the same principles apply. And I know I have a certain view point because of my own background and experience, but I try to stick to the published work out there on this topic (which of course has it's own viewpoints). That the reality...we all have viewpoints. But at the end of the day, I believe that if we can become aware of our biases and pain points, and emotionally self-regulate ourselves enough, we are actually capable of creating a safe environment that leads to action and change. Otherwise, all we are doing is slinging mud at each other.
I start this podcast with a quote from the Jewish Rabbi and Marriage and Family Therapist Edwin Friedman, who wrote:
"Communication does not depend on syntax, or eloquence, or rhetoric, or articulation but on the emotional context in which the message is being heard. People can only hear you when they are moving toward you, and they are not likely to when your words are pursuing them"
In this episode I explore:
In Failure of Nerve, Friedman writes:
....Precisely because our technologically advanced society constantly keeps us in often-simultaneous touch with one another it may be more difficult today not to become caught up in the surrounding systemic anxiety. Ironically, the very advances in technology that mark our era tend to intensify the 'herding instinct' characteristic of an anxious society. This kind of enmeshment inhibits further the kind of individuation that is the essential precondition for bold leadership and imaginitive thinking....My thesis here is that the climate of contemporary America has become so chronically anxious that our society has gone into an emotional regression that is toxic to well-defined leadership....Emotional regression, therefore, is more of a 'going down' than a 'going back'; it is devolution rather than evolution....At the same time that a society is 'pro-gressing' technologically it can be 're-gressing' emotionally....When a society (or an institution) is in a state of emotional regression, it will put its technological advances to the service of its regression so that the more it advances on one level the more it regresses on another.... (pp. 52-55)
I decided to take about a 6 week break from the podcast to focus on my work and family as we entered into a very busy holiday season. It was good to take a break from the podcast as I focused on the New Year ahead.
I'm not sure what the podcast will look like in 2017, but I do know there will be one. I would really love to move to more of a guest format, but it's pretty challenging to line up all the details between myself and a guest when I spend most of my week in sessions with clients. But my favorite podcasts that I listen to myself, and my favorite episodes of my podcast, are the ones where the host talks with a guest.
So in 2017 expect to hear more guests on my podcast, and it's possible I may move from the 3-4 episodes a month format I've been doing, to maybe just 2 a month. Whatever I can do to maintain high quality is what I will be doing.
That being said, the beginning of a New Year gives me an opportunity to think through and reflect on the past year, as well as think about the goals for this coming year.
In this episode I:


text:
08/09/2016 – EXHIBITION: 'Manantial'
"Manantial" is a compilation of work designed by Martin Azúa and produced in collaboration with the ceramist Marc Vidal, made in recent years and some pieces specially designed for this exhibition in H2O.
Thursday, 8th September from 7 pm to 10 pm
H2O Gallery
Carrer Verdi, 152. 08012 Barcelona
05/04/2016 – EXHIBITION: 'I want to be a Chinese Vase'
Martin Azúa presents new products for the products editor "Numbered" made in collaboration with artisans and workshops from Barcelona.
Tuesday, 5th April from 8:00pm
Dos Billares / Casa Camper
Elisabets, 11 (Barcelona)
18th of November Martín Azua was awarded with the National Award for Achievement in the 1st Awards of the Interiors magazine. The award was delivered by Juli Capella and Soledad Lorenzo in a fantastic party in the House of Alhajas in Madrid.
See + http://www.revistainteriores.es/tendencias/la-primera-cronica-de-los-premios-interiores
19/10/2014 – Big Draw Barcelona at Picasso Museum
Martín Azúa participates at Big Draw Barcelona in a workshop at Picasso Museum in Barcelona.
See + http://www.bcn.cat/museupicasso/bigdraw/
03/07/2014 – Artjects at Sala Vinçon
Tuesday 8th of July at 20pm Martín Azúa inaugurates an exhibition of his recent work in the Sala Vinçon Barcelona.
This is a collection of special objects, which provide unconventional relationships with users.
See + http://www.vincon.com/ca/
03/06/2014 – Puppet Chair at Design Museum Holon
Puppet Chair, designed by Martín Azúa, will be part of the group exhibition "Gathering; from domestic craft to contemporary process", curated by Li Edelkoort in the Design Museum Holon. The opening will be on Wednesday, July 2.
03/06/2014 – Suite Talks at Wella Hotel Barcelona
Coinciding with the Barcelona Design Week will be held the next two Suite Talks in the restaurant Bravo from hotel Wella. On Tuesday 10th we will hear Martin Azua. And now the record is much easier, just sign up on the website Suite Talks and book your place: www.w-barcelona.es
30/05/2014 – Light Containers at AOO store
From now Light Container lamps are available physically in the store AOO Altrescoses Otrascosas otherthings at Sèneca street nº8, Barcelona.
19/05/2014 – Ceramic Futures
Martín Azúa participates as a mentor in the Ceramic Futures workshop.
Cersaie, the leading international exhibition of ceramic tiles and bathroom furnishings, values young talent as the next generation of leading thinkers and innovators. With this in mind, Cersaie together with Stefano Mirti has developed Ceramic Futures to challenge 4 groups of young design students to work together during May and June 2014.
The project seeks to explore and challenge the versatility of ceramic both as a creative and functional medium – a material that is universal and unique, sustainable and enduring, while also being one of the oldest.
The participating schools are Accademia di Belle Arti di Bologna, École nationale supérieure des Arts Décoratifs (EnsAD), ELISAVA and Politecnico di Milano (PoliMi).
22/04/2014 – Nest House
Nest House is part of the exhibition "Doble Direcció" organized by La Panera on the FRAC Còrsega. It can be seen until May 15.
19/03/2014 – Enric Majoral and El Celler de Can Roca
Martín has photographed the rings Enric Majoral created for each of the Roca brothers. The presentation will be the 8 of April at El Celler de Can Roca.
+ info: www.majoral.com
19/03/2014 – The Nani Marquina candidate wins the presidency to FAD
Martin Azúa is part of the candidacy of Nani Marquina that has been chosen to direct the FAD in the next 4 years.
You can see the program of the candidacy at www.openfad.org
19/03/2014 – Tubabu stool
Tubabu is a toned beech wooden stool. The three legs are inserted in the seat. The footrest is attached by a twisted cord that makes the whole stool stronger. Design: Martín Azúa. Special thanks to Sergi Vich. + info: Tubabu Stool
19/03/2014 – What is contemporary art?
The MOMA has published a guide for children including the Basic house since it is part of the collection since 2007 .
A guide for kids
Jacky Klein and Suzy Klein
The Museum od modern art
11 West 53rd Street, New York
New York 10019
Ver + WHAT IS CONTEMPORARY ART?


text:
Newsletter 30: Lark Tasmanian Whisky and MacGavin's Single Malt Scotch
Another exceptional OCBC meeting! Sponsored and featuring Lark Tasmanian Whisky, and MacGavin's Single Malt Scotch. We were lead on a masterful tour of Whiskey by the lovely Monique and hosted fantastically by Memphis at the Santora which is always wonderful setting. We got in a bunch of learning, we all had a terrific time, some incredible drinks and delicious food—thanks for having us!
First up we were greeted by a delectable punch crafted by the gents at Memphis at the Santora, and the recipe is:
Eastern Indian Punch
2 oz MacGavin's Speyside Scotch
0.75 Tamarind Syrup
0.5 Lemon Juice
Whip all ingredients with a few pieces of shell ice and dump into a collins glass with ice
Top with soda
Garnish with a lemon wedge
::Tamarind Syrup::
Boil tamarind pods (removed from the shell) in water until all of the tamarind flavor is extracted
Strain out the solids and dissolve 1 part turbinado sugar to 1 part tamarind liquid
Then we were dazzled by a couple cocktails to go with tasty food and they were:
Rusty Nail
2 oz MacGavin's Lowland Scotch
0.5 oz Drambuie
2 dash Regan's Orange Bitters
Stir all ingredients over ice and strain into a double old fashioned glass with fresh ice
Garnish with a lemon peel
Adderly (variation)
2 oz MacGavin's Highland Scotch
0.75 oz Maraschino Liqueur
0.75 oz Lemon Juice
2 dash Regan's Orange Bitters
Shake all ingredients with ice and strain into a chilled cocktail glass
Next up, it is DC Craft Spirits, bringing their Cognac, Mezcal, Rum and other treats on Monday October 1st! We are expecting a great meeting—definitely not to be missed.
To help maintain quality of service, presentation, space, food and drink we must insist on RSVP's and we are limiting the accepted RSVP's to 40. So get your RSVP in early and send it to firstname.lastname@example.com if you're planning on attending, let us know if something comes up so we can make your spot available to someone else if you can't make it. See you then! The meeting location will be emailed upon RSVP to the first 40 responders.
This entry was posted on September 26, 2012 at 12:10 am and is filed under Newsletters . You can follow any responses to this entry through the RSS 2.0 feed You can leave a response, or trackback from your own site.


text:
Hi, I have two files (also attached) 1) test.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE a [ <!ENTITY b SYSTEM "b.txt"> ]> <a>&b;</a> 2) b.txt, which contains just "B" When parsing test.xml via the SAX2 interface, I get two character callbacks for the string "B". The problem can be reproduced with testSAX --noent from the libxml2 distribution: $ /home/pajas/h2/compile/gnome-xml/testSAX --noent test.xml SAX.setDocumentLocator() SAX.startDocument() SAX.internalSubset(a, , ) SAX.entityDecl(b, 2, (null), b.txt, (null)) SAX.externalSubset(a, , ) SAX.startElement(a) SAX.getEntity(b) SAX.characters(B, 1) SAX.characters(B, 1) <--- why? SAX.endElement(a) SAX.endDocument() (similarly if b.txt is complex XML - I get the same callbacks for nodes in the entity twice) Is this an expected behavior? If yes, can I somehow distinguish between the two calls (e.g. based on ctxt) so that I can filter one of them out? P.S. this was observed by one of the users of the Perl bindings for libxml2. We also have interface for libxml2's reader API in Perl too, but there are hundreds of very popular Perl modules build upon the SAX interface (mainly because Perl has really advanced sax filtering and pipelining with interchangeable SAX implementations varying from pure-perl, expat, to libxml2; libxml2 is the fastest among them which makes it very popular and thus worth maintaining). Thanks in advance, -- Petr
Description: Text Data
Description: Text document


text:
Innovation Prize of Africa 2016
Aug 8, 2015 | Patrick Abotsi | Say something
Applications are opened for this competition which will see the winners go home with a total of $150,000. Organized by the African Innovation Foundation, the objective is to recognize and promote African Innovators and Entrepreneurs. The theme of the competition this year is "Made in Africa" If you have an innovative product or service that meets […more]


text:
It was somewhat expected by those in the know that J.D. Greear would be elected to serve as SBC President at the annual meeting in Dallas this week. I was still somewhat surprised by the 68% of ballots he received from messengers. While many were pleased with the announcement the reactions ranged from "Thank God" to talk of the downward spiral the SBC has been on for years. While I would make a good 3 1/2 point Calvinist at best I am going out on a limb and saying this choice will not seal our fate. Greear's election is not the final nor any other nail in the coffin. Continue reading
Tag Archives: Southern Baptist Convention
My Opinion: SBC and the Confederate Flag
Here is an article from The Christian Index on the Convention's decision to repudiate the Confederate Flag. The Index also posted an editorial by Gerald Harris and my comments to that link on Facebook got a little lengthy. Nearly blog post in length. So, below is my take on the SBC resolution. By all means you are entitled to your opinion; mine is framed on the notion the Gospel is more dear to the heart of Christians than heritage, history, culture or national identity. The end game of all believers should be unity in Christ.
I have lived in Georgia most of my life (and in Kentucky the other years). I have always been a little leary of flying that flag. I understand my heritage, the nation's history, and the origin story of the SBC. On this issue I land here: If you want to fly the flag on your front porch or on your personal vehicle, this is still a free country and you have every right. Shame on anyone that would desecrate or remove your flag regardless of ideology. But I think it is entirely fitting for our denomination, all our churches together with one voice, to say "WE no longer fly this flag."
If I display the Confederate flag in support of history and heritage, it may be misunderstand as racism. Indeed some do fly that flag because they are racist, believing if the South would have won we'd have it made, and signifying certain individuals need to "know their place." At the risk of being misunderstood, I do not fly that flag. In the shadow of the cross, there are no flags, no nations, no skin colors or any other thing that divides or distinguishes. We are covered by the blood. I am disheartened that some will choose the stars and bars of rebellion (it is the rebel flag we are talking about) rather than unity with fellow brothers and sisters, but such is the world we live in.
Blog Fodder: Palestine, SBC and Rob Bell
These are perhaps the most blogged stories over the past few days in the Christian blogosphere. Each is somewhat divisive, and everyone has their own opinion. In no particular order:
Palestine is petitioning the U.N. to create a Palestinian state. President Obama and former president Clinton agree that doing so at this time is a bad idea. Clinton however railed on the Obama White House last week that all the current problems with Israeli relations are the fault of Obama policies. Benjamin Netanyahu describes the U.S. is a friend of Israel, but Obama is in a delicate political position right now. Palestine would need the support of the U.N. Security Council to move forward, and the U.S. has said it will veto the measure if it comes to that. Obama's political career needs for it to not come to that.
Southern Baptist Convention might seek a new name. Back in the late 80's an SBC name change was handily defeated. "North American Baptist" was the proposal back in the day, implying a broader base than the South. I once heard an IMB missionary to Canada comment on the irony of planting Southern Baptist churches there. Since slavery is no longer the dividing issue (SBC denounced all historic ties to racism back in 1991) it begs the question of why all American Baptists could not re-unite. The answer is that SBC would never give up their organization, but we MUST beg the question.
Rob Bell is leaving Mars Hill Church. Bell went to the unlikeliest of places and practically did the impossible with Mars Hill. His recent book Love Wins seems to imply universal salvation, and has not been received well (to say the least) by some Christians. He said something about broadening his horizons by leaving, whatever that means. Rick Warren suggests the danger here is that leaders no longer have a community to keep them accountable. Bell could easily support himself without Mars Hill; selling books and DVD's might be far more profitable than pastoring.


text:
It's Christmas time and holiday cheer is very much on the horizon which often involves people watching classic festive films like 'Scrooge', 'A Christmas Carol', 'Santa Clause: The Movie', erm 'Jingle All The Way' or many of the special TV episodes filmed for this time of the year.
Others like 'Home Alone' (1990), 'Die Hard' (1988), 'Gremlins' (1984) and 'Lethal Weapon' (1987) which are just set during the Christmas season are also popular choices so I have delved into the Tokyo Fox archives to find some movies (of course ones that I have been to some filming locations of!) with seasonal connections whether it be a major one or a really tenuous link!
So here then, in no particular order, is the TF top 10……
1. In Bruges (2008) – Certainly not the first one that comes to mind when you think of films taking place at Christmas! Two Irish hit-men hide out in Belgium during the holiday season not that it's at all important to the storyline. The woman at the Relais Bourgondisch Cruyce Hotel, where they stay, is doing something with the Christmas tree in one scene and their angry boss, Ralph Fiennes, shouts at his wife in front of their tree and kids in another.
2. Ghostbuster II (1989) – The sequel is set in New York City during the Christmas period and culminates on New Years Eve as a crowd of locals sing 'Auld Lang Syne'. A Christmas tree is visible during at least one scene and I guess one other festive link this has is that it was made (according to some critics!) to sell toys at Christmas time!
3. Eyes Wide Shut (1999) – This Stanley Kubrick-directed erotic thriller is not your traditional Christmas film in any way! It opens at a big Christmas party before Tom Cruise's jealous character goes on a sexual odyssey so that he can feel equal to his "cheating" wife. However, not all is straight forward as he soon witnesses a secret sex society and people begin dying. It's lacking in festive tunes and the common joviality shown by many at that time of the year. Christmas trees can be seen throughout as London doubles up for New York in holiday season.
4. On Her Majesty's Secret Service (1969) – In his one and only appearance as James Bond, George Lazenby takes the reins of the double agent in the sixth 007 movie. Part of the film takes place at Grindelwald in Switzerland during the Christmas season snow is all around. Festive connections include a Christmas tree at the Piz Gloria clinic, presents for the ladies and there's even a Christmas song called "Do You Know How Christmas Trees Are Grown."
5. Love Actually (2003) – By far the most festive film in this list as a large group of inter-related people are followed for the five weeks leading up to Christmas, exploring their various love-states. An all-star cast take part in this feel-good film.
6. About A Boy (2002) – Bachelor Will (Hugh Grant) has no job and doesn't need to have one as he can just live off the royalties of "Santa's Super Sleigh"; a Christmas song his father composed in the past. Towards the end of the film we see Will hosting a Christmas gathering at his place with his new extended support system.
7. Bridget Jones's Diary (2001) – Thirty-something singleton Bridget is introduced to Mark Darcy (Colin Firth) at her parents' Christmas party and is not impressed. He's snooty and wears Christmas jumpers but as we know that eventually changes over time among several pivotal holiday-themed/snow scenes.
8. The English Patient (1996) – A Hungarian cartographer choosing to maintain the assumption by others that he is an Englishman is badly burned in a plane crash during World War II and relays parts of his past via flashbacks and one of these includes a Christmas party scene where amidst a chorus of Silent Night, Katharine (Kristin Scott Thomas) is seduced by Almásy (Ralph Fiennes).
9. When Harry Met Sally (1989) – Several Christmas and New Year's-related scenes take place in this romantic comedy which spans over 15 years.
10. I am Legend (2007) – A viral outbreak occurs on Christmas Eve 2009 in Manhattan, and quickly spreads across the world. The epidemic seemingly begins in the lead up to the Christmas season and festive decorations can be seen throughout the early parts of this Will Smith movie.
Bonus: The Bourne Identity (2002) – Remember when Bourne and Marie seeked refuge in the French countryside? Well, they go to stay at her stepbrother's place where Bourne notices the Christmas lights are still on. That sign of recent occupancy tells him that they have to leave before the owners return. It is also snowing throughout most of the film which is usually a good indication that it's the holiday season.


text:
Suspect sought in severe beating of man at Verde River campsite
Yavapai Sheriff's Office is searching for a man who severely beat another man with a piece of wood at a Verde River campsite.
Authorities on Thursday identified the suspect as 41-year-old Robert David Pearsall of Prescott. A warrant was issued for the man's arrest on charges of aggravated assault with a deadly weapon and setting his bond amount at $50,000.
Pearsall is accused in an attack that took place last Saturday around 9 p.m., in the Drake area of northern Yavapai County, officials said.
Pearsall is suspected of striking a 45-year-old man in the head, face and chest multiple times with a hard piece of wood, the Sheriff's Office said. Pearsall struck the man in an unprovoked manner and without warning, officials said.
The strikes caused severe swelling, lacerations and blood loss to the man's head and face and the blows were hard enough to break and splinter the wood, the Sheriff's Office said.
According to authorities, Pearsall fled the scene after he was confronted by witnesses.
The victim, who lost consciousness, was driven off the campsite initially and later was flown to Flagstaff Medical Center with serious injuries and remains there for treatment, the Sheriff's Office said.
According to authorities, the motive for the attack was unclear, officials said in a press release.
The search for Pearsall was ongoing late Thursday. Authorities believe he knows he is wanted and is trying to avoid contact.
Authorities issued a 2016 picture of the man Thursday, describing him as a white male, mostly bald but with some blond hair and green eyes, and average height and weight.
If anyone believes they see the suspect, they are asked to immediately call 911. Otherwise, anyone with information is asked to contact the Yavapai County Sheriff's Office at 928-771-3260 or Yavapai Silent Witness at 1-800-932-3232. A direct tip to Silent Witness leading to Pearsall's arrest is eligible for a cash reward.


text:
Nothing says "Family" like these artists! It is an up close and personal show filled with great stories, beautiful memories and hit songs of the Legends, as told and performed by their children and brothers. Sit back and enjoy an evening that you will cherish for a lifetime.
David Frizzell
His life and his career are tightly woven into the fabric of country music history and lore. He is both legacy and legend with an unmistakable voice and a captivating style. David Frizzell is one of the greatest voices in country music with a haunting resemblance to his older brother, the ultimate stylist, Lefty Frizzell. Both share that raw, forlorn quality that is essential to the interpretation of traditional country themes, but David's voice is even more resonant and nuanced; a perfect instrument for conveying the deepest emotion of every lyric.
Tommy Cash
Tommy was born in Arkansas, one of seven children in his family, and eight years after his brother Johnny. He formed his first band in high school and enlisted in the Army after graduation. He deejayed for American Forces Radio Network. After the Army, Tommy played with Hank Williams Jr., and later gained a record deal from Musicor in 1965. A year later he joined United Artists and just missed the country Top 40 in 1968 with "The Sounds of Goodbye." In late 1969, while on Epic Records, he delivered his biggest hit, a tune dedicated to JFK, RFK, and Martin Luther King entitled, "Six White Horses." 1970 saw a pair of Top Ten singles: "One Song Away" and "Rise and Shine", and the Top 20 hit, "I Recall a Gypsy Woman." Tommy continues to tour the globe, bringing to his audience the best in entertainment.
Georgette Jones
Tamala Georgette Jones was born to the only Hall of Fame husband and wife country artists, George Jones and Tammy Wynette. She's been singing with one or both parents since the age of three. She recorded her first single with her Dad, "Daddy Come Home" when she was ten years old and performed it on an HBO special.
Georgette also worked as a backup singer for her Mom. Georgette recorded a duet with Mark McGuinn that was included on his "One Man's Crazy" CD and has appeared on TV shows such as Crook and Chase, RFD-TV and The Grand Ole Opry. Georgette is a songwriter and member of SESAC and the CMA.
Georgette has also toured Ireland, where she has developed a very loyal fan base.
A duet entitled "You and me and Time", which Georgette co-wrote for her Dad, was released as the first single from her Dad's latest CD, "Burn Your Playhouse Down".
Georgette has filmed a TV series entitled "Sordid Lives" starring along side Emmy award winner Leslie Jordan (Will and Grace) and many other big stars such as, Olivia Newton-John, Bonnie Bedelia (Die Hard), Margaret Cho and others. Georgette re-recorded three of her Mom's songs included with five songs from Olivia Newton – John in the soundtrack.
Michael Twitty
Country music cherishes family tradition and Michael Twitty is an integral part of that great heritage. He is the oldest son of rock and country legend Conway Twitty. Born November 25 in Helena Arkansas, Michael is not only carrying on his father's celebrated legacy, he is making a mark of his own. Although Michael Twitty spent much of his early life following the footsteps of his father and other musical greats, one of Michael's earliest memories was of riding a paddle wheel ferry boat down the Mississippi that was captained by his Papaw. His adored Mamaw loving instilled in him the values and integrity that are so important to Michael Twitty. But by age eight music had overtaken his life and Michael found himself under the spotlight on stage with his legendary father. Michael knew right then that this was where he wanted to spend the rest of his life.
Dion Pride
Dion connects with crowds of all types, and works feverishly, through His performances, to win over crowds of all ages. Dion Pride is the son of legendary Country Music Hall of Famer, Charley Pride. Dion is also a songwriter and multi talented Instrumentalist. He plays guitar, piano, drums and bass. At fourteen, he was performing. One of his songs titled "I Miss My Home" was recorded by his father and released on Charley Pride's "Choices" album in 2011.
Dion played lead guitar and keyboards for his father, and opened His Father's show for 5 years, but while touring on his father's show, Dion began to incorporate some of his own material. The audiences were so responsive that Dion decided to strike out on his own and has not looked back.
Marty Haggard
Marty was born and raised in Bakersfield, California. He is the oldest son of American music icon Merle Haggard, who Marty considers to be "the best country singer/songwriter ever".
In 1979, Marty began touring with his own band, then in 1981 signed with Dimension Records and released the single "Charleston Cotton Mill", which spent three weeks on the Hot Country Songs charts in 1981.
At his father's request, Marty joined his dad's road band, in which he sang harmony and played rhythm guitar, from 1982 to 1984.
In 1986, he signed with MTM Records and released "Trains Make Me Lonesome", a song and video which garnered him a nomination as Best New Male Vocalist from the Academy of Country Music. Shortly after the awards show, Marty was injured in a car accident suffering a serious head injury, including memory loss, requiring four years of recovery.
In the early 90s, Marty signed with Critique/BMG and released the album "Borders and Boundaries". The song and video of "Here in the Afterlife" was released, followed by "Amnesia".
Marty has made multiple appearances on Nashville Now, Music City Tonight, Crook & Chase, The Today Show, and the Grand Ole Opry.
In 1999, Marty made a decision to share his life-long passion and love for Jesus Christ. He spent 10 years travelling to churches all across the country. He recorded the album "One Prayer Away" compiled of his original spiritual songs.
Marty's love for his dad and his dad's "real country" music inspired him to begin a project "A Tribute to Merle Haggard, My Dad". In 2010, he cut the first album in his tribute, consisting of 15 Hag classics. In 2010/2011 he performed at the Oak Ridge Boy's Theatre and Clay Cooper Theatre in Branson, Missouri. In 2011 he also recorded his second Tribute album to his dad. Marty has spent the last six years performing all over the United States and Canada, plus England, Ireland and Scotland. He also performs yearly in Casa Grande, Arizona at the Paramount Theatre.
He has recently recorded an album of his original songs titled "In America".


text:
Yeast Doughnuts with Maple Icing
Down Home with the Neelys: A Southern Family Cookbook
Published by Knopf
Gina: Light, delicate, and full of flavor, homemade doughnuts are a true indulgence, one that's worthy of a holiday, a birthday breakfast, or any other special occasion ("Look mom, all A's!"). This recipe takes a bit of advance work, to prepare the dough and allow it to rise, but it's a fun project to do with your kids. And the maple icing makes it difficult to eat just one.
NotesNever fry more than four doughnuts at a time, and keep the fat as near to 360°F as possible, without letting it creep too high or fall too low. If the oil is too cool, the doughnuts will absorb too much fat; if it's too hot, the doughnuts will brown before they cook inside.
Cooking Methodfrying
Total Timeunder 2 hours
Make Ahead RecipeYes
Kid FriendlyYes
OccasionFamily Get-together
Recipe Coursesnack
Dietary Considerationpeanut free, soy free, tree nut free
Equipmentdeep fryer
Mealbreakfast, brunch, kid snack
Taste and Texturelight, sweet
- 1 tablespoon active dry yeast
- ½ cup warm water (approximately 115°F)
- 1/3 cup plus ½ teaspoon sugar
- 1 large egg, lightly beaten
- ½ teaspoon salt
- ½ cup scalded milk
- 6 tablespoons butter, melted and cooled
- About 3½ cups all-purpose flour, plus more for work surface
- Vegetable shortening or vegetable oil, for deep-frying
- 1 recipe Maple Icing (recipe follows)
- 3 cups confectioners' sugar
- 4 to 5 tablespoons milk
- ¼ teaspoon maple extract (available in most grocery stores and specialty baking shops)
Combine the yeast, warm water, and ½ teaspoon of the sugar in a small bowl. Set aside until the mixture becomes foamy, about 20 minutes. In the bowl of a standing electric mixer, beat the egg with the remaining 1/3 cup sugar and the salt until the mixture is thick and light.
Beat in the yeast mixture, the scalded milk, and the butter, and gradually add enough flour to form a soft dough. Knead the dough on a floured surface for 1 minute, just until it is smooth and elastic, and form it into a ball. Put the dough in a buttered bowl, cover with plastic wrap, and let it rise in a warm place for 1 hour and 30 minutes, or until it has doubled in bulk.
When the dough has risen, punch it down, and on a floured surface roll it out 1/3 inch thick. With a 2½-inch cutter dipped in flour, cut out rounds. With a 1-inch round cutter dipped in flour, cut out and reserve the centers from the rounds. Gather the scraps gently into a ball, reroll the dough, and cut out doughnuts and holes in the same manner. With a spatula, transfer the doughnuts and holes to a baking sheet sprinkled lightly with flour, and let rise, uncovered, in a warm place for 30 minutes to 1 hour, or until they have doubled in height.
In a large deep fryer, heat 3 inches vegetable shortening or vegetable oil to 360°F. Fry the doughnuts, four at a time, for 1 minute on each side, or until they are golden brown and puffed, then transfer them with a skimmer to paper towels to drain. Fry the doughnut holes separately, turning them to brown evenly.
Dip the doughnuts and holes, one at a time, in the icing, turning them to coat them, and transfer them with tongs to a rack set over waxed paper to dry.
For the icing: In a small bowl, combine the confectioners' sugar and 4 tablespoons of the milk; stir well. Add additional milk to reach the desired consistency. Stir in the maple extract. Makes 1 1/2 cups icing.
Read NextSpicy Beef Skewers
2009 Patrick Neely and Gina Neely


text:
Training is a Process
Turning a group of employees into a high performance team doesn't happen overnight. It takes time, commitment, patience and a belief that the effort is worth it. When I begin to work with an organization, I know it takes time to change that culture. It's the reason I have a process-drive approach to leadership development. Because millions of dollars are wasted each year on leadership training that has no impact on culture, it's imperative to understand why leadership training fails to achieve business results.
1. Leadership Training Fails When It's Viewed As An Event
If it's only an event, the impact is negligible. One event doesn't make you a great leader. Mastering leadership skills takes repetition and consistent application. Leadership training demands more than an event, it requires a process.
2. Leadership Training Fails When It Doesn't Develop Emotional Intelligence
Every organization is in the people business. You hire people, sell and provide services to people and partner with people. You are in the people business. Because people have feelings, learning to manage yourself in a way that brings out the best in people takes a high degree of emotional intelligence.
3. Leadership Training Fails When There Is No Accountability
If training initiatives do not require leaders to become accountable for what they've learned, it's a waste of time and money. Without feedback and accountability, people slip back into old habits and nothing changes. Creating change in people is done relationally. This is why I need a coach.
The Culture You Create Determines The Results You Achieve
Creating a high-trust, high-performance culture requires training. It's training that's intentional and process-driven. It's not a one-time leadership class but an on-going developmental process that brings out the best in you and your team.


text:
Instant Pot Black Eyed Peas Curry Recipe - This is Indian style curry recipe made with black eyed peas or beans. It has spicy onion tomato gravy with bursting flavors. This beans are called Lobia in Hindi, so it is lobia masala in Instant pot.
When it comes to the recipes made with any kinds of beans or legume, we need to soak the dried beans for few hours of overnight. But here you do not need to soak the beans. Just add dried beans directly and instant pot will make them soft and melt in your mouth kind.
To make the complete healthy and satisfying meal, have this black eyed peas curry with rice or quinoa.
To cook rice and lobia masala together in instant pot, you need to soak the beans for sometime. So the cooking time for beans and rice matches. And you can cook both together with PIP method (Pot in pot). I have mentioned that method below in notes. So choose any method as per your need.
Check out other similar recipe
Instant pot chana masala
Instant pot pav bhaji
Instant pot rajma
Step By Step Photo Instructions:
1) Take paste ingredients (onion, tomato, ginger, garlic, green chili) in food processor or grinder.
2) Make paste out of it. I like the coarse texture of the gravy, so I have ground into coarse paste. If you prefer the smooth gravy then make smooth paste.
3) Turn on the instant pot with saute mode. Once hot add oil. Into hot oil, add cumin seeds and let them sizzle for 30-40 seconds. Then add prepared puree and mix.
4) Cook till all the moisture is gone and it becomes thick paste. During this cooking process the raw smell of onion will go away. This may take 8-10 minutes
5) Now add salt, turmeric powder, red chili powder and coriander powder.
6) Mix well and cook for a minute.
7) Add washed black eyed peas.
8) Also add water.
9) Mix everything well. Close the lid, Keep the vent on sealing position. Now cancel the saute mode and turn the setting to Manual mode (high pressure) and set 18 minutes.
10) After that time, Once it beeps, press cancel and let the pressure release naturally for 10 minutes only. Then manually release the pressure by changing the vent position. Once the pin drops, open the lid.
11) Add garam masala and kasuri methi. Crush kasoori methi between your palm before adding.
12) Stir well. (Keep in mind that gravy thicken as the time goes, so even if it looks watery, after 5-10 minutes beans has absorbed some water and it thickens more.) Still, if you feel that it has too much water then turn on the saute mode and let the gravy thicken.
13) Lastly add chopped cilantro.
14) Mix and it is ready to serve.
For a variation, add a tablespoon or two heavy whipping cream at the end to get creamy taste.
Serving suggestion: It tastes good with rice or any indian flat bread (roti, paratha, naan).
Cook Curry And Rice Using PIP Method:
- Soak the beans for 6-8 hours or overnight.
- Take washed 1 cup of basmati rice and 1 ¼ cup water in the inner pot to cook rice.
- Once you add water and beans to the instant pot, put trivet in and on top rice pot.
- Close the lid and cook on manual (high pressure) for 8 minutes. Let NPR for 10 minutes then do QPR.
Did you try this instant pot black eyed peas curry recipe? I'd love to hear about it! Leave a review in the comment section below.
Instant Pot Black Eyed Peas Curry
- 1 small or ½ cup Red onion roughly chopped
- 3 medium Tomato cut into big chunks
- 1 inch Ginger chopped
- 2 cloves Garlic chopped
- 1 Green chili chopped
- 2 tablespoons Oil
- 1 teaspoon Cumin seeds
- Salt to taste
- ½ teaspoon Turmeric powder
- 1 teaspoon Red chili powder
- 1 teaspoon Coriander powder
- 1 cup Black eyed peas (Lobia) washed under running cold water
- 2 ¼ cup Water
- ½ teaspoon Garam masala
- 1 teaspoon Kasoori methi (dried fenugreek leaves)
- Take paste ingredients (Onion, tomato, ginger, garlic, green chili) in food processor and make coarse or smooth paste.
- Wash the beans under running cold water and keep it aside.
- Turn on the instant pot with saute mode. Once hot add oil and cumin seeds, let the seed sizzle a bit.
- Then add paste and saute till all the watery part is evaporated and it becomes thick paste.
- Now mix in salt, turmeric powder, red chili powder and coriander powder, saute for a minute.
- Add beans and water.
- Close the lid, keep the vent on sealing position, change the setting to manual (high pressure) for 18 minutes.
- Once beeps, press cancel. Let the pressure releases naturally for 10 minutes only then release the pressure manually by changing the vent position.
- Once pin drops, open the lid, mix in garam masala and kasoori methi.
- Lastly garnish with chopped cilantro and serve.
- Soak the beans for 6-8 hours or overnight.
- Take washed 1 cup of basmati rice and 1 ¼ cup water in the inner pot to cook rice.
- Once you add water and beans to the instant pot, put trivet in and on top rice pot.
- Close the lid and cook on manual (high pressure) for 8 minutes. Let NPR for 10 minutes then do QPR.