text:
Media Releases and Opportunities» Go to news main
Media release: First assessment of its kind shows environmental impact of the full range of aquatic foods to help guide more sustainable production and diets
Wednesday, Sept. 15, 2021 (Halifax, NS) – A landmark study has shown what kind of toll the production of a variety of aquatic or 'blue foods' has on the environment, while highlighting the significant unfulfilled potential for aquaculture to become more sustainable.
The research, titled the "Environmental performance of blue foods," was one of five initial scientific papers published today as part of the Blue Food Assessment (BFA).
The authors, from Dalhousie University and several other international institutes, produced the most standardized assessment of the environmental pressures stemming from 'blue food' production to date. It covers nearly three quarters of global production and draws on studies reporting data from more than 1,690 fish farms and 1,000 unique fishery records worldwide.
The paper finds that seaweeds and farmed bivalves, such as mussels and oysters, generate the fewest greenhouse gas and nutrient emissions, like phosphorous and nitrogen, and use the least land and water. Capture fisheries also result in few nutrient emissions and use limited land and water. Compared to farmed fish, however, the researchers found greenhouse gas emissions range from relatively low, for such species as sardines and cod, to relatively high for flatfish and lobsters.
"Our results highlight not only the large differences in environmental impacts between and within major sources of blue foods across these environmental stressors, but confirm the important role that many blue foods can play in reducing the impacts of human diets," says Peter Tyedmers, a co-author and professor in Dalhousie's School for Resource and Environmental Studies.
Commonly eaten farmed finfish, such as salmon and carp, outperform other farmed blue foods on several environmental indicators, while most blue foods outperform chicken, which generates similar environmental pressures as tilapia, one of the more impactful blue foods assessed.
This new set of standardized metrics can be used to benchmark the environmental impacts of blue foods to steer future production toward lower emissions and resource use -- a key part of the UN Sustainable Development Goals and ocean health.
"With demand for blue foods rising around the world, we need a better understanding of how the environmental pressures compare across this diverse group of foods so we can ensure we are eating not just nutritiously, but also sustainably," said Jessica A. Gephart, lead author and researcher at American University.
The paper also highlighted the potential of many subsectors, such as carp and milkfish, to improve their environmental performance through better farm management, efforts that reduce feed inputs and innovative technological interventions. Capture fisheries also have potential to reduce greenhouse gas emissions through improved management and optimizing gear types.
This research fills gaps in previous studies on the environmental stresses associated with food production, which often exclude blue foods. When blue foods are included, they are often lumped together, overlooking the vast range of species in the sector.
The study will ultimately allow businesses, certifiers, NGOs, consumers and other interested parties to make more informed decisions about how to support sustainable blue foods, while also highlighting the rich diversity and variety of the blue food market.
Notes for editors:
For more information or to arrange interviews, contact c/o Marchmont Communications:
+61 434 635 099
+44 7929 212 534
Senior Research Reporter
- Media release: Better climate models predict worse outcomes for marine ecosystems in our warming oceans
- Media opportunity: Dalhousie researchers explore the 'virtual village' and how videoconferencing could help reduce feelings of isolation for new moms
- Remote pond yields insight into the eating habits, climate change adaptations and environmental legacy of a lost Inuit population: Dalhousie researcher
- Media release: New study finds cannabis labelling is misleading and doesn't accurately reflect a plant's chemical composition
- Media opportunity: Dalhousie students recognized for developing innovative, cost‑effective device that shelters people in wheelchairs from wet weather
- Media opportunity: Sea‑level rise causing permafrost along Arctic coastlines to thaw and retreat, threatening northern ecosystems: Dalhousie research
- Study reveals the challenges of being homeless during the COVID‑19 pandemic and recommends ways to help address isolation, mental health struggles and improved access to affordable housing
- Media opportunity: Dalhousie research shows children are concerned with fairness, but may favour their in‑group peers over apparent need when it comes to sharing
comments powered by Disqus


text:
Sign up to receive our regular news and events announcements – we send about one newsletter per month.
In their Script & Performance Workshop, Fiona and Mike use scripts from television shows they have both written for, or acted in, to help students hone their performance skills. The skills and tips learnt by students in this workshop can be used and applied to numerous situations in students' lives, building their self-esteem and giving them the confidence to deal with a range of everyday obstacles and experiences.
In their workshop, Fiona and Mike use scripts from television programs they have worked on to help students explore character work, comedy, drama and confidence building. Some of the topics covered include covering the integral tools necessary for performing, such as timing, conflict, the law of opposites, tension and release, characterization and avoiding clichés.
Having a dream is one thing. Knowing how to chase it down is another. Following your passion is wonderful, but it means finding a work ethic too. Through storytelling and multimedia, Fiona Harris and Mike McLeish share their stories and experiences of working across multiple disciplines within the Australian arts sector, as well as providing […]

source: m-a-p/FineFineWeb


text:
The Almond Board of California (ABC) has put together a mini-documentary highlighting the evolution of whole orchard recycling (WOR) in California. The video, 'RESILIENCE: The Whole Orchard Recycling Origin Story,' focuses on the story of Dr. Brent Holtz and his experience with WOR. Senior Manager of Industry Relations and Communications for ABC, Jenny Nicolau said the video centers on "how a single idea can spark a change for an entire industry."
Throughout the video, Dr. Holtz details his experience growing up on the farm and how the seed for WOR was planted early in his life. For more than 30 years he has been researching the practice to better understand the multitude of benefits that it can provide for growers. WOR can help to improve water holding capacity, increase soil organic matter, and increase yields. Deciding what to do at the end of an orchard's productive life can be difficult. WOR offers growers a chance to still get value from their old trees. "The benefits of whole orchard recycling means you're not just ripping out 25 years of history and work but you're really reincorporating that into the success and the future of the next orchard you plant," Nicolau explained.
ABC has a host of other documents and videos covering a wide array of industry topics, but Nicolau explained the mini-documentary was the first of its kind for them. The new video serves to complement the additional resources already available to industry members interested in learning more about WOR.
"Growers can learn more, and they can actually download the whole orchard recycling guide which is a complete how-to and it also outlines some benefits and considerations," said Nicolau "So really some great resources, how-to videos, grower guides, and this documentary on Brent Holtz and his life and his research, I think is that cherry on top."
Listen to Nicolau's interview below.


text:
Toward a Culture of Traffic Safety
This issue features four articles examining the topic of traffic safety culture. The articles overall present a synthesis of some of the key findings from "Improving Traffic Safety Culture in the United States: The Journey Forward", a 2007 report from the American Automobile Association (AAA) Foundation. The first article defines and examines the topic of traffic safety culture. The second article offers suggestions as to how the culture can be changed. The role of speed is discussed in the third article. The fourth article presents interviews with two California policymakers.
- Media Type: Print
- Features: Illustrations;
- Pagination: v.p.
- Traffic Safety Center Online Newsletter
- Volume: 5
- Issue Number: 1
- TRT Terms: Awareness; Highway safety; Public participation; Raised road markings; Rumble strips; Traffic crashes; Traffic safety; Traffic speed
- Subject Areas: Highways; Safety and Human Factors; I82: Accidents and Transport Infrastructure; I85: Safety Devices used in Transport Infrastructure;
- Accession Number: 01142725
- Record Type: Publication
- Source Agency: UC Berkeley Transportation Library
- Files: BTRIS, TRIS
- Created Date: Oct 20 2009 2:56PM


The Daughters of Carrawburgh
Sam Layton, a respected psychic medium, is called upon by a reclusive landowner to determine how a murder at a prehistoric stone circle relates to human sacrifices that have occurred there through antiquity. He joins forces with Emma, an archaeologist grieving for her husband recently killed at the site, but events begin to affect him on a personal and dangerous level …
Whilst investigating the paranormal occurrences in the area, and with the discovery of more gruesome archaeological finds, Layton believes they relate to events locked away in his childhood memories. He is also desperate to discover the fate of the woman he loves.
Set against the atmospheric backdrop of ancient landscapes, stone circles, Roman ruins and ghosts, forests and moorland, The Daughters of Carrawburgh is a thrilling paranormal adventure.


text:
Jump to Main Content
Amides Do Not Always Work: Observation of Guest Binding in an Amide-Functionalized Porous Metal–Organic Framework
- Benson, Oguarabau, da Silva, Ivan, Argent, Stephen
P., Cabot, Rafel, Savage, Mathew, Godfrey, Harry G.W., Yan, Yong, Parker, Stewart F., Manuel, Pascal, Lennox, Matthew J., Mitra, Tamoghna, Easun, Timothy
L., Lewis, William, Blake, Alexander J., Besley, Elena, Yang, Sihai, Schröder, Martin
- Journal of the American Chemical Society 2016 v.138 no.45 pp. 14828-14831
- adsorption, amides, carbon dioxide, geometry, porosity, spectroscopy
- An amide-functionalized metal organic framework (MOF) material, MFM-136, shows a high CO₂ uptake of 12.6 mmol g–¹ at 20 bar and 298 K. MFM-136 is the first example of an acylamide pyrimidyl isophthalate MOF without open metal sites and, thus, provides a unique platform to study guest binding, particularly the role of free amides. Neutron diffraction reveals that, surprisingly, there is no direct binding between the adsorbed CO₂/CH₄ molecules and the pendant amide group in the pore. This observation has been confirmed unambiguously by inelastic neutron spectroscopy. This suggests that introduction of functional groups solely may not necessarily induce specific guest–host binding in porous materials, but it is a combination of pore size, geometry, and functional group that leads to enhanced gas adsorption properties.


text:
- vulgar •
Pronunciation: vêl-gêr • Hear it!
Part of Speech: Adjective
Meaning: 1. Of the unwashed masses, plebian, related to common people, the riff-raff, the hoi-polloi. 2. Common, base, ordinary. 3. Bawdy, foul, immodest, immoral, impure, indecent, indelicate, lascivious, lecherous, lewd, licentious, lubricous, lurid, obscene, offensive, profane, profligate, prurient, ribald, salacious, shameful, shameless, vile, wanton.
Notes: All the words we have for the third sense of today's Good Word makes us wonder why we had to corrupt a perfectly good word to create another. But so it goes. Over the centuries this word's good meaning has slowly tumbled one to a pejorative one. The noun for this word is vulgarity and a vulgar word is a vulgarism.
In Play: I hear today's bad Good Word used most often as a synonym of profane: "I was shocked to hear Ben de Hellenbaque use vulgar language around such proper ladies." However, the sense of commonplace remains: "Maud Lynn Dresser is a woman of vulgar tastes, especially in clothes."
Word History: Today's word comes from Latin vulgaris "related to common people", from vulgus "people, the masses, a crowd". Latin inherited it from the Proto-Indo-European root *welg- "to crowd, throng". which turned up in Sanskrit as vargah "division, group". It kept its original meaning in the Germanic languages: German Volk "people", as in Volkswagen "car of the people", and English folk. (Today's rather tawdry Good Word was suggested by Ella Minnow Pea of Smoketown, Pennsylvania.)

source: HuggingFaceFW/fineweb-edu


Pages
Saturday, 1 February 2020
Automating Heap Dumps For Java Containers in Google Kubernetes Engine
Heap dumps are an indispensable tool for debugging memory issues in Java processes. The typical way of taking a memory dump is using the jmap command
jmap -dump:format=b;file=/tmp/heap.dump 2592
This will trigger a heap dump for the process with id 2592 (assuming it's a Java process) and store it in a file /tmp/heap.dump. This can be analyzed later with a heap dump analyzer like jhat, MAT, or VisualVM - which are free tools.
Triggering a heap dump for a Java process that is running in a container, inside a pod, in a Google Kubernetes Engine (GKE) cluster node is not so straightforward. There are many layers of infrastructure that you have to cross to get at the Java process. Your process would usually run as part of a managed abstraction like a Deployment or a StatefulSet in your Kubernetes cluster. Your starting point would be just the pod name.
But,
- Knowing the pod name is not enough - you also have to locate the cluster node where it's running and ssh into it.
- A GKE node might be running many pods, and many Java processes - you have to identify the correct one once once you have ssh'ed into it. "docker ps" can help here.
- The GKE node might not have jmap. It's not straightforward to install the JDK there because it would typically be running COS. So you have to get inside the container and trigger the dump.
- You have to copy the dump to an accessible location, maybe a GCS bucket, from where you can download it to analyze. Uploading to a GCS bucket requires gsutil, which is not present by default in a COS node.
I have automated this entire process using just shell scripts and gcloud commands. The source code is on GitHub. They also use the toolbox utility that Google provides as a container for running debug tools. Invoking "toolbox" inside your GKE node will launch this container.
These scripts have an assumption which might not be valid for your cluster - I'll point it out at the relevant point in the code.
Here's a step by step explanation of the flow.
There are 3 shell scripts - k8s-debug-client.sh being the one to run from your dev box or bastion host. This one invokes k8s-debug-vm.sh (inside the GKE cluster node, i.e. the VM) which in turn invokes the k8s-debug-toolbox.sh.
First we find out the node on which the pod is running
node_name='kubectl get pod ${pod_name} -o json | jq '. | .spec.nodeName''
and get its public IP
public_ip='gcloud compute instances list --filter="name=(${node_name})" --format="value(networkInterfaces[].accessConfigs[0].natIP)"'
copy the other two scripts to it
scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${keyfile} k8s-debug-vm.sh k8s-debug-toolbox.sh ${user}@${public_ip}:
and trigger them
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${keyfile} ${user}@${public_ip} sh k8s-debug-vm.sh ${pod_name} ${action} ${bucket}
I turn off the ssh warnings as I trigger this from a CI system on demand. If you run them manually, you can remove the -o options.
Inside the GKE node, k8s-debug-vm.sh figures out the correct container id and uses docker exec to trigger a heap dump inside it.
container_id='docker ps | grep ${pod_name} | grep -v "POD" | awk '{print $1}''
docker exec ${container_id} sh -c "jmap -dump:format=b,file=heap.dump 1"
Note that the heap dump is inside the container, and not in the VM. You may not be able to push it to a GCS bucket from the container as there is no gsutil and no permissions. So we need to copy the dump to the VM. We copy it to a uniquely named file.
dttime='echo $(date '+%d-%b-%Y-%H-%M-%S')'
filename=${pod_name}-${dttime}.hdump
docker cp ${container_id}:heap.dump ${filename}
Now you have the dump file in the VM but there is no gsutil. So you need to invoke toolbox, which has gsutil inside it. Does that mean we need to copy the dump inside toolbox now? No, because toolbox mounts several useful directories by default from the VM it's running on.
So we just invoke toolbox and pass it the path to the k8s-debug-toolbox.sh (which is in the home directory of the user you are logged in as in the VM) as it would appear from inside toolbox (since the home directory is also mounted inside toolbox).
Inside toolbox, we can use gsutil to upload the dump file (which is also available inside toolbox because it's in the home directory of the user you are logged in as in the VM). But here's a catch. gsutil requires permissions to upload to a GCS bucket. One way to provide this permission is with an IAM permissions JSON file. But how does it get to the VM?
This is the caveat I mentioned above. In the infrastructure I manage, almost every Java pod has a config map with a permissions file that the pod uses to access Google Cloud services. This file is accessible as a mounted directory inside toolbox, so, voila!
/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=${dir}/key.json
/google-cloud-sdk/bin/gsutil cp /media/root/home/${user}/${filename} gs://${bucket}/kdev-debug/${filename}
If you don't have this shortcut, you will a need to set the permissions somehow. There are multiple ways of doing it - one being to run a custom container instead of toolbox that has gsutil installed and can mount a config map which has the permissions. Another is to upload the permissions file to the VM when you run the command, use it from inside toolbox, and then delete it. The second one is a tad risky.
These scripts can be modified to be usable for any Kubernetes cluster and not just GKE. Most of the changes will be in the commands that fetch the list of running nodes. If you are using another OS for your K8S VMs, you can install Java directly on the VM and trigger the dump, after you find out the mapping between the container ids and the process ids as visible from the VM.
No comments:
Post a Comment


text:
Microsoft announced PowerShell Core to push the boundaries further in such a way that the language is available for everyone no matter where they are from or what platform they work on. Hence, they made PowerShell Core of Windows 10, Linux as well as macOS. Also, it supports all the architectures of the mentioned platforms. In order to make it better integrated to the supported platforms individually, they are starting off with Linux, and today Microsoft announced that PowerShell Core is now available as a Snap package for Linux Machines.
What is a Snap Package for Linux
To be precise, Snap Packages are applications that are bound together and can be installed on multiple Linux distributions.
They are actually a really practical approach. As on the blog post, Microsoft said that it is better than the traditional Linux software packages like DEB and RPM. Some of those advantages are as follows:
- Snap packages carry all of their own dependencies, so you don't need to worry about the specific versions of shared libraries installed on your machine
- Snap packages can be installed without giving the publisher root access to the host
- Snap packages are "safe to run" as they don't interact with other applications or system files without your permission
- Updates to Snaps happen automatically and include the delta of changes between updates
How to install it?
If you wish to install PowerShell Core as a Snap Package, first of all, make sure that you have Snapd installed.
Then, just run this command and get it ready for you.
snap install powershell --classic
After this is done, just type in pwsh to launch PowerShell on your Linux Machine.
In case, you wish to see the bug fixes and features earlier, just install the preview version of PowerShell by running the following command.
snap install powershell-preview --classic
And now, if you want to launch PowerShell Preview just type in pwsh-preview from your terminal.
You can read more about this announcement here.


Formatting Codes for n_settsql() and n_gettsql()
DESCRIPTION
The formatting codes placed in the n_settsql() stmt variable and the n_gettsql() format variable deal with the same kinds of data. Each code's usage for both input and output will be discussed together. The basic difference between input and output modes is as follows.
Output is from n_gettsql() to your variables. All output variables are specified by address (like scanf()) so that they may be re-pointed to the allocated data retrieved from the server. You must free() the output variables when you are finished with the data or your program will grow ever larger with each resultant row until the the bounds of time and space are reached and the universe begins to tear at the seams and finally explodes in a spectacularly fiery ball just because you didn't bother to free a few variables.
Input is from your variables to n_settsql(). Input variables are specified directly (like printf()) rather than by address. They are not modified or freed by n_settsql().
%b
Communicates SQL byte fields via C byte variables. Provide byte ** for output and byte * for input. Typically used for raw binary data. It assumes one byte on input since the length of your data can not be determined. On output it gets as much data as is in the field. It is up to you to know the length of it somehow. See %p%n for more robust buffer handling.
%p%n
Communicates any SQL field type via C byte variables. Provide byte ** and size_t * for output and byte * and size_t for input. Typically used for raw binary data. Both %p and %n must be provided and in that order. Therefore you must supply two variables. The first is a byte pointer to the data buffer and the second is a size_t that is the number of bytes in the buffer.
%s
Communicates SQL char and indirect fields via C char variables. Provide char ** for output and char * for input. The data is a standard '\0' terminated string. Accessing an indirect this way transfers the name of the indirect file. See %< and %> to transfer indirect file contents.
%lf
Communicates SQL double fields via C double variables. Provide double * for output and double for input.
%lu
Communicates SQL date fields via C long variables. Provide long * for output and long for input.
%f
Communicates SQL float fields via C float variables. Provide float * for output and float for input.
%d or %ld
Communicates SQL integer fields via C long variables. Provide long * for output and long for input.
%hd
Communicates SQL smallint fields via C short variables. Provide short * for output and short for input.
%w
Communicates SQL unsigned smallint fields via C word (16 bit) variables. Provide word * for output and word for input.
%dw
Communicates SQL unsigned integer fields via C dword (32 bit) variables. Provide dword * for output and dword for input.
%64d
Communicates SQL int64 fields via C EPI_INT64 (64 bit signed) variables. Provide EPI_INT64 * for output and EPI_INT64 for input. INT64 support was added in Texis version 6.
%64u
Communicates SQL uint64 fields via C EPI_UINT64 (64 bit unsigned) variables. Provide EPI_UINT64 * for output and EPI_UINT64 for input. UINT64 support was added in Texis version 6.
%<
Communicates SQL indirect fields via C char variables and disk files. This is for input only. Provide a char * variable that points to the name of a file. The file will be uploaded to the server and be stored as a Texis managed indirect.
%>
Communicates SQL indirect fields via C char variables and disk files. This is for output only. Provide a char ** variable. The contents of this variable will be examined before retrieving the contents of the indirect file from the server.
In all of the following cases your supplied filename will be replaced with a generated and allocated filename that is where the contents of the indirect file from the server were downloaded to on the local machine. The third case is an exception to the allocated value rule.
If the variable points to (char *)NULL a temporary filename will be generated with the standard C library call tempnam().
If the variable points to the name of an existing directory on the local machine the resulting filename will be that directory with the name of the file on the server appended to it. (i.e. The file will wind up in the specified directory).
Otherwise the variable is taken to be the exact name of the file to place the file from the server in. Anything previously in the specified file will be lost. In this case the resultant filename will be untouched.
The contents of your variable will not be freed, just overwritten. If it needs to be freed, you will have to keep another copy of it to free after the transfer.
%c
Communicates SQL counter fields via C ft_counter variables. Provide a ft_counter ** for output and a ft_counter * for input. ft_counter is a structure that contains two members called date and seq. date is a long that contains the date in seconds (see std. C time()) that the counter was created. seq is a ulong that contains the sequence number for the particular second described by date. The combination of these values provides a unique id across every record in every table in a given database.
%ls
Communicates SQL strlst fields via C char variables. Provide a char *** for output and a char ** for input. The string list is an allocated array of pointers to allocated strings. The list is terminated with an allocated empty string ("").
%aD
Communicates all remaining resultant fields via a C char variable. This is for output only. Provide a char **. All fields that have not already been extracted will be packed together into a C string with the character D between each field. Where D is any single character except \000. Non-printable characters may be specified with octal (\ooo) or hex (\xhh) notation (e.g.: tab would be \011 in octal and \x09 in hex). Binary data that can be converted to human readable form will be (e.g.: INTEGER FLOAT COUNTER). Everything after the %aD code will be ignored since all the fields are now converted.
%o
Communicates Metamorph hit offset information for the preceding field. This is for output only. Provide a MMOFFS **. MMOFFS is the following structure:
MMOFFS /* Metamorph hit offsets */
 {
 int n; /* number if off's in array */
 MMOFFSE
 {
 long start; /* byte offset of start of region */
 long end; /* one past end of region */
 } *off; /* array of subhit offset info */
 int nhits; /* number of hit's in in array */
 MMOFFSE *hit; /* array of hit offset info */
 };
MMOFFS->off is an array of start and end offsets of subhits (individual search terms) within the field. MMOFFS->n is the number of entries in the off array. Each off is made of two members: long start and long end. Start is the byte offset of the subhit within the field. End is the byte offset of the end of the subhit within the field plus one (plus one makes for() loops easier to write). The offs array contains subhits from all Metamorphs that may have been applied to the field. Offsets are sorted in ascending order by start offset.
Overall hit and delimiter offsets are contained in MMOFFS->hit in a manner analogous to subhit info. MMOFFS->nhits is the number of entries in the hit array and will always be a multiple of three. For each Metamorph on a field there will be three entries. The first contains the offsets of the overall hit (sentence, paragraph, etc...). The second contains the offsets of the start delimiter. The third contains the offsets of the end delimiter.
MMOFFS must be freed with freemmoffs(MMOFFS *) instead of the normal free(void *). freemmoffs(MMOFFS *) can handle MMOFFSPN. This will be MMOFFSPN if there is no Metamorph data for the field. This can happen for a number of reasons. If the search could be completed in the index without needing to read the record, then there will be no hit information. Also if you have ordered the output the hit information can become invalid in the ordering, and the pointer will be NULL.
SEE ALSO
n_settsql() and n_gettsql()
Copyright © Thunderstone Software Last updated: May 19 2023
Copyright © 2023 Thunderstone Software LLC. All rights reserved.


Browse Dictionary by Letter
Dictionary Suite
interrogatory containing or communicating a question; interrogative. [2 definitions]
interrupt to cause to stop; break off. [4 definitions]
interruption the act of interrupting or the state of being interrupted. [2 definitions]
interscholastic among or between different schools.
intersect to cut across or pass through; cross. [3 definitions]
intersection the point or place where two or more things such as roads intersect. [2 definitions]
intersectional combined form of sectional.
intersegmental combined form of segmental.
intersensory combined form of sensory.
intersex an individual who has sexual characteristics that are intermediate between male and female.
intersexual existing or happening between sexes. [2 definitions]
intersocietal combined form of societal.
intersociety combined form of society.
intersperse to place or scatter among other things.
interstage combined form of stage.
interstate concerning or connecting two or more states, esp. of the United States. [2 definitions]
interstation combined form of station.
interstellar existing or occurring between or among the stars.
interstice a small or narrow space or interval between two parts or things.
interstimulus combined form of stimulus.
interstitial concerning, located in, or forming interstices. [2 definitions]


text:
Erasmus and the Jews
Erasmus and the Jews discusses Erasmus' critique of Mosaic law and his view of the conflict between "Judaism" as legalistic morality and Jesus' teaching; his judgment on the Pharisees of Jesus' time; his emphasis on the importance of the study of Hebrew; and his opinions of sixteenth-century Jews. This meticulous analysis reveals an Erasmus who defended his vision of true piety by rejecting "Judaizing" Christians more than Jews and who saw the Old Testament as integral to the Christian worldview. As a Christian, he regretted nonbelief and pitied unbelievers, without vicious hostility toward any single people. His theological opposition to a form of religious thought which he identified with Judaism was not translated into crude prejudice against actual Jews. In general, his calm consideration of the strange and the foreign and his willingness to restrict his judgments to the philosophical realm were, Markish argues, early and significant steps toward enlightened toleration.
Markish's discussion of Erasmus is supplemented with an Afterword by theologian and philosopher Arthur A. Cohen, who offers a variant interpretation of Erasmus' writings and attitudes. The juxtaposed arguments of the two scholars make this an especially illuminating work for any student of Erasmus and his influence. Erasmus and the Jews also gives a necessary clarity to our understanding of the meaning of anti-Semitism and the history of religious toleration. Markish's profound knowledge of Erasmus allows him to demonstrate the fundamental importance of putting arguments and terminology in the context of a thinker's work and his own time.
I. The Problem Posed
II. Mosaic Law, Judaism, and "Judaism"
III. The Old Testament
IV. The Jews of the Gospel Era
V. The Jews of Erasmus' Day
VI. The Hebrew Language
An Afterword, by Arthur A. Cohen

source: openbmb/Ultra-FineWeb


text: In this paper, a new algorithm based on Meshless Local Petrov-Galerking (MLPG) method is presented for analyzing the crack dynamic propagation. A new modified Moving Least Squares approximation is proposed to simplify the treatment of essential boundary conditions. Explicit central difference with lumped mass matrix is adopted for the time integral. Visibility criterion with crack edge node adding technique and the maximum hoop stress criterion are used to describe the crack propagation and forecast the crack propagation direction. Based on this algorithm, three-point bend specimen for impact fracture test is investigated. Comparing the results with those obtained by the laser caustic method and high-speed photographs, the accuracy of the present algorithm is proved.


text:
Catholic Encyclopedia (1913)/Lake Indians
Called by themselves SENIJEXTEE and possibly identical with the LAHANNA of Lewis and Clark in 1805, a small tribe of Salishan stock, originally ranging along Columbia River in northeast Washington from about Kettle Falls to the British line. In 1820 Fort Colville trading-post was established by the Hudson Bay Company in their country, but they remained almost unchanged until Christianized in 1846, chiefly through the efforts of the Jesuit Father Adrian Hoecken, who in that year established the summer mission of St. Paul at the Falls. In 1870 they were officially described as living entirely by hunting and fishing, selling their furs to the traders, well fed and clothed, peaceable, friendly, independent, and Catholic in religion. They numbered then 239. In 1872 they were collected with other kindred tribes upon Colville Reservation in the same territory. With the other confederated tribes they are now attached to the mission of Saint John Francis Regis, at Ward, in charge of the Jesuit Fathers, assisted by the Sisters of Charity of Providence. They numbered 283 in 1908, a considerable increase over earlier figures. (See also KALISPEL INDIANS.)
BUREAU CATH. IND. MISSIONS, Reports (Washington), Reports of Commissioner of Indian Affairs (Washington); MOONEY in Handbook Am. Inds., I (Washington, 1907), s. v. Missions; SHEA, Catholic Missions (New York, 1854); DE SMET, Oregon Missions (New York, 1847); WINANS in Report of Commissioner of Indian Affairs (Washington, 1870).


text:
As the number of climbers visiting the park has increased through the years, the impacts of climbing have become much more obvious. Some of those impacts include: soil compaction, erosion, and vegetation loss in parking areas, at the base of climbs, and on approach and descent trails, destruction of cliffside vegetation and lichen, disturbance of cliff-dwelling animals, litter, water pollution from improper human waste disposal, and the visual blight of chalk marks, pin scars, bolts, rappel slings, and fixed ropes. Many of these impacts can be eliminated or greatly reduced by following the minimum impact practices outlined in the conservation guidelines offered on this page. The impacts of your actions may seem insignificant, but when multiplied by the thousands of people who climb here every year they can have a significant, long lasting effect.
Your help is needed to ensure that Yosemite remains a beautiful and healthy place for the future.
What you can do:
- Read and follow the guidelines and regulations.
- If you see climbers who are not following these guidelines, talk to them. Explain how they can minimize their impact, and why it is important that they do so.
- Clean up after others. Pick up trash when you see it, or return with friends on a rest day and do a thorough clean-up. Take part in organized clean-ups and other projects.
- Climb safely! Rescues endanger rescuers' lives, are expensive, and cause a lot of impact.
- Keep informed about closed areas, and respect these closures.
More than 100 climbing accidents occur in Yosemite each year; of these, 15-25 parties require a rescue. Climbing in Yosemite has inherent risks and climbers assume complete responsibility for their own safety. The National Park Service does not maintain routes; loose rock and other hazards can exist on any route. Rescue is not a certainty. If you get into difficulties, be prepared to get yourself out of them. Know what to do in any emergency, including injuries, evacuations, unplanned bivouacs, or rapid changes in weather. Safety depends on having the right gear and the right attitude. Practice self-rescue techniques before you need them! Courtesy is an element of safety. Falling rock or gear is a serious hazard. Be careful when climbing above others. Do not create a dangerous situation by passing another party without their consent.
The Yosemite Medical Clinic, located between Yosemite Village and The Majestic Yosemite Hotel (formerly The Ahwahnee), is equipped to handle climbing injuries. If you cannot get to the clinic on your own, call 911 for assistance.
If you are injured or stranded while on a climb and cannot self-rescue, yell for help to obtain assistance. If you require a helicopter evacuation, do only and exactly what you are told by rescue personnel.
At the current time, wilderness permits are not required for nights spent on a wall. It is illegal to camp at the base of any wall in Yosemite Valley. If you must bivouac on the summit, you are required to follow all regulations:
- Do not litter, toss, or cache anything. If you hauled it up, you can carry it down.
- If you must have a fire, use an existing fire ring.
- Do not build windbreaks, platforms, or other "improvements."
Half Dome: Camping at the base of Half Dome is legal, but a wilderness permit is required. Camping on the summit of Half Dome is prohibited.
- Fight litter! Don't toss anything off a wall, even if you intend to pick it up later. Don't leave food or water at the top or on ledges for future parties. Set a good example by picking up any litter you see, including tape wads and cigarette butts.
- Don't leave fixed ropes as permanent fixtures on approaches and descents. These are considered abandoned property and will be removed.
- Minimize erosion on your approach and descent. If an obvious main trail has been created, use it. Go slow on the way down to avoid pushing soil down the hill. Avoid walking on vegetation whenever possible.
- If you need to build a fire for survival during an unplanned bivouac on the summit, use an existing fire ring. Building a new fire ring or windbreak is prohibited. Make sure your fire is completely out before you leave.
- Clean extra, rotting slings off anchors when you descend. Bring earth-toned slings to leave on anchors.
- Check the Camp 4 kiosk or the Mountain Shop for the current Peregrine Falcon closures.
- On first ascents: Please think about the impacts that will be caused by your new climbIs the approach susceptible to erosion? Is there a lot of vegetation on the rock? "Gardening" (i.e., killing plants), is illegal in Yosemite. Can the climb be done with a minimum of bolts? Motorized drills are prohibited.
Climbing Instruction and Guide Service
Contact Yosemite Mountaineering School and Guide Service at 209/_PHONE_ for information on rates and schedules.


be tolerated.
 5. Swimmers are expected to help create a supportive atmosphere in both training and competitive settings. Treat all athletes as you would like to be treated.
 6. Swimmers are expected to refrain from using profane, disrespectful or threatening language both in person and while using social media, towards other swimmers, coaches and officials. This includes interaction on social media platforms.
 7. Swimmers are expected to refrain from being under the influence or possession of alcohol, social, non-prescription drugs. This includes the possession or use of cigarettes and e-cigarettes.
 8. Swimmers are expected to have permission from the coach to leave the deck during practice or meets. (For safety reasons, the coach must know where swimmers are at all times.)
 9. Swimmers must represent the Windsor Aquatic Club in a positive manner at all times. This applies to practice, during swim meets, team travel events and when interacting with teammates on social media platforms.
 10. Be a good sport. Cheer your teammate's performances and treat other athletes, parents, officials and coaches with courtesy and respect at all times. This Code of Conduct is in effect during all WAC activities. Breach of the code can result in, but is not limited to, suspension from practice, suspension from competition, formal verbal or written apologies and any other form of disciplinary measure considered appropriate by the club.
Please click HERE to read the Swim Ontario Code of Conduct.


text:
Religious Studies: The Key Concepts
By Carl Olson
Published September 15th 2010 by Routledge – 320 pages
Series: Routledge Key Guides
Religious Studies: The Key Concepts is an accessible, A-Z resource, defining and explaining key terms and ideas central to the study of religion. Exploring broad and recurring themes which are applicable in both eastern and western religions, cross-cultural examples are provided for each term to give a comprehensive overview of the subject. Subjects covered include:
With cross referencing and further reading provided throughout, this book provides an inclusive map of the discipline, and is an essential reference for all students, academics and researchers.
Preface List of Key Concepts Religion and Religious Studies: An Introduction Key Concepts Bibliography
Carl Olson is Professor of Religious Studies at Allegheny College where he has held the National Endowment for the Humanities Chair and the Teacher-Scholar Professorship of the Humanities. He is currently a permanent fellow of Clare Hall, University of Cambridge


Menu
Understanding the difference between PTP and Synchronous Ethernet
Oct 3, 2019
MT1000A Network Master Pro
The Network Master Pro is the ideal mobile frontal deployment tool. Supporting Ethernet activation testing up to 100Gb/s and comprehensive PTP and SyncE testing it is fully capable of turning up remote radio sites.
FIND OUT MORE >
5G networks are heavily reliant on highly accurate phase and time being available to deliver on the promise of 5G-NR.
Two technologies have historically been used to deliver synchronisation to base stations, PTP and Synchronous Ethernet, however, the technology and capabilities of each are very different.
Synchronous Ethernet
Synchronous Ethernet uses a traditional synchronisation delivery method that has been used previously in transmission networks going back to the SDH and PDH networks.
In this case, the synchronisation is derived from the edges of the pulses being sent across the transmission medium (copy or fibre optic cables).
A high-quality clock reference – derived perhaps from a GPS clock source or a caesium clock – is used to time the output from the core of the network. In this way pulses sent down the fibre or cable occur at a frequency that matches the clock reference.
Transmitted signal edges are times to match the frequency of the sync source. Clock recovery at the far end extracts sync and uses it for internal timing as well as a possible external option.

At the far end of the link, a clock recovery operation occurs, analysing where those signal edges are and using this to drive another clock within the receiving equipment. In this way, the receiving equipment can use a similar class of clock reference as that one in the core.
While historically this was carried out over transmission protocols this same technique is now being used over Ethernet links.
A critical function that occurs at the receiving equipment is choosing which of possibly several incoming synchronisation sources should be used, and this is why SyncE uses a messaging protocol – the Ethernet Synchronisation Message Channel (ESMC) – to indicate the synchronisation quality.
The ESMC channel contains a quality level (QL) indicator that tells the receiving device the quality of the synchronisation, and these indicators are compared and used to decide which reference should be used, this is especially important in cases of failover.
There are some limitations. Synchronous Ethernet can only be used to derive a frequency, whereas 5G networks require a source for frequency and phase to deliver maximum bandwidth. Secondly, the timing has to be terminated and regenerated at every piece of equipment down the line. For synchronisation delivery to the edge of the network, every device between the source clock and the edge device needs to be upgraded to support SyncE.
PTP
PTP differs significantly from SyncE in that a protocol (specified in IEEE1588 v2) is used to deliver the timing to the edge of the network. This immediately overcomes the problem in SyncE of requiring every hardware device to be upgraded. In PTP the packets can traverse the network just like any other protocol.
PTP relies on a device called a Grandmaster. This takes a sync source (usually a GPS based source) and uses this source to create a series of timestamped PTP packets that it sends out across the network to slave clocks at the far end.
The slave clocks use the PTP protocol to create a sync signal for use on its local site.
The Slave Clock subscribes to the messages from the Grand Master and from that point on the Grand Master will send Sync packets to the Slave Clock.
The Sync packet that the Grand Master sends includes a timestamp from the time of the packet generation (T1) that is extracted by the Slave Clock, which also stores a timestamp of when it received the packet (T2).
The Slave Clock responds to the sync message by ending a Delay Request packet back to the Grand Master. Within the Delay Request packet, the Slave Clock sends another local timestamp (T3) back to the Grand Master.
When the Grand Master receives the Delay Request packet, it responds to the slave clock with a Delay Response that includes another timestamp (T4) from the Grand Master that is the timestamp for the Delay Request packet being received.
PTP uses a number of timestamps exchanged between the Grand Master and the Slave Clock to deliver synchronisation.
The Slave Clock now has 4 timestamps available from packets exchanged with the Grand Master. These are used to calculate the time offset between the Grandmaster and the Slave Clock.
Once the offset has been calculated, the Slave Clock sets its internal clock to match that of the Grandmaster. The sync output from the Slave Clock is now derived from the same source as the Grandmaster.
The caveat with this method is that the offset calculation assumes that the latency between the Grandmaster and Slave Clock is the same in both directions – and this may not always be the case depending not the state of the network.
Conclusion
Both SyncE and PTP can deliver frequency sync to the edge of the network using completely different methods and with different network requirements and devices.
However, the 5G networks require phase synchronisation to support time division duplex (TDD) radio techniques, so PTP or a combination of PTP and SyncE are required to support these new RAN technologies.

Contact us to find out more
15 + 5 =


Country Element
In this tutorial you learn how to configure a country element with its specific values to use it in ZOO.
1. Configuration
Parameter settings
Here is the description of the different values:
Multiselect: Choose if you should be able to select more than one country in the item creation view (see step 3).
2. Element Assignment
Parameter settings
If you activated the Multiselect option in step 1 you can choose how the values are separated in the frontend. You can choose between different chars like comma or pipe or the values can be wrapped by a html element like a div or a li.
3. Item Creation
Parameter settings
This is how the element looks when you create an item. See this tutorial for creating an item. Choose the countries out of the list.
Documentation on Github


text:
logo go crack kurulumu
pole position 2012 crack free download A group of researchers of Massachusetts Institute of Technology (MIT) formed a new technique that will enlarge cells and provide high resolution images. The scientists named it as expansion microscopy. It will allow experts to effortlessly increase the size of tissue samples.
keygen do odlotowa farma 2 Unlike other latest scientific techniques, expansion microscopy is pretty simple and inexpensive. The scientists merely have to embed the tissue samples into a polymer with small quantity of water. The polymer will allow specimen to swell and magnify.
how to crack aptitude test of tech mahindra The researchers were analyzing the specimen when they realize the need of a new method to probe brain structure. They were astonished with the enlargement ability of sodium polyacrylate. The chemical increases the size of the thing which absorbs it as liquid. Generally, the chemical is utilized in baby diapers as the substance absorbs the liquid.
jacuzzi hot tub crack repair Ed Boyden, the developer of the technique states that experts were striving to make use of classical super resolution methods to examine the brain circuits. It was extremely difficult to use them since they can only we visualized up to two dimensions. Hence, they begin to look for a useful method to expand everything.
how long to cook boneless skinless chicken thighs in crock pot Nowadays, research on human brain is one of the most prominent fields of science. President Barrack Obama proclaims to give $100 million for the Brain related projects. The main objective of the project is to recreate the function of every neuron in the brain.
keygen untuk governor of poker 2 Researchers explained the new method in detail in Journal Science.


Cryptology ePrint Archive: Report 2021/827
TransNet: Shift Invariant Transformer Network for Power Attack
Suvadeep Hajra and Sayandeep Saha and Manaar Alam and Debdeep Mukhopadhyay
Abstract: Masking and desynchronization of power traces are two widely used countermeasures against power attacks. Higher-order power attacks are used to break cryptographic implementations protected by masking countermeasures. However, they require to capture long-distance dependency, the dependencies among distant Points-of-Interest (PoIs) along the time axis, which together contribute to the information leakage. Desynchronization of power traces provides resistance against power attacks by randomly shifting the individual traces, thus, making the PoIs misaligned for different traces. Consequently, a successful attack against desynchronized traces requires to be invariant to the random shifts of the power traces. A successful attack against cryptographic implementations protected by both masking and desynchronization countermeasures requires to be both shift-invariant and capable of capturing long-distance dependency. Recently, Transformer Network (TN) has been introduced in natural language processing literature. TN is better than both Convolutional Neural Network (CNN) and Recurrent Neural Network (RNN) at capturing long-distance dependency, and thus, a natural choice against masking countermeasures. Furthermore, a TN can be made shift-invariant making it robust to desynchronization of traces as well. In this work, we introduce a TN-based model, namely TransNet, for power attacks. Our experiments show that the proposed TransNet model successfully attacks implementation protected by both masking and desynchronization even when it is trained on only synchronized traces. Particularly, it can bring down the mean key rank below 1 using only 400 power traces if evaluated on highly desynchronized ASCAD_desync100 dataset even when it is trained on ASCAD dataset which has no trace desynchronization. Moreover, if compared to other state-of-the-art deep learning models, our proposed model performs significantly better when the attack traces are highly desynchronized.
Category / Keywords: implementation / side channel analysis, masking countermeasure, transformer network
Date: received 16 Jun 2021
Contact author: suvadeep hajra at gmail com
Available format(s): PDF | BibTeX Citation
Version: 20210621:075024 (All versions of this report)
Short URL:
[ Cryptology ePrint archive ]


text:
Brunfelsia lactea, commonly known as the Lady of the Night, is a large shrub hailing from the tropical regions of Puerto Rico. It grows up to 10 feet in height, forming an upright structure with a rounded shape. Its small, oval-shaped leaves are deep green in color, giving this shrub an attractive, bushy appearance.
The most striking feature of the Lady of the Night is its flowers. They bloom in clusters of 3 to 6, and range in color from off-white to white, each flower measuring an inch or two in length. What makes this plant so special is that the flowers are deeply fragrant, especially at night, and attract butterflies and hummingbirds.
In terms of care, the Lady of the Night grows best when planted in semi-shade and watered regularly, but it doesn't need too much attention. It can be grown in USDA Zones 9-11. When growing in a pot in cold regions, take extra care to protect the plant during winter and the temperature should not fall below 30°F.
The Lady of the Night is toxic, so children and pets should be kept away from it.


text:
The mission of III-V Lab is to perform research and development on III-V semiconductor components, and integration with Si circuits and micro-systems, from basic research to technology transfer for industrialization, or to small scale and pilot line production. III-V Lab takes advantage of the commonalities between the technologies developed for different markets addressed by Thales and Nokia, such as telecom, space, defence and security (for example, High bit rate Optical Fibre and Wireless Telecommunications, Microwave and Photonic systems for Defence, Security and Space). III-V Lab has also the capacity to produce and sell components (epitaxial wafers, processed wafers, modules) in small quantities (typically a few tens of wafers); this is one of its main business development axes. Its staff amounts to approximately 130 persons.
Infrastructures and Equipment
III-V Lab masters the different steps needed to manufacture III-V components from design to characterization. III-V Lab owns different growth equipments ranging from MBE machine Riber 49 used for the commercial fabrication of QWIP and QCL devices, to 5 MOVPE reactors. Its frontend technology is equipped with all the machines required for the fabrication of various III-V devices. For example, III-V Lab is equipped with state of the art UV lithography and electron beam lithography, metallization and etching equipment. Regarding the characterization, III-V Lab is equipped with different test benches able to fully characterize and qualify IR sensors and sources.


text:
Micro PHAZIR CSs are new-generation manual spectrometers reading on the transparent plastic or glass packaging to define pharmaceutical raw-materials and drugs by means of the reflected infrared light.
- Rapid analysis skill (3-6 sec),
- Mixture analysis-doing ability,
- Name description,
- Ability to read through the transparent plastic or glass packaging
- Making a measurement on the sample without contact,
- Light weight and portable


Introduction: Bounce Effect Night Lamp
This effect can be explained as follows:
An array of 6 leds is arranged. The blinking starts from both the end, i.e.,0 and the 5th led and will continue till the 2nd and the3rd led respectively. Then the blinking will start in the backward direction, i.e., from the 2nd to 0 and 3rd to the 5th. This process will continue as long as the lights are off.
LDR(Light Dependent Resistance) is used to control the blinking of leds.
Step 1: Components Required:
1. Arduino Uno board (You may use any other also)
2. Leds x 6
3. Light Dependent Resistance(LDR)
4. Breadboard
5. Jumper wires
6. Resistors (1k)
7. USB cable
Step 2: Code
// Create array for LED pins
byte ledPin[]={4, 5, 6, 7, 8, 9};
int delayLed(50); //Delay between changes
int currentLed1=0;
int currentLed2=5;
int direction1=1;
int direction2=-1;
int sensePin=A0;
unsigned long changeTime;
void setup()
{ // put your setup code here, to run once:
for(int i=0, j=5;i<3 && j>2;i++, j--) //set all pins to output
{ pinMode(ledPin[i], OUTPUT);
pinMode(ledPin[j], OUTPUT); }
changeTime=millis();
}
void loop()
{ // put your main code here, to run repeatedly:
int val=analogRead(sensePin); //read the value of the LDR
if(val>1000) //setting condition for LDR
{ if((millis()-changeTime)> delayLed) //if it has been delayLed ms since last change
{
for(int i=0, j=5;i<6 && j>2; i++, j--) //turn of all LEDs
{
digitalWrite(ledPin[i], LOW);
digitalWrite(ledPin[j], LOW);
}
digitalWrite(ledPin[currentLed1], HIGH); //turn on the current LED
digitalWrite(ledPin[currentLed2], HIGH);
currentLed1+=direction1; //increment by the direction value
currentLed2+=direction2;
if (currentLed1==0) //to change the direction if we reach the end
{
direction1=1;
}
if(currentLed2==5 )
{
direction2=-1;
}
if(currentLed1==2)
{
direction1=-1;
}
if(currentLed2==3)
{
direction2=1;
}
changeTime=millis();
}
}
else
{
for(int i=0; i<6;i++)
{
digitalWrite(ledPin[i], LOW);
}
}
}
Step 3: Connections:
The connections for the night lamp are quite simple. Make sure you connect the leds to the correct Arduino pins.
Step 4: Run the Code
Now you have your own 'bounce effect' night lamp. You can modify as per requirements :)
Comments
author
vasu_dev (author)2016-06-13
Great work!!!
author
DIY Hacks and How Tos (author)2016-01-16
Fun lighting project.
About This Instructable
280views
6favorites
License:
More by shubaangi_95:Remote Controlled Robot Using Arduino Ultrasonic Range Finder Using ArduinoStone Paper Scissors
Add instructable to:


text:
Robert Panas (13-ERD-009)
In this project, we introduced a new flexure topology, generated a new method for modeling and optimization of actuator performance, and developed a hybrid conventional and additive manufacturing technique for the fabrication of a high fill-factor (99%) micro-mirror array (10,000 1-mm2 mirrors). The micro-mirrors are designed to be driven with three degrees of freedom—tip, tilt, and piston—over large ranges (±10° rotation and greater than ±30-µm translation) at high speeds (~40-kHz small stepping rate), all with continuous closed-loop control. The capabilities of this new mirror array will extend the performance of a variety of high-impact technologies for fusion energy research, additive material manufacturing, and diagnostics. The initial fabrication effort focused on generating an independently controllable seven-mirror prototype, and the designs were vetted against finite-element analysis and a full range of previous capabilities as described in the literature. We successfully produced the critical elements of the system: mirrors, hexapods, and actuation paddles. in addition, we developed a new transfer process to handle the hybrid component assembly and demonstrated this process on elements of increasing complexity.
Background and Research Objectives
This research project focused on creating a new micro-mirror array to simultaneously direct multiple high-powered beams of light in various directions at high speeds. This device, known as a light-field directing array, is an independently controlled and scalable mirror array designed to achieve independent continuous control with speeds, ranges, array sizes, and light fill-factors otherwise unachievable. The array would enable advanced applications for rapid steering of multiple high-powered laser beams for detonating targets for inertial fusion, true auto-stereoscopic images, multiple-material nanometer-scale fabrication using laser beams focused by a high-quality microscope objective (optical tweezers), and ultrarapid multiple-focal-point optical remote sensing or confocal microscopy.
Tip, tilt, and piston micro-mirror arrays have been a topic of significant interest since the 1980s.1 Applications, which drove the development of such arrays, included optical cross-connects, image projection, object tracking, adaptive optics for aberration correction, and laser scanning and steering.1–9 Micro-mirrors offer a faster and potentially more reliable alternative to macroscopic steering optics (galvanometers). Discrete arrays with piston capability also offer the potential to integrate phase control into the beam steering.
Robotics (imaging and sensors) and laser development pushed the need for beam-steering mechanisms with increased power handling as well as speed, range, and precision. No current micro-mirror system has attempted to simultaneously meet all of these requirements. The LLNL light-field directing array was designed specifically to push the performance bounds of micro-mirrors in all these parameters: size, speed, range, and precision. The light-field directing array chip was designed to perform ±10° sweeps, with a bandwidth of 40+ kHz, and tip–tilt–piston closed-loop motion control over large (≈10 x 10 cm) arrays.
The green hexagons shown in Figure 1(a–c) represent the performance capabilities of a "comb discrete" micro-mirror array design used for this project. (Comb drives are capacitive actuators, typically operating at the micrometer or nanometer scale, that utilize electrostatic forces that act between two electrically conductive combs.) All surveyed tip–tilt micro-mirror arrays are shown in Figure 1(a). These points are then scaled by mirror pitch and displayed in Figure 1(b). Mirror pitch is a critical parameter for controllability: if the pitch is too small, the trace density will be too high for individual control. By comparison, the micro-mirror arrays with similar or better dynamic capabilities have much smaller single-mirror size. Figure 1(c) shows the energy density of various designs, providing a metric of comparison for the actuator design quality.
Our research objectives were to (1) fully explore and extend beyond the current state of the art for the micro-mirror field, (2) design mirror topology by developing the correct fundamental layout of the elements in the light-field directing array, (3) design actuators that boosted actuation capability, (4) develop a fabrication method that could produce both the actuators and critical flexures in the system, (5) demonstrate the fabrication method on a single cell, and (6) demonstrate the fabrication method on a seven-mirror array.
Scientific Approach and Accomplishments
Our first objective focused on establishing the state of the art in micro-mirror technology to gauge commercial capability and leverage recent technology advances to drive our design. We developed metrics for comparing mirror technologies including range-versus-resolution charts as well as actuation energy density (Figure 1). Our efforts resulted in the largest known analysis of current micro-mirror technology and provided critical insights into the necessary design and actuation physics required to reach our goal of high speed and large range. Additionally, our analysis has been used for other projects to determine what systems to employ and to explore technology limitations.
After our initial analysis was complete, we moved forward with our second objective to design the mirror topology, focusing on developing the correct fundamental layout of the elements in the light-field directing array. This effort resulted in a new topology with exact constraint (not achieved in most other mirror designs) and decoupled actuators for easy control. The design, which out-performed existing systems by over an order of magnitude, utilized flexural design theory as well as constraint-based actuator optimization. Flexural design theory was used to synthesize the array's flexures such that they (1) only permit the three desired degrees of freedom, (2) are symmetric and exactly constrained, (3) decouple each mirror's actuators, (4) do not permit any under-constrained bodies, and (5) behave as transmission elements.
A single hexagonal mirror within the repeating array is shown with different views in Figures 2(a) and 2(b), and an exploded view of the system is shown in Figure 2(c). The mirror is constrained by three identical axisymmetric serial-flexure limbs (decoupling flexures) in Figure 2(c). The other parallel module consists of six blade flexures shown in Figure 2(d), which join the corresponding paddle to the fixed "via" charged-comb actuation plate.
For the third objective, we redesigned the comb drive actuator to boost performance. Comb drives have been the focus of extensive optimal design efforts. In particular, instability from the actuator pulling inward has been extensively studied.10–14 A range of additional effects have also been considered including bearing stiffness and varying comb cross-section.11,12 These efforts typically focus on deducing a critical stiffness for design and take the comb geometry as given. Our work operated in the opposite direction. The optimizer draws upon given flexure bearings, which have been designed via flexural design theory to find the comb geometry that maximizes actuation within the given design topology and geometric constraints. We developed a new method to analyze the actuator pull-in that extends beyond previous work so as to incorporate both fabrication errors and the stiffness of the full-load path loop, shown in Figure 3, into closed-form analytical expressions for pull-in displacement. This expression is integrated into a new approach to comb-drive design which uses constraint-based optimization. Using this approach enabled us to design actuators with tenfold greater energy density than previous comb designs.
The fourth objective of our work focused on developing the fabrication process required to produce the complex flexure and actuator topology. The mirrors are assembled from a micro-fabricated actuation plate and micro-stereolithographically generated hexapod flexures, which are printed onto the underside of micro-fabricated silicon hexagonal mirrors. The process limitations were characterized for both the micro-fabrication and the additive manufacturing processes. An improved parallel assembly process was developed for handling all seven mirrors to generate the seven-element array. This fabrication process is shown schematically in Figure 4. The micro-fabrication of the actuation plate is shown in the top left corner, highlighting the creation of the combs and guide flexures for the actuator paddles. The micro-fabrication of the mirrors (shown in top right of the image), leads to the additive manufacturing of the flexural hexapod behind each mirror. These elements are then combined in a parallel assembly process, shown in the bottom middle. Each part of this process has been tested and demonstrated.
Impact on Mission
A mirror-array design that can be used for rapid high-power laser target tracking supports the LLNL mission focus area in Inertial Confinement Fusion energy. Furthermore, this mirror array could be used to guide a massive array of optical-tweezer laser beams in an effort to move and sinter in place millions of nanometer-scale particles simultaneously, which would be a fundamental advance in meta-material additive manufacturing, in support of the LLNL core competency in advanced materials and manufacturing.
The light-field directing array can be viewed as an enabling technology for high-performance optics systems. It combines the capabilities of large aperture (10- x 10-cm) mirrors with adaptive-optics phase modulation at high bandwidths on a single chip. The combined capabilities enable the generation of synthetic optical elements in sub-millisecond time scales, including pseudo-lenses, mirrors, phase plates, beam splitters, and combiners. This provides the potential to replace multiple optical components with a small chip running at high bandwidths and low power draw.
We designed a high fill-factor (99%) micro-mirror array (10,000 1-mm2 mirrors) and developed a new fabrication method to create it. The micro-mirrors are designed to be driven with three degrees of freedom (tip,


text:
By Katherine Hong
Student actors donned red, bulbous noses and rainbow-colored wigs as they showcased the art of clowning, which was just one of the many theatrical disciplines they learned this summer.
Performing Arts teacher Christopher Moore and 32 professional teachers, directors and artists worked with 30 students in the Summer Intensive Acting Workshop held at the upper school campus this summer.
The SIAW, which is offered every other summer, runs for three weeks, eight hours a day.
"The SIAW is a training program offering theater students many opportunities to further develop their craft," Moore said. "It would be difficult to find many of the workshops we offer throughout our three-week SIAW in a college theater program."
This summer, the workshop took field trips to see two local shows and had two showcase performances, the first of which was a scene study showcase. Students were assigned 10-minute scenes or plays and worked with professional directors before performing before an audience of 170 family members and friends.
The last showcase the students held highlighted the different aspects and disciplines of theater they learned over the previous three weeks.
"I loved our last showcase, where we combined all of the workshops that weâd been taking and gave the audience a taste of what SIAW was like," Sarah Brandon â09 said. "The whole show had so much energy, and there was a really fun sense of camaraderie when the whole ensemble got to put on a show together."
Moore believes the workshop was successful as well.
"I was extremely proud of all the students who were involved and how hard they worked in all the workshops. They bonded as an ensemble," he said.
Incoming sophomores and current upper school students are eligible to apply for the SIAW, but it is not a prerequisite for any theatrical productions.


text:
About the FTCSmicro-3M Infrared Temperature Sensor
The pyrometer FTCSmicro-3M has been designed for a temperature range from 50°C to 600°C (122 °F to 1112 °F). Its special spectral range of 2.3 µm makes it the ideal IR pyrometer for temperature measurement of metallic surfaces starting from 50°C (122 °F) and it allows for measurements through glass.
The small infrared measuring head is optimally suited for installation in limited spaces and subsequently makes possible an especially cost-efficient mechanical process integration.
The compact IR thermometer FTCSmicro-3M has a measuring wave length of 2.3 µm and is therefore used for temperature measurement of metallic surfaces and composite materials in processing operations. Especially its low temperature range from 50°C on makes the temperature sensor a favored measurement tool for all sorts of low-temperature measurement of metals.
- Miniaturized Infrared thermometer with 2,3μm spectral response for measurements of metals, of secondary metal processing, metal oxides and ceramic materials
- For measurements on metal surfaces with a very low start temperature of 50°C
- Green LED alarm indication, aiming support, self diagnostic or temperature code indication
- Scalable analog output: 0-10V or 0-5V and additional simultaneous alarm output
- Adjustable signal processing
- Optional USB programming interface and software


Pasaia (Basque Country)
Flat transom
Installing prefabricated structure
This is an important step in the building process, and in the sixteenth century it was the biggest prefabricated element made during the construction of a ship. This sturdy structure four meters wide and nearly six meters high should be strong enough to withstand the impact of the Atlantic waves. The great timber that runs from top to bottom in the middle of the structure is the sternpost; the spintles supporting the rudder will be added to it on a later phase.
The lower end of the flat transom is fitted into the notch created by the heel and the sternpost knee. Thick nails one foot long and sturdy iron bolts make sure the union is solid enough.
An improvement in shipbuilding
At the time of the San Juan most ships had a flat transom. However, that wasn't the norm a hundred years before. Back then it was an innovation that would transform shipbuilding. Up until the second half of the 15th century both the front and back ends of a ship were built in quite a similar way. The forward end of the side planks of the hull were nailed to the stem and the back end on the sternpost, the main difference being that the stem was curved and the sternpost was straight.
Creating a flat surface on the back of the ship (called a flat transom) made the construction easier, and the inner volume of the hull became bigger. Having a flat transom was an important improvement for Basque ships that had to go through the Atlantic carrying great loads.
Mounting the flat transom in place
The means available in the 16th century for lifting and putting the flat transom in its precise location were rudimentary: wooden cranes, block and tackle, and the effort of men and oxen. Instead, we will use a modern crane. Just trying to imagine the organizational effort needed to make it the old way makes us –once more– appreciate the skills of the technicians of that era.
More pictures of building process here


Roland TR-505
Instruments Category:
Company :
The Roland TR-505 Rhythm Composer contains a group of samples mixed from both the TR-707 and TR-727, and featured 16 drum tones, with 48 patterns and 6 songs of memory. Basic and affordable, it did not offer tone editing capabilities or individual drum outputs. It did host an extensive MIDI section, making it ideal alongside a computer or sequencer.
The TR-5050 is from the same family as the Roland TR-909, TR-808, TR-707, and TR-626. Released in 1986, the unit can be used to sequence short, punchy, 12-bit samples. The drum kit includes basic rock drum sounds similar to those of the 707, plus a complement of Latin-style drum sounds similar to those of the TR-727, which was similar to the TR-707, but it had Latin instruments instead of rock drums.
The TR-505 features five basic modes, including the following:
 - Track Play - plays whole tracks (arrangements of patterns to form songs).
 - Track Write - sequence patterns into tracks.
 - Step Write - sequence patterns by stepping through each position in the pattern.
 - Tap Write - sequence patterns by tapping drums sounds in real time.
 - Real time - play patterns in real time by tapping the pads.
Time signatures other than 4/4 can be programmed by changing the length of patterns and the scale, which actually refers to the signature ratio/swing.
Midi implementation:
The unit handles MIDI quite capably. Each instrument can be assigned a level/velocity from one to five, a MIDI channel, and a MIDI note number. Individual pads also transmit MIDI data when tapped, although these aren't velocity sensitive. An accent can be applied to any position in a pattern and will affect all instruments triggered at that position by increasing their volume. The memory in the TR-505 can store up to 48 patterns in 6 songs.


b/Pictures/kittens.jpg"],
 caption="## Mega sweet kittens")
Creating a text post
Creating a text post supports the same options as default and just a two other parameters * title - a string, the optional title for the post. Supports markdown or html * body - a string, the body of the of the post. Supports markdown or html
#Creating a text post
client.create_text(blogName, state="published", slug="testing-text-posts", title="Testing", body="testing1 2 3 4")
Creating a quote post
Creating a quote post supports the same options as default and two other parameter * quote - a string, the full text of the qote. Supports markdown or html * source - a string, the cited source. HTML supported
#Creating a quote post
client.create_quote(blogName, state="queue", quote="I am the Walrus", source="Ringo")
Creating a link post
 - title - a string, the title of post that you want. Supports HTML entities.
 - url - a string, the url that you want to create a link post for.
 - description - a string, the desciption of the link that you have
#Create a link post
client.create_link(blogName, title="I like to search things, you should too.", url="_URL_",
 description="Search is pretty cool when a duck does it.")
Creating a chat post
Creating a chat post supports the same options as default and two other parameters * title - a string, the title of the chat post * conversation - a string, the text of the conversation/chat, with diablog labels (no html)
#Create a chat post
chat = """John: Testing can be fun!
Renee: Testing is tedious and so are you.
John: Aw.
"""
client.create_chat(blogName, title="Renee just doesn't understand.", conversation=chat, tags=["renee", "testing"])
Creating an audio post
Creating an audio post allows for all default options and a has 3 other parameters. The only thing to keep in mind while dealing with audio posts is to make sure that you use the external_url parameter or data. You cannot use both at the same time. * caption - a string, the caption for your post * external_url - a string, the url of the site that hosts the audio file * data - a string, the filepath of the audio file you want to upload to Tumblr
#Creating an audio file
client.create_audio(blogName, caption="Rock out.", data="/Users/johnb/Music/my/new/sweet/album.mp3")
#lets use soundcloud!
client.create_audio(blogName, caption="Mega rock out.", external_url="_URL_
Creating a video post
Creating a video post allows for all default options and has three other options. Like the other post types, it has some restrictions. You cannot use the embed and data parameters at the same time. * caption - a string, the caption for your post * embed - a string, the HTML embed code for the video * data - a string, the path of the file you want to upload
#Creating an upload from YouTube
client.create_video(blogName, caption="Jon Snow. Mega ridiculous sword.",
 embed="_URL_
#Creating a video post from local file
client.create_video(blogName, caption="testing", data="/Users/johnb/testing/ok/blah.mov")
Editing a post
Updating a post requires you knowing what type a post you're updating. You'll be able to supply to the post any of the options given above for updates.
client.edit_post(blogName, id=post_id, type="text", title="Updated")
client.edit_post(blogName, id=post_id, type="photo", data="/Users/johnb/mega/awesome.jpg")
Reblogging a Post
Reblogging a post just requires knowing the post id and the reblog key, which is supplied in the JSON of any post object.
client.reblog(blogName, id=125356, reblog_key="reblog_key")
Deleting a post
Deleting just requires that you own the post and have the post id
client.delete_post(blogName, 123456) # Deletes your post :(
A note on tags: When passing tags, as params, please pass them as a list (not a comma-separated string):
client.create_text(blogName, tags=['hello', 'world'], ...)
Getting notes for a post
In order to get the notes for a post, you need to have the post id and the blog that it is on.
data = client.notes(blogName, id='123456')
The results include a timestamp you can use to make future calls.
data = client.notes(blogName, id='123456', before_timestamp=data["_links"]["next"]["query_params"]["before_timestamp"])
Tagged Methods
# get posts with a given tag
client.tagged(tag, **params)
Using the interactive console
This client comes with a nice interactive console to run you through the OAuth process, grab your tokens (and store them for future use).
You'll need pyyaml installed to run it, but then it's just:
$ python interactive-console.py
and away you go! Tokens are stored in ~/.tumblr and are also shared by other Tumblr API clients like the Ruby client.
Running tests
The tests (and coverage reports) are run with nose, like this:
python setup.py test
Author: tumblr
Source Code: _URL_
License: Apache-2.0 license
#python #api
A Collection Of Swift Tips & Tricks That I've Shared on Twitter
⚠ This list is no longer being updated. For my latest Swift tips, checkout the "Tips" section on Swift by Sundell.
Swift tips & tricks ⚡
One of the things I really love about Swift is how I keep finding interesting ways to use it in various situations, and when I do - I usually share them on Twitter. Here's a collection of all the tips & tricks that I've shared so far. Each entry has a link to the original tweet, if you want to respond with some feedback or question, which is always super welcome! 🚀
Also make sure to check out all of my other Swift content:
#102 Making async tests faster and more stable
🚀 Here are some quick tips to make async tests faster & more stable:
 - 😴 Avoid sleep() - use expectations instead
 - ⏱ Use generous timeouts to avoid flakiness on CI
 - 🧐 Put all assertions at the end of each test, not inside closures
// BEFORE:
class MentionDetectorTests: XCTestCase {
 func testDetectingMention() {
 let detector = MentionDetector()
 let string = "This test was written by @johnsundell."
 detector.detectMentions(in: string) { mentions in
 XCTAssertEqual(mentions, ["johnsundell"])
 }

 sleep(2)
 }
}
// AFTER:
class MentionDetectorTests: XCTestCase {
 func testDetectingMention() {
 let detector = MentionDetector()
 let string = "This test was written by @johnsundell."
 var mentions: [String]?
 let expectation = self.expectation(description: #function)
 detector.detectMentions(in: string) {
 mentions = $0
 expectation.fulfill()
 }
 waitForExpectations(timeout: 10)
 XCTAssertEqual(mentions, ["johnsundell"])
 }
}
For more on async testing, check out "Unit testing asynchronous Swift code".
#101 Adding support for Apple Pencil double-taps
✍ Adding support for the new Apple Pencil double-tap feature is super easy! All you have to do is to create a UIPencilInteraction, add it to a view, and implement one delegate method. Hopefully all pencil-compatible apps will soon adopt this.
let interaction = UIPencilInteraction()
interaction.delegate = self
view.addInteraction(interaction)
extension ViewController: UIPencilInteractionDelegate {
 func pencilInteractionDidTap(_ interaction: UIPencilInteraction) {
 // Handle pencil double-tap
 }
}
For more on using this and other iPad Pro features, check out "Building iPad Pro features in Swift".
#100 Combining values with functions
😎 Here's a cool function that combines a value with a function to return a closure that captures that value, so that it can be called without any arguments. Super useful when working with closure-based


Start your free trial now, and begin learning software, business and creative skills—anytime, anywhere—with video instruction from recognized industry experts.
Start Your Free Trial Now
Using the VoiceOver screen reader on Mac OS X
From:
Web Accessibility Principles
with Zoe Gillenwater
Video: Using the VoiceOver screen reader on Mac OS X
Using the VoiceOver screen reader on Mac OS X provides you with in-depth training on Web. Taught by Zoe Gillenwater as part of the Web Accessibility Principles
Expand all | Collapse all
 1. 2m 0s
 1. Welcome
 1m 3s
 2. Using the exercise files
 57s
 2. 33m 15s
 1. What does accessibility mean?
 5m 51s
 2. How does accessibility help your users?
 3m 30s
 3. Experiencing a website via a screen reader
 5m 46s
 4. How does accessibility help you and your clients?
 3m 9s
 5. Overview of Section 508 standards
 5m 51s
 6. Overview of WCAG standards
 6m 4s
 7. Understanding consistency and semantic markup
 3m 4s
 3. 54m 30s
 1. Understanding screen readers and accessibility tools
 6m 12s
 2. Getting accessible browsers
 5m 40s
 3. Customizing Firefox for accessibility testing
 5m 53s
 4. Using custom accessibility toolbars
 5m 28s
 5. Using Fangs and the Color Contrast Analyzer
 5m 30s
 6. Accessibility tools to bookmark
 5m 53s
 7. Using automated accessibility checking tools
 4m 57s
 8. Setting up the JAWS screen reader on Windows
 6m 42s
 9. Using the VoiceOver screen reader on Mac OS X
 5m 52s
 10. Setting Dreamweaver accessibility preferences
 2m 23s
 4. 26m 10s
 1. Avoiding tables for layout
 3m 30s
 2. Using CSS for layout
 2m 40s
 3. Creating a fixed-width layout
 5m 51s
 4. Creating an elastic layout
 3m 50s
 5. Creating a liquid layout
 3m 4s
 6. Customizing a liquid layout
 7m 15s
 5. 1h 6m
 1. Specifying the language
 3m 42s
 2. Setting page titles
 2m 16s
 3. Setting headings and paragraphs
 9m 55s
 4. Styling headings
 9m 56s
 5. Hiding section headings from sighted users
 6m 41s
 6. Styling text for readability
 6m 40s
 7. Ensuring proper color contrast
 6m 36s
 8. Creating text emphasis
 4m 29s
 9. Indicating quotations
 4m 28s
 10. Creating basic lists
 4m 16s
 11. Styling lists
 7m 15s
 6. 1h 15m
 1. Using lists for navigation
 6m 45s
 2. Creating a horizontal navigation bar
 13m 25s
 3. Creating a vertical navigation bar
 11m 44s
 4. Adding skip navigation links
 11m 59s
 5. Hiding skip navigation links
 6m 16s
 6. Proper link text and title attributes
 6m 10s
 7. Opening new windows
 4m 27s
 8. Accessibility limitations of fly-out menus
 6m 30s
 9. Creating an accessible fly-out menu
 8m 38s
 7. 27m 54s
 1. Proper ALT text for navigation images
 4m 57s
 2. Proper ALT text for decorative images
 5m 19s
 3. Adding ALT text to an existing site
 6m 8s
 4. Adding ALT text to image maps
 5m 58s
 5. Describing complex graphics
 5m 32s
 8. 34m 0s
 1. Using tables for data
 3m 0s
 2. Creating header cells
 4m 4s
 3. Adding table captions and summaries
 9m 9s
 4. Styling tables
 5m 19s
 5. Applying header cells to complex tables
 6m 52s
 6. Adding id and headers attributes
 5m 36s
 9. 42m 0s
 1. Understanding form accessibility issues
 3m 4s
 2. Labeling form fields
 6m 9s
 3. Adding fieldsets and legends
 4m 42s
 4. Moving forms out of tables
 3m 44s
 5. Cleaning up a form's appearance
 4m 53s
 6. Aligning labels and fields using CSS
 9m 39s
 7. Indicating required fields
 6m 11s
 8. Dealing with CAPTCHA
 3m 38s
 10. 7m 29s
 1. The Text-Only technique
 3m 21s
 2. The Access Keys technique
 2m 35s
 3. The Tab Index technique
 1m 33s
 11. 17s
 1. Goodbye
 17s
please wait ...
Watch the Online Video Course Web Accessibility Principles
Video Duration: 5m 52s6h 10m Appropriate for all Oct 16, 2007
Viewers: in countries Watching now:
View Course Description
Accessibility on the web has been an issue for over a decade, and it remains a crucial--but often overlooked--element of web design. Instructor Zoe Gillenwater explains the concept of accessibility as it applies to the web, and describes how it affects the audience. She also covers how to set up accessibility testing, and how to apply accessibility principles to new and existing sites using standards-compliant markup and CSS. Exercise files accompany the tutorials.
Topics include:
 - Understanding Flex programming languages
Subject:
Web
Author:
Zoe Gillenwater
Closed captioning isn't available for this video right now. New videos usually include captioning a few weeks after they're released.
There are currently no FAQs about Web Accessibility Principles.

Share a link to this course
What are exercise files?
Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.
Can I take this course without the exercise files?
Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.
Become a member Download sample files See plans and pricing
Please wait... please wait ...
Upgrade to get access to exercise files.
Exercise files video
How to use exercise files.
Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.
Exercise files
Exercise files video
How to use exercise files.
For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .
This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.
Join now Already a member? Log in
* Estimated file size
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
Mark all as unwatched Cancel
Congratulations
You have completed Web Accessibility Principles.
Return to your organization's learning portal to continue training, or close this page.
OK
Upgrade to View Courses Offline
login
With our new Desktop App, Annual Premium Members can download courses for Internet-free viewing.
Upgrade Now
After upgrading, download Desktop App Here.
Become a member to add this course to a playlist
Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.
Get started
Already a member ?
Exercise files
Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more
Get started
Already a Premium member?
Exercise files video
How to use exercise files.
Ask a question
Thanks for contacting us.
You'll hear from our Customer Service team within 24 hours.
Please enter the text shown below:
Exercise files
Access exercise files from a button right under the course name.
Mark videos as unwatched
Remove icons showing you already watched videos if you want to start over.
Control your viewing experience
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Interactive transcripts
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.
Learn more, save more. Upgrade today!
Get our Annual Premium Membership at our best savings yet.
Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:
"In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material."— Nadine H.
Start your FREE 10-day trial
Begin learning software, business, and creative skills—anytime,
anywhere—with video instruction from recognized industry experts.
lynda.com provides
Unlimited access to over 4,000 courses—more than 100,000 video tutorials
Expert-led instruction
On-the-go learning. Watch from your computer, tablet, or mobile device. Switch back and forth as you choose.
Start Your FREE Trial Now

A trusted source for knowledge.

We provide training to more than 4 million people, and our members tell us that lynda.com helps them stay ahead of software updates, pick up brand-new skills, switch careers, land promotions, and explore new hobbies. What can we help you do?
Thanks for signing up.
We'll send you a confirmation email shortly.
Sign up and receive emails about lynda.com and our online training library:
Here's our privacy policy with more details about how we handle your information.
Keep up with news, tips, and latest courses with emails from lynda.com.
Sign up and


text:
By Jan, Costa Rica Global Volunteer.
Quote of the Day:
If you think in terms of a year, plant a seed; if in terms of ten years, plant trees; if in terms of 100 years, teach the people.
Reflections on our two weeks at Colegio Tecnico Profesional de Santa Elena, Costa Rica:
Thinking about our last day as well as the two weeks at Colegio and Santa Elena, so many impressions cross my mind, that I found they can best be expressed using several generalizations: what I remember seeing, hearing, smelling, and feeling.
- Lush, thick, green vegetation in dense forests
- Pink clouds and rainbows in the cloud mist that rolls across the hills
- Nicoya Gulf in the distance
- Flora: heliconias, orchids, bromeliads, palm trees, strangler figs, ferns
- Fauna: birds asleep on trees at night, leaf cutter ants in armies of action, morpho butterflies, agoutis, coatis
- Transformation from a jumble of materials and trash to a renovated toolshed/greenhouse/classroom
- Students and teachers brushing their teeth at the outdoor sinks in the corridors
- The industriousness and teamwork of students to learn and help each other
- The efforts of teachers to use a variety of approaches to teach English
- The guarded gate for entry to and exit from the school for both students and teachers
- Awakening to the sounds of birds
- Winds at night
- Chopping sounds of breakfast and dinner being prepared
- Laughter and talking among the students
- Growing ability to distinguish the various sounds of Spanish
- Maggie's laugh
- The tantalizing smells of coffee and breakfast and then garlic and dinner smells from Tatiana's cooking before mealtimes
- Paint fumes at Colegio
- Scented toilet paper at Mar Inn
- El Trapiche coffee shop at lunch time
- The freshness of air when the clouds of mist come over us
- The comfort of a peaceful, relaxed pace of our volunteer life with our cohesive team
- Thankfulness for the opportunity to live in a small town in Costa Rica, a community with no street addresses
- Appreciation for an experience to talk and laugh with students and teachers, to share it with new American friends, and to be led by the capable, affable Maggie
- The wonder of the natural environment of the Monteverde region
- The wistfulness of knowing we're at the end of this journey
Pura Vida Pictures:
Interested in becoming a Costa Rica Global Volunteer. Learn more here.


Promotion: Real Versions and Virtual Versions
Software development is much more than just creating and modifying files. A typical development project involves many phases, possibly including initial development, integration of work done independently, internal system testing, external testing, and final production. AccuRev uses a promotion model to manage files in these multiple development phases. Files progress through the phases, one by one: when a set of files pass the tests (if any) mandated for a particular phase, a user working on that phase promotes them to the next phase.
AccuRev keeps track of each promotion by creating a new version of each promoted file. But promotion doesn't change the contents of a file, it only changes the file's approval level. Thus, each new version object created by promotion is merely an additional reference to (or alias for) the same file in the depot's file storage area.
AccuRev distinguishes between the original version, created by a keep operation, and all the additional versions created by a promote operation:
Real version
Created by operations like keep, add, merge, rename, etc. The operation creates a new version object in the metadata stored for the depot and places a new file in the depot's file storage area.
Virtual version
Created by a promote. It creates a new version object in the metadata stored for the depot, which provides an additional reference to an existing file in the file storage area. Conversely, a demote operation removes a virtual version.