text:
Analogous to the way we considered states of a KL shadow with regard to overcrossings and undercrossings, we can deal with special projections by giving three possible choices for every vertex (overcrossing, undercrossing, or double vertex). For a KL shadow with n vertices, the number of possible variations is 3n, but this can be considerably reduced thanks to the symmetry of a KL in question. We can consider Vassiliev invariants in terms of purely geometrical combinatorial theory by introducing Gauss diagrams (or chord diagrams) of the order n (n = 1,2,3,...). We already concluded that the value of an nth-order invariant of a KL with n double points is unaffected by crossing changes. This value is independent of the phenomenon of knotting, and depends only on the order in which double points appear when tracing KL.
In the case of knots we can introduce the following rule. Let a knot K with n double points be given. Proceeding around a circle we will label all double points visited by travelling in our oriented knot K in that order. Then we join each pair of points having the same label by a chord. The resulting diagram is called a Gauss diagram (or chord diagram) of K. The Gauss diagram of the special projection of a trefoil knot with three double points and one loop is given in the corresponding figure. In the same way as before, thanks to the one-term relation, we can delete all double points with a loop and continue to work with proper (or reduced) special projections and corresponding proper (or reduced) Gauss diagrams. All the non-singular knots have the same diagram- a circle without any cords. In general, many knots correspond to the same diagram. Now we can construct all different Gauss diagrams Dn of order n (i.e., with n double points). Then we can rewrite the one-term relation and four-term relation in the language of chord diagrams. By using the one-term relation, we can reduce the list Dn to one diagram for n = 2 and two diagrams for n = 3, by eliminating the diagrams d11, d22, d34, d35 and reducing d33 to d21. If we are treating Gauss diagrams as vectors, according to the four-term relation we obtain the relation d31 = 2d32, so dim(D1) = 0, dim(D2) = 1, dim(D3) = 1, etc. Recalling that dim(D0) = 1, and continuing the calculation for n = 3,4,...,9, we obtain the sequence 1, 0, 1, 1, 3, 4, 9, 14, 27, 44 of the dimensions of the spaces Dn for n = 0,1,2,...,9 (Bar-Natan, 1995). The space of chord diagrams with n chords modulo the one-term and four-term relations we denote by An. The main result of the combinatorial theory of Gauss diagrams and Vassiliev invariants is expressed by Kontsevich's theorem:
Kontsevich's Theorem The vector space Vn/(Vn-1) of nth-order Vassiliev invariants is isomorphic to the space An.
As a result, for every n we can obtain the actuality table An: the list of all independent Gauss diagrams with n chords. As the value of n increases, the calculation of actuality tables demands an enormous computing power.


Variable Concepts
Last modified by Microchip on 2024/01/22 23:02
Programmers often use the terms local and global to describe variables in their programs, and while these might be adequate in general discussion, these are not terms recognized by the C Standard and do not fully describe how objects are defined and can be used. This article looks at the different concepts used to describe objects in the C programming language and how you can change an object's declaration to suit your program's requirements.
The C language uses three concepts to describe how an object and its identifier (the symbol or name that designates the object) can be used in a program. These are an identifier's scope and linkage, and the object's storage duration.
Scope
The scope of an identifier describes the region in the source code where that identifier can be referenced. Attempts to use an identifier in a part of the program where that identifier is out of scope will result in an error. The C language has four terms to describe an identifier's scope, but this article will only deal with the two most common: block and file scope. (You can read about function and function prototype scope in a good C text.)
If an identifier's declaration is placed inside a block (i.e., code delimited by open { and close } braces) or if the declaration is within a list of function parameters, then that identifier has block scope and can be used anywhere following the declaration to the end of the block in which the declaration was placed.
If an identifier's declaration appears outside of any block and is not within a list of function parameters, then that identifier has file scope and can be used anywhere following the declaration to the end of the translation unit in which the declaration was placed. A translation unit (or module) is the term used to describe a source file after it has been preprocessed and which might then include the content of header files.
In the following trivial example of code in a single source file, the identifier aaa can be used anywhere in the file and will refer to the int defined in the first line. The identifier bbb, defined within the list of parameters for the function plus(), can be used anywhere in the function plus(). The identifier ccc, defined inside the block associated with main() can be used anywhere inside that block (anywhere inside main()); and ddd, defined in the block associated with the while() statement can be used anywhere inside the while() block.
1 int aaa;
2
3 int plus(int bbb)
4 {
5 return bbb + 7;
6 }
7
8 int main(void)
9 {
10 int ccc;
11
12 while(1)
13 {
14 int ddd;
15
16 ddd = plus(12);
17 ccc = aaa + ddd;
18 }
19 }
Interestingly, it is not illegal to have several declarations for an identifier with overlapping scopes and have these identifiers refer to different objects. If, in the above example, the parameter to plus() was also called aaa, as shown below, then the scope of that parameter declaration would overlap with that of the file scope identifier on the first line.
1 int aaa;
2
3 int plus(int aaa)
4 {
5 return aaa + 7;
6 }
7
8 int main(void)
9 ...
When the identifier aaa is accessed in plus(), it is the object with the inner scope (the parameter) that is accessed, and during this function, the outer, file scope object is hidden and is not accessible. This example highlights the difference between an object and its identifier. Here, there are two different objects, but they share the same identifier. Although legal, such a practice is extremely risky and is not recommended, since you and others can be easily confused as to which object is being accessed.
It is good practice to reduce the scope of an object's identifier to the smallest part of the program that needs to access the object. This reduces the chance of you accidentally reading or modifying the object in parts of the program where it shouldn't be accessed. This also makes it easier to analyze code and verify its operation.
Back to Top
Storage Duration
The next concept we will look at is an object's storage duration. This is the portion of the program's execution during which an object will have memory allocated to it and the object's value is valid. Of the three storage duration types possible, staticautomatic, and allocated, we will only look at the first two and not consider objects created via memory allocation functions like malloc().
An object has automatic storage duration if it is defined in a block or within a function's parameter list and it does not use the static or extern specifier. These objects can explicitly use the auto specifier, but that is optional, and they are often called auto variables. Such objects only have storage allocated to them for the duration of the block in which they are defined. All other objects have static storage duration, and such objects have memory allocated to them for the duration of the entire program.
The storage duration of an object differs from the scope of its identifier in that storage duration relates to a time, during which a part of the program is executing, whereas scope refers to a region defined by lines of source code in which the object's identifier is accessible. Take the following example:
1 int offset(void)
2 {
3 return TRIAL ? 0 : 20;
4 }
5
6 int plus(int aaa)
7 {
8 aaa += offset();
9
10 return aaa;
11 }
In the function plus(), the aaa parameter can be accessed (has scope) only within that function. The storage for that parameter is valid for the entire time that plus() is executing, however, which implies that when offset() is called from plus() and is executing, the parameter still has memory allocated to it, even though the aaa identifier cannot be accessed from within offset(), as it is out of scope in that function.
In the following example, all the objects have static storage duration, which is to say that they all retain their memory for the entire time the program is executing.
1 int aaa;
2 static int bbb;
3
4 int bias(void)
5 {
6 static int ccc = 0;
7
8 return ccc++;
9 }
Even though, in the above example, ccc is defined in a function and has limited scope, the static specifier indicates that it will be assigned memory for the entire program, and hence it can hold its value even after bias() has returned. If bias() is called again later in the program, the value of ccc will be exactly as it was when bias() last terminated (assuming it has not been modified via other means). Note that the use of the static specifier for an object defined outside of a block has a different meaning than when it is used with an object defined inside a block (a meaning which we shall cover in the next concept) but all object definitions that use static will have static storage duration.
So what storage duration should objects have? Block scope objects that exist only until the smallest surrounding block is exited are preferable to those that permanently consume memory, thus defining auto objects, whose memory can be used by other objects at other times in the program's execution, is the typical choice. Often, auto objects (along with function parameters) are stored on a stack so that they can be easily allocated memory when required at runtime, and they are sometimes referred to as stack-based variables. However, there are times when you want an object to have a scope limited to a function but that object must not lose its value once the function exits, and so you will use the static specifier with these objects. The following summarizes your choice of block-scope declarations, which are discussed in the following paragraphs.
1 int shift(void)
2 {
3 int aaa = 0x12;
4 static int bbb = 0x34;
5 ...
6 }
The object aaa is an auto variable, which might reside on a stack, and which will have memory allocated to it when shift() is called, and lose that memory when shift() terminates. Its initial value, 0x12, will be assigned to the object every time that shift() is called, and a new instance of aaa is created.
The object bbb, on the other hand, is not an auto, will never be placed on a stack, and it will have memory allocated to it for the entire time the program is running. Its initial value is assigned to it just once before your program begins execution.
Back to Top
Linkage
The last concept is an identifier's linkage. Linkage allows more than one declaration of an identifier to refer to the same object. There are three types of linkage: externalinternal, and none.
Identifiers with no linkage are those that are declared as a function parameter or those declared inside a block without the use of the extern specifier (discussed later). Each declaration of an identifier with no linkage denotes an object that is unique and not associated with any other object, even if they use the same identifier. So you can, for example, define a loop counter with the same name in two functions and each counter will have its own storage and not interfere with the other. This is because there is no


Skip to end of metadata
Go to start of metadata
The following diagram summarizes how events are processed in a CEP event flow.
 1. WSO2 CEP receives events from external event sources and data agents. These events have different formats such as XML, JSON, Map, Text, etc.
 2. WSO2 CEP supports a range of event receiver types to receive events in different formats. Each event receiver receives the events in a specific format based on its type, and converts them to tuples which enable WSO2 CEP to process them.
 3. The converted event tuples are forwarded to the event stream connected to the event receiver. Event tuples are associated with their respective event streams based on the event stream ID.
 4. The event stream in turn forwards the events to the connected execution plan (i.e. the execution plan with queries that define the same event stream as the input stream). The events are also forwarded to the event publishers in order to be published in external systems.
 5. An execution plan processes the events in the input event streams via Siddhi queries written in the Siddhi Query Language. The events produced via output streams after processing the Siddhi queries of the execution plan are forwarded back to the event streams.
 6. WSO2 CEP supports a range of event publisher types to publish processed events in a range of interfaces which require different formats such as JMS, KAFKA, SOAP etc. Each publisher converts the events into a specific format depending on its type before publishing the events in the relevant interface. The interface in which events are published can be dashboards, external event sinks or data stores.
The components of the event flow described in the above summary are explained in detail in the following sections.
 - No labels


text:
Common Name(s): East Indian Satinwood, Ceylon Satinwood
Scientific Name: Chloroxylon swietenia
Distribution: Central and southern India, and Sri Lanka (formerly Ceylon)
Average Dried Weight: 61 lbs/ft3?(975 kg/m3)
Janka Hardness:?2,620 lbf?(11,650 N)
Sustainability: This wood species is not listed in the CITES Appendices, but?is on the IUCN Red List. It is listed as?vulnerable due to a population reduction of over 20% in the past three generations, caused by a decline in its natural range, and exploitation.

source: m-a-p/FineFineWeb


text:
Yale University has recently announced that another milestone in brain sciences has been reached. A team of researchers was able to keep a hog's brain alive for 36 hours after being decapitated. Through gruesome, this research has the potential to uncover even more facts about how the brain works.
Yale University Scientists Said Experimental Drugs Could Be Tested on Severed Heads
Nenad Sestan, the head scientists of Yale University's project centered on the human brain, has presented the findings of his team during a recent National Institutes of Health conference. Sestan pointed out that the research conducted in the University's lab could prove to be pivotal in understanding the inner workings of the human brain and could open the doors to how clinicians experiment with untested drugs.
During the conference, Sestan declared that he and his team managed to keep a pig's brain cells alive for 36 hours after surgically removing the head. Although the specimen did not retain consciousness throughout the experiment, its responses bordering on the somatic, it does prove that, under special conditions, organs such as the brain can be kept alive.
For the purpose of this Frankenstein-inspired experiment, Sestan and his team employed an apparatus called BrainEx. With this device, his team was able to feed the hog's brain with body-temperature blood in an attempt to preserve its functions.
Upon analyzing the hog's brain cells under the microscope, the Yale University team discovered that they were very much alive and behaved as though the head never left the body.
As Sestan pointed out, this rather macabre technique could alter the way we thoughts, consciousness, and even death. More than that, this procedure can help clinicians test cancer or dementia meds on deceased patients' heads without having to rely on animals or computer-generated models.
Image source: Flickr
Latest posts by Roxanne Briean (see all)
- Former Virginia Tech Freshman Sentenced to 50 Years in Prison for Stabbing a Girl to Death - June 28, 2018
- San Francisco Woman Threatened to Call Police on Girl Who Sold Ice Water for Disneyland Trip - June 25, 2018
- Epping Woman Sentence to 20 Years of Prison for Mutilating Homeless Woman's Children - June 12, 2018


# This is an example of a Tcl script used with mq to edit a large # (~380) collection of metadata records in batch mode. # Here's the problem: Metadata producers, including me, have # indicated the price of certain USGS products in fixed dollar # amounts (for example $32.00 per CD-ROM, with $3.50 handling fee). # But these prices are subject to change, and they change every # few years. There isn't a direct linkage that can be used to # obtain the current pricing information, and that depends also # on the volume of the order, whether international shipping is # needed, and so forth. Consequently it is better to provide a # WWW address for pricing information rather than a specific # dollar amount in the Fees element. # # Fees occurs singly within Standard_Order_Process, which can # repeat in Distribution_Information, which can repeat in Metadata. # # The value "none" is commonly used in Fees to indicate that a # data set is available without direct charge through the internet. # This value need not change. # # So technically, the problem is # Read the standard configuration file to get extension info # Find each metadata record # Read the record # For each Distribution_Information # For each Standard_Order_Process # Find Fees element # If there is one, and its value is not "none" # then replace the value with the internet address # of the USGS product pricing page. # If you successfully changed the value, remember that # this record was changed. # Go to the next Standard_Order_Process # Go to the next Distribution_Information # If any Fees values were changed, rewrite the metadata # record using the same disk file name. # Go to the next metadata record # # The implementation of this method is given below as Tcl code # that is provided as input to mq. # # Peter N. Schweitzer (U.S. Geological Survey, Reston, VA 20192) package require mq proc process_directory {long_name short_name} { recurse $long_name } proc process_file {long_name short_name} { global new_value if {[string compare [file extension $short_name].met] == 0} { if {[metadata m -parse $short_name]} { puts stdout "$short_name" set changed 0 set p [$m find_first Distribution_Information] while {$p} { set q [$m find_in $p Standard_Order_Process] while {$q} { set r [$m find_in $q Fees] if {$r} { set value [$m value_of $r] puts stdout " $value" if {[string compare $value none]!= 0} { set ok [$m value_set $r $new_value] if {$ok} { set changed 1 puts stdout "--OK: value at $r changed" } \ else { puts stdout "--ERROR: could not set value at $r" } } } set q [$m find_next $q] } set p [$m find_next $p] } if {$changed} {$m write -format text $short_name} $m forget } } } proc recurse {dir} { global root foreach long_name [lsort [glob [file join $dir *]]] { scan $long_name "$root/%s" short_name if {[file isdirectory $long_name]} { process_directory $long_name $short_name } \ else { process_file $long_name $short_name } } } config read standard.cfg set new_value "See _URL_ set root [pwd] set short_name. recurse $root # end of Tcl code


Playful Cities: Crowdsourcing Urban Happiness with Web Games
Daniele Quercia in Built Environment: "It is well known that the layout and configuration of urban space plugs directly into our sense of community wellbeing. The twentieth-century city planner Kevin Lynch showed that a city's dwellers create their own personal 'mental maps' of the city based on features such as the routes they use and the areas they visit. Maps that are easy to remember and navigate bring comfort and ultimately contribute to people's wellbeing. Unfortunately, traditional social science experiments (including those used to capture mental maps) take time, are costly, and cannot be conducted at city scale. This paper describes how, starting in mid-2012, a team of researchers from a variety of disciplines set about tackling these issues. They were able to translate a few traditional experiments into 1-minute 'web games with a purpose'. This article describes those games, the main insights they offer, their theoretical implications for urban planning, and their practical implications for improvements in navigation technologies….(More)"


text:
Presentation #412.03 in the session "Education and Public Engagement I: Public Engagement and Citizen Science".
As part of an ongoing project to understand the current state of amateur astronomy, we have talked to dozens of individuals and reviewed online and event artifacts from across the world to better understand how the global pandemic has impacted traditional astronomy outreach of individuals and clubs. Within many countries, traditional astronomy club meetings, in person trainings, and in person outreach events were quickly cancelled in the spring following the overall mandated shutdowns. As individuals, clubs, and organizations grappled with how to move forward, online programming grew as a way to reach audiences and communities unable to travel or physically come together. Additionally, virtual star parties of all sizes brought enthusiasts together from all over the world. Non-contact outreach included neighborhood Solar System walks, publicly displayed viewing guides, and "bring your own binocular" community events. Trainings and conferences saw huge surges in attendance as online programming opened up opportunities to new audiences who had not been able to attend due to travel and financial restrictions. Overall, as the pandemic continues, many of the innovations in outreach created to mitigate rapid shutdown of event have become more permanent changes to increase the reach of outreach to and by amateur astronomers.


text:
Friday, May 18, 2012
Shelly Kreiczer-Levy (Academic Center of Law & Business - Israel) has posted Inheritance Legal Systems and the Intergenerational Bond (Real Property, Probate, & Trust Law Journal) on SSRN. Here's the abstract:
This article offers an analysis of three legal systems of inheritance: American law, common law family provision, and civil law. It offers a unique reading of these systems by focusing on the role of continuity in inheritance and by stressing the position of potential recipients. It uses the concept of the intergenerational bond to capture the intersection of continuity, property, and the giver–receiver interrelation. It then highlights the role of continuity in each system and explores their different constructions of continuity. Two main conclusions arise. First, each of these systems has a bifocal dimension. Second, these legal systems can be defined along two axes. One axis is the balance between the giver and the receiver. The other is the content of the bond. The balance between testamentary freedom and familial continuity varies among legal systems, but provides a general model for understanding these systems.

source: openbmb/Ultra-FineWeb


cerebellum
PET-image
The following comes from Adityarup Chakravorty, a science writer at the Waisman Center at the University of Wisconsin–Madison: Pick a word. Any word. To be able to speak aloud the word you picked needs exquisite coordination between several parts of the body. The brain, lungs, throat, voice box, tongue and […]
Mining the cerebellum for its role in speech


text:
Emission sensitivity (O3 / NOx / VOC) Lake Michigan - at JGR Atmospheres
Updated: Nov 23, 2022
with model outputs archived Iowa Research Online in observance of the JGR data and transparency polices: doi: 10.25820/data.006193 (_URL_
BONUS QUESTION: What time of day will FNR from satellites have the most information for management of high ozone days! (scroll down for the answer)
Thanks to the whole LMOS crew!
TITLE: The Impact of Volatile Chemical Products, Other VOCs, and NOx on Peak Ozone in 1 the Lake Michigan Region
Maryam Abdi-Oskouei, Behrooz Roozitalab, Charles O. Stanier, Megan Christiansen, Gabriele Pfister, R. Bradley Pierce, Brian C. McDonald, Zac Adelman, Mark Janssen, Angela F. Dickens, and Gregory R. Carmichael
ABSTRACT: High concentrations of ozone along the coastline of Lake Michigan are a persistent air quality management challenge. Complementing observations during the 2017 Lake Michigan Ozone Study (LMOS 2017), WRF-Chem modeling was used to quantify sensitivity of modeled ozone (O3) to anthropogenic nitrogen oxides (NOx) and Volatile Organic Compound (VOC) emissions, including to changes in Volatile Chemical Products (VCP). The daily maximum 8 h average (MDA8) over the high ozone region of Lake Michigan decreased by 2.7 ppb with exclusion of VCP from the inventory, and was sensitive to both NOx and VOC changes, with greater sensitivity to NOx. Close to urban centers, MDA8 ozone was VOC-sensitive. Clusters of coastal receptor sites were identified based on similarity in response to emission perturbations, with most clusters being NOx-sensitive and NOx sensitivity increasing with distance from major emission sources. The June 2, 2017 ozone event, which has received considerable focus, is shown to be atypical due to unusually strong and spatially extended VOC-sensitive behavior. WRF-Chem Integrated Reaction Rate (IRR) analysis was used to compute radical termination rates due to NOx (LNOx) and to radical-radical reactions (LROx). LROx/LNOx and formaldehyde to NO2 ratio (FNR) were shown to be predictive of modeled MDA8 ozone sensitivity, but with variation in predictive power as a function of time of day, which has implications for air quality management use of FNR from geostationary satellites.


It takes a village to educate children
Ron Gregory
8 months 1 days 8 hours ago |8 Views | | | Email | Print
Dear Editor:
Do you agree it takes a village to educate children?
This is one example of a village coming together to educate children and provide support. Despite the current situation of our economy several businesses and local citizens gave monetary donations.
Administrators, parents, and teachers provided a dedicated team educate the children. These local citizens and businesses provide the monetary support so that the children were able to extend their education beyond the classroom.
Cook law office, Conaway law office, Dr. Senator, Handley Funeral Home, Hatfield law office, Madison Elementary PTO, Jean Cook, and Jeannie McClung. Teresa Butcher, Brenda Lovejoy and Melissa Workman are the aides in the classroom.
They are dedicated assistants who love the students and go above and beyond what is required. They are true educators who enjoy interacting and working with the students.
The administrator's Mrs. Napier and Mr. Griffith provided support and understanding to the classroom. Without their support and understanding we would not have been able to extend the needed social skills and interactions within the community.
Every parent was very supportive of our efforts and their child.
I have taught for many years and never encountered such parental support. This is a vital component to educating students.
With the money and support we were able to purchase classroom shirts, attend various field trips, food and games for the beach blast, the Jack Hannah trip, Disney on Ice and the end of the year trip to the bowling alley.
Thank you to all of the people who were supportive and provided a successful school year to the students.
Angela Howell
Van, W.Va.
Similar Stories
Sponsored By:
Local Gas Prices
Lowest Gas Prices in Logan
Logan Gas Prices provided by GasBuddy.com
Featured Business


Support Center > Knowledge base> Article: Replacing the X-Motor on the Legend 36EXT
Replacing the X-Motor on the Legend 36EXT
Article ID: 17034 Email Print
Question
How do I replace the X-motor on my Legend 36EXT?
Answer
Replacing the X-Motor on the Legend 36EXT
Machines: Legend 36EXT
Tools: 5/32 Allen Wrench
 1. Remove both side panels.
 2. Push the I-beam until it is perpendicular to the opening on the left side of the machine, so it is more accessible.
 3. Disconnect the three leads connected to the motor.
 4. Loosen the I-beam belt.
 a. Using a 5/32 Allen wrench, loosen the two screws found on the right side of the I-beam.
 b. Push in the black spindle while tightening the two screws. Make sure the belt becomes slack after tightening the screws. The spindle will hold in place.
 5. The X-motor is held in place by four captured screws. Loosen these screws to remove the motor.
 6. Pull the motor up and away from the machine.
 7. With the new motor, put the silver spindle into place, making sure the belt loops around the spindle.
 8. Screw the motor into place.
 9. Reconnect the three leads.
 10. Tighten the I-beam belt.
 a. Loosen the two hexagonal screws using the 5/32 Allen wrench to allow the pulley system to tighten the belt.
 b. Make sure the pulley system snaps into place. The belt should be tight.
 c. Tighten the two hexagonal screws.
 11. Replace side panels.
related articles
Article Details
11013 Created on: Apr 18, 2012
Date updated: Apr 18, 2012
Posted in: Legend 36EXT
Poor Outstanding


text:
Last week we learned how to find and use the Shape Unite tool. This week we're going to shift focus to its partner command, the Shape Subtract tool.
- If you have not already, follow the instructions from last week's article to add the Shape Subtract tool to your PowerPoint ribbon.
- Find the shape from which you would like to subtract another shape. I am going to use the flower from last week.
- Insert the new shape onto your slide (Insert > Illustrations > Shapes).
- Select the shape from which you would like to subtract another shape (in this case, the flower) and THEN press [Ctrl] as you select the other shape (the circle). Release [Ctrl].
- Locate on your ribbon where you have added the Shape Subtract tool and click it.
The second shape has instantly been removed from the first.
Note: If you will be using the shape you are subtracting (in this case, the circle) elsewhere in your presentation, be sure to copy and paste it before using the Shape Subtract tool. Using the Shape Subtract tool will cause the subtracted shape to disappear.
Fast and easy! Check back next week for an easy way to apply these tools toward constructing an eLearning module.
About the author: AJ George is IconLogic's lead Technical Writer and author of both "PowerPoint 2007: The Essentials" and "PowerPoint 2008 for the Macintosh: The Essentials."


Tip
Serial ID fields
Many databases allow you to create serial ID fields--fields that increments by a number every time you add a record. When properly applied, serial ID fields are particularly useful because they uniquely identify a record. These fields are used as primary and secondary key fields to match one database table (or file, depending upon the database used) to another. Some database developers swear by serial ID fields; others swear at them.
The problem with serial ID fields is that they are automatically generated and if the database engine loses the sequence you end up orphaning your data and perhaps making the data useless. Many databases offer a reserialization feature that will correct serial fields to fill in missing numbers, and to reset the next number in the sequence. If you make the mistake of reserializing your serial ID field, woe is you.
The other problem about serial ID fields is that the data they contain tells you nothing about the record, its time of creation, who the record belongs to, and so on. Therefore, many developers have adopted schemes to replace serial fields with key fields that are unique and offer some guidance as to what the purpose of the record is. For example, in a hospital database it makes more sense to create a field of, say, 8 characters that are created from the first four letters of the persons last name, and the first four letters of their first name. Then Barrie Sosinsky becomes "sosibarr" in that key
 Requires Free Membership to View
field. In the unlikely event that Barrice Sosin checked into that same hospital, subtracting a letter and adding a number, as in "sosibar1", breaks the tie.
When you have a high performance database engine like FoxPro, you can do even more sophisticated key fields. One well-known New Jersey consultancy creates long key fields from a combination of the serial data and time of creation, as well as the user name of the creator. Since each time of the system clock is unique, each record must be unique. And the benefit of this approach is that you can parse the key field to order records or to draw out records created by a particular individual.
So the next time you are constructing a database, ask yourself if you want to trade the relative simplicity of implementing your key fields as serial ID fields, or whether your data set would benefit from a different approach.
About the Author
Barrie Sosinsky (_EMAIL_)is president of consulting company Sosinsky and Associates (Medfield MA). He has written extensively on a variety of computer topics. His company specializes in custom software (database and Web related), training, and technical documentation.
For More Information
This was first published in April 2001
Join the conversationComment
Share
Comments
 Results
 Contribute to the conversation
 All fields are required. Comments will appear at the bottom of the article.
 Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.


text:
Magical Native American is a Trope common to fiction. This both a Character as Device Trope and a Characterization Trope in that it can sometimes be the character's primary role in a story, and other times it's just a lens to color his or her personality.
The Magical Native American character has Native American ancestry (though the trope is often also applied to Aborigines, African bushmen, and First Nations), and some sort of overt or implied magic, with a particularly native feel. The character probably has one or more spirit guides, or otherwise commune with Nature Spirits.
Similar in vein to the trope Magical Negro, although usually more explicitly magical. See also Noble Savage and Religion Is Magic. For a specific Western Character that frequently uses this trope, see Medicine Man.
In some ways the air of magical competence about an Amerindian Shaman can be regarded as analogous to the gloss placed on the Oriental Martial Arts (not to mention their swords) - it's not that Europeans never had such things, but more that they were forgotten (or at least marginalised) during the "Enlightenment" and the Industrial Revolution. From a systemic point of view, there is no reason to assume that a Medicine Man from the Plains would be any more powerful a worker than a Hermetic Magus imported from the Old World.
Game and Story Use
- As with many tropes archetype has a lot of power, and is readily grokked by most players very quickly. It won't take much hinting to get the players to connect the dots.
- As with any racially charged trope, some care should be taken not to fall into the stereotype of making all Native Americans use this trope.
- You could hint that someone is a Magical Native American, and let the players make the intuitive jump. Meanwhile, the NPC in question is actually a cyborg, alien, or some other unexpected subversion of the trope.
- Taking inspiration from the trope, Native American religion, medicine, and culture could make a very flavorful base for a campaigns magic system.
- Applying it to another setting or culture could subvert player expectations nicely.
- Of course if you create an ancient evil in the US it makes sense for the Amerindian population to have encountered it before and potentially retain some kind of lore about dealing with it. Likewise, when dealing with the powers of the land, an aboriginal native probably has an advantage. Of course, the problem being that the native populations of great chunks of the US were wiped out or relocated so far from home as to be untraceable … if you needed their wisdom to combat a primordial menace east of the Mississippi … too bad.
- Although tracing the shamen of a relocated tribe could be a very interesting job for the more academic PCs: hours of library time to find that an apparently different tribe on the far side of the US took them in and adsorbed their medicine way.

source: HuggingFaceFW/fineweb-edu


text:
Tinker Education STEM team hosted a motivational and educative Ignite Talk.
We were excited to be part of a team of educators and researchers from Scratch MIT, a gathering of educators, researchers, developers, and other members of the worldwide Scratch community.
As a leading STEM learning center in Kenya with a customized STEM curriculum, Tinker Education presented it's program to a group of youths, fellow STEM enthusiasts who are also passionate about educating the youth and young children coding and institutions looking to incorporate hands on learning through application of creativity and play to students.
Tinker STEM teachers met and interacted with inspiring parties from Scratch MIT team who are also changing the lives of children through their teaching.
"Turtlestich is a programmable embroidery platform that uses concepts from Scratch. One writes a script of how they would like their design to look like. They then transfer that script to a flash disk then transfer your code to the embroidery machine.
– It was really awesome to see that and it would be a nice way to teach students (especially those who might be interested in fashion and design) that they can do that while writing code."


Skip to main content
Non-scientific name:
gaisha
1 Accepted name(s) for "gaisha":
1 Medicinal source(s) include this non-scientific name:
Medicinal sources: Scientific names as used in medicinal source: MPNS matched scientific names: Accepted name: Trade forms: Plant parts:
Ayurvedic Pharm. of India (_PHONE_) Leucas cephalotes Spreng. Leucas cephalotes (Roth) Spreng. Leucas cephalotes (Roth) Spreng. dried whole plant whole plant


})(e_1)=e_2, \\
(\sigma\circ F_{1,2})(e_0)=e_0,\quad & (\sigma\circ F_{1,2})(e_1)=e_2, \\
(\sigma\circ F_{2,2})(e_0)=e_0,\quad & (\sigma\circ F_{2,2})(e_1)=e_1.
\end{align} The map \(\partial\) extends uniquely to a group homomorphism \(\partial_p:C_p(U)\to C_{p-1}(U)\), called the singular boundary operator. We write \(\partial=\partial_p\) when the dimension \(p\) is clear.
Theorem 13. For any \(c\in C_p(U)\) we have \(\partial(\partial c)=0\).
We say that a singular \(p\)-chain is a cycle if \(\partial c=0\), and we say that \(c\) is a boundary if \(c=\partial b\) for some \(b\in C_{p+1}(U)\). Let \(Z_p(U)\) be the set of all singular \(p\)-cycles, and let \(B_p(U)\) be the set of all singular \(p\)-boundaries. Then \(Z_p(U)=\ker\partial_p\), and \(B_p(U)=\operatorname{im}\partial_{p-1}\). Since \(\partial_{p-1}\circ\partial_p=0\), we have \(B_p(U)\subseteq Z_p(U)\). The \(p\)th singular homology group of \(U\) is the quotient group $$
H_p(U)=Z_p(U)/B_p(U).
$$ The equivalence class in \(H_p(U)\) of a singular \(p\)-cycle \(c\) is called its homology class, and is denoted by \([c]\). If \([c]=[c']\), then we say that \(c\) and \(c'\) are homologous.
Since \(\triangle_1=[0,1]\), any singular 1-simplex \(\gamma\) is a path in \(U\). Conversely, any path \(\gamma:[a,b]\to U\) can be considered as a singular 1-simplex in \(U\) since we have the reparametrization \(\widehat{\gamma}:[0,1]\to U\) given by \(\widehat{\gamma}(t)=\gamma(a+t(b-a))\).
Lemma 14.
 1. If \(\gamma\) is a singular 1-simplex then \([-\gamma]=-[\gamma]\), where \(-\gamma\) is the singular 1-simplex defined by $$(-\gamma)(t)+\gamma(1-t).$$
 2. If \(\gamma_1,\gamma_2\) are singular 1-simplices with \(\gamma_1(1)=\gamma_2(0)\), then \([\gamma_1+\gamma_2]=[\gamma_1\cdot\gamma_2]\), where \(\gamma_1\cdot\gamma_2\) is the singular 1-simplex defined by $$
 \gamma(t)=\begin{cases}
 \gamma_1(2t), & 0\le t\le 1, \\
 \gamma_2(2t-1), & 1 < t \le 2. \end{cases}$$
 3. If \(\gamma,\eta\) are singular 1-simplices that are (path) homotopic, then \([\gamma]=[\eta]\).
Let us denote a singular 0-simplex \(\sigma\) with \(\sigma(0)=x\) by \(P(x)\). If \(c\) is a singular 1-simplex in \(U\) and \(\partial c=0\) then by definition we have \(P(c(1))-P(c(0))=0\), i.e. \(c\) is a closed path.
Theorem 15. Every 1-cycle \(c\in Z_1(U)\) can be written in the form $$
[c]=\sum_{i=1}^k c_i[\gamma_i],
$$ where each \(\gamma_i:\triangle_1\to U\) is a closed path.
Proof. Suppose not; then we can write $$
c=\partial b+\sum_{i=1}^k c_i\gamma_i+\sum_{i=1}^j \sigma_i \tag{*}
$$ where \(b\) is a singular 2-chain, \(c_i,c'_i\ne 0\) for all \(i\), each \(\gamma_i\) is a closed path, and each \(\sigma_i\) is a path that is not closed. We can assume that \((j,k)\) is the smallest pair for which \(c\) can be written in this form (where we take \((j,k) < (j',k')\) if \(j < j'\), or \(j=j'\) and \(k < k'\)), and that \(j\ge 1\). Then $$ 0=\partial c=\sum_{i=1}^j [P(\sigma_i(1))-P(\sigma_i(0))]. $$ Suppose \(P(\sigma_i(1))=P(\sigma_1(0))\) for some \(i\ne 1\); then \([\sigma_i]+[\sigma_1]=[\sigma_i\cdot\sigma_1]\), so we can reduce either \(j\) or \(k\) in (*). Similarly, if \(P(\sigma_i(0))=P(\sigma_1(0))\) for some \(i\ne 1\), then \([\sigma_i]+[\sigma_1]=[(-\sigma_i)\cdot\sigma_1]\) and we can reduce \(j\) or \(k\). Both of these cases contradict the minimality of \((j,k)\), so we must have \(P(\sigma_1(0))=P(\sigma_1(1))\) since the coefficient of \(P(\sigma_1(0))\) in the above sum is \(0\). This contradicts the fact that \(\sigma_i\) is not closed. \(\square\) Let \(\omega\) be a locally exact form on \(U\) and let \(c\in C_1(U)\) be a 1-chain in \(U\). Write \(c=\sum_{i=1}^k c_i\sigma_i\) where \(c_i\in\mathbb{Z}\) and each \(\sigma_i\) is a 1-simplex in \(U\). We define the integral of \(\omega\) over \(c\) by $$
\int_c \omega = \sum_{i=1}^k c_i \int_{\sigma_i} \omega.
$$
Lemma 16. Let \(\sigma:\triangle_2\to U\) be a 2-simplex. Then $$\int_{\partial\sigma} \omega=0$$ for every locally exact form \(\omega\) on \(U\).
Proof. It is clear that $$
\int_{\partial\sigma} \omega=\int_{\sigma\circ\gamma} \omega
$$ where \(\gamma:[a,b]\to\triangle_2\) is a path traversing the boundary of \(\


text:
Google spots DDR4 weakness that could expose your PC to a system takeover
Google spots DDR4 weakness that could expose your PC to a system takeover, A new DRAM hacking technique might expose your DDR4 RAM to assaults and eventual system takeovers. Fortunately, Google is stepping up with the wise notion of making the findings public in the hopes of hastening a repair.
The software is a new variant of a known vulnerability called Rowhammer. The vanilla version of the software would compromise the data rattling around your RAM's memory cells by granting hackers ability to access one adjacent row, and modify the content of other memory addresses, by sending multiple access requests.
It's existed for a while and, according to Neowin, it came about thanks to an "electrical coupling phenomenon in silicon chips which bypasses software- and hardware-based protection."
Previously, DRAM makers could safeguard against Rowhammer attacks by installing circuitry that detected and blocked the nefarious behavior in DDR3 chips. They assumed it was all over. However, with the introduction of DDR4, it has been shown that the curse of Rowhammer is still a menace, operating via TRRespass and other techniques.


Download Article
Download Article
When your pet urinates on or in your luggage, it can be quite difficult to remove the stubborn smells and stains. Although it takes a bit of time, you can clean pet urine from your luggage by saturating it with vinegar, sprinkling the stain with baking soda, and, if the smell is still lingers, applying a hydrogen peroxide solution. You can also try to clean the urine from your luggage in the washing machine, with an enzymatic pet cleaner, or with an odor-eliminating pouch.
Method 1 of 2:
Using Vinegar, Baking Soda, and Hydrogen Peroxide
 1. 1
 Dab the suitcase with paper towels to soak up the urine. If the pet urine is fresh and still wet, press a few paper towels down onto the wet spot and hold it there for a few seconds to soak up as much of the urine as possible. Then, with fresh paper towels, continue dabbing the wet spot until the paper towels come up dry.[1]
 - You can also use an old rag instead of paper towels.
 - Make sure that you dab the urine spot instead of rubbing, which can cause the urine smell to spread across the fabric.[2]
 2. 2
 Fill an empty spray bottle with distilled white vinegar. Make sure that the spray bottle is clean. Then, replace the sprayer cap onto the bottle. This will allow you to apply to the vinegar to the urine stain without having to saturate a larger area of the suitcase.
 - If the smell of straight vinegar is too strong for you, you can dilute it with water by adding 3 parts water to every 1 part of distilled white vinegar in the spray bottle.[3]
 3. 3
 Spray the urine stained spot with the vinegar. With the vinegar-filled spray bottle, spray the urine spot until it's completely saturated. Then, if the pet urine is on soft luggage, turn the luggage over and spray the opposite side of the fabric where the urine spot is located as well. This will help you remove any urine stains and odors that may have seeped into the luggage fabric.[4]
 - If the pet urine spot is on hard luggage, you can just spray the spot on one side.
 4. 4
 Set the luggage outside to dry completely. Once the urine spot is completely saturated with white vinegar, leave it to dry completely for several hours or overnight. If possible, place the luggage outside so that the fresh air will help remove the urine odor even more.[5]
 - If you want to speed up the drying time, you can blot up some of the vinegar with a paper towel after it's soaked through the fabric.
 5. 5
 Sprinkle baking soda over the dried urine spot.[6] Once your luggage is completely dry, pour a light layer of baking soda over the entire urine spot area. This will help neutralize any remaining odors even more.[7]
 - If the urine spot was small or didn't have a strong smell, you can skip the next steps and leave the baking soda alone to absorb any lingering odors overnight.[8] If the odor is strong, however, you'll likely need to add the hydrogen peroxide and dish soap solution on top of the baking soda.
 6. 6
 Add hydrogen peroxide and dish detergent if the odor is strong. In a small bowl, mix 34 cup (180 mL) of hydrogen peroxide with 1 teaspoon (4.9 mL) of dishwashing detergent. Then, slowly pour the solution over the baking soda-covered urine stain. Use a scrub brush or old toothbrush to mix the baking soda with the solution and work it into the luggage fabric.[9]
 - While using baking soda alone can neutralize some pet urine odors from luggage, adding the hydrogen peroxide and dish soap solution will help neutralize the urine smell if it was still strong after soaking in white vinegar.
 - The solution will likely start to bubble as you pour it over the baking soda.
 7. 7
 Leave the baking soda and solution to dry overnight.[10] Once you've worked the solution into the fabric, leave it to dry completely overnight or for several hours. This will give the baking soda, hydrogen peroxide, and dish soap time to neutralize the urine odors, kill any germs, and remove the urine stains from the fabric.[11]
 8. 8
 Vacuum up the dried mixture before using the luggage. Using your vacuum hand-held attachment, vacuum up the remaining baking soda and dried hydrogen peroxide and dish detergent mixture from the luggage fabric. In most cases, the urine stain will be gone and your luggage will be ready to use.[12]
 - If there's still a lingering urine odor or stain, you can repeat this whole process again.
Method 2 of 2:
Using Other Cleaning Methods
 1. 1
 Put your luggage in the washing machine if it's machine washable. If your pet urinated on a small piece of luggage, such as a backpack or soft fabric suitcase, you may be able to deodorize and sanitize it by washing it in the washing machine. Before placing it the washing machine, however, make sure that you check the instructions on the care tag so you'll know how to wash it correctly.[13]
 - If the urine smell is strong, you can add baking soda to the washing machine to help remove the odor even more.
 2. 2
 Try an enzymatic pet cleaner and deodorizer. There are several enzymatic pet cleaners on the market that can remove urine stains and eliminate lingering odors. Most enzymatic pet cleaners come in either a powder, similar to baking soda, or in a liquid sprayer.[14]
 - If you purchase a powder enzymatic pet cleaner, in most cases, you sprinkle it over the urine stain as you would baking soda, and leave it to soak up the stain and odors for several hours before vacuuming it up.
 - When using a liquid spray enzymatic pet cleaners, you'll generally spray the liquid on the urine spot as you would white vinegar, and leave it to air dry completely.
 3. 3
 Make an odor-eliminating pouch to absorb lingering odors. If you've cleaned your luggage thoroughly but there's still a lingering odor, you can try to get rid of it by making an odor-eliminating pouch and leaving it in your luggage when you're not using it. For example, try making your own pet urine odor-eliminating pouch by placing a scoop of new kitty litter and a dryer sheet in a small sachet. Tie the sachet up so nothing spills out, then leave it in your suitcase to deodorize over time.
 - You can also pour about 3 drops of your favorite essential oils onto a few cotton balls and place them inside the luggage.[15] You can leave the scented cotton balls loose or put them in a sachet to keep them together.
 - You can also purchase pre-filled odor-eliminating pouches.
Community Q&A
Ask a Question
200 characters left
 About This Article
 Melanie Garcia
 Co-authored by:
 Professional House Cleaner
 This article was co-authored by Melanie Garcia. Melanie Garcia is the Co-Owner of Oranges & Lemons, a small, family cleaning business based in Downtown Los Angeles, California (DTLA) in operation for over 40 years. Oranges & Lemons operates while partnering with the National Domestic Workers Alliance and Hand in Hand: Domestic Employers Network. This article has been viewed 7,316 times.
 1 votes - 100%
 Co-authors: 3
 Updated: March 19, 2021
 Views: 7,316
 Thanks to all authors for creating a page that has been read 7,316 times.
 Did this article help you?


To adjust our walking poles please follow these steps:
 1. Unscrew the lower section by turning the pole towards the unlock position (symbol located on the pole).
 2. Extend the lower section to the stop sign then tighten the pole.
 3. Unscrew the middle section and tighten at your desired length by turning the pole towards the locking position.
 4. To turn the Anti-shock on slightly turn the middle section until it clicks.
(The poles should be set-up so that when gripping the pole your forearm is at a 90 degree angle to your upper arm. The pole should be adjusted to be lower on a incline and longer on a decline)
Please find attached further instructions on how to use our walking poles


Unit Converter
Conversion formula
1 in = 1.5782828282828E-5 mi
To convert 3.7 inches into miles we have to multiply 3.7 by the conversion factor in order to get the length amount from inches to miles. We can also form a simple proportion to calculate the result:
1 in → 1.5782828282828E-5 mi
3.7 in → L(mi)
Solve the above proportion to obtain the length L in miles:
L(mi) = 3.7 in × 1.5782828282828E-5 mi
L(mi) = 5.8396464646465E-5 mi
The final result is:
3.7 in → 5.8396464646465E-5 mi
We conclude that 3.7 inches is equivalent to 5.8396464646465E-5 miles:
3.7 inches = 5.8396464646465E-5 miles
Alternative conversion
We can also convert by utilizing the inverse value of the conversion factor. In this case 1 mile is equal to 17124.324324324 × 3.7 inches.
Another way is saying that 3.7 inches is equal to 1 ÷ 17124.324324324 miles.
Approximate result
For practical purposes we can round our final result to an approximate numerical value. We can say that three point seven inches is approximately zero miles:
3.7 in ≅ 0 mi
An alternative is also that one mile is approximately seventeen thousand one hundred twenty-four point three two four times three point seven inches.
Conversion table
inches to miles chart
inches (in) miles (mi)
4.7 inches 0 miles
5.7 inches 0 miles
6.7 inches 0 miles
7.7 inches 0 miles
8.7 inches 0 miles
9.7 inches 0 miles
10.7 inches 0 miles
11.7 inches 0 miles
12.7 inches 0 miles
13.7 inches 0 miles


text:
n-Siとp-有機光触媒層からなる光電素子の開発 The development of photo-electric conversion device produced by n-silicon and p-photocatalyst layer
The opto-electronics device is an element that photoelectric conversion is possible by itself. In the present investigation, the opto-electronics device was constructed by using organic materials. From this research, we attempt to find out the characteristic of opto-electronics produced by n-silicon and p-photocatalyst layer by changing the polymerization quantity of the storage layer and the incident light intesity. It was found that the photovoltage increases linearly with incident light intesity.
- Journal of advanced science
Journal of advanced science 14(1), 39-40, 2002-07-31
Society of Advanced Science


text:
Women and Journalism
Published April 22nd 2004 by Routledge – 288 pages
Women and Journalism offers a rich and comprehensive analysis of the roles, status and experiences of women journalists in the United States and Britain.
Drawing on a variety of sources and dealing with a host of women journalists ranging from nineteenth century pioneers to Martha Gellhorn, Kate Adie and Veronica Guerin, the authors investigate the challenges women have faced in their struggle to establish reputations as professionals.
This book provides an account of the gendered structuring of journalism in print, radio and television and speculates about women's still-emerging role in online journalism. Their accomplishments as war correspondents are tracked to the present, including a study of the role they played post-September 11th.
Introduction: Women and Journalism in the United States and the United Kingdom 1. Early Women Journalists: _PHONE_ 2. Women Journalists in the Post-War Period Chapter 3. The Education and Training of Women Journalists 4. 'One of the Boys?' Women's Experiences of the 'Glass Ceiling' 5. Gendered News Room Cultures and Values 6. Challenges to Sexism and Discrimination 7. The 'First Wave' of Women's Alternative Journalism 8. Women's Alternative Journalism of the 'Second' and 'Third' Wave 9. Women's Alternative Media in Broadcasting and the Internet 10. Women War Correspondents Women War Correspondents Between the 1970s and the 1990s 11. 'Postmodern Journalism' and its Implications for Women 12. Conclusion: Women, Journalism and New Media


Two Tribes (and other DevOps Myths)
"When two tribes go to war, a point is all that you can score" – Two Tribes, Frankie Goes To Hollywood.
DevOps, like Agile and Lean before it, is often heavily resisted by established companies struggling to accept that traditional ways of working are not necessarily effective in today's constantly changing world.
I've heard many explanations for why organisations are unwilling to adopt a DevOps model or practices, often based on incorrect assumptions. In this article, I'll debunk some of the common myths about DevOps; my vision is to empower change agents to challenge erroneous beliefs within their organisations and encourage them to reconsider taking a DevOps approach.
Myth #1 DevOps creates a Two Tribes mentality
In the Agile world, we have adopted 'tribe' or 'guild' vernacular to describe modern cross-functional teams that can make decisions locally to improve their effectiveness. These aren't the tribes I'm referring to.
In traditional IT, the plan – build – operate model has created a disconnect between the development team (the people who build the software) and operations (the people responsible for looking after the software in production). These two tribes are often at war. Historically, poor implementation of IT Infrastructure Library processes has created strong demarcation between these two functions and negatively affected the flow of working software into the production environment.
The level of mistrust between these two groups is high.
Operations teams are concerned that in a highly complex environment (and under business pressure to deliver), development teams will put technical debt into production for operations to support — an "all care, no responsibility" approach to software development. On the other side of the coin, the development teams are frustrated by the time it takes to make configuration changes, open up firewall rules and deploy their applications.
Often, the mention of DevOps as a way to solve these problems leads to paranoia that each team's special skills will be eroded. In fact, nothing could be further from the truth. DevOps supports cross-team collaboration, encouraging both teams to work together to address each other's concerns about quality software being deployed.
Puppet's 2016 State of DevOps Report provided key metrics around IT and organisational performance.
Puppet's report showed that teams that adopt DevOps principles realise a 22% decrease in unplanned work and rework.
Myth #2 DevOps adds risk with continuous delivery
I remember the pre-Agile days in IT when there was a single release of software at the end of a project. People had to cancel their leave around the go live date, and everybody was expected to work an entire weekend. The whole event was very stressful and failure was not an option.
In almost every other pursuit in life, if something is this risky then the smart thing to do is to practice it. Strangely, suggesting this approach in a traditional IT organisation is usually met with shock, mainly because most deployment processes are poorly implemented.
A well-crafted delivery pipeline has all of the governance processes built in, reducing the risk of deployment and application. DevOps adds value throughout the entire software creation process, using a combination of Agile and Lean techniques to ensure that the software is of a high standard, its functionality delivers the highest value to the customer, and its passage into the production environment is low risk.
Puppet found that DevOps teams report a 3X reduction in change failure rates and a 24X faster recovery from failure rate than traditional IT environments.
Myth #3 DevOps is just another excuse for IT to spend money on tools
It's true that if you store your infrastructure as code, automate all of your tests and monitor all of your environments, you'll have to invest in technology to enable this, but it doesn't need to cost a lot of money. In fact, almost everything that you need to enable DevOps is open source.
Some organisations choose to pay for product support for commercial products, however this investment represents a fraction of the value that a 2000X improvement in lead time can give an organisation.
Myth #4 DevOps creates a security nightmare
Complex environments generate threats to an organisation's security. Migration to offsite infrastructure, creating consistent-looking environments and sharing enterprise space (as per the practice of Continuous Integration) have all created opportunities for hackers to infiltrate an organisation's technology platforms.
The establishment of infrastructure-as-code, multiple deployments a day and giving developers access to production environments are looked at as security risks, and often used to justify resistance to the adoption of DevOps practices by many organisations.
According to the latest data, DevOps adopters spend 50% less time remediating security issues than others, because their information security objectives are integrated into their daily work.
Myth #5 DevOps is all about release management
Release management is undoubtedly an important component of DevOps. Unless you can safely deploy your code into the production environment and into the hands of your users, your organisation is not banking the value that your software delivers. However, it's important to acknowledge that there's more to DevOps than release management.
If your code is fragile and you have no way of automatically verifying the software's quality, users will not find it useful if it's riddled with defects, regardless of how safely the code was shepherded into production.
DevOps encapsulates good software practices including architectural decisions to reduce batch sizes, and a quality first approach to writing software to ensure clean, organised and maintainable code. Testing should be optimised for automation so that quality can be assured before software is deployed.
Automated builds, testing, deployment and provisioning provide consistency when moving software into environments, increasing speed and reducing risks.
Why DevOps does not create a two tribes mentality
As you can see, there are still a lot of myths surrounding what is DevOps. This blog aims to explain that DevOps is more than just release management, encapsulating software architecture and quality assurance as well.
It's also a risk mitigation strategy that enhances your capability for consistency and security and most importantly, creates an opportunity for people to align and collaborate to reach a common goal.
DevOps lowers the cost of the transaction of getting into the production environment which enables small and frequent changes. This aspect supports faster delivery and unlocks customer value as more regular releases allow the organisation to respond to feedback and tailor changes to deliver even higher levels of customer satisfaction.


ANNEX 5: formulae for calculating optimal allocation of survey effort among strata.
Optimal allocation formulae
Buckland et al. (1993; chapter 7.2.3) provide formulae for optimal sample allocation for line transect surveys. They assume
 1. the squared coefficient of variation of total count in a stratum, is inversely proportional to expected total count, E(n), and that this relationship is the same in all strata. Put another way, var(n) is proportional to E(n).
 2. the squared coefficient of variation of effective strip width, is also inversely proportional to E(n), and that this relationship is the same in all strata.
 3. effective strip width,is the same over strata, but is estimated separately in each stratum (so that the estimates,
, are independent).
Given that
where is the estimate of density in stratum v, is the total count in stratum v and is the estimate of effective strip width for stratum v. Under the above assumptions,
where L is total line length, and Av is the area of stratum v.K is a constant, given by
where and.
For fixed L, is minimized when
where is the ratio of sample effort in stratum v divided by total sample effort.
Since we will be systematically placing sample locations on a grid, a useful quantity is the optimal relative density of sample locations in a stratum. This is given by
where is the density in the reference stratum (usually the one with the highest density).
We originally considered stratifying both by density and by ease of access (i.e., by cost of sampling). In this case, Lagrange multipliers can be used to show that, under the same assumptions as outlined for (3), the optimal allocation is
where Cv is the cost of visiting a sample unit in stratum v. (Since the formula is scale-invariant, it does not matter how Cv is measured.)
Assumption 1, above, implies the relationship - i.e. that total count forms an overdispersed Poisson distribution. This has been found to apply to a wide variety of wildlife abundance studies (Buckland et al. 1993). However, other relationships are possible. For example, one may suspect that counts follow negative binomial distribution, leading to. In an analysis of elephant dung recce-transect data from the Gamba, Walsh et al (2001) tested three related models. They did not work directly with n or e, so the results are not exactly comparable with those presented here. However, they found that a "Taylor's power law" relationship of the form was the best fit to their data, with for their data.
The optimal allocation equation (5) can be further generalized to allow for any of the above forms for var(n). Assume. Assumptions 2 and 3 are as before. Again using Lagrange multipliers, it can be shown that
where l is the survey effort per unit length of line at a sample location and is the Lagrange multiplier. In general, (3) and (4) no longer hold; however when b4 is in the plausible range of 1 - 2, the optima should not be too far from these. (This statement needs to be confirmed, using simulation!) Specifically, when b4 = 2 (as in, for example, the negative binomial distribution), the first term of (6) disappears, leaving the optima of (3) and (4). (Trivially, (3) and (4) also hold when b4 = 0 or 1.)
Assumption 2 is a mild one, given that is likely to make up only a small proportion of the total variance of the final density estimate, for any feasible extensive program. At the three pilot sites, made up between 5% and 14% of (Thomas and Buckland, unpublished). Assumption 3 is unrealistic, but again violation of it is unlikely to have much affect on the optimal allocation. Buckland et al. (1993) show that if this assumption is moderated, to assume that a commonis estimated across strata, then the optimal allocation falls somewhere between (3) and
Given that will make up a small proportion of the total CV, whether pooled by stratum or not, we expect the optimal allocation to be much closer to (3) than (7).
Trend sensitivity formulae
Walsh and White (1999) provide a simple method for assessing the sensitivity of a survey program to detect a chance in abundance between two time points. Their method assumes that the difference between density estimates is normally distributed, that the coefficient of variation of density is the same in the two years, and that the test for trend is being performed at =0.05. Under these circumstances, the percent change in abundance detectable is given by
Optimal allocation
Here, we use the pilot data to estimate b1 and b2, from (2), and therefore the optimal allocations, from pilot survey data.
We first examine the assumption that ("Model 1"). Unfortunately, with only 3 pilot sites, it is difficult to adequately judge the fit of the data. Table 1 gives the data, and Figure 1 shows a scatterplot of against n for the pilot sites, with a fitted linear regression line constrained to go through the origin. A plausible alternative distribution for var(n) is negative binomal, which implies the relationship ("Model 2", the dashed line in Figure 1). With so few data, it is not possible to distinguish between the alternatives: Figure 2a), using nt appears to favour Model 1, while Figure 2b), using nc, appears to favour the Model 2.
It would be informative to combine this pilot data with those of Walsh et al (2001) to form a combined analysis. Meanwhile, as both Model 1 and Model 2 produce the same optima (see above), we will proceed as if Model 1 is the correct model. Choosing the incorrect model will, however, affect the predicted variances.
Buckland et al. (1993; section 6.3.2) give two methods for estimating b1 under Model 1:
where kv is the number of sample locations at site v (v = 1, 2, 3), and, and
From the pilot data, the two estimates are 7.34 and 9.21 for transect data, and 25.6 and 29.4 for the combined data.
Estimates of b2v are given in Table 2 - they are not at all similar between sites, but as stated earlier this is unlikely to affect the optimization. These site estimates can be combined to form a common estimate in a similar way to the b1vs in equation 9. The combined estimates are b2t = 0.54 and b2t = 2.06.
An estimate of, pooled in a similar way, is 2.25m. (One could argue that this estimate should be weighted by n rather than k). The estimates of K, using the estimate of b1 from equation 5, are therefore Kt = 8.87 and Kc = 31.11.
The optimal allocation, calculated according to (3) and (4), is shown in Table 3. The expected variance at differing sampling intensities, and predicted trend sensitivity is presented in the text.
Table 1. Total count and estimated count variances from the pilot sites. Total count for transect data alone, nt, (after truncation at 4m) and total combined adjusted count, nc are shown. k is the number of sample locations at each site; line lengths per site are 1km for transect data alone and 4km for the combined adjusted count. For more information about how these were calculated, see Thomas and Buckland (unpublished).
Table 2. Estimates of the constant for each site, using either nt or nc.
Table 3. Optimal allocation of effort to each stratum, using equations (3) and (4). is the proportion of effort to allocate to each stratum, and is the relative density of sample locations in the two strata, relative to the Medium/High stratum.
Area (km2)
D (ele/km2)
879 544
MIKE sites
127 855
44 749
2 405 352
ANNEX 6: accessibility of survey sites in central africa
An initial map showing accessibility is given in the following figure (figure 1). The survey region has been divided into three strata – accessible, difficult to access and not accessible. Areas that are not accessible are excluded from the survey programme altogether. Here, we will assume that accessible sites take on average 1 week to reach (total travel time, not including the 1 week surveying at the site), and difficult to access sites take 3 weeks travel time. This means that total survey time including the 1 week surveying at each site is 2 weeks for accessible sites and 4 for inaccessible.
When the whole study area cannot be surveyed in a given year, we propose that survey blocks be assembled. These would be large contiguous areas (at least 50,000 km 2) where accessibility is not precluded from any area of the survey block. These areas would also contain a wide range of conditions within the range of elephant occurrence, including projected high and low-density zones, and both protected and unprotected areas. The survey blocks would then constitute the study area. Figure 2 gives an example of three selected survey blocks in the Central African Forest region and figure 3 gives


text:
Fishy business: tracing the origins of seafood sold in Canada
January 18, 2023
Canadian grocers offer a wide range of seafood products, which many shoppers might assume were harvested off part of the country's extensive coastline. Unlike other food that might be found in a store, however, the labelling regulations governing the sale of these products are more limited, making it difficult to determine exactly where they originated.
This lack of clarity, along with implications for the safety and sustainability of seafood, became a focus of the House of Commons Standing Committee on Fisheries and Oceans. Last year the committee, which heard from a wide range of individuals with various interests in this topic, published a report with 13 recommendations for improving the way seafood is labelled and marketed in Canada.
"A common theme heard during the committee's study was the lack of clear lines of responsibility and accountability in Canada's fish and seafood traceability and labelling policies," the report stated. "Witnesses identified gaps in Canada's traceability and labelling requirements leading to confusion and possible fraud at the consumer level as there is no agency responsible for leading on the issues of ensuring the accuracy of fish and seafood product labelling."
Despite assurances from the Canadian Food Inspection Agency (CFIA) that this particular supply chain is closely monitored to protect the health of consumers, retail seafood must be labelled only with reference to the "last place of transformation", meaning the country where it was processed before sale, rather than where it was originally obtained. According to Sayara Thurston, representing the charity Oceana Canada, this absence prevents Canadians from determining if these products abide by environmentally and economically sustainable harvesting or aquaculture practices.
"This makes it really hard for consumers to get an accurate sense of what they're buying, if they're trying to avoid certain countries or certain practices because they have concerns about those things, or if they're trying to buy locally," she told the committee. "Right now, they don't have the accurate information to make those choices."
Such choices can be crucial to Canada's seafood producers, as explained by Claire Canet, a project officer with Regroupement des pêcheurs professionnels du sud de la Gaspésie, which represents that region's lobster industry. She described how labelling made a major contribution to that industry at the beginning of the Covid pandemic in 2020.
"Because our lobster was identifiable, we were able to get the support of the distributors, such as Metro, who were able to put forward in their retail shops identifiable Quebec products," she recounted for the committee. "That allowed our buyers to maintain the price that they were selling to Metro and some more minor chains. Ultimately, the Gaspé lobster fishermen were able to maintain their selling price to the main buyer."
Treat fish as food
A key recommendation in the committee's report was a formal review of the CFIA "fish list", which documents the names used to describe different types of seafood for commercial purposes. At present, the committee heard, this list is too limited, and widely varying species from around the world are being placed together in broad categories where they do not belong.
In the government's response to the report, issued late last year, it acknowledged that jurisdictions such as the European Union maintained extensive lists that include scientific as well as common names for seafood species. However, the government insisted there was no Canadian consensus on how comprehensive to make the CFIA list, while some businesses are independently labelling their products with details such as species name and harvesting country.
"The CFIA will continue with its targeted surveillance of fish and seafood to address high-risk areas of misrepresentation," the response concluded. "The CFIA is also working actively to improve its DNA testing capabilities to verify for species substitution in imported and domestic products. In addition, the CFIA plans to explore expansion of its DNA database to include new sub-species of fresh and frozen tuna, for example, to detect the substitution of a lower value fish such as Bluefin for Yellowfin tuna."
That is a step in the right direction, said Emily de Sousa, who has created a detailed on-line reference that explores all aspects of seafood for Canadians. She spoke with Research Money about the committee's report, which reflects most of what she already knew about seafood traceability.
"The majority of problems in seafood can be traced back to the fact that we do not treat fish as food," she argued. "Canada does have a lot of pride in our food production. We're very protective of our farmers. We do not manage fisheries the same way that we manage agriculture."
She suggested government programs and financial resources, designed to help farmers market their goods in Canada and abroad, often have no counterpart to help seafood producers in the same way. Instead, the onus has fallen on grocery chains, such as Metro or Walmart, which have taken their own measures to label these products with the help of the multinational non-profit agency, Marine Stewardship Council (MSC).
"A lot of those decisions are being driven by the consumer, in reality," said de Sousa. "A lot of retailers use MSC, for example, or things like Seafood Watch or Ocean Wise to dictate what seafood they buy, because they want to be able to market that to consumers."
She traces her own passion for seafood to her family's roots in the isolated Portuguese Azores islands, where food security depends on knowing what is being harvested from the ocean. A similar cultural significance might be attached to seafood in some parts of Canada, but generally she has found a lack of appreciation for one of this country's most important resources.
"Canada has the largest coastline in the world, and I don't think it has been appreciated nearly as much as it should be," she said. "The quality of seafood in Canada is amazing. We're just not eating it. There's great seafood products coming from everywhere, but people don't even realize the bounty that we have here, on both the East Coast and the West Coast."


Why LLBLGen Pro v3.0 is better than the regular designer for EF v4.0
As a comment to my blogpost about the 12 minute long video of LLBLGen Pro with Entity Framework v4.0, Burton Roberts asks:
Could you list the advantages of using llblgen pro 3 with Entity Framework versus using EF alone?
Of course! Now, I know these posts are often classified as'marketing' but so be it.
Why is the LLBLGen Pro v3.0 designer better for Entity Framework v4.0 than the regular Entity Framework designer? Below I'll give an (incomplete) list of features you have at your disposal with LLBLGen Pro v3.0 which you don't have with the EFv4 designer.
 - LLBLGen Pro's designer can handle massive models with thousands of entities.
 - Single entity, multiple target databases (e.g. an entity can have mappings to a SQL Server table and a MySql table in the same project)
 - Grouping of entities in the project: as a visual grouping system (so single output project) or as 1 output project (and thus edmx file / code base) per group.
 - Fine-grained reverse-engineering features, for full control over how names are created for fields, navigators, entities and the like: patterns for navigator names, pascal casing of names even if they're uppercased, '_' removal, abbreviation replacement, pluralization/singularization, fragment stripping from fields, tables, views and procs (e.g. 'tbl_', 'pr_', both suffix and prefix), auto-grouping of elements based on schemas.
 - Configurable reverse-engineering so you decide what follows what: do model relationships follow FK constraints in the database or not (e.g. when the DB doesn't have FK constraints, and you don't want to lose the manually created relationships). The same goes for unique constraints, primary key fields, field length/precision/scale etc.
 - True model-first development: tracking of changes made to the the relational model data in the project, and these changes are exportable as UPDATE DDL SQL scripts, including renames of tables, fields etc.
 - Unique constraint support: you can define which fields are unique so a unique constraint is created using model-first techniques
 - Model views: you can define multiple visual views on the entire project, including documentation, which help you focus on smaller areas of the project and also make it easier to discuss model details with domain experts
 - Productive ways of creating a model from scratch using Quick Model. Quick Model is a text-based DSL coupled with a visual representation which allows the user to very quickly create a model from scratch using text sentences. The elements created are added to the main model, and the feature can be used to specify a model quickly during an interview with a domain expert. The domain expert can then immediately see whether the model is correct or needs adjustment, as it doesn't take extra time to create it. As it's the same model the developers will work with there's no time lost by re-creating from scratch a'real' model based on a report from the interview with the domain expert
 - Powerful entity / complex type editing tools: all fields are displayed in a grid and you can define new fields with all specifics from the keyboard without moving your hands (see the quick model video above). No need to mess with a property grid.
 - Automatic forward mapping of fields, entities: auto-map model-first created entities and fields to existing elements or auto-create new tables from the entity definitions
 - Fine-grained control over generated relational model data: when using model-first, you generate tables from entity + mapping data. To make this as easy as possible, you want to define whether you want 'CustomerId' be generated as 'CustomerId', 'CUSTOMERID', or 'CUSTOMER_ID' (or even 'customerid' or other variants). This is important for case-sensitive databases like oracle and postgresql. Also you'd want to define whether you want natural character string types, currency types over decimals and variable types (e.g. varchar) over fixed length types (e.g. char).
 - Powerful search based on C# / VB.NET linq queries: to obtain information about elements in the project, you can define a linq query inside the designer to obtain the information you need, using the projection you need, and even export the information to excel or other program.
 - Automatic relational model management based on mappings: say you have 100 tables in your database, and you use 90 of them in mappings. LLBLGen Pro can warn you about these 10 tables which aren't used, can automatically remove them for you (through an UPDATE DDL SQL script), exclude them from the project (so they're not used in the project but also not removed from the db) without any effort from your side. This also goes for fields, it can automatically remove unused fields from mapped tables if you want (or warn you instead, or be totally silent about this, your choice)
 - Attribute definition for elements: no more 'buddy' classes needed. LLBLGen Pro v3 has a 2-step settings system where you can define defaults which are then used for all instances of the type the setting is specified for (e.g. for the type 'entity', setting A, B and C are set), which can then be overruled at the instance level (e.g. the 'Customer' entity). You can use this to specify an attribute for the type 'field' at the project level, which is then available for each field, and generated into the code for that field.
 - Task based code generation using powerful templates. You can easily control which code is generated using the task-based code generation, using templates which can be edited inside the designer. The code generated is placed in separate VS.NET projects using normal classes and namespaces, so it looks like code you'd have written yourself.
 - Errors produced by validation contain suggestions how to fix them, often with 1-click fixes inside the suggestion. The errors produced by the validation system can have one or more suggestions to fix the error, and each of them has a link you can click which either fixes the error for you or opens the editor for you of the element containing the error so you can directly focus on fixing the error without having to mess with XML files.
 - Clever inheritance modeling: not only can the designer automatically find inheritance hierarchies for you, it also cleans up elements no longer needed from subtypes if you make A a subtype of B. For example, A and B share a 1:1 relationship over their PK's. When you make A a subtype of B, this relationship has to go, and A's PK is inherited from B. Also fields in A which have the same name as B's have to go, as that would lead to errors. This is automatically done for you.
 - Define Target Per Entity Hierarchy (all entities in the hierarchy are mapped onto the same table) discriminator field values in the designer and use them in model-first scenarios.
I'm sure I've forgotten things, as well as not pointed out extra features the designer offers on top of the target framework, like typed lists, fields mapped onto related fields and the like.
LLBLGen Pro v3 is scheduled to be released at the end of May 2010.
Comments have been disabled for this content.


June 2020
Issue Map
Making the Switch
TD Magazine
Making the Switch
Monday, June 1, 2020
This six-step audit process will help you convert in-person training to a virtual course.
Beware of creating a webinar when convert-ing an instructor-led training (ILT) program to the virtual classroom. Oftentimes talent development professionals make that mistake because of an innocent assumption: We can simply deliver the instructor-led content in the exact same way in the virtual classroom.
Some instructional designers spend hours upon hours making sure an ILT course's key learning points are all addressed in the time allocated for the virtual classroom; however, they put little to no thought into how the course will translate to learners seated at their computers. The end result is extremely presentation-heavy and unengaging—something that looks more like a webinar than a virtual classroom course.
A webinar is primarily used to present or share information, and most of the time, the communication flows one way—from the presenter to the attendees. In contrast, a virtual classroom course allows for two-way communication between the facilitator and the learners and includes plenty of opportunities for learners to practice the skills and knowledge the facilitator presents to them. In addition, participants receive feedback after each application exercise or activity, so they know what they've done well and how they can improve.
With a goal of creating interactive, performance-based virtual classroom training, the instructional design team at Langevin Learning Services worked together to develop a conversion process that would ensure our virtual classroom courses cover the original ILT content; are visually appealing, interactive, and engaging to participants; and include application and practice methods conducive to the virtual environment.
Central to the conversion process is a course audit—a method that ensures the result of a conversion is an effective virtual classroom course aligned with the objectives and content of the ILT course.
To complete the audit, we use a worksheet that helps guide the process and enables us to document the findings. The audit takes six steps.
Step 1: Identify the ILT course's tasks and subtasks
The best place to start the audit is to refer to the ILT course's lesson plan or outline to pinpoint the tasks and subtasks. At a high level, think of them as the whats and how-tos.
A task is defined as what someone does on the job. For example, if grocery store clerks are responsible for processing a grocery order, that is what they do. A task is a collection of subtasks, and each subtask is a logical grouping of five to nine how-to steps. In our example of processing a grocery order, the subtasks are greet customer, process payment, and bag groceries.
When identifying the tasks within the ILT lesson plan, look at the course objectives. Objectives are usually written as verbs followed by nouns such as operate a forklift or plan a project. The tasks and objectives may not be identical, but you should use similar wording in both. Likewise, you should write subtasks in the same verb-noun format.
Step 2: Identify the presentation and application methods
Presentation and application are two crucial components of a performance-based training program, regardless of the strategy. Instructors use presentation methods to deliver the content, and application methods enable learners to practice what they've learned. The methods are fairly easy to identify in an ILT lesson plan by answering two questions:
 - How is the content being delivered?
 - How are learners practicing?
For instance, when training grocery store clerks on how to greet customers, an instructor may deliver the content using a discussion method: As a group, participants discuss the correct format, tone of voice, and facial expressions required to ensure customers feel welcome from the moment they step up to the register. Then, when it's time to practice what they discussed, participants take turns role-playing how to greet customers correctly.
Ideally, the ILT lesson plan includes both a presentation and application method for each subtask. However, if you notice a subtask without either method, view it as an opportunity to design something new and unique for the virtual classroom.
Making the Switch Figure 1
Step 3: Document supplemental materials
Add to the course audit worksheet any documents or files that contain relevant content pertaining to a subtask. If, for example, the ILT participants receive a job aid when learning how to greet customers, write that down. It's important for you to note that the job aid already exists so you can potentially repurpose it for the virtual classroom course.
It's also necessary to validate whether supplemental materials such as videos, audio clips, or games are compatible with the virtual classroom platform you'll be using to deliver the training (for example, if a video is saved in a.flv format, ensure the virtual platform can read that type of file).
Step 4: Determine how long it takes to deliver the subtasks
A common misconception about converting ILT to the virtual classroom is that instructors can deliver the course content in less time in the virtual classroom. Although this may be the case for some activities, other exercises may take more time to deliver effectively in a virtual environment.
Consider a role-play exercise in the traditional classroom. It is easy to set up because participants can quickly group themselves by moving their chairs. But in a virtual course, setting up a role play takes longer because the facilitator will need to provide instructions on such factors as what participants can expect when moving to a breakout room and how the audio will work.
Calculating how long it takes to deliver a subtask in the traditional classroom aids in determining how much time should be allocated in the virtual classroom and whether any time-consuming chunks of content may require more effort to convert.
Once you've completed steps 1–4, it's time to make design decisions that will determine the content delivery methods for the virtual classroom.
Step 5: Select the presentation and application methods
The primary goal in converting an ILT course to the virtual classroom is to align the virtual training as closely as possible to the in-person training. Thus, you must figure out whether you can repurpose any ILT methods. To help you decide, think about how the method will be implemented in the virtual classroom.
 - How long will it take to deliver the method in the virtual classroom?
 - Is there a way to make it interactive?
 - Will the tools available in the virtual platform enable the instructor to effectively deliver the method?
 - Can you repurpose the speaking points, as written, from the ILT content?
If you can envision how to successfully implement the ILT method in the virtual classroom, then you can repurpose it. However, if you decide that it won't work in a virtual environment, you'll need to come up with an alternative. For instance, if time constraints make using a discussion unwieldy, choose a method that requires less time to deliver in a virtual classroom. Consider using a graphic association lecturette or assigning some reading for participants to do as intersession work. Of importance is choosing a variety of methods to ensure the course is an engaging and interactive experience for learners.
Notice in the sample course audit worksheet (Figure 2) the difference in methods for the task of processing a grocery order. The presentation method for the third subtask, bag groceries, is a lecture in the ILT version, but we chose a discussion for the virtual version of the course. Why? Because lectures can be monotonous and boring. They can be a risky choice for a virtual course, because learners can easily check out and do other things.
Given that, using a discussion over a lecture is a better choice because it involves the learners, engages them, and enables everyone to contribute. In addition, there are different options when it comes to how a discussion unfolds in the virtual classroom—it could take place as one large group or in several smaller groups using breakout rooms.
Making the Switch Figure 2
Step 6: Select a delivery tool
After you've chosen a method, determine which of your available virtual platform tools is best suited to implement it. When choosing a tool, consider how long it will take to deliver the method using that tool. If you are limited to five minutes for a discussion, it may be better to have participants discuss the content using the chat function instead of having each participant respond verbally.
The exciting part is that you have myriad options—this is where your creativity comes into play. Once you know what the platform is capable of, you can start choosing the tools and features that will bring the content to life. Remember: Aim for variety. That ensures you are maximizing participant engagement by having them use different tools throughout the course.
Making the Switch Figure 3
For those who are new to the conversion process, selecting the right tool can seem a bit overwhelming at first. Which tools work best with the methods you've chosen? What should you do if there are constraints regarding the tools available within the platform?
We've taken some of the guesswork out of that by creating Figure 3. Listed vertically along the left side of the chart are the most common presentation and application methods, and the more common tools (across most virtual classroom platforms) are along the top. The dots represent which tools work best for each method.
Every method has at least three different tools that instructors can use to implement it. For example, if the course entails using a demonstration as a presentation method, seven options are available; if a role play is the chosen application method, consider using one of the six listed tool options.
Set yourself up for success with all your conversion projects by taking the time to learn what tools and functionalities are available in your organization's virtual platform. Doing so will help you choose the most appropriate tools to make your methods come alive and help you create an engaging virtual learning experience for your participants. A bonus is that you may convince naysayers that