February 7, 2006
Lighttpd can lighten Apache's load
Author: Robert W. Oliver II
Is your Apache Web server slowing down under the weight of streaming media content or database-driven applications? Lighttpd, sometimes pronounced "Lighty," is a lightweight HTTP server that can help alleviate Apache's load by serving static content or CGI scripts. Since Lighttpd uses fewer resources per request than Apache alone, it can generally serve most static content faster than Apache. It also benefits from an actively developed FastCGI interface that performs true load balancing, giving you all the performance benefits of compiled into Apache modules such as PHP.
One of the most beautiful things about using Lighttpd is that you can run it behind Apache via Apache's proxy module. This means you don't need to add another physical server in order to use it.
Installing Lighttpd
On most distributions, you're best off installing Lighttpd from source. This means downloading it, configuring and compiling it, then installing it. It's a fairly straightforward process. Lighttpd compiles cleanly and easily on nearly every platform I've tried it on. The essential commands for compiling and installing Lighttpd can be found on the software's download page.
If you're running Gentoo or FreeBSD, it's even easier. Under Gentoo, you can simply type emerge lighttpd to get up and running. FreeBSD has a port of Lighttpd in /usr/ports/www/lighttpd that you can install, as well via the usual ports installation method, detailed in section 4.5.2 in the FreeBSD handbook.
Once Lighttpd is installed, you'll have to build a configuration file to use it. The Lighttpd tarball comes with a sample in the doc/ folder that will fill most static-content hosting needs. While configuring all of the aspects of Lighttpd is beyond the scope of this article, it is important to pay attention to these configuration items:
# If you don't change this variable, it will try to serve document from /www/pages, which
# is probably not where your documents are. Point this to the place to serve the content
server.document-root = "/www/pages"
# Server error and access logs - make sure this path exists with a mkdir -p /var/log/lighttpd
server.errorlog = "/var/log/lighttpd/error_log"
accesslog.filename = "/var/log/lighttpd/access_log"
# bind to port (Default: 80)
server.port = 81
# bind to localhost (recommended for proxy behind Apache, otherwise comment this out for all)
server.bind = "localhost"
This is not a full listing of the configuration file, but rather a highlight of the most important parts. Notice that we've set the server port to 81. By doing this, we're making sure it doesn't clash with Apache listening on port 80. If you wanted to let Lighttpd power your entire site instead of Apache, you can set this to port 80, or comment it out to accept the default.
Setting up Apache's proxy
To let Apache take the output of Lighttpd on port 81 and map it to your Web site, you'll need to make sure the Proxy module of Apache is loaded. The following configuration examples assume you're using the Apache 2 series, but if you're running Apache 1.3 the configuration is similar in most places. For differences in the proxy module for Apache 1.3, consult the proxy module documentation.
First, make sure that Apache's proxy module is loaded, by ensuring that something resembling these lines is present in your httpd.conf file:
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
If not, add them, or make sure that you've got the proxy module installed as per your distribution's instructions. In most cases, this module will either be there already or commented out. In the latter case, just uncomment it and restart Apache.
If you are using virtual hosting, you will want to use the following code to set up a proxy between the applicable <VirtualHost> directives. If not, putting them at the end of the httpd.conf file should do the trick:
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /images http://0.0.0.0:81/
ProxyPassReverse / http://0.0.0.0:81/
In the above example, Lighttpd will serve up your images folder, leaving Apache to do the rest. You can easily set this to any folder that has static content in it and Lighttpd will serve it, instead of Apache. Another good use of Lighttpd would be to serve up multimedia files, taking the load off of Apache.
The performance boost you'll gain is dependent on many factors. If you only have Lighttpd serve up your images, it probably won't help too much. You can put all of your static content, including HTML and PDF files, images, and movies in a folder called /static and then set the ProxyPass variable to that for a slightly better boost.
Dynamic Lighty
The performance boosts you've gained so far with Lighttpd aren't phenomenal, but they can help in some heavy load situations. If you have some heavy-duty PHP scripts or a Ruby on Rails application, you might be better off letting Lighttpd handle it, as its FastCGI load-balancing is superior to Apache's. Running a Ruby on Rails application with Lighttpd's FastCGI support can yield huge performance gains.
To enable PHP behind Lighttpd, make sure that you've compiled PHP with FastCGI support. You can do this with the --enable-fastcgi configure switch. The Lighttpd documentation on PHP is quite helpful.
For Ruby on Rails, this Lighttpd configuration snippet will run your Rails application quickly and also dramatically reduce Apache's load and memory usage:
# replace path_to_app with the path to your actual Website files and Rails app
# replace rails_app_name with the folder containing the Rails app
fastcgi.server = (
".fcgi" =>
( "localhost" =>
( "socket" => "/home/path_to_app/var/lighttpd-fcgi.socket",
"bin-path" => "/home/path_to_app/rails_sites/rails_app_name/public/dispatch.fcgi",
"bin-environment" => ( "RAILS_ENV" => "production" ),
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 60,
"allow-x-send-file" => "enable" ) ) )
Lower server loads, happier visitors
By shifting some of the load from Apache to Lighttpd, you'll increase your Web site's performance, reduce the load on your server, and keep your visitors happier. For heavier load situations, you can put another server on the local network and have it running nothing but Lighttpd on port 80. Using Apache's proxy module, you can redirect Lighttpd's output from the local server to the front-end server with Apache by changing the ProxyPass and ProxyReverse variables to listen on the local IP.
I've found Lighttpd to be very helpful in reducing load and increasing performance, especially in serving PHP and Rails applications, and I'm confident that you will too.
Click Here!


text:
Distance from Baltimore: 55 miles, about an hour and 15 minutes by car Why it's worth the gas: More than 200 years ago, the first U.S.-born saint began a ministry here in the mountains of Western Maryland. The Seton National Shrine honors Elizabeth Ann Seton, who took vows as a nun after converting to Catholicism, moved from New York to Baltimore to launch a Catholic school for girls, then left for Emmitsburg to found what became the American province of the Daughters of Charity. She was canonized in 1975 by Pope Paul VI. Don't miss: The National Shrine Grotto of Our Lady Lourdes is the oldest known replica of the revered French shrine. Visitors can attend Mass, light a candle or collect Holy Water. Visit the chapel, above, where an image of Elizabeth Ann Seton is shown in stained glass. Information:Seton National Shrine, 333 South Seton Ave., Emmitsburg. Go to _URL_.
Chiaki Kawajiri, The Baltimore Sun
Copyright © 2018, Hartford Courant

source: openbmb/Ultra-FineWeb


Abdominal mass:an introduction of Zheng Jia and various types.
 TCM Knowledge:Gynecology Syndromes,Women Syndromes ✵Gynecology of TCM is a branch to study the physiological and pathological characteristics of women and to prevent and treat syndromes specific to women. Gynecology of TCM research scope including irregular menstruation, amenia, metrorrhagia, infertility, postpartum syndromes, breast syndromes, and miscellaneous syndromes, etc.
Abdominal mass.
Abdominal mass
 ✵The abdominal mass is also known as Zheng Jia in TCM. Mass formed in the abdomen, big or small, or swelling distention, or full, or pain, is known as "Zheng" if it is an aggregation of stagnant blood with definite shape and fixed pain, or is known as "Jia" if it is an accumulation of Qi that has no fixed shape and is easily movable, or appears and disappears from time to time, with a migratory pain, if ever present. In the western medicine system, it is known as "hysteromyoma or fibroid".
 ✦ The pathogenic reason that leads to the abdominal mass, are known mostly due to Qi stagnation and blood stasis, etc. The related syndromes into different types are introduced: abdominal mass of Qi stagnation type, abdominal mass of blood-stasis type, abdominal mass of blood-deficiency type, abdominal mass of cold type, abdominal mass of large-intestine cold type, postpartum Abdominal mass of residue lochia type, etc.
Abdominal mass of Qi-stagnation type.

 ✵The abdominal mass of Qi-stagnation type is mainly due to Qi stagnation. Symptoms normally are soft mass, movable with touch, touchable or untouchable, the location is not fixed, sometime at left side, sometime at right side, sometime at top sometime at bottom, sometime pains, sometime no pain, this is normally known as "Jia" in TCM.
Abdominal mass of blood-stasis type.

 ✵The abdominal mass of blood-stasis type is mainly due to blood stasis. Symptoms normally are hard mass, unmovable with touch, sometime uncomfortable and pain at night, pulse manifestation is deep and hesitant, dim complexion(looks dark, green on face), there is blue spot under tongue or beside the tongue, this is known as "Zheng" in TCM.
 ✵Ancient herbalists who hold a syndrome differentiation viewpoint with similar explain of pathogenic reasons, and the relevant representative work are introduced and quoted:
 "In the case of menstruation stopped in months(amenia), abdominal mass and pains, is the condition of blood accumulation and forming an abdominal mass." [02].
 "Xue Jia: abdominal mass formed from blood, ...the blood sea is affected by cold pathogens, blood stagnancy and stasis, develops to mass and pains, in the condition stagnancy fixed and not solid..." [03].
Abdominal mass of blood-deficiency type.

 ✵The abdominal mass of blood-deficiency type is mainly due to blood deficiency. Symptoms normally are mass, size up to the chicken egg, pain in the left and right hypochondria, menses stopped, fever in five centers (fever in heart and four palms-cores), dizziness, dazzled and dim eyesight, cough with phlegm, etc. This is also known as "Zheng" in TCM.
 ✵Ancient herbalists who hold a syndrome differentiation viewpoint with similar explain of pathogenic reasons, and the relevant representative work are introduced and quoted:
 "Blood deficiency and fever: the syndrome is due to woman's character impatient, or hurt from sexual intercourse during menses, a mass is formed in the abdomen, its size is up to a chicken egg, pain in the left and right hypochondria, menses stopped, as a result, fever in five centers (fever in heart and four palms-cores), dizziness dazzled and dim eyesight, cough with phlegm... In case it is not treated in a half year or a year, she is emaciated and suffers from diarrhea, there is no survive case in a hundred cases." [04].
Abdominal mass of cold type.
Abdominal mass
 ✵The abdominal mass of cold type is mainly due to cold pathogen. Symptoms normally are hard mass, gradually enlarged, as pregnant, this is known as "Shi Jia"(literally means stone mass) in TCM.
 ✵Ancient herbalists who hold a syndrome differentiation viewpoint with similar explain of pathogenic reasons, and the relevant representative work are introduced and quoted:
 "Shi Jia: menses comes, cold pathogen invading and stay in the uterus, blood condensed and stasis, woman suffers from abdomen gradually enlarged, looks similar to pregnancy... If her physical constitution is deficient and weak, it will develop to distension and swelling..." [03].
Abdominal mass of large-intestine cold type.

 ✵The abdominal mass of large-intestine cold type is mainly due to cold pathogen. Symptoms normally are blood stagnant, abdomen is enlarged gradually, similar to pregnancy, this is known as "Chang Tan"(female abdominal mass, or literally it means mass of intestines) in TCM.
 ✵Ancient herbalists who hold a syndrome differentiation viewpoint with similar explain of pathogenic reasons, and the relevant representative work are introduced and quoted:
 "Chang Tan: cold pathogens invading during menses and stay in the large intestines, as a result, lead to blood condensed, menses come but less bleeding, the abdomen is gradually enlarged, looks similar to pregnancy, it is also known as Tai Lou..., In the condition that the woman's physical constitution is deficient and weak, it will develop to distension and fullness..." [03].
Postpartum Abdominal mass of residue lochia type.

 ✵The postpartum abdominal mass of residue lochia type is mainly due to residue lochia after childbirth. Symptoms normally are residue lochia not passing down completely, it is also known as postpartum abdominal mass of lochiorrhagia type, this is known as Chan Hou Jia Kuai( mass clots after childbirth ) in TCM.
 ✵Ancient herbalists who hold a syndrome differentiation viewpoint with similar explain of pathogenic reasons, and the relevant representative work are introduced and quoted:
 "Chan Hou Jia Kuai(abdominal mass clots after childbirth):...it is due to residue lochia not passing down completely. In general, it is due to first childbirth, residue lochia did not come, or comes but not passing down completely, or the woman fear recipes, although there are pains, but she bears with it and not speak out; or the woman and herbalist insist on replenish deficiency theory after childbirth, ...residue blood is retained and stagnant, not dissipated in a long period, accumulated and form a mass..." [04].
References:
 - 01.Abdominal mass:an introduction of Zheng Jia and various types.
 - 02.Song Shi Nǚ Ke Cuo Yao(the Synopsis of Song's Gynaecology).By 宋林皋(Sòng Lín Gāo)[Ming].
 - 03.Ye Shi Nǚ Ke Zhèng Zhì(the Syndromes and Therapeutics of Ye's Gynaecology).By 叶桂(Yè Guì)[1817].
 - 04.Fù Kē Bèi Kǎo(the References of Gynaecology).By 何应豫(Hé Yīngyù)[1820].
✵ Last edit and latest revision date:
 cool hit counter


text:
Racial, ethnic and gender differentials in socio-economic status : the Israeli labor market case
MetadataShow full item record
In the present study, data from the Labor Force Surveys of Israel's Central Bureau of Statistics (CBS) for the years 1990 and 2000 are used to examine the occupational segregation in the Israeli labor market based on the 5 ethnic sub-samples including European-American Jews, Asian-African Jews, Russian Jews, Native-Born Jews and Non-Jews who mainly represent the Arab citizens of Israel. The analysis is done separately for men and women to avoid interaction since men and women demonstrate different labor market characteristics in general and in Israel. OLS regression analysis and decomposition techniques are used to differentiate between the effects of human capital and labor credentials and the other factors on the socioeconomic gaps between different ethnic and racial groups. The results indicate that there are significant socioeconomic differences both among different Jewish groups and between Jewish and non-Jewish. Moreover the differences among the groups can only partially be explained by the differences in labor credentials of the groups.


text:
Jump to Main Content
In situ monitoring of the microstructure of detergent drops during drying using a rapid nuclear magnetic resonance diffusion measurement
- Griffith, Jonathan D., Mitchell, Jonathan, Bayly, Andrew E., Johns, Michael L.
- Journal of materials science 2009 v.44 no.17 pp. 4587-4592
- detergents, geometry, microstructure, monitoring, nuclear magnetic resonance spectroscopy, porosity, spray drying, water content
- The application of a nuclear magnetic resonance (NMR) diffusion measurement suitable for monitoring, in situ, the evolution of microstructure in commercial surfactant-based detergent drops as a response to drying is demonstrated for the first time. We utilise pulsed field gradient (PFG) NMR diffusion techniques to observe variations in self-diffusion coefficient, surface-to-volume ratio and characteristic pore size by probing the water content of the drops. Previously, we quantified the evolution of microstructure in vials of detergent paste using conventional PFG techniques. Now we apply a rapid PFG technique to enable this measurement during the relatively fast in situ drying of a drop with spherical geometry, relevant to spray drying processes. A finer structure is seen to form in the drops compared to the paste in the vials.

source: m-a-p/FineFineWeb


text:
This sample implements the functionality of generating checksum number using Luhn's algorithm.
I've created a class LuhnAlgorithm with a static function:
public static int
Return value is the generated number.
The Luhn algorithm or Luhn formula, also known as the "modulus 10" or "mod 10" algorithm, was developed in the 1960s as a method of validating identification numbers. It is a simple checksum formula used to validate a variety of account numbers, such as credit card numbers and Canadian Social Insurance Numbers. Much of its notoriety comes from credit card companies' adoption of it shortly after its creation in the late 1960s by IBM scientist Hans Peter Luhn (1896–1964).
Explanation of the Luhn's algorithm can be found here.


James Stewart was the first Hollywood star to enlist in the military when he was inducted into the Army in March 1942. Due to having a commercial pilots license, he was accepted into the Army Air Corps (the US Air Force did not yet exist). As a bomber squadron commander, he flew numerous combat missions over Germany and was promoted to colonel by the war's end in 1945. For his bravery and the success of his missions, he received the Distinguished Flying Cross and from the French Government the Croix de Guerre with Palm.
After taking some time off, he returned to Hollywood to make It's a Wonderful Life in 1946.


A zymogel enhances the self-cleaning abilities of the pilot whale (Globicephala melas)
Contact
cbaum [ at ] awi-bremerhaven.de
Abstract
Summary. Enzyme activity in the stratum corneum of the pilot whale Globicephala melas was investigated employing colorimetric enzyme screening assays combined with NATIVE PAGE, size exclusion chromatography (SEC) and histochemical staining procedures. Applying different substrates, several enzymes were detected. The histochemical demonstration of some selected hydrolytic enzymes enriched in the stratum corneum showed high extracellular accumulation. As demonstrated by size exclusion chromatography, high molar mass aggregates were built up from a glycoprotein-rich 20-30 kD fraction. Using NATIVE PAGE experiments under non reducing conditions, a selection of five degrading enzymes was recovered within the above-reported aggregates.Activity of extracellular aggregate-attached enzymes in the superficial layer of the stratum corneum exhibited no remarkable decrease potentially resulting from self-degradation. We thus conclude that due to their enclosure within the micro-environment of aggregates a zymogel is formed and autolysis of the stratum corneum is reduced. With respect to the skin surface, the zymogel with hydrolytic activities covering major parts of it enhances the self-cleaning abilities of the skin of the pilot whale based on physical prequesites by hydrolysing adhesive glycoconjugates of settling biofouling organisms considered as primary steps in fouling.
Item Type
Article
Authors
Divisions
Programs
Peer revision
ISI/Scopus peer-reviewed
Publication Status
Published
Eprint ID
5550
Cite as
Baum, C. , Meyer, W. , Stelzer, R. , Fleischer, L. G. and Siebers, D. (2001): A zymogel enhances the self-cleaning abilities of the pilot whale (Globicephala melas) , Comparative biochemistry and physiology a-molecular and integrative physiology, 130 , pp. 835-847 .
Download
[img]
Preview
PDF (Fulltext)
Bau2001d.pdf
Download (1MB) | Preview
Cite this document as:
Share
Research Platforms
N/A
Campaigns
Actions
Edit Item Edit Item


text:
ESPRIT® delivers solutions for Industry 4.0 smart manufacturing
DP Technology is helping factories of the future prepare for the digital transformation that's taking place in manufacturing, with solutions including digital twinning, digital threads, machine-aware manufacturing, knowledge-based machining and cloud-enabled databases.
In order to prepare factories for an increasingly digital future, and to better support Industry 4.0 and smart manufacturing initiatives, DP Technology is focusing on a range of solutions to drive automation in manufacturing. The ESPRIT® CAM System enables manufacturers to streamline their workflows, prevent silos from forming during the manufacturing process, increase tool life and machine utilization, and create greater access to practical knowledge for process improvement.
- Digital twin: ESPRIT allows users to create a digital twin of their machine tools for programming, optimization and simulation. This virtual machine ensures that whatever happens on screen will also occur on the shop floor. Workpieces and cutting tools are set up virtually, resulting in exacting simulations, greater productivity and better toolpaths for higher quality parts.
- Digital thread: With ESPRIT, a digital thread ties together each step of the workflow from CAD design to finished part, ensuring that none of the manufacturing process is siloed. ESPRIT reads part data from CAD software and creates machine-optimized G-code and setup sheets, which it then passes on to shop floor management, tool data management and enterprise resource planning software.
- Machine-aware solutions: ESPRIT provides machine-aware CAM programming to increase tool life and reduce cycle times. The CAM system's ProfitMilling® and ProfitTurning™ apps represent a fundamental change in the way toolpath in created: most CAM software works from the shape of the part first and considers the machine last, if at all. ESPRIT machine-aware solutions first consider the machine tool – its axes positions and their limits, acceleration, and attainable and requested cutting speeds, allowing users to run machines faster, get a better surface finish on their parts and significantly increase their tool life. As a result, with machine-aware CAM, programmers make better choices regarding toolpath, without asking the machine tool or cutting tool to exceed their own abilities.
- Knowledge-based machining: Knowledge-based machining, the term for artificial intelligence built directly into a CAM system, makes it possible to significantly cut programming time by capturing best practices, including machining processes and cutting conditions — leaving more time to focus on strategic process improvements and reducing time spent on repetitive tasks. ESPRIT's KnowledgeBase™ solution streamlines part programming by automatically selecting the optimum processes — machining cycles, tools and conditions — for part features based on proven best practices. Recording practical knowledge via KnowledgeBase™ is more reliable than leaving it to memory and allows for higher levels of automation through repeatable steps. Because programming is more predictable and consistent, programmers encounter fewer problems and produce higher quality parts.
- Cloud-enabled machining: As shops move to data-driven manufacturing, integration with cloudbased databases, such as MachiningCloud Inc., further facilitates access to knowledge, product data, resources and process controls for machines, cutting tools and work holding. These cloudenabled databases suggest factory-recommended feeds and speeds for a given cut, let users quickly find the tools they need, and provide continuously updated manufacturer product data, including drawings and models of tools and cutting tool assemblies for simulation. Because information is stored in the cloud, it is always up to date, available on demand and can be accessed anywhere.
These solutions will be in focus at the international KEY conference in Plovdiv, Bulgaria, October 25-26, 2018.
About DP Technology Corp. DP Technology Corp. is a leading developer and supplier of computer-aided manufacturing (CAM) software. ESPRIT®, DP Technology's flagship product, is a powerful, high-performance, full-spectrum programming system for milling, turning, wire EDM, multi-tasking machine tools and metal additive manufacturing. ESPRIT and its support personnel embody DP Technology's passion for excellence and vision of technology's potential. DP Technology reinforces its commitment to technical excellence by dedicating nearly 20 percent of its annual revenue to ongoing research and product development. This long-term focus has produced powerful technological innovations that have placed ESPRIT in an industry-leading position since its market launch in 1985. espritcam.com
DP Technology is helping factories of the future prepare for the digital transformation that's taking place in manufacturing.


text:
Vivo D'Arte is returning to the Frogmore Paper Mill this September with a production of Jason Robert Brown's musical, Parade with a professional cast. This will be a promenade production set in the historic paper mill. The interest around this production has been immense and we are expecting tickets to sell fast.
"Parade," based on a true story, explores themes of bigotry, violence and anti-Semitism within the framework of American history.
The story of Parade is true, centring on the 1913 "Trial of the Century" in which Leo Frank, a Brooklyn-born Jew living in Atlanta, was falsely accused of killing Mary Phagan, a young girl working in the factory he managed. Leo was railroaded through a trial, found guilty and sentenced to hang. His wife, Lucille, launched a heroic campaign to save his life, eventually convincing the Governor to overturn the death sentence — only to have a mob of vigilantes drag Leo from prison in the middle of the night and lynch him.
The show's title refers to the annual parade held on Confederate Memorial Day, for it was on that day in 1913 that the murder took place. The parade (which is seen at the start, middle and end of the musical to mark the passing of years) was a rallying point for proud Southerners still affected by their defeat in the Civil War.
Public outcry over the little girl's death was easily stirred up by political opportunists and a rabid press. Small wonder that Georgians were quick to condemn an outsider like Leo Frank and take justice into their own hands.
At the forefront of this tragic tale is a heartbreaking love story. Before the trial, Leo and Lucille Frank were formal and restrained with one another.
When the crisis exploded around them, they both emerged stronger despite the struggle, discovering a deep passion for each other that they had not known before. "All the Wasted Time," their duet towards the end of the show, is a sublime expression of grown-up love.
Because of its mature content, Parade is not recommended for children under age 13.
Please note that the Frogmore Paper Mill is a very old building and has uneven floors so we ask audience to take extra care while moving around the building. The Paper Mill can also be quite chilly, even in summer, so please bring something warm to wear. This production of Parade is a promenade performance which means audience will move with the cast around the building. There will be some opportunities to sit during the performance.
Our production of Oliver! is fast approaching and with a cast of over 100 young people this is one show not to be missed.Tickets available here.
WEST SIDE STORY "Excellent production"
- Rupert Sharp, Music Theatre International
We returned to Frogmore Paper Mill in April 2017 with our production of West Side Story. We were blown away by the response to our show. With every performance sold out and standing ovations we could not have wished for more. Our talented cast of performers who worked tirelessly during the intensive 10 day rehearsal and were an absolute dream to work with. We can't wait to return to the mill later this year.
RENT - "An absolute triumph "
- Catherine Bray, Film4
La bohème - "Absolutely stunning"
It is hard to put into words our feelings after two weeks at the Frogmore Paper Mill producing two amazing shows including our first opera. The feedback for both productions has been overwhelming and a testament to the hard work of our talented cast and the team supporting them. We can't wait for our next projects to begin!
THE WIZ - "Stunning Production"
- Muddy Stilettos
"Vivo D'Arte is an amazing company, working with theatre arts students or recent graduates — as well as local youngsters — and staging some stunning productions" Muddy Stilettos July 2016
SWEENEY TODD - "Immersive theatre at its best!" - Watford Observer
Creating a unique promenade, immersive theatre event in a victorian paper mill was never going to be easy but we are thrilled with the show we produced and the amazing response from the audience:
"f the purpose of theatre is to give an audience a memorable, enjoyable, moving experience (which I believe it is), rather than to impress critics, then last night scored 10/10."
"But there were no weak links. Great for us, the audience, and quite unusual in any show at any level."
"Totally blown away by Vivo D'Arte's Sweeney Todd"
"One of the best performances I have ever seen"
"Probably the best night out in ages. Better than most West End shows"
"wonderful performances, inventive set, and superb ensemble work."
"one of the most thrilling theatrical experiences I've ever had"
"what a stupendous performance! Such incredible value for money"
"another fantastic production. I was scared, I was mesmorised, I laughed, I was in awe. Thank you for a great night out and one I didn't go to London for"
THE VIVO AWARDS
We are holding our first VIVO AWARDS NIGHT on 28th November 2015 celebrating the shows we have produced over the past year. For more information and tickets please email _EMAIL_
A talented cast of young people aged between 6 to 30 years old performed to packed audiences at the Watford Palace Theatre. Standing ovations at every performance were testament to the high quality production. For some of our cast this was their first experience of performing on stage alongside some more experienced performers. Working together they created a truly wonderful production of Lionel Bart's much loved Oliver!
Parade was performed by a cast of mainly adult performers many of whom are graduates, or studying at college or intending to study performing arts. Performing at Watford Palace Theatre, this highly talented cast created some phenomenal theatre with singing and acting of exceptional quality. With standing ovations at every performances we were overwhelmed by the positive response from our audiences who took to social media to express their appreciation:
Our production of Our House was performed at the Theatre, Rudolf Steiner in Kings Langley. The cast of young people aged 12 to 18 years performed this high energy, fun-packed musical entertaining audiences over 4 days. Our stunning set included a full-sized Morris Minor car.
Over 60 of our most talented performers took part in a Winter Concert at the Court Theatre in Tring in December 2014. A programme packed full of performances from previous shows including Les Miserables, Noah the Musical, 13, Phantom of the Opera, Hairspray and many more. The cast also performed songs from productions planned for 2015: Our House, Parade and Oliver. Some of our students who are applying for colleges and universities also performed audition songs. A packed audience gave them a resounding standing ovation.
A talented cast of performers aged from 14 to 28 rehearsed over 7 days to create a simply superb production of Hairspray the Broadway Musical. Critically acclaimed and standing ovations at every performance reflected the high standards we aim to achieve.
PHANTOM OF THE OPERA
A two week intensive rehearsal period for ensemble and three for principals culminated in four superb performances of The Phantom of the Opera at the Theatre, Rudolf Steiner School in Kings Langley. All performers were aged just 13 to 20 years old and have received rave reviews following the shows.
13 THE MUSICAL
A two week intensive rehearsal period with four performances of 13 the Musical at the Theatre, Rudolf Steiner School in Kings Langley for young performers aged 12 to 15. Behind the scenes participants helped create the set, stage manage and learn many aspects of putting on a production. We also included rehearsals for our youth band who accompanied the show.
NOAH THE MUSICAL
Our second full-scale musical production at the Theatre, Rudolf Steiner School. A cast of over 40 young people aged 10 to 20 performed and worked back stage on Noah the Musical to create a highly acclaimed production. Noah the Musical was written and composed by Ian Gower and Rob Alderton who both worked with us on this project.
Our first main production was held in August 2012 at the Rudolf Steiner School in Kings Langley. The two week workshop for young people aged 11 to 19 culminated in four highly successful five star reviewed shows.


text:
Introduction to Signposting Language
Have you ever felt lost while reading a long article or listening to a lengthy presentation? Like you're wandering aimlessly through a maze of words without any sign of direction? This is exactly what signposting language aims to resolve.
Definition of Signposting Language
Signposting language is a collection of phrases and words used in speech and writing to guide the listener or reader through the content. These linguistic markers serve as "signposts," helping to signal the structure of the discussion, highlight important points, connect ideas, and provide cues about what is coming next.
Just like the way physical signposts guide a traveler along their journey by indicating directions and distances, signposting language assists the audience in navigating the journey of an argument, a story, or any piece of content. These can include phrases that introduce a new idea ("firstly," "to begin with"), signal a contrast ("however," "on the other hand"), or indicate a conclusion ("finally," "in conclusion").
By clearly signalling the structure of your content and the relationships between different parts, signposting language helps to enhance the clarity and coherence of your message, making it easier for your audience to follow along and understand your points.
Types of Signposting Language
Signposting language is a specific type of language that writers and speakers use to guide their audience through their content. Just like road signs guide you on a journey, signposts in language guide the reader or listener through the content, making the narrative or argument easier to follow.
Importance of Signposting Language in Communication
Signposting language isn't just a fancy linguistic tool; it's a vital component of effective communication. Here's why:
Signposts enhance clarity by helping to highlight key points and ideas, making the content more comprehensible and coherent for the reader or listener.
Guiding the Audience
Signposts also guide the audience, allowing them to understand the flow of the content and how various points are connected.
Examples of Signposting Language
These include words or phrases that indicate time or sequence, such as "firstly," "then," "finally," etc.
These signposts emphasize the importance of a point. Phrases like "most importantly," "significantly," or "notably" are commonly used.
These signposts compare or contrast ideas, using phrases like "on the other hand," "similarly," or "in contrast."
How to Use Signposting Language Effectively
Consistency is key. Stick to a particular set of signposting phrases throughout your content to avoid confusion.
Keep It Simple
The goal of signposting is to make things clearer, not more complicated. So, use simple and familiar phrases that your audience can easily understand.
Final Thoughts on Signposting Language
Signposting language, when used correctly, can dramatically improve the clarity and flow of your content, making it much easier for your audience to follow and understand your points. Remember to be consistent and keep it simple!
Frequently Asked Questions
What is signposting language?
Signposting language refers to words or phrases that guide the reader or listener through content, making it easier to follow.
Why is signposting language important?
It enhances clarity and guides the audience, making the content more comprehensible and coherent.
What are some examples of signposting language?
Examples include temporal signposts ("firstly," "then," "finally"), emphatic signposts ("most importantly," "significantly"), and comparative signposts ("on the other hand," "similarly").
How can I use signposting language effectively?
The key to effective signposting is consistency and simplicity. Stick to a particular set of signposting phrases and use simple, familiar words.
Can signposting language be used in both written and spoken content?
Yes, signposting language is beneficial in both written and spoken communication.


ToIntListValues . resultSourceList
-- | Represent the results as statistics based on integer numbers.
resultsToIntStatsValues :: Results -> [ResultValue (SamplingStats Int)]
resultsToIntStatsValues = concat . map resultSourceToIntStatsValues . resultSourceList
-- | Represent the results as statistics based on integer numbers and optimised for fast aggregation.
resultsToIntStatsEitherValues :: Results -> [ResultValue (Either Int (SamplingStats Int))]
resultsToIntStatsEitherValues = concat . map resultSourceToIntStatsEitherValues . resultSourceList
-- | Represent the results as timing statistics based on integer numbers.
resultsToIntTimingStatsValues :: Results -> [ResultValue (TimingStats Int)]
resultsToIntTimingStatsValues = concat . map resultSourceToIntTimingStatsValues . resultSourceList
-- | Represent the results as double floating point numbers.
resultsToDoubleValues :: Results -> [ResultValue Double]
resultsToDoubleValues = concat . map resultSourceToDoubleValues . resultSourceList
-- | Represent the results as lists of double floating point numbers.
resultsToDoubleListValues :: Results -> [ResultValue [Double]]
resultsToDoubleListValues = concat . map resultSourceToDoubleListValues . resultSourceList
-- | Represent the results as statistics based on double floating point numbers.
resultsToDoubleStatsValues :: Results -> [ResultValue (SamplingStats Double)]
resultsToDoubleStatsValues = concat . map resultSourceToDoubleStatsValues . resultSourceList
-- | Represent the results as statistics based on double floating point numbers and optimised for fast aggregation.
resultsToDoubleStatsEitherValues :: Results -> [ResultValue (Either Double (SamplingStats Double))]
resultsToDoubleStatsEitherValues = concat . map resultSourceToDoubleStatsEitherValues . resultSourceList
-- | Represent the results as timing statistics based on double floating point numbers.
resultsToDoubleTimingStatsValues :: Results -> [ResultValue (TimingStats Double)]
resultsToDoubleTimingStatsValues = concat . map resultSourceToDoubleTimingStatsValues . resultSourceList
-- | Represent the results as string values.
resultsToStringValues :: Results -> [ResultValue String]
resultsToStringValues = concat . map resultSourceToStringValues . resultSourceList
-- | Return a signal emitted by the specified results.
resultSignal :: Results -> ResultSignal
resultSignal = mconcat . map resultSourceSignal . resultSourceList
-- | Return an expanded version of the simulation results expanding the properties as possible, which
-- takes place for expanding statistics to show the count, average, deviation, minimum, maximum etc.
-- as separate values.
expandResults :: ResultTransform
expandResults = results . map expandResultSource . resultSourceList
-- | Return a short version of the simulation results, i.e. their summary, expanding the main properties
-- or excluding auxiliary properties if required.
resultSummary :: ResultTransform
resultSummary = results . map resultSourceSummary . resultSourceList
-- | Take a result by its name.
resultByName :: ResultName -> ResultTransform
resultByName name rs =
 case M.lookup name (resultSourceMap rs) of
 Just x -> results [x]
 Nothing ->
 error $
 "Not found result source with name " ++ name ++
 ": resultByName"
-- | Take a result from the object with the specified property label,
-- but it is more preferrable to refer to the property by its 'ResultId'
-- identifier with help of the 'resultById' function.
resultByProperty :: ResultName -> ResultTransform
resultByProperty label rs = flip composeResults rs loop
 where
 loop x =
 case x of
 ResultObjectSource s ->
 let ps =
 flip filter (resultObjectProperties s) $ \p ->
 resultPropertyLabel p == label
 in case ps of
 [] ->
 error $
 "Not found property " ++ label ++
 " for object " ++ resultObjectName s ++
 ": resultByProperty"
 ps ->
 map resultPropertySource ps
 ResultVectorSource s ->
 concat $ map loop $ A.elems $ resultVectorItems s
 x ->
 error $
 "Result source " ++ resultSourceName x ++
 " is neither object, nor vector " ++
 ": resultByProperty"
-- | Take a result from the object with the specified identifier. It can identify
-- an item, object property, the object iself, vector or its elements.
resultById :: ResultId -> ResultTransform
resultById i rs = flip composeResults rs loop
 where
 loop x =
 case x of
 ResultItemSource (ResultItem s) ->
 if resultItemId s == i
 then [x]
 else error $
 "Expected to find item with Id = " ++ show i ++
 ", while the item " ++ resultItemName s ++
 " has actual Id = " ++ show (resultItemId s) ++
 ": resultById"
 ResultObjectSource s ->
 if resultObjectId s == i
 then [x]
 else let ps =
 flip filter (resultObjectProperties s) $ \p ->
 resultPropertyId p == i
 in case ps of
 [] ->
 error $
 "Not found property with Id = " ++ show i ++
 " for object " ++ resultObjectName s ++
 " that has actual Id = " ++ show (resultObjectId s) ++
 ": resultById"
 ps ->
 map resultPropertySource ps
 ResultVectorSource s ->
 if resultVectorId s == i
 then [x]
 else concat $ map loop $ A.elems $ resultVectorItems s
 x ->
 error $
 "Result source " ++ resultSourceName x ++
 " is neither item, nor object, nor vector " ++
 ": resultById"
-- | Take a result from the vector by the specified integer index.
resultByIndex :: Int -> ResultTransform
resultByIndex index rs = flip composeResults rs loop
 where
 loop x =
 case x of
 ResultVectorSource s ->
 [resultVectorItems s A.! index]
 x ->
 error $
 "Result source " ++ resultSourceName x ++
 " is not vector " ++
 ": resultByIndex"
-- | Take a result from the vector by the specified string subscript.
resultBySubscript :: ResultName -> ResultTransform
resultBySubscript subscript rs = flip composeResults rs loop
 where
 loop x =
 case x of
 ResultVectorSource s ->
 let ys = A.elems $ resultVectorItems s
 zs = A.elems $ resultVectorSubscript s
 ps =
 flip filter (zip ys zs) $ \(y, z) ->
 z == subscript
 in case ps of
 [] ->
 error $
 "Not found subscript " ++ subscript ++
 " for vector " ++ resultVectorName s ++
 ": resultBySubscript"
 ps ->
 map fst ps
 x ->
 error $
 "Result source " ++ resultSourceName x ++
 " is not vector " ++
 ": resultBySubscript"
-- | Compose the results using the specified transformation function.
composeResults :: (ResultSource -> [ResultSource]) -> ResultTransform
composeResults f =
 results . concat . map f . resultSourceList
-- | Concatenate the results using the specified list of transformation functions.
concatResults :: [ResultTransform] -> ResultTransform
concatResults trs rs =
 results $ concat $ map (\tr -> resultSourceList $ tr rs) trs
-- | Append the results using the specified transformation functions.
appendResults :: ResultTransform -> ResultTransform -> ResultTransform
appendResults x y =
 concatResults [x, y]
-- | Return a pure signal as a result of combination of the predefined signals
-- with the specified result signal usually provided by the sources.
--
-- The signal returned is triggered when the source signal is triggered.
-- The pure signal is also triggered in the integration time points
-- if the source signal is unknown or


Why Make your Locate Process Paperless?
Everyone is aware of the headaches that can be caused by a paper driven process, locating is no different: misplaced or damaged drawings, line-ups at the scanner, and endless emailing. There are an overwhelming amount of benefits to completing locates digitally and we'll discuss them in this article.
environmental-protection-886669_1280Using a software program such as our UtiLocate2- Locate Management Software makes going digital easy. Locate documents are generated based on the data entered by the user. Digital forms with logos look professional and make you stand out from the crowd. The form stays consistent every time allowing excavators to become familiar with the layout and reference information faster. Data and mapping contained in the locate document is also more legible because handwriting is eliminated.
It is no secret that our environment's health is on the decline and we need to reduce our usage of resources. Cutting out the use of paper in a process is a great way for an organization to reduce their environmental footprint. Storing paper copies in large filing cabinets that take up real estate in the office is not ideal. Digital copies can be stored in a cloud and recalled instantly anywhere you are.
A concern with going digital may be that locators need internet in the field but locating software such as ours allows locators to work offline so portable internet is not something management needs to worry about. The overall locating process becomes faster when going digital. This is because templates and images can be used in the drawing tool to quickly capture your locate. Also, documents are automatically generated and sent without any scanning or manual emailing involved.
Take the leap and digitize your locate process today. Visit _URL_ for more information or call Competers Inc at _PHONE_ and we'll help you out!
After Hours Emergency Self Assign
In UtiLocate 2, we have a feature that allows the locator to grab his own after hours emergency ticket. This eliminates the need to set a locator as the after hours emergency locator. Instead, the locator can self-assign a ticket and then do a download to be able to complete the ticket. Now, you'll never have 2 locators arrive on-site together and give more flexibility to on-call locators.


text:
Lync Server Logging Tool and Snooper. However, there are significant changes in the way Lync Server 2013 provides logging and analysis for troubleshooting. The Lync Server Logging Tool is now gone and replaced by the Centralized Logging Service (CLS). This article expores the CLS architecture and how to conduct basic logging and SIP trace analysis for the new Lync2013 server.CLS enables IT administrators to manage logging and search logs across all Lync servers in a deployment centrally rather than on individual servers. This is an advantage as one no longer needs to enable logging and having to look at traces on multiple front end servers in a pool. Now, we can start, stop and flush trace logging for any or all machines in the deployment from a single location. Administrators can also turn on logging based on scenarios on a per pool/machine for the entire deployment. From a centralized location, we can then search and trace these logs based on specified parameters.
CLS Architecture Overview
1. CLS Agent - runs on every Lync server and controls logging based on commands from the CLSController. It also manages log files for drive space usage and moves old logs to a fileshare. The ClsAgent listens for commands on the following ports: TCP 50001, 50002 and 50003
2. CLSController - sends start, stop, fiush and search commands to all CLSAgents in the deployment. It aggegrates search results from CLSAgents and is available on every Lync server in C:\Program Files\Common files\Microsoft Lync Server 2013\CLSAgent
CLS logging is performed based on scenarios and there are a set of built-in scenarios that specify a group of components and log levels to be started and stopped together. Some examples of these scenarios include:
one additional scenario can be enabled along with "AlwaysOn".
Getting Started with CLS
ClsController.exe -start -scenario AlwaysOn
CLSController.exe -start -scenario IncomingAndOutgoingCall -pools lync2013.apbeta.local
CLSController.exe -search -components Sipstack -pools lync2013.apbeta.local > sip.log


text:
Parents have the right to ask their child's public school for an evaluation and by law, the school must provide one free of charge. But there are steps that must be followed.
STEP ONE: Parents must make a request for testing in writing. Talking to your child's teacher, the principal or the front office about your concerns, or just verbally asking for an evaluation is not enough. Parents need to put the request in writing and personally deliver it to the school personnel (usually the school counselor) who should respond to it. According to Vita Nemirovsky of Homeworks Educational Consulting, it is important to include specific requests in the letter on exactly what you would like your child to be evaluated for. A sample letter requesting evaluation will help parents write an effective letter.
STEP TWO: Within 10 days, the school will offer a Permission to Evaluate (PTE) form that needs to be signed by the parents. At this point, a 60 day "countdown" starts, where the school has that much time to perform the requested evaluations. One thing to note: the time during summer vacation does not count towards the 60 days. Despite the fact that it may be late in the year, it can still be good to start the process in the spring. According to Nemirovsky, that will help set things up for an early fall evaluation.
IF THE SCHOOL SAYS NO: A school may also respond to a parents' written request with a Notice of Recommended Educational Placement, or NOREP form. This form indicates that the school has reviewed the child's situation and determined that he already has an appropriate placement. Parents can dispute this and still request testing. In the majority of the cases, the schools will comply with the parents.
STEP THREE: Once testing results are in, the school will meet with the parents, share results and make recommendations. If parents are not satisfied with the results of testing, they also have the option of requesting an independent evaluation, which the school is required to pay for.
The lengthy time frame can be a problem for some parents, who want to get a diagnosis, and begin to get help for their child sooner. These parents may elect to pay for and get an independent evaluation.
Next: Reasons to consider an independent evaluation


text:
Determinants of the fluorescence emission spectrum of atheromatous plaques treated with haematoporphyrin in vitro
Studies were carried out on atheromatous plaques which had been incubated with the fluorescent dye haematoporphyrin. By varying the wavelength of excitation, it was possible to obtain fluorescence signals from different depths in plaque, since enhanced tissue penetration occurs when the wavelength of exciting light is increased. Moreover, the presence of ulcerated regions altered both excitation and emission spectra. These results suggest that corresponding measurements using laser/fibre-optic systems may be used to characterize plaques in vivo.
Key wordsFluorescence Plaques Haematoporphyrin Spectroscopy
Unable to display preview. Download preview PDF.
- 2.Hoyt CC, Richardds-Kortum RR, Costello B et al. Remote biomedical spectroscopic imaging of human artery wall.Lasers Surg Med 1988,8:1–9Google Scholar
- 3.Kittrell C, Willett RL, de Los Santos C et al. Diagnosis of fibrous arterial atherosclerosis using fluorescence.Appl Opt 1985,42:2280Google Scholar
- 8.Pollock ME, Eugene J, Hammer-Wilson M, Berns MW. Photosensitization of experimental atheromas by porphyrin.J Am Coll Cardiol 1987,9:629–46Google Scholar
- 14.Doiron D, Svaasand L, Profio AE. Light dosimetry in tissue: application to photoradiation therapy. In: Kessel D, Dougherty TJ (eds)Porphyrin Photosensitization. New York: Plenum Press 1983:63–76Google Scholar


text:
The two faces of Tornado. The engine is shown here is from the J-Series Wagoneer or truck configuration with the standard paper air filter and a generator fitted.
Story by Jim Allen
Jeep's overhead-cam six, famously called the Tornado, was one of the first mass-produced overhead-cam engines built in the United States after World War II. As whiz-bang as that sounds, the engine actually has very humble roots.
Willys Motor engineer A.C. Sampietro worked out a simple plan: In 1960 he took the existing lower-end architecture from the Kaiser Supersonic/Continental Red Seal 226-cubic-inch L-head (or flathead) six and began designing a new overhead-cam engine around it.
The 226 engine had been incorporated into the Jeep lineup as the Super Hurricane in 1954, and it had an enviable reliability record. It made 105 horsepower, and when it was introduced it was a welcome addition to the horsepower-starved Jeep engine lineup. Like all flatheads, it had breathing and cooling difficulties, but the Continental-sourced engine became almost legendary for durability in Jeeps and the many other applications in which it served until 1973.
Sampietro's engine came to life in February 1961, when the prototypes were tested. By May, the engine had passed its 100-hour full-power certification tests, and the first production engines came off the line in April 1962. The 230-cubic-inch engine was dubbed Tornado, and in a strange twist of fate, the first Jeeps to have them were not the new Gladiator J-Series pickups or Wagoneer SUVs but the old Willys wagons and pickups they were designed to replace.
Although the basic architecture of the Tornado came from the 226, the blocks were considerably different, not the least of which was the lack of cast-in ports and valves used on a flathead engine and the lack of a camshaft. It was also given full-flow oil filtration, which the L226 did not have. The Tornado had the same stroke as the Super Hurricane and only a slightly larger bore. The crankshaft was more or less the same one used in the 226, but it was strengthened by Tufftriding. This was one of the first times the hardening process was used by an OEM engine builder.
Here is the power and torque graph for the engine as designed. Note the torque line. Jeep rated the engine at 210 pounds-feet at 1,750 rpm. This curve shows it achieving 210 pounds-feet before 1,000 rpm and holding above that to about 3,700. Now that's a torque curve!
The overhead-cam system was unique because one cam lobe opened the intake and exhaust valves on each cylinder. This made for a unique camshaft profile, but it allowed the intake and exhaust valves to be precisely aligned in the spherical (don't call it a Hemi) combustion chamber for optimal breathing in the crossflow head. The valves were large for the displacement -- 1.88-inch intakes and 1.62-inch exhausts. A good number of parts on the engine were aluminum, including the front cover, water pump, valve cover and intake manifold. The engine weighed 575 pounds, some 40 pounds lighter than the 226 flathead.
Despite the Tornado's undersquare configuration -- a 3.34-inch bore and 4.48-inch stroke - it was a bit of a revver at heart. In fact, the engine's 140 hp at 4,000 rpm and 210 pounds-feet of torque at 1,750 rpm was underrated. When Sampietro wrote about the Tornado in November 1962, dyno testing of the two-barrel engine was yielding 155 hp and 230 pounds-feet of torque (gross) as well as BSFC (brake specific fuel consumption) below 0.45 pounds/hp/hour from 1,200 rpm all the way to 4,000 rpm. Sampietro also designed a 153-cubic-inch four-cylinder version of the Tornado that was built overseas.
On the ugly side were the problems with oil consumption and leaking issues seen mostly in the engine's early days. They were relatively easy to fix, both under warranty and in production. Because of the oil consumption and owners not checking the oil until it was too late, a relatively high number of engine failures were reported. Word spread, and even though the issues were largely solved by the next model year, the bad rap followed, and it has stuck to this day. The engine's relative complexity compared with the standard American engine of the day was also an issue for the less well-trained mechanics.
The Tornado didn't die when it was dropped from the lineup in 1965. Its design and tooling was transferred to Industries Kaiser Argentina (or IKA), which also had ties with AMC and Renault. The engine was used in the Torino, a Rambler American clone. With only a few upgrades, the engine was sold at a standard 155-hp level, and an Interceptor version with three side-draft DCOE Weber two-barrels made 176 hp. An economy 181-cubic-inch version (3.34-inch bore and 3.44-inch stroke) was built as well. In 1973, the lower end was upgraded to seven-main configuration, and by the time the engine was discontinued in 1982, there were 215-hp versions floating around. It was used extensively in racing, and it even garnered a few international victories.
The Tornado also appeared in uniform. The low-compression one-barrel version was fitted to the 1967-69 Gladiatorbased M-715 military tactical truck. It was mostly the same, except for the waterproofed components and the 24-volt shielded electricals. Another difference was the elimination of the front engine mounting plate, one of the major sources for oil leaks on the civilian engine. The block had bosses, and the motor mounts were situated there to suit the locations used for the civilian 232ci AMC six.
The lower end of the Tornado was unremarkable. Four-main configuration, long stroke, undersquare. The upper end was remarkable for the day, with a crossflow head and overhead cam. The high-compression (8.5:1) engines had a domed piston while the low-compression engines used flat-tops. The spherical combustion chamber allowed for good airflow. If this head were fitted to an oversquare seven-main engine, it would have been a real barn burner. In its long-stroke undersquare configuration, it had good torque with a hint of "peakyness."
The 226ci L-head, whose basic lower end dimensions became the core DNA for the Tornado. It could be argued that a better engine could have been chosen for this adaptation. Engineer A.C. Sampietro's primary mandate was to develop the engine on a tight budget. This engine was originally designed by Continental Motors, a subsidiary of Kaiser Industries.

source: HuggingFaceFW/fineweb-edu


text:
Displaying 1 - 24 of 32 results.
Single-use plastic shopping bags will be phased out over the next year, Prime Minister Jacinda Ardern and Associate Environment Minister Eugenie Sage announced today.
The Government is establishing a new group to broaden the conversation with Māori on freshwater.
New guidelines released today by Environment Minister David Parker are intended to assist councils in their monitoring, compliance and enforcement duties under the Resource Management Act.
The new Environmental Protection Authority (EPA) Board chairperson and deputy were announced by Associate Environment Minister Eugenie Sage today.
Local government leadership is crucial to turn around New Zealand's approach to waste, Associate Environment Minister Eugenie Sage says.
New information confirms work is needed to ensure there are good standards and clear information for consumers about biodegradable and compostable plastics, Associate Environment Minister Eugenie Sage says.
The Government will act immediately on some recommendations of the Land and Water Forum including prioritising action in the most "at-risk" catchments.
An address to the Forest & Bird Annual Conference, Wellington, 23 June 2018
Plans that are easier to use and prepare under the Resource Management Act (RMA) have taken a step closer with the release of the first set of draft National Planning Standards.
A plan to help farmers and growers reduce their impact on fresh water, through good farming practices, has been launched today.
At an event in Auckland today 12 local and international businesses signed a declaration to tackle plastic waste, Associate Environment Minister Eugenie Sage announced.
Children will learn about waste and recycling with a Sustainability Trust-run programme getting a $157,000 grant from the Government's Waste Minimisation Fund, Associate Environment Minister Eugenie Sage announced today.
A taskforce has been set up to deal with the impact of the Chinese Government's ban on the import of many recycling materials, Associate Environment Minister Eugenie Sage announced today.
Associate Environment Minister Eugenie Sage today announced funding to increase E-waste recycling and avoid it ending up in landfills.
Plastic recycling company Astron is getting $500,000 under the Government's Waste Minimisation Fund to expand its plastic recycling facility in New Zealand, Associate Environment Minister Eugenie Sage announced today.
Recycling just got smarter and brighter with new cleverly designed bins to improve recycling and collection launched by Associate Environment Minister Eugenie Sage today.
A facility to recycle tyres and a project to reuse old photocopier toner are getting off the ground with support from the Waste Minimisation Fund, Associate Environment Minister Eugenie Sage said today.
A new unit will be established to oversee compliance with the Resource Management Act (RMA) and to improve consistency across councils, says Environment Minister David Parker.
The Government has taken the first step in a series of changes to resource management processes, aimed at fixing failures in law passed by the previous government, and has signalled a wider review of the RMA in 2019.
Environment Minister David Parker will meet his Australian counterparts in Melbourne tomorrow to discuss policy issues in their portfolio areas.
A report on the state of the country's land has highlighted the impact of urban sprawl, the loss of important wetlands and emerging problems associated with soil compaction.
Speech notes for Associate Environment Minister Nanaia Mahuta to NZ Association for Environmental Education conference, Wellington, 18 April 2018.
Address to the Resource Management Law Association Seminar, 28 March 2018
Tēnā koutou katoa


text:
A Prism is a Region which represents an extrusion of an existing Region
into one or more orthogonal dimensions (specified by another Region).
If the Region to be extruded has N axes, and the Region defining the
extrusion has M axes, then the resulting Prism will have (MN) axes.
A point is inside the Prism if the first N axis values correspond to
a point inside the Region being extruded, and the remaining M axis
values correspond to a point inside the Region defining the extrusion.
As an example, a cylinder can be represented by extruding an existing
Circle, using an Interval to define the extrusion. Ih this case, the
Interval would have a single axis and would specify the upper and
lower limits of the cylinder along its length.


text:
D-5 Monitor Towers
Monitor Towers are structural equipment used to increase the coverage area of firefighting monitors to approach a fire from a certain height above ground, for example marine terminals, loading bays or storage tank farms, where it is necessary to pass over high obstacles to reach the fire source.
Self-standing construction over the foundation are especially engineered according to reaction forces caused by monitor, wind loads, snow loads and seismic loads. Monitor towers are usually constructed from Structural carbon steel materials. Material characteristics such as shape, grade and thickness are selected according to calculations made by a special FMEA software in conformity with Euro Code standards like EN 1990, 1991, and 1993.
Monitor towers are subject to CPR 305/11 regulation of EU which defines strict design and manufacturing rules to put the equipment on the market.
C.S.I. uses a Factory Production Control system which is certified by an independent notified body according to EN 1090 standard, that enables the company to affix CE mark to structural components up to EXC-2 execution class, according to directive. Our company has an internal welding coordinator to follow all requested tasks during the construction.
Monitor towers produced by C.S.I. consists as a minimum in a base flange, a tubular main structure and the piping to deliver fluid to the desired elevation to feed the firefighting monitor. The entire construction is made by using structural steels.
Working or resting platforms are designed according to ISO EN 14122-2 and fixed marine type access ladders between the platforms and the ground level are designed according to ISO EN 14122-4, provided as access tools to the monitor systems. All intermediate or upper platforms are always combined with anti-fall protection and handrails.
Fixed top platform towers are attached permanently to the structure while rotating platforms are structured over rotating rollers connected to the firefighting monitor to turn together allowing depression angles from the opening in front.
External spray cooling system runs together with the structure provided to protect it from exposure.
Fire proofing with cementitious coating cycles are available on request. To increase durability of the equipment, hot dip galvanization or C5-M type marine grade coating systems are offered.
Monitor towers can have external monitor feeding pipe, electrical conduit pipes and junction boxes as well as can be supplied with foundation templates and bolts.


12 Tips for Making Sifteo Games
posted by scott, 08 Jan 2013
Sifteo cubes give developers an exciting opportunity to design new types of games. Forget traditional screens and controllers. Sifteo cubes are small magic blocks, each of which has a screen. You play by manipulating the cubes themselves, as you would play with board game pieces or building blocks.
Like the Nintendo Wii and iOS devices, Sifteo Cubes are intuitive and easy to use, which means people of all ages are attracted to playing with them.
Because Sifteo Cubes are so different from other gaming platforms, it can be challenging to design games for them. Just as Nintendo Wii made us think about moving our arms, and iOS devices made us think about swiping and pinching, so Sifteo Cubes have their own idiosyncratic language of gestural controls. And because Sifteo Cubes are not one device but several, you must think about games with multiple movable screens. You have no choice but to innovate.
To give you a head start designing games for Cubes, here are twelve guidelines that we use here at Sifteo for generating and evaluating game ideas. Keep these in mind as you develop your game.
First, here are the essential requirements that we look for in every Sifteo game.
1. Sifteonic
Your game should fit the unique capabilities of Sifteo Cubes like a glove, creating a magical experience that would be hard to reproduce on another platform. We call this quality "Sifteonic." For instance, players find it magical when characters walk from one cube to another in Sandwich Kingdom, or when putting cubes together causes colored dots to explode in Chroma Splash.
To make sure your game is Sifteonic: use large, simple graphics (we only support simple 2d graphics) keep text short have cubes interact with each other use cube gestures like neighbor, tilt, and press as the way you play the game Sifteo technology supports only a small amount of tile-based 2-dimensional art, plus up to 8 sprites per cube, so avoid 3d graphics and large amounts of art
Here's a video that highlights the unique things that Cubes can do.
Here's a rundown of all the features that together make a game Sifteonic.
Physical: Slide, stack. Use the cubes for their size, weight, and physical properties.
Multiple screens: We have multiple screens, so each cube can be a single object.
Neighboring: Actions triggered when two cubes are neighbored.
Configuration: The configuration of all the neighbored cubes matters.
Rotatable: Cubes are directionless — any of the four sides can be up.
Gesture: Cubes have accelerometers that can detect orientation and gesture.
Touch: Detect pressing the screen as one big button.
Networked: Communication between cubes allows coordinated visual displays.
2. Intelligent Play
Your game should make players feel smart. Parents should feel good about their kids playing it. Sifteo game are NOT educational software, but they should clearly exercise such cognitive skills as pattern recognition, strategic planning, problem solving and creativity.
At one end of the intelligent play spectrum, the action game Bleep requires only simple recognition of colors and patterns. At the other end of the spectrum, the puzzle games Chroma Splash and Teenage Mutant Ninja Turtles require deep problem solving skills.
3. Multi-cube
Sifteo Cubes sets come with a minimum of 3 cubes, so all Sifteo games must be playable with 3 cubes. At the same time every set can handle up to 12 cubes, so all Sifteo games should get even better with more cubes (yes, we want people to buy more cubes). Most games we have published are playable with up to 6 cubes; some work with as many as 8 or 12 cubes.
Sandwich Kingdom works naturally with many cubes
Sometimes crafting a game for different numbers of cubes is easy; sometimes it takes considerable extra work. For instance: - In Chroma Splash, the randomly generated Survival Mode expands naturally to any number of cubes, and the game is easier to play with more cubes. - In Chroma Splash's Puzzle mode, puzzles are carefully crafted for specific numbers of cubes; 40 puzzles are crafted for 3 cubes, 15 for 4 cubes, 15 for 5 cubes, and 10 for 6 cubes. - In Sandwich Kingdom cubes act as windows into a larger world — the game works naturally with any number of cubes, and tends to get easier with more cubes.
Prototyping a game with Post-Its
4. Fun
Of course your game must be fun to play. Two suggestions: tap into your passions for what is fun, and test your game early and often (square Post-Its are great for paper prototypes) on other players to make sure other people find it fun too. Since Sifteo Cubes are halfway between traditional video games and physical toys, we often look to board games, books and toys for inspiration.
5. Rated E for Everyone
Sifteo only publishes games rated E for Everyone. Like Pixar movies, our games must appeal widely to all ages, including kids as young as 7. But that does not mean our games should be childish or unsophisticated. Aim instead to create universal games that appeal to the pure intelligence in all of us. As Walt Disney said: "You're dead if you aim only for kids. Adults are only kids grown up, anyway."
Some games work naturally for all ages, while others require special modes aimed at different age ranges. For instance, the abstract puzzle game Chroma Splash works naturally for all ages. The math game Code Cracker includes different difficulty levels aimed at different ages — Beginner features just plus and minus, Intermediate also includes multiplication, and Expert also includes division and fractions. Word Caravan cleverly skirts the issue of different versions for different ages by including a hint mechanism that allows young readers to make words even if they can't spell.
Desirable Characteristics
Next, here are characteristics that are desirable in all games, and how they play out on Sifteo Cubes.
6. Easy to learn
With small screens and little room for spoken audio, Sifteo games must be easy to learn. I recommend you integrate instruction into gameplay, so the players learn by playing, not by reading pages of instruction. Simple games like Bleep explained the rules during the course of gameplay. More complex games like Cube Buddies and Teenage Mutant Ninja Turtles Ninja Slide unfold the rules gradually over the course of many chapters.
Teenage Mutant Ninja Turtles Ninja Slide begins with a series of lessons in the Dojo
7. Replayable
The flip side of "easy to learn" is "hard to master". There are three ways to make the player want to play again.
 1. Games with authored levels (like Cube Buddies) challenge players to conquer a series of increasingly difficult puzzles.
 2. Games with randomly generated content challenge players to achieve higher and higher scores.
 3. Finally, multiplayer games invite players to keep coming back because the human element makes each play session a unique experience.
Chapters in Cube Buddies get increasingly difficult.
8. Marketable
For a game to be successful, people must hear about it. Can you pitch your game in 10 words or less? Can you give your game a name that draws people in? What character, action or thematic element will give your game a memorable identity? The most powerful form of marketing is word of mouth; what will players of your game tell their friends about your game?
Optional Characteristsics
Finally, here are some optional characteristics for you to consider including in your game.
9. Original
A Sifteo game does not have to be original to be successful, but since we are just starting to explore the range of games possible with Sifteo Cubes, we certainly value games that strike out in new directions.
Johann Sebastian Joust, by Die Gute Fabrik, for Sony Move
For instance, our initial suite of launch games focused on thoughtful single-player puzzle games where the cubes lie flat on the table. So we're now exploring fast-action multi-player games where the cubes sometimes leave the table, working with such developers as Die Gute Fabrik, makers of the wildly innovative game Johann Sebastian Joust. Other types of games we'd like to explore include games for girls, early learning preschool games, open-ended constructive games, and games that tell stories.
10. Multiplayer
Some of our games are single-player, some are multiplayer, some are both. Generally we prefer multiplayer. Our launch games are single-player, though they easily accommodate extra players who want to join in cooperative play. Many of our games in development are specifically designed for 2 to 4 players. Multiplayer games can be deliberate turn-taking games like the forthcoming battle game from Richard Garfield, or fast-paced free-for-alls, like Bleep, where everyone plays simultaneously.
Miami Heist uses uses Cubes as game board pieces
Besides thinking about other players, think about using other objects in the environment as part of the game. For instance, the student-produced game Miami Heist used Sifteo Cubes as playing pieces on a game board that looked like city blocks. You can also make games that dangle the blocks on strings, or slide them down ramps.
11. Episodic
To extend the lifetime of our games, we are creating small episodic sequels, where each new episode sells for just a few dollars. For instance, the first follow-up episode of our launch game Sandwich Kingdom is called


text:
This method of saving changes is clunky because it requires manual intervention for each save. It has the advantage of working on almost all desktop browsers, and many mobile browsers.
- Download an empty TiddlyWiki by clicking this button:
If the button doesn't work save this link: _URL_
Your browser may ask you to accept the download before it begins
- Locate the file you just downloaded
- You may rename it, but be sure to keep the
- Open the file in your browser
- Try creating a new tiddler using the new tiddler button in the sidebar. Type some content for the tiddler, and click the ok button
- Save your changes by clicking the save changes button in the sidebar
- Your browser will download a new copy of the wiki incorporating your changes
- Locate the newly downloaded file and open it in your browser
- Verify that your changes have been saved correctly
Tip: most browsers have an option to prompt each time for the download location. This allows you to select the existing version of the file and replace it.


text:
Modelling in Physical Geography
UNIVIE 290.044 PS3 WS2016 2015
In geomorphology, computer models are often employed to analyze or to predict spatial patterns, to improve process understanding, or even to anticipate the occurrence and characteristics of possible future processes. This course introduces to the key aspects of computer modelling. It builds on examples related to mass movement processes and fluvial geomorphology. The modelling techniques are strongly related to the application of Geographic Information Systems (GIS).
The course largely follows a concept of learning by doing. Specific real-world problems are taken as examples. The various aspects of modelling are elaborated by introducing step-by-step solutions of those problems. Even though the course is coupled to specific software packages, it introduces general skills which can be applied with various tools. It also attempts to convey a feeling for which methods are appropriate for which types of tasks. At the end of the course the participants will
- be able to critically evaluate model results;
- be able to apply computer models in an independent and responsible way;
- know the most important software packages for modelling of mass movements and their scope of application;
- know about the possibilities to develop their own model applications;
- be able to design simple model applications by themselves.
Some basic knowledge of GIS (in particular, raster analyses with ArcGIS) is expected from the participants.
The course takes place in the GIS laboratory on the 1st floor of the NIG Building (Universitätsstr. 7). It builds on eight lessons of introductory lectures and code development. Seven more lessons are dedicated to practice and to the final exam. Each lesson has a duration of three teaching units.
Further information on the course on u:find
All models are wrong, but some are usefulComputer modelling has become an extensive field with a variety of aspects. Some of the key concepts of modelling will be exemplified on the example of GIS-based landslide susceptibility modelling. The purpose of this type of modelling is to identify those areas in a certain region (ranging from the small catchment scale to the global scale) more likely to be directly affected by landslides than others. In the first lesson you will
- learn about the key aspects of modelling
- be introduced to modelling of landslide susceptibility
- implement a simple slope stability model with standard GIS functions
- write your own script for executing the infinite slope stability model
Learn how to program your own slope stability modelling toolWhilst ready-to-use software packages are available for complex tasks, it may be useful for simple applications or for very specialized tasks to design your own model code. Building on the code developed in the first lesson, you will use the Python programming language to develop a software tool for running the infinite slope stability model, making use of GIS functions. You will
- learn how to efficiently combine ArcGIS with the Python programming language
- learn how to automatically run an R script from your python code to produce a map
Parameters are uncertainModels have to be fed with input parameters. However, these parameters ar sometimes hard to determine and are most often highly variable in space. This means that they are uncertain, and these uncertainties reflect themselves in the model results. Appropriate strategies are needed to deal with uncertain parameters. In this lesson you will
- be introduced to the general aspects of parameter uncertainty
- extend your python script to account for the uncertainties of the key parameters of the infinite slope stability model
Model results have to be validatedUsing GIS, one may produce nice colourful maps with any type of model. However, in order to explore to which extent the model results are useful to make predictions they have to be validated against observations. In the case of landslide susceptibility models, these observations most commonly consist in a landslide inventory. You will
- learn about the key concepts and issues of model validation, back calculation and forward calculation
- apply ROC plots to validate your model results
Modelling needs practiceIn this lesson you will have the chance to finish up those calculations which have caused troubles in the previous lessons. You are further encouraged to practice everything learned until now. For example, you might try to further extend your python scripts in order to add more functionalities to your program codes.
Mass movements are more complexIn the previous lessons you have become familiar with the infinite slope stability model. However, this type of model - as all models - is suitable for a limited range of applications. More complex models are needed (i) to anticipate where deep-seated rotational slides are likely to happen; (ii) for modelling the propagation of mass movements; or (iii) for coupling slope stability to the hydraulic conditions of the soil or rock. Whilst (i) and (ii) will be introduced on a theoretical basis, you will use the open source software TRIGRS to couple the infinite slope stability model to a hydraulic model. In this lesson you will:
- learn about sliding surface models
- see what can be done for anticipating the propagation of mass movements
- gain an overview on GIS-based coupled hydraulic-slope stability models
- use the software TRIGRS to perform your own coupled hydraulic-slope stability model calculations
Rainfall and landslidesThe software TRIGRS offers a broad range of functionalities to explore the susceptibility of landslides as a response to rainfall events. Building on the previous lesson, you will
- learn more about the functionalities of TRIGRS
- explore these functionalities on your own
- use the Python programming language to automatize the execution of TRIGRS as well as the validation and visualization of the results
More practiceIn this lesson you will have the chance to finish up those calculations which have caused troubles in the previous lessons. You are further encouraged to practice everything learned until now. For example, you may try to find out how different rainfall scenarios and parameter combinations influence the model results.
More practice... and a little testYou are encouraged to practice everything learned until now. There will further be a small mid-term exam (duration: 60 minutes) concerning the content of the presentations and the general understanding of the possibilities and limitations of modelling gained up to this point. There will be no modelling tasks to be performed, the outcome of the exam will contribute 35 per cent to the final mark.
Evolution of river profilesRivers shape their valleys in various ways. Whilst they tend to equilibrate the longitudinal profile by retrogressive erosion and sedimentation, the transverse profile is influenced by factors such as the rate of incision or sedimentation and by the local geology. In this lesson you will
- hear about some general aspects of fluvial valley evolution
- write your own script for predicting the future evolution of river longitudinal profiles by incision into the bedrock, using Python
- create profile plots with R
The exciting life of a fluvial valleyThe development of river longitudinal profiles is influenced by a variety of factors such as the supply of sediment in the headwaters, blocking of the valley by natural or artifical dams, changes in the sea level, tectonic uplift or coastal erosion. Focusing on the effects of the latter two processes you will
- use and extend the scripts designed in the previous lesson to explore the response of the river longitudinal profile to changes in the key governing parameters
- produce profile plots illustrating the outcomes of certain scenarios
Recapitulation: programming with PythonWe will repeat the key aspects of Python programming, putting the pieces of code produced in the previous lessons into a broader context.
Recapitulation: spatial modellingWe will repeat the key aspects of spatial modelling, putting the exercises performed in the previous lessons into a broader context.
Prepare for the final exerciseIn this lesson you are encouraged to practice everything learned until now. A particular focus is put on preparation for the final exam.


Geolocation
I know this is not very spooky post for Halloween. Unless, of course, you were sitting there this evening thinking to yourself, I wonder how you make a web page location aware and happened across my post.
Anyway, back to the subject. Using HTML 5 you can now include the user's location within your application. The Geolocation API was included in HTML5 although not strictly as part of the HTML5 specification. You can now use the power of a location aware device to know where your user is and provide content relevant to them.
It is quite simple to do and this article explains the code that you need to do that with an example of its usage plotting the location on Google Maps.
Geolocation
First up here's the basic HTML structure. I have added a title to the head section and a paragraph tag to the body section that I've given the identity of "msg".
<!DOCTYPE HTML>

<meta charset="utf-8″>
<title>Geolocation API</title>

The Geolocation functionality is via JavaScript so in the "head" section you'll need to add some script tags and three functions.

I've called the first function "init" and it takes no arguments (an argument is something such as a value that you will pass into a function when you call it) but you can name it anything you like. This function is what we will call as the final action when the page loads to enable our Geolocation request. The init function asks if your browser supports this functionality and if it doesn't it gives an appropriate error message.
If it does support Geolocation functionality it then changes the message paragraph text to let you know it is searching and then asks for your location which prompts you to share your location from your browser (see screenshot below). It then displays the results or an error message if something went wrong.
Geolocation 1
The "getCurrentLocation" function takes two functions as arguments. In this case I've called them "foundPosition" and "errorPosition". Each of those functions must accept a position argument that contains either the current location or an error message.
If you run the script now, you will get nothing returned as we haven't added the request to the init function when the page is loading. You can either add onload=init; to the script below the closing parenthesis of the init function or you can add an onLoad="init();" attribute to the body tag. I'll do it that way so my script section is clean (only contains functions).
Here's the full script so far.
<!DOCTYPE HTML>

<meta charset="utf-8″>
<title>Geolocation API</title>

Geolocation 2
So I've viewed this web page on my PC and that device is not location aware. The latitude and longitude do not represent my position but they represent a location aware device somewhere on my route out to the internet. It's actually above a betting office about 20 miles away. If I run the same script from the same location using a location aware device then the results are different and you will see that in a later screenshot when we add a Google map to the page.
Google Maps
It is very simple to add Google Maps and combine this with Geolocation. You can already find the location using the Geolocation API and Google give you everything you need for the Maps by connecting to an external script (if you prefer you can also use Bing Maps).
Add the following above your other "script" tag.

<


text:
Special thanks to Justin Davis, Michael Sandberg, Ryan Hall, Mark Bradbourne, and Matt Chambers.
Set actions, released in Tableau 2018.3, are one of the most powerful new Tableau features since Level of Detail (LOD) expressions. Prior to their release, I had never used sets before. So, it took me a while to wrap my head around the use cases for creating a set and then running an action to dynamically update it. However, in the last 6 weeks of using 2018.3, I have come to realize how revolutionary set actions are. They allow for new ways to interact with data, which in turn improve the end-user experience and facilitate quicker time to insight. I've developed a strong understanding of set actions and used them to create everything from a crossword puzzle to a collapsible table with bar charts. In the article below, I'd like to share what I've learned about sets and set actions so that you can get started using one of the most exciting new features in Tableau (and if you've never used sets before, don't be afraid!)
What are sets?
Sets allow you to take members within a dimension and group them into two categories: IN or OUT. For example, the region dimension within Sample SuperStore has four values: Central, East, South, and West. If we only wanted to look at data for the Central and West regions, we could create a set with groupings of IN (Central, West) and OUT (South, East).
This can be done by right clicking on any dimension in the data pane and selecting create > set.
In the set dialogue box, there is the option to choose which values to include IN the set. We can use the condition or top tabs to specify logic that determines the values IN/OUT of the set (e.g., top two regions by sales), or we can manually select which dimension members to include IN the set. For this example, we will manually select the values of Central and West.
After creating the set, a new "Sets" section will appear in the data pane beneath the available measures on the left-hand side of the screen. This is where we can go to access our newly created region set.
Like a dimension, a created set can be dragged from the data pane into a worksheet. For example, if we create a new worksheet and add the region dimension to the rows shelf, we can then drag the Region Set from the sets pane onto the text mark. The result is that for each member of the region dimension, we can see whether it is in or out of the set.
The set can also be used in calculations. Anything IN the set evaluates to True while anything out of the set evaluates to False. To use sets in a calculation, use the following syntax:
IF [Name of Set] THEN "What to do if a value is in the set" ELSE "What to do if a value is not in the set" END
While there is a lot more that can be done with sets, these are the most important things to know to use set actions. If you want to learn more about sets, check out the following articles:
What are actions?
Actions allow users to interact with the content present on a worksheet or dashboard. Actions pass along a selected data point to some other part of the dashboard or workbook.
There are four different types of actions:
- filter (the value selected is used to filter specified worksheets)
- highlight (the value selected is brought to the front – highlighted – where it appears on other worksheets)
- URL (the value selected is passed into a URL, which is then executed in a new web page)
- set (the value selected is passed into a created set)
Once the desired action is selected, there are three different ways to trigger an action:
- select (clicking on a mark)
- hover (mousing over a mark)
- menu (clicking on a mark and then clicking on a hyperlink in the tooltip)
Set actions function similarly to filter actions, so let's review the flow of how a filter action works.
If I had the following dashboard, looking at Sales by State and Sales by Region, I could set up a filter action so that every time I clicked on the West region bar, the map on the left would filter to only the states in that region. Clicking on the East region bar would filter the map to only the states in the East, etc.
What is this filter action doing? Whatever region is selected on the sales by region bar is passed, through the action, onto the filters shelf of the Sales by State worksheet.
What are set actions?
As I previously mentioned, sets place members of a dimension into one of two groups, IN the set or OUT of the set. Actions pass values from a selected data point into some other component. Set actions then, allow users to dynamically update which members are in a set through interacting with a data point. When a mark is clicked on, instead of the dimension member (such as West) being passed to the filter shelf, the member is passed into the set. The new dimension member(s) being passed into the set, replace whatever member(s) were in the set previously. Before set actions, there was no way for the user to change what values were in the set. However, now that it is possible to change the set within a dashboard, a whole new world of possibilities exists.
Let's revisit the Region Set we created earlier and add a set action to the worksheet to allow the user to choose which regions to include in the set.
To create a set action, go to worksheet > actions > add action > change set values.
The set action dialogue looks like the following:
The following items need to be thought through when determining how to configure a set action:
- Where should the action be run? Like filter actions, you have to choose which worksheets or dashboards the action should run on. Should it only run on a specific dashboard? Should it run on only a worksheet? Should it run on both? For this example, we want the action to run only on the worksheet Sales by Region (In/Out Region in my screenshot).
- How should the user activate the action? Like filter actions, you have to choose if the action will be run when clicking (selecting) on a mark, hovering over a mark, or through a menu that appears in the tooltip after clicking on a mark. For this example, we want the action to run upon selecting (clicking).
- What set should be updated/changed? Specify which data source the set is created on followed by the name of the set to use. In this example, we are using the Sample – Superstore data and the set is called Region Set.
- What should happen when the user clears the selection? What is selected for this portion has the most impact over how the set action will operate. So, let's do a deep dive into each of the options. First off, what does "clear the selection" even mean? This depends on how the action is run.If select is chosen, when the user clicks on a mark, the mark is highlighted and the other values dim. Clearing the selection refers to what happens when the user deselects a mark (by clicking on again), returning the visual to normal. In this example, clicking on a region of West will add West to the set. The question we need to answer is: what should happen when the user deselects West?
If hover is chosen, when the user mouses over a mark (and a black border appears), the dimension member will be added to the set. Clearing the selection refers to what happens when the user moves their mouse and is no longer hovering over the dimension member. In this example, hovering over a region of East will add East to the set. The question we need to answer is: what should happen when the user is no longer hovered over East?
If menu is chosen, when the user clicks on a mark, a tooltip will appear with a hyperlink. Clicking on the hyperlink will add the dimension member to the set. Like actions run on select, the mark is highlighted and the other values dim. Clearing the selection refers to what happens when the user deselects a mark (by clicking on what is blue), returning the visual to normal. The question we need to answer is: what should happen when the user deselects West?
Now that we know what clear the selection is referring to, what are the options to answer the questions posed above? There are three options for what to do when a mark is cleared, like those on filter actions. If we look at our worksheet, clicking on Central will add it to the set.
When clearing the selection is set to keep set values, deselecting Central does not change the set in any way. Central will stay in the set until another mark activates the set action.
When clearing the selection is set to add all values to the set, deselecting Central adds all regions into the set. Every region is IN the set.
When clearing the selection is set to remove all values from set, deselecting central removes all values from the set. Every region is OUT of the set.
To recap: clearing the selection refers to what should happen to the set when the user deselects a mark (run action on select and menu) or when the user moves their mouse to no longer hover over a mark (run action on hover). The options include:
- Keep set values (a value stays in the set until another mark activates the set action)
- Add all values to the set (clearing the mark will place every value IN the set)
- Remove all values from set (clearing the mark will place very value OUT of the set)
For this example, we want the action to add all values to the set when