Our previous blog post presented some compelling reasons why paragraph and character styles should be used for styling text. Not only do styles provide consistency and prevent possible error, should you decide to export the document to HTML they provide some control over how these files are written.
The same can be said for using Object Styles for styling containers for elements such as those used for images. When exported to HTML or ePub a limited number of properties are written to the.css file. These involve attributes having to do with the border and fill: border-color, border-width, border-style, and background-color. For anchored frames: space above, space below, and justification is left to styling for the paragraphs to which the object is anchored.
For both anchored and floating graphics there are two dialogs which give some additional control over how information for images are written to the.css:
 1. The Image tab for document HTML Export Options
 These settings apply to all image files in the document
…HTML image export options
 1. Export Options in the Object Style Options Dialog
 These settings apply specifically to only those objects styled with the individual object style.
…Object Style EPUB and HTML image export options
One place that Object Styles are often used is for text enclosed in a border or over a background.
This was, until the October release of InDesign. With the later versions, you may consider using a paragraph style with Paragraph Border and/or Paragraph Shading attributes set. Paragraph Border works almost perfectly saving the following attributes to the.css file (this for a style named Pullquote):
p.Pullquote {
 border-width:2px 2px 2px 2px;
 font-family:"Hoefler Text", serif;
Paragraph Border Using Object Styles
Even with the new paragraph border properties, you might decide to use the original anchored frame method. The anchored text frame has the added advantage of allowing text inset settings. Another consideration of using the anchored text frame is that the InDesign provides a number of size options that can be set for images and Object Styles. (These are available in both the Image tab for HTML Export Options and the Export Options tab for Object Styles.)
…Size Dropdown in Object Style Export Options
When using a paragraph style having the paragraph border settings, the frame for the text expands with the width of the text column. This is true even when the Width property is set to Text. (Maybe this will change with future upgrades.)
InDesign does give you plenty of options for setting up your HTML/Epub export. With the help of text and object styles, you can get your files to output just the way you want them to display.
Suppose your document has separate frames for an image or pull quote in the side bar of a document layout. You want these elements to be consistently in the same place for each version (or issue) of the document. Until the October 2017 release of InDesign you would probably have to relsort to using a template. But assuring consistent frame size and positioning can now be done with Object Styles. Yes, I said it: Object Styles.
In the document you are saving as a style sheet, create Object Styles for those frames (image or text) that you want to save with Size and Position Options set. Enter these settings in the Size and Position Options tab.
..Size and Position Options
To create your next version of this document, create the document from an established document preset and import Text Styles and Object Styles from your stylesheet.
Create any sized frame anywhere on the page and apply the appropriate Object Style. Your perfedtly sized and positioned frame pops into position. Better yet, create a script to do it all by incorporating code such as the following:
Code Snippet:
(*Assumes document exists with Images layer and object style as named*)
set objStyName to "fStyle"
tell application "Adobe InDesign CC 2018"
 set measurement unit of script preferences to points
 set docRef to document 1
 set layerRef to layer "Images" of docRef
 set styleRef to object style objStyName of docRef
 tell page 1 of docRef
 make rectangle with properties ¬
{name:"myFrame", applied object style:styleRef, item layer:layerRef}
 end tell
end tell
Imagine being able to import a number of Object Styles (possibly named incrementally) with size and position properties. Run a script that loops through the list of styles and not only creates the frames, but also places the content as part of the process.
For your next major project, take the little extra time necessary to use text and object styles for all its styling. As part of the process save a page of the document as a style sheet with all of your styles ready for import the next time you create a version of the document (or one similar).
Scripts provided are for demonstration and educational purposes. No representation is made as to their accuracy or completeness.areaders are advised to use the code at their own risk.


text:
Signals for Safety
Starting with the Acadia National Park quarter, the students will research on the park's website, listen to a text, and discuss the importance of safety signals. The students will create a class list of safety signs and signals and use the "Show Me the Signs and Signals" worksheet to match signs with vehicles. They will create a new safety sign or symbol that can be used at school. They will also write a paragraph comparing a lighthouse to another safety signal.
Acadia National Park Quarter Reverse
United States Map
Show Me the Signs and Signals
The file below contains the lesson plan and all the associated worksheets. When you click on the link, the PDF will open if you have the free Acrobat Reader plug-in installed. Depending on your browser's settings, the lesson plan will open in this tab, in a new tab, or in a new window.
You can then click "File" in the top menu and "Save As" to save the PDF to your hard drive or click "File" and then "Print" to print all the pages on your printer.
National Council for the Social Studies (_URL_)
- People, Places, and Environment

source: HuggingFaceFW/fineweb-edu


metadata object """ self.metadata.from_dict({self._class_name: dict(self.hdf5_group.attrs)})
[docs] def write_metadata(self): """ Write HDF5 metadata from metadata object. """ for key, value in self.metadata.to_dict(single=True).items(): value = to_numpy_type(value) self.logger.debug("wrote metadata {0} = {1}".format(key, value)) self.hdf5_group.attrs.create(key, value)
[docs] def initialize_group(self, **kwargs): """ Initialize group by making a summary table and writing metadata """ for key, value in kwargs.items(): setattr(self, key, value) self.write_metadata()


text:
The early Christian church chose Midsummer Day as the birth date of Saint John the Baptist (June 24th -- it isn't really "mid summer" but that's the day traditionally celebrated as midsummer's day).
Saint John has long been thought of as one of the greatest saints. It was he who told of the coming of Christ. He was given the name John the Baptist because he baptized people -- including Jesus.
Saint John's Day has been celebrated throughout many Christian countries for hundreds of years.
In Puerto Rico, for example, bonfires blaze the entire night of June 23rd. Between midnight and dawn, people swim in the sea in memory of the saint who baptized people in water.
In Quebec, Canada, the Fête de la Saint-Jean-Baptiste is also an important holiday which includes bonfires, fireworks, parades and carnivals.


text:
I ran into a problem controlling my synth module with renoise.
Whenever I choose a MIDI out and channel for a track it gives all the tracks
the same settings. I'd like to set all the tracks to different MIDI outs and channels.
How do I do this?
Thanks for reading.
I believe you used this panel, right?
well, this panel sets the properties per instrument, not per track: the idea behind trackers is not to bound an instrument to a specific track.
The MIDI out defines the MIDI device you select to control, the channel is related to the channel your instrument is attached to on your external midi device.
Renoise just sends MIDI signals to that specific channel set for that device configured in that instrument slot.
To assign a different channel to a different instrument, pick a new instrument slot and reconfigure the MIDI properties (see above image) for that instrument slot to the proper channel for the instrument you want to control.
If you have multiple MIDI devices upon the same MIDI port, you will have to assign a different channel to an instrument on each device if you want only control that specific instrument.
If you use the same channel on different devices on that MIDI-port, the result will be that every device attached to it that gets the signal on that channel will respond to it if that specific channel has been assigned to an instrument which will cause a kakafonic event if that response was not planned.

source: m-a-p/FineFineWeb


The 4 important ways on how to enhance your aiming skills
Ever since it was first released the game has many players. They have been playing the game since then and it's having more time. Also in 2012, it was the release of the counter strike global offensive or CSGO. The game has already lost a lot of players and they started playing CSGO. Now the no steam counter strike 1.6 descargar has fewer players. But the game is still being played with thousands of people around the world. If you want the old school players or you want to learn the game.
You can play a warm-up match
You need to sharpen your skills by having a warm-up match before you play the game. In this way, it can help you tune-up for the game and improve your eyes on the targets. Playing the deathmatch can be useful as well. It will help you be better at your aim.
Improve your muscle memory
It is the most common tip that most players will tell you to enhance your aim. You don't need to look at the screen and keep your eyes at the crosshairs all the time. In that way, you can move your crosshairs on the map. So you have your target in sight.
If you have played enough more CS 1.6 you don't need to keep your eyes on the crosshair. You need to develop your muscle memory and once you will see the enemy your crosshair will go towards it. You need to have a smooth, large mouse pad. And to train your hands to move it smoothly so your crosshairs cover the screen.
Train your flick aim
It has two types of aiming theories. The first one is tracking aim. It is where you keep your crosshairs trained on a certain point even though you are moving. The second is the flick aim. It is where you are moving your crosshair fast between the target points. Its movement is to function the muscle memory. The best thing to make it perfect is to change the target slowly and have quick arm movements. You need to move as quickly because your muscle memory is developing.
Using a crouch well
You need to learn how and when will you use the crouch because this can help you with the aim. The crouch is an effective defensive tool. You can use this to your enemies to miss any headshots. It is because there will be half-decent players who always have the crosshair at head height.
Read More


6 tips and tricks for AWS command-line ninjas
Andreas Wittig – 09 Jun 2016
The AWS Command Line Interface (CLI) allows you to manage AWS services. Using the CLI from your terminal interactively allows you to half-automate tasks and frees you from logging into the AWS Management Console. In addition integrating the CLI into shell scripts allows you to automate your infrastructure and the configuration of EC2 instances during the boot process.
This article covers typical hurdles when using the AWS CLI.
Command Completion
When using the CLI interactively within your terminal command completion is a killer feature you should not miss. When enabled Command Completion allows you to use the TAB key to complete commands. This will speed up your CLI usage significant.
The following steps are needed to enable Command Completion for bash on OS X:
echo "complete -C aws_completer aws" >> ~/.bash_profile
source ~/.bash_profile
The official documentation contains general instructions for other shells as well.
Filtering results of requests on server-side
By default, the CLI uses a page size of 1000 and retrieves all available items. If you need to request items from a list of more than 1000 items or if you want to speed up your commands it is a good idea to filter the results of your request on server-side.
Many describe-*and list-* commands support server-side filtering: --filter. For example it is possible to filter EC2 instances by instance type:
$ aws ec2 describe-instances --filter Name=instance-type,Values=t2.nano
Filtering output on client-side
Another useful feature of the CLI is filtering the output of any command on client-side: --query. The JMESPath query language is used for filtering.
The following example lists all VPCs within a region and filters the results by using a --query.
$ aws ec2 describe-vpcs --query "Vpcs[?VpcId == 'vpc-aaa22bbb'].CidrBlock"
[
"94.194.0.0/16"
]
You might need the CIDR of a VPC as a variable in your shell script. The following example shows how to achieve that. Formatting the output as text by adding the parameter --output text removes " character from the JSON result.
Looking for a new challenge?
 - tecRacer
 Cloud Consultant
 tecRacer • Premier AWS Consulting Partner • Germany, Austria, Spain, and Switzerland
 AWS only Infrastructure as Code EC2 Containers Serverless
 - tecRacer
 Cloud Migration Specialist
 tecRacer • Premier AWS Consulting Partner • Germany, Austria, Spain, and Switzerland
 Lift&Shift Transformation EC2 RDS VPC
#!/bin/bash
CIDR=$(aws ec2 describe-vpcs --query "Vpcs[?VpcId == 'vpc-aaa22bbb'].CidrBlock" --output text)
echo $CIDR
Wait for …
When writing shell scripts by using the CLI there will be the need to wait for a specific condition from time to time. For example, after initiating an EBS snapshot your script might need to wait until the snapshot was completed. Waiting can be achieved with a polling loop and a describe-* command. But there is a simpler solution built into the CLI for this: aws <service> wait <condition>.
The following example contains a wait command that will block the script until the snapshot has been completed.
#!/bin/bash
echo "Waiting for EBS snapshot"
aws ec2 wait snapshot-completed --snapshot-ids snap-aabbccdd
echo "EBS snapshot completed"
Assuming an IAM role
The CLI supports assuming an IAM role. Very handy if you need to switch between multiple AWS accounts with the help of cross-account roles.
All you need to do is to configure two profiles in ~/.aws/config: an IAM user and an IAM role profile.
[profile iam-user]
output = json
region = eu-west-1
[profile iam-role]
role_arn = arn:aws:iam::<ACCOUNT_ID>:role/<IAM_ROLE>
source_profile = iam-user
output = json
region = eu-west-1
Only the IAM user needs security credentials stored in ~/.aws/credentials.
[iam-user]
aws_access_key_id = ***
aws_secret_access_key = ***
Afterwards, you are able to assume the IAM role by adding --profile iam-role to your CLI commands.
Fine-tuning S3 config
The AWS CLI includes transfer commands for S3: cp, sync, mv, and rm. You are able to fine-tune these commands with special configuration.
For example if you need to sync a large number of small files to S3, the increasing the following values added to your ~/.aws/config config file will speed up the sync process.
[profile default]
...
s3 =
max_concurrent_requests = 100
max_queue_size = 10000
use_accelerate_endpoint = true
The official documentation contains detailed information about additional S3 configuration values.
Become a cloudonaut supporter
Andreas Wittig
Andreas Wittig ( Email, Twitter, or LinkedIn )
We launched the cloudonaut blog in 2015. Since then, we have published 346 articles, 43 podcast episodes, and 37 videos. It's all free and means a lot of work in our spare time. We enjoy sharing our AWS knowledge with you.
Please support us
Have you learned something new by reading, listening, or watching our content? With your help, we can spend enough time to keep publishing great content in the future. Learn more
$
Amount must be a multriply of 5. E.g, 5, 10, 15.
Thanks to Alan Leech, Alex DeBrie, ANTHONY RAITI, Christopher Hipwell, Jaap-Jan Frans, Jason Yorty, Jeff Finley, Jens Gehring, jhoadley, Johannes Grumböck, John Culkin, Jonas Mellquist, Juraj Martinka, Kamil Oboril, Ken Snyder, Ross Mohan, Ross Mohan, sam onaga, Shawn Tolidano, Thorsten Hoeger, Todd Valentine, and all anonymous supporters for your help! We also want to thank all supporters who purchased a cloudonaut t-shirt.


text:
Absorption of Radium and Thorium from New Mexico Uranium Mill Tailing Solutions.
Beard-HR; Salisbury-HB; Shirts-MB
The Bureau of Mines investigated the absorption of radium and thorium from waste uranium leach liquor by clays and other materials. This work was conducted in support of the Bureau's goal of minimizing the environmental conflicts, impacts, and occupational hazards associated with mining and milling operations. Tailing and soil samples from New Mexico were evaluated for their potential to absorb radium and thorium from tailing liquors. Absorption ranged from 0 to 97 pct for radium and 0 to 60 pct for thorium. Some samples that readily absorbed radium were contacted with various salt solutions that could be present in tailing solutions to determine whether desorption would be a potential problem. The desorption of radium ranged from 0 to 75 pct. An alpha spectrometric method was used to determine the radium and thorium concentrations in the solutions and solids.
IH; Report of Investigation;

source: openbmb/Ultra-FineWeb


text:
Ground Water Pumping from Shallow Axisymmetric Pondsby Mustafa M. Aral, (M.ASCE), Assoc. Prof.; School of Civ. Engrg., Georgia Institute of Technology, Atlanta, Ga.,
Terry W. Sturm, (A.M.ASCE), Asst. Prof.; School of Civ. Engrg., Georgia Institute of Technology, Atlanta, Ga.,
Serial Information: Journal of the Hydraulics Division, 1982, Vol. 108, Issue 12, Pg. _PHONE_
Document Type: Journal Paper
The hydraulic aspects of pumping from axisymmetric ponds, or large diameter wells, as a means of developing shallow, unconfined aquifers are investigated, and it is shown that pond storage allows groundwater pumping at higher rates during short time periods than would be possible for continuous pumping. A finite element model that considers the effects of pond storage, partial penetration, pond size, and pumping time on the pumping discharge from the pond is developed. Numerical results are presented in terms of generalized dimensionless variables, and are applied to a design problem of selecting the pond diameter, pumping rate, and pumping schedule for given aquifer properties.
Subject Headings: Ponds | Hydraulics | Pumps | Axisymmetry | Shallow water | Waste storage | Groundwater | Aquifers | Finite element method | Wells (water)
Services: Buy this book/Buy this article
Return to search


1. Raising the Research Bar Survey
The Legal Research Center is planning a research training program for Friday morning, May 16 and would like your suggestions. The program will last about 3 1/2 hours, including a Continental Breakfast, and is designed to sharpen your research skills and provide practical tips that will let you confidently answer real-world research questions.
* 1. How can we help you do your job this summer?
* 2. Where will you be working this summer?
* 3. What will you be doing at your job this summer?
* 5. How would you characterize your legal research skills?
* 6. Other comments or suggestions or suggestions for the program:
* 7. Name
* 8. Email address


text:
Free Online Dictionary
|Wikipedia English The Free Encyclopedia||Download this dictionary|
In scientific nomenclature, a synonym is a scientific name that applies to a taxon that (now) goes by a different scientific name, although zoologists use the term somewhat differently. For example, Linnaeus was the first to give a scientific name (under the currently used system of scientific nomenclature) to the Norway spruce, which he called Pinus abies. This name is no longer in use: it is now a synonym of the current scientific name which is Picea abies.
|See more at Wikipedia.org...|
The following video provides you with the correct English pronunciation of the word "synonym (taxonomy)", to help you become a better English speaker.
© This article uses material from Wikipedia® and is licensed under the GNU Free Documentation License and under the Creative Commons Attribution-ShareAlike License
|Wikipédia Français||Download this dictionary|
|Pour la suite, voir Wikipédia.org…|
© Cet article se sert du contenu de Wikipédia® et est autorisé sous les termes de la Licence de Documentation libre GNU
| synonym (taxonomy) in English | synonym (taxonomy) in French
You think you have ethics... Take the survey NOW!


text:
A chocolate is such a thing that everyone loves to eat whether young or old. Many of us eat ferrero rocher chocolates as they are very yummy and filled with the crunchiness of hazelnuts. But it is a good idea to know how many calories are present in it before one puts this wonderful piece of tasty food into ones mouth.
The total calories present in 3 pieces of ferrero rocher chocolates of serving size of 41 grams is about 220 calories. A closer look at the segregation of the calories that it is filled with can be obtained as follows:-
- The three pieces of ferrero rocher chocolates have about 144 grams of fat.
- The total fat content is about 16 grams which is 25% of the daily assigned value of calories that an average person consumes on a daily basis.
- These chocolates even have saturated fat and cholesterol of about 5.0 grams and 3.0 mg respectively which accounts for 25% and 1% in the total calories assigned per day.
- Besides these the ferrero rocher chocolates also have sodium of 20 mg, carbohydrates of 16.0 grams and dietary fiber of 1.0 grams accounting for 1%, 5% and 4% respectively in the calories.
- One can also get protein of about 3.0 grams and sugars of about 15.0 grams from these chocolates. Apart from these one can also get additives of calcium and iron wherein both are present to the extent of 4% in these chocolates.
The best part of consumption of these hazelnut chocolates is that it has least content of cholesterol and is also low in sodium content which is a blessing for people suffering from heart and blood pressure problems. But there are also certain minus points in it for people suffering from diabetes as it has high content of saturated fat and sugar present in it.


text:
Mastering Elegance: A Deep Dive into the World of Mother of Pearl Necklaces
Welcome to the epitome of sophistication – the world of mother of pearl necklaces. In this all-encompassing guide, we embark on an exploration of the facets, intricacies, and timeless allure that make these necklaces a pinnacle of elegance. If you're ready to delve into the exquisite universe of mother of pearl, read on to discover the nuances that set this jewelry apart.
The Allure of Mother of Pearl
Unveiling the Iridescent Magic
Mother of pearl is no ordinary gem; it is an organic marvel sourced from the iridescent inner layer of mollusk shells. The mesmerizing play of colors arises from the interplay of aragonite crystals and conchiolin. Each necklace, a unique masterpiece, captivates with its natural luminosity, turning it into a wearable work of art.
A Journey Through Time
Beyond aesthetics, the allure of mother of pearl carries a rich historical tapestry. From ancient civilizations to modern-day fashionistas, this gem has held symbolic significance. Representing purity, protection, and prosperity across cultures, wearing a mother of pearl necklace is not just a style choice; it's a connection to centuries of tradition.
Choosing Your Perfect Mother of Pearl Necklace
Navigating the Sea of Options
1. Quality Beyond Compare
Begin your quest by scrutinizing the quality of the mother of pearl. Seek out pieces with a flawless, lustrous surface, free from imperfections. The true beauty of this gem emerges when it boasts both durability and visual splendor.
2. Designs that Dazzle
Mother of pearl necklaces come in an array of designs. Whether you lean towards a classic single-strand, a pendant masterpiece, or an avant-garde creation, align your choice with your personal style. Let your necklace be an extension of your identity.
3. Metal Harmony
The metal setting of your necklace is the silent conductor orchestrating its overall aesthetic. Choose between sterling silver, gold, or rose gold based on your skin tone and style preferences. The right metal enhances the luminosity of the mother of pearl, elevating its elegance.
Style Tips: Making a Statement with Mother of Pearl
1. Effortless Adaptability
The hallmark of a mother of pearl necklace lies in its adaptability. Elevate casual attire or complement formal wear; this gem effortlessly transitions between settings, providing a touch of elegance to every occasion.
2. Layering Mastery
Experiment with layering to unlock the full potential of your mother of pearl necklace. Embrace a bohemian chic vibe by pairing it with delicate chains or create an air of sophistication by combining it with a longer strand. The possibilities are as endless as your imagination.
Nurturing Your Mother of Pearl Investment
Preserving the radiance and longevity of your necklace requires a delicate touch and careful maintenance.
The Art of Cleaning
1. Gentle Elegance
Avoid exposing your mother of pearl necklace to harsh chemicals, including perfumes. Opt for a soft, damp cloth to delicately wipe away any dirt or residue. This ensures the gem retains its inherent luster without compromise.
2. Secure Storage
To shield your necklace from scratches and sunlight exposure, store it in a soft pouch or jewelry box. Treat it with the same reverence you would any precious possession, and it will reward you with enduring brilliance.
Conclusion: A Testament to Timeless Beauty
In the tapestry of timeless accessories, a mother of pearl necklace stands as a symbol of natural beauty and enduring style. By immersing yourself in its origins, making an informed choice, and embracing versatile styling, you unlock the ability to elevate any ensemble. Whether a nod to tradition or a modern fashion statement, a meticulously chosen mother of pearl necklace becomes a reflection of your unique taste and unparalleled sophistication.


text:
This page contains bill sponsorships in the Senate and House.
Bill sponsorships indicate the topics that legislators are most interested in, and spend the most time on.
Decided Aug 2, 2004
Bill Sponsorship: the Northern Uganda Crisis Response Act
Source: Bill sponsored by 9 Senators
Expresses the sense of Congress that the United States should: Became Public Law No: 108-283.
- support efforts for a peaceful resolution of the conflict in northern and eastern Uganda;
- work with the Government of Uganda and the international community to make available sufficient resources to meet the relief and development needs of the towns and cities that are supporting large numbers of displaced people;
- urge the leaders and members of the Lord's Resistance Army to stop the abduction of children, and urge all armed forces in Uganda to stop the use of child soldiers, and seek the release of all individuals who have been abducted;
- urge the Government of Uganda to improve the professionalism of Ugandan military personnel currently stationed in northern and eastern Uganda, with an emphasis on respect for human rights and civilian protection;
- work with the international community to assist and increase the capacity of Ugandan civil institutions to monitor the human rights situation in northern Uganda;
- make clear that the relationship between Sudan and the United States cannot improve unless no credible evidence indicates that authorities of the Government of Sudan are providing support to the Lord's Resistance Army.
- Topic: Foreign Policy
- Headline: Monitor human rights in Uganda-Sudan crisis
- Key for participation codes:
- Sponsorships: p=sponsored; o=co-sponsored; s=signed
- Memberships: c=chair; m=member; e=endorsed; f=profiled; s=scored
- Resolutions: i=introduced; w=wrote; a=adopted
- Cases: w=wrote; j=joined; d=dissented; c=concurred
- Surveys: '+' supports; '-' opposes.
participating in 04-S2264
Total recorded by OnTheIssues:


Your cart
Total AUD
 - Gateway
Into Deepest Space
Fred Hoyle, Geoffrey Hoyle
Write Review
Rated 0
Fred Hoyle's World of Sc, Fiction, Science fiction
An SF Gateway eBook: bringing the classics to the future.
Sequel to Rockets in Ursa Major
From a great distance the Yela's recorded message crackled through on the micro-earpiece: 'For the time being you have won. But I am not defeated so easily.'
That had been three years ago, after Dick Warboys had repulsed the invading Yela by firing a lithium bomb into the Sun. But now that threat seems near fulfilment as appalled scientists detect the rapid approach of a vast, engulfing cloud of hydrogen. Can humanity survive on Earth or must selected pioneers abandon it in search of a safer region of the Galaxy?
To find the answer Dick and his allies from Space suffer a perilous voyage into the realms that reach the ultimate in understanding the physical universe.
Read More Read Less
Fred Hoyle
Sir Fred Hoyle (_PHONE_)


text:
Center Township Sanitary Authority (Beaver County, Pennsylvania) has completed an upgrade to the headworks facilities at their existing Elkhorn Run Sewage Treatment Plant. LSSE provided design and permitting services for the installation of a new mechanically cleaned bar screen and site improvements at the existing CTSA sewage treatment plant.
The existing Elkhorn Run headworks facilities consisted of an aged and ineffective comminutor originally designed to macerate solid and fibrous materials in the influent waste stream. With the recent increased popularity of "flushable" wipes and cleaning products it has become increasingly obvious that simply grinding or shredding these materials is not sufficient to protect downstream sewage facilities and process equipment. The shredded materials often "bulk" back together and create maintenance headaches for plant operators including clogging pumps and pipes and accumulating around process piping/equipment.
LSSE designed a new concrete influent headworks channel upstream of the existing influent channel to house the 1⁄4" opening screen. The self-cleaning mechanical screen specified removes solid materials and rags from the waste stream to protect expensive downstream process equipment. Mechanical rakes clean the screen and transport the removed items to a mechanical washer/compactor where they are rinsed, dewatered, compacted, and deposited in a dumpster for economic removal with minimal operator effort. The overall design concept also included an emergency screen bypass pipe that re-used the existing bypass bar screen.
In addition to the headworks improvements, LSSE also coordinated with the Operations Supervisor, Robert "Judge" Martini, to incorporate the design of site grading, paving and access improvements as part of the construction project to facilitate installation of the new screen channel and provide improved site access and mobility for plant operations.


sample sentence:
the words that could be ambiguous are
项目: the project
目的: the goal, purpose, aim, intent
how can this be resolved?
 - 1
 depends on which grouping ("parsing") makes sense, 这个｜项｜目的 does not seem to make sense, b/c there already is CL 个，so 项 would have an attributive meaning, which seems implausible, incidentally ［项］［目的] raises the question whether 项 can be used as CL of 目的，but e.g. 小马词典 has 个 as CL, presumably 种 would also be acceptable, but 项 sounds unusual, anyhow there already is 个 and there cannot be 2 CL in a row for the same noun – user6065 Sep 14 '18 at 23:04
If you treat 目的 as a noun, then 项 has to be a classifier. But there's already a classifier 个 before it, (项 is not the right classifier for 目的 anyway), therefore, we can eliminate the possibility of "目的" in this sentence being a noun. Which mean 项 is not a classifier but a part of the compound word 项目 (item)
It all make sense, because we know "个" is a classifier for "项目" (item)
"项" itself is a classifier, but it doesn't work with "目的"(goal) (the classifier of 目的 is 个)
在这个项目(的)研究上 = about the study on this item
的 is an adjective marker that turn 这个项目 into an adjective phrase "这个项目的" for the noun 研究 (study) - what study? this item's study
Lenny wrote:
is there a more ambiguous kind of sentence? surely there must be, that's more of what I'm trying to get at
Yes, for example, the following sentence can be interpreted differently depend on where you slight pause between words
"是個 人用的 工具" = "是個 (is a) 人用的 (for human use) 工具 (tool)" = "is a tool for human use"
"是 個人用的 工具" = "是" (is) 個人用的 (for personal use) 工具 (tool)" = "is a personal used tool"
Both examples are grammatically correct, you have to listen to how it is read to determine it is "是個. 人用的" or "是. 個人用的"
Or you can look for hints in the context to determine the correct interpretation
One fun one, but it has to do with punctuation marks:
1. 下雨天留客, 天留人不留 (It is raining as if the heaven wanted to keep the guest here, but the host doesn't keep the guest even the heaven does)
2. 下雨天, 留客天, 留人不? 留! ("It is a rainy day, it is a day to keep the guest, do you keep the guest?" "Yes I do!"
 - is there a more ambiguous kind of sentence? surely there must be, that's more of what I'm trying to get at but I appreciate your answer. thank you for taking the time to do it! – Lenny Sep 15 '18 at 1:06
 - _USER_ yes, just read my edition at the bottom – Tang Ho Sep 15 '18 at 1:32
 - Thank you very much, you are amazing. You deserve lots of points. – Lenny Sep 15 '18 at 6:01
There is no ambiguity of your sentence. All least in 简体中文 for Mandarin, one character will never be used by two words (It might happen as rare case in spoken language, but is often considered as mistakes(lazyness?) and definitely wrong in the writing system ).
According to this rule, does 这个|项|目的|研究上 make any sense to you? As a native speaker, I don't think it make any sense.
So the rule of word group, if it makes sense, then it works. For ANY human language. And yes, ambiguity can happen (in ANY human language) as you can see in other answers, but not like this.
Your Answer


gas masks African American Officers pilots in dress uniforms African American Soldiers 1 doughboys with mules Riveters The pilots Mule Rearing
French language
The U.S. WWI Centennial Commission is proud to partner with France's Mission du Centenaire to bring French language and World War I history resources to educators in the United States.
These tools and lessons provide French language educators the opportunity to expand their students' skills and knowledge in connection with a "once in a century" commemorative moment that is of profound importance to France and its people.
"Pershing" Donors
$5 Million +
Founding Sponsor
PritzkerMML Logo
Starr Foundation Logo
The Lilly Endowment


text:
please explain what do you mean by "power GPIO pins"?
CORE2 and CORE2-ROS can't be powered via USB port - please read this section of manual to find out why: _URL_
It will be partially powered and it will cause that LEDs on board and the microcontroller will be powered, but it is not the proper way to supply the power. It can be done only for checking if SBC works, but not permanently!
When you tried to connect the power from USB port of your laptop, the red LED probably turned off after 10s because the SBC have started up and draw more current at this particular moment.
When you tried to connect Tinker Board and CORE2 together and power the CORE2 via its power connector, and it didn't work as well, it is possible that your power supply was still not efficient enough.
I believe that when you find the proper power supply, everything will work fine


text:
- Case Study - VOC and RSC Sampling at Downtown Fire Hall for an Odour Event. Introduction. Response: - Three-month monitoring during the winter 2010-2011. - Canister sampling when odour was perceived. Problem:
VOC and RSC Sampling
at Downtown Fire Hall for an Odour Event
- Three-month monitoring during the winter 2010-2011.
- Canister sampling when odour was perceived.
Occasional odour complaints during cold winter days when atmosphere is stable.
To investigate the potential sources of odours.
- Temperature: -17°C, increasing from midnight of -22°C.
- Wind: Low wind speed ~3-4 km/hr from SW direction.
- Upwind sources: CPR rail yard and downtown business/traffic
- SO2: 3 ppb, maximum of the day (baseline conc. <1 ppb).
- Locomotive diesel contains higher sulphur (max 500 mg-S/kg) than
on-road diesel fuel (max 15 mg-S/kg).
- Normal conc. pattern for the other pollutants (NOx, CO, THC, O3, PM2.5).
06:22 am: 3 ppb, max. of the day
- A grab sample was collected.
- 06:22 am January 31, 2013 when an odour was perceived.
- Sample was analyzed for
Reduced sulphur compounds (RSC), and
Volatile organic compounds (VOC).
- Small sample size, n = 1.
- Sample did not detect a unique signature species.
- Compare to the Mirror rail yard study (AESRD, 2011).
- Mirror is located approx. 50 km NE of Red Deer.
- Simple flat terrain, few emission sources near Mirror.
- The program collected both upwind & downwind samples.
- Rail yard activities information was recorded.
Nevis Gas Plant
4 km approx.
Nevis Booster Compressor
7 km approx.
– Typical sulphide odour, like a rotten egg smell
– Most abundant sulphur compound naturally present in atmosphere.
– Anthropogenic sources:
Upwind of rail yard
Downwind of rail yard, with active rail yard activities
Downwind of the south rail yard, but little activities in this section
- Detected in most samples (active & minimal yard activities)
- Conc. not apparently higher for samples with active rail yard activities upwind (B,C vs. D,E) .
- In Canada, vehicle emission accounts for >80% of benzene in an urban area.
- Traffic volume: City of Medicine Hat > Hamlet of Mirror
- Other petroleum fuel combustion is another potential source of benzene.
- Railyard operation might not be the sole emission source of toluene.
- Toluene is a naturally occurring component of crude oil and petroleum.
- Major anthropogenic sources in Alberta are O&G operation and cement manufacturing.
- Potential link with rail yard activities.
Butane & isobutane: refrigerant, aerosol propellant, fuel blending.
Freon-11: refrigerant, aerosol propellant.
Although low concentration, some species present a trend with wind pattern and rail yard activities.
Five species were detected in the samples when wind was from both active and less active rail yard.
Only methylcyclohexane was detected in the sample upwind of rail yard.


Doctor of Philosophy in Sociology
A doctor of philosophy (Ph.D.) in sociology allows students to expand upon their knowledge of the human mind and society in general and gives you access to courses that aid in understanding the best ways to collect and analyze data.
Our Ph.D. program prepares students for the academic job market or other professional careers through a challenging, comprehensive and integrated curriculum that trains doctoral students to (1) theorize from a variety of sociological perspectives and (2) analyze using a variety of methodologies. The curriculum also focuses on advanced training in the specialty areas of race/ethnicity/gender, sociology of health and illness, and global/transnational/comparative sociology.
Career insights


easteregg
Dark background with blue accents with light reflectionsDark background with blue accents with light reflectionsDark background with blue accents with light reflections
4-Organizer Nano Guide
Avoid Data Loss: How to use "Rollback".
Why Non-Destructive File Sorting is Important
Warning: This article is a temporary draft. It may contain incorrect screenshots or inaccurate word choices. It will be replaced by a correct article in the soonest time: this is a temporary measure.
Having a consistent method for organizing files is important for boosting productivity and keeping your PC organized. Proper organization of files not only helps you quickly locate them, but is also an essential component in achieving an efficient workflow. By making it a habit to sort your files, you can greatly improve your productivity and keep your PC clutter-free.
Why Non-Destructive File Sorting is Important
Why Non-Destructive File Sorting is Important
Efficiently managing files can be a challenging and time-consuming task, especially when you have a large number of files to control. However, with 4-Organizer Nano, file management has become an effortless process. This innovative app leverages AI to help you automatically sort files stored in your PC, streamlining non-destructive file sorting and management.
Aside from its impressive functionality, 4-Organizer Nano offers a visually stunning and unique design that features a user-friendly interface, ensuring that sorting files is remarkably easy for users, enhancing their overall experience.
4-Organizer Nano makes the laborious task of manual sorting files a thing of the past, as it delivers a more productive and modern workflow. Furthermore, the app is capable of processing a large volume of files, if necessary, even up to tens of thousands. If you're a busy person and need a dependable and hassle-free solution to your file management needs, then 4-Organizer Nano can be a one-stop solution for you.
Avoid Data Loss: Why Non-Destructive File Sorting is Important
Even with the advanced technology of 4-Organizer Nano, it's still possible to make undesired changes or mistakes when sorting files. Maybe you sorted the wrong files, or perhaps you just changed your mind about how you want to organize your files.
This is why non-destructive file sorting is extremely important when it comes to organizing files on your PC. It is a technique that preserves the original order and location of your files, even after you sort your files, and they are moved to differing locations. Non-destructive file sorting allows you to easily restore the previous structure of your files without risking data loss. It can also save disk space and improve performance by avoiding unnecessary file copying.
4-Organizer Nano offers fully non-destructive file sorting; it has a powerful "Rollback" feature that lets you undo any file sorting that you have done with the app. Rollback allows you to revert any sorting operation, whether it was a single file, a batch operation, or an entire directory, to ensure that users can easily recover any mistakenly sorted files — and it is one of the reasons why 4-Organizer Nano is an amazing app for file sorting. It gives you peace of mind and confidence that you can always undo any changes that you have made with 4-Organizer Nano, without losing any data, directory structure, or wasting any time. In this article, we will show you how to use the Rollback feature in more detail and give you some tips and tricks on how to make the most of it.
How to use the Rollback in 4-Organizer Nano
All files you sort in 4-Organizer Nano — in whatever mode they have been sorted — are automatically saved by the Rollback. It means that you can revert the sorting of files if it was completed in any operation mode of 4-Organizer Nano, such as Unique Scan, Custom Scan, or Auto Scan.
Open the main menu and click on "Rollback"
Open the main menu and click on "Rollback".
To revert the sorting of files via Rollback, open the main menu and press "Rollback". A new window will appear where you will be able to see the Snapshots — this is how 4-Organizer Nano captures all sorted files and saves their state. For the user's convenience, each Snapshot has a date and the total amount of sorted files. Click on any snapshot to proceed with further actions.
The "Rollback" window, which shows five "Snapshots"
The "Rollback" window, which shows five "Snapshots"
A new window will appear, where you can see a full list of sorted files — it is dynamically updated and represents the current state of sorted files. Each Snapshot may have three categories of sorted files, that are displayed adaptively:
 - Files eligible for undoing sorting
 - Files eligible for redoing sorting
 - Files not eligible for undoing or redoing sorting
Files eligible for undoing sorting
 This convenient table displays the "original" location of the file and its "target" path. Select any files via your preferred method to undo them.
 This convenient table displays the "original" location of the file and its "target" path. Select any files via your preferred method to undo them.
This category represents the group of files, in which you can undo the sorting of them. You can easily revert the sorting of these files and move them back to their original locations. You can undo any files sorted by 4-Organizer Nano, not only from any place from your PC, but even if they were sorted on removable devices, such as flash drives, external drives, or even your smartphone.
Press on the "Undo sorting of selected files" button to revert the sorting changes.
Press on the "Undo sorting of selected files" button to revert the sorting changes.
Files eligible for redoing sorting
4-Organizer Nano's Rollback is so powerful, that you can revert the undo operation itself. If you have reverted the sorting of your files accidentally, you can easily sort them again. Similarly to the previous category, 4-Organizer Nano also offers full support for removable devices.
Re-sort any selected files by pressing the "Re-sort selected files" button.
Re-sort any selected files by pressing the "Re-sort selected files" button.
Files not eligible for undoing or redoing sorting
The last category means that 4-Organizer Nano's Rollback can't restore or revert the sorting of these files. Rollback may not offer the option to restore the file only if it can't be found at the previously saved path, meaning that something in the filename or directory name has been changed, or the file was moved manually. This can happen when:
 - You have renamed a file or its original/target folder.
 - You have deleted a file or its original/target folder.
 - When the removable device is not accessible anymore or its name was changed.
To conclude, files may not be eligible for undoing or redoing sorting only if their paths are not valid anymore. In most cases, you can easily fix this issue by checking if the original or target folders of the file exist, and have the same name as at the movement of sorting.
How to undo the file sorting by using 4-Organizer Nano's Rollback
If you wish to undo the sorting of files, simply check them: you can quickly select the desired files by clicking on its checkbox, by using the "select all" option, or by holding down the Shift key and clicking on two items to select everything in between them.
Files selected with the Shift key.
Files selected with the Shift key.
After selecting the files for undo, simply press the "Undo sorting" button to begin the rollback process. After the process is completed, the Snapshot window will automatically update its contents to display the newest information. All selected files will be moved back to their original locations, offering you a powerful and easy, non-destructive sorting experience.
How to redo the sorting of the files in Rollback
Select the files whose sorting you wish to redo. All selection methods described previously can be used to quickly select the necessary files.
Press the "Redo sorting" button. A new screen will appear, whose interface is actually a Custom Scan configuration window — an amazing and powerful feature of 4-Organizer Nano that makes it an outstanding tool to help you quickly organize your files. You may be interested in learning more about the power and benefits of using Custom Scan by reading this short guide.
Select the Custom Scan operation mode to redo the sorting.
Select the Custom Scan operation mode to redo the sorting.
After selecting the sorting mode you wish to use, 4-Organizer Nano will begin the redo process, and shortly, it will show another window with the results of the sorting.
How to fix "Unavailable for undo or redo" in 4-Organizer Nano's Rollback
A 'Rollback unavailable' window with a table
A 'Rollback unavailable' window with a table
If Rollback has placed certain files in the "not eligible for undoing or redoing sorting" category, you can still fix it, simply follow the steps below:
 1. In the Snapshot window, scroll down and examine the files that are not eligible for undo.
 2. You will see two paths — the original location of the file, and its target sorting path.
 3. First, make sure that both of these directories exist: try opening the Explorer to make sure both original and target folders exist. If they do not, simply create them by using your favorite method of creating new folders.
 4. If you wish to undo the sorting of the file, make sure the "target" path has the file you wish to roll back. Make sure the name of that file is correct.
 5. If you wish to redo


text:
Odontacolus markadicus Sp. Nov. (Hymenoptera: Platygastroidea: Platygastridae) - An Addition to the Platygastrid Fauna of India
Odontacolus markadicus sp. nov. is described from Karnataka, Southern India. Eight species of Odontacolus are known from the world. This is the first time that a species of Odontacolus is being described from the Indian subcontinent. A key to the species of Odontacolus is provided.
Odontacolus markadicus Sp. Nov, Indian Subcontinent, Platygastridae, Hymenoptera.
- There are currently no refbacks.


text:
Main Article Content
Studies concerning the diameter structure are essential for understanding the development of native forests, provide growth and yield parameters sufficient to generate estimates that support sustainable management. However, the mathematical modeling of probability functions, such as density, becomes difficult to implement in multi-modal distributions, found in forest species and communities. The species Araucaria angustifolia (Bertol.) Kuntze, of social, environmental and economic features, presents multimodal distribution pattern forming units called demographic cohorts, which arise due to natural and anthropogenic agents that operate in niches. Therefore, taking inventory database of trees with a diameter at breast height equal to or greater than 9.5 cm (DBH≥9.5 cm), from the National Forest of São Francisco de Paula, RS, it was possible to test different probability density functions. The best fit to the data series consists of a truncated polynomial function of seventh degree, which besides maintaining fitted values very close to those observed for total and diameter classes, maintained the multimodal distribution characteristic.


Language
Part 6: Using Data Annotations for Model Validation
By |
The MVC Music Store is a tutorial application that introduces and explains step-by-step how to use ASP.NET MVC and Visual Studio for web development.
The MVC Music Store is a lightweight sample store implementation which sells music albums online, and implements basic site administration, user sign-in, and shopping cart functionality.
This tutorial series details all of the steps taken to build the ASP.NET MVC Music Store sample application. Part 6 covers Using Data Annotations for Model Validation.
We have a major issue with our Create and Edit forms: they're not doing any validation. We can do things like leave required fields blank or type letters in the Price field, and the first error we'll see is from the database.
We can easily add validation to our application by adding Data Annotations to our model classes. Data Annotations allow us to describe the rules we want applied to our model properties, and ASP.NET MVC will take care of enforcing them and displaying appropriate messages to our users.
Adding Validation to our Album Forms
We'll use the following Data Annotation attributes:
 - Required – Indicates that the property is a required field
 - DisplayName – Defines the text we want used on form fields and validation messages
 - StringLength – Defines a maximum length for a string field
 - Range – Gives a maximum and minimum value for a numeric field
 - Bind – Lists fields to exclude or include when binding parameter or form values to model properties
 - ScaffoldColumn – Allows hiding fields from editor forms
Note: For more information on Model Validation using Data Annotation attributes, see the MSDN documentation at _URL_
Open the Album class and add the following using statements to the top.
using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 using System.Web.Mvc;

Next, update the properties to add display and validation attributes as shown below.
namespace MvcMusicStore.Models
{
 [Bind(Exclude = "AlbumId")]
 public class Album
 {
 [ScaffoldColumn(false)]
 public int AlbumId { get; set; }
 [DisplayName("Genre")]
 public int GenreId { get; set; }
 [DisplayName("Artist")]
 public int ArtistId { get; set; }
 [Required(ErrorMessage = "An Album Title is required")]
 [StringLength(160)]
 public string Title { get; set; }
 [Required(ErrorMessage = "Price is required")]
 [Range(0.01, 100.00,
 ErrorMessage = "Price must be between 0.01 and 100.00")]
 public decimal Price { get; set; }
 [DisplayName("Album Art URL")]
 [StringLength(1024)]
 public string AlbumArtUrl { get; set; }
 public virtual Genre Genre { get; set; }
 public virtual Artist Artist { get; set; }
 }
}
While we're there, we've also changed the Genre and Artist to virtual properties. This allows Entity Framework to lazy-load them as necessary.
public virtual Genre Genre { get; set; }
public virtual Artist Artist { get; set; }
After having added these attributes to our Album model, our Create and Edit screen immediately begin validating fields and using the Display Names we've chosen (e.g. Album Art Url instead of AlbumArtUrl). Run the application and browse to /StoreManager/Create.
Next, we'll break some validation rules. Enter a price of 0 and leave the Title blank. When we click on the Create button, we will see the form displayed with validation error messages showing which fields did not meet the validation rules we have defined.
Testing the Client-Side Validation
Server-side validation is very important from an application perspective, because users can circumvent client-side validation. However, webpage forms which only implement server-side validation exhibit three significant problems.
 - 1. The user has to wait for the form to be posted, validated on the server, and for the response to be sent to their browser.
 - 2. The user doesn't get immediate feedback when they correct a field so that it now passes the validation rules.
 - 3. We are wasting server resources to perform validation logic instead of leveraging the user's browser.
Fortunately, the ASP.NET MVC 3 scaffold templates have client-side validation built in, requiring no additional work whatsoever.
Typing a single letter in the Title field satisfies the validation requirements, so the validation message is immediately removed.
Please use the Discussions at _URL_ for any questions or comments.
Jon Galloway
By Jon Galloway, Jon works at Microsoft as an Community Program Manager focused on ASP.NET MVC. Prior to that, he's worked in a wide range of web development shops, from scrappy startups to Fortune 500 financial companies. He was an ASP.NET and Silverlight Insider, ASP.NET MVP, published author, regular contributor to several open source .NET projects.


text:
A rhetorical analysis of Sir Isaac Newton's Principia
In this thesis, I analyze Isaac Newton's Philosophiae Naturalis Principia Mathematica in the framework of Aristotle's theories of rhetoric. Despite the long-held view that science only deals with brute facts and does not require rhetoric, we learn that science has its own special topics. This study highlights the rhetorical situation of the Principia and Newton's rhetorical strategies, emphasizing the belief that scientific facts and theories are also rhetorical constructions. This analysis shows that the credibility of the author and the text, the emotional debates before and after the publication of the text, the construction of logical arguments, and the presentation style makes the book the epitome of scientific writing. Through this analysis, I discover the significance of rhetoric science and how it helps us understand science as a subject and how it can be used for the benefit of society.


Definition from Wiktionary, the free dictionary
Jump to: navigation, search
 1. Present participle of gob.
gobbing (plural gobbings)
 1. (mining) The refuse thrown back into the excavation after removing the coal; gob stuff.
 (Can we find and add a quotation of Brande & C. to this entry?)
 2. The process of packing with waste rock; stowing.


multiple forms returning last value
Accepts any number of forms and evaluates all of them in order, returning the last value. This is used for inserting side-effects into a form which accepts only a single value, such as in a body of an if when multiple clauses make it so you can't use when. Some lisps call this begin or progn.
(if launch-missiles?
 (promote lt-petrov))
These all work as you would expect, with a few caveats. The ~= operator is used for "not equal", and // for integer division is only available in Lua 5.3 and onward.
They all take any number of arguments, as long as that number is fixed at compile-time. For instance, (= 2 2 (unpack [2 5])) will evaluate to true because the compile-time number of values being compared is 3.
Note that these are all special forms which cannot be used as higher-order functions.
.. string concatenation
Concatenates its arguments into one string. Will coerce numbers into strings, but not other types.
Example: (.. "Hello" " " "world" 7 "!!!") -> "Hello world7!!!"
# string or table length
Returns the length of a string or table. Note that the length of a table with gaps in it is undefined; it can return a number corresponding to any of the table's "boundary" positions between nil and non-nil values. If a table has nils and you want to know the last consecutive numeric index starting at 1, you must calculate it yourself with ipairs; if you want to know the maximum numeric key in a table with nils, you can use table.maxn.
Example: (+ (# [1 2 3 nil 8]) (# "abc")) -> 6 or 8
. table lookup
Looks up a given key in a table. Multiple arguments will perform nested lookup.
Example: (. mytbl myfield)
Example: (let [t {:a [2 3 4]}] (. t :a 2)) -> 3
Note that if the field name is known at compile time, you don't need this and can just use mytbl.field.
: method call
Looks up a function in a table and calls it with the table as its first argument. This is a common idiom in many Lua APIs, including some built-in ones.
(let [f (assert (io.open "hello" "w"))]
 (: f :write "world")
 (: f :close))
Equivalent to:
 (f.write f "world")
 (f.close f))
values multi-valued return
Returns multiple values from a function. Usually used to signal failure by returning nil followed by a message.
(fn [filename]
 (if (valid-file-name? filename)
 (open-file filename)
 (values nil (.. "Invalid filename: " filename))))
while good old while loop
Loops over a body until a condition is met. Uses a native Lua while loop, so is preferable to a lambda function and tail recursion.
 (var done? false)
 (while (not done?)
 (print :not-done)
 (when (> (math.random) 0.95)
 (set done? true))))
->, ->>, -?> and -?>> threading macros
The -> macro takes its first value and splices it into the second form as the first argument. The result of evaluating the second form gets spliced into the first argument of the third form, and so on.
(-> 52
 (+ 91 2) ; (+ 52 91 2)
 (- 8) ; (- (+ 52 91 2) 8)
 (print "is the answer")) ; (print (- (+ 52 91 2) 8) "is the answer")
The ->> macro works the same, except it splices it into the last position of each form instead of the first.
-?> and -?>>, the thread maybe macros, are similar to -> & ->> but they also do checking after the evaluation of each threaded form. If the result is false or nil then the threading stops and the result is returned. -?> splices the threaded value as the first argument, like ->, and -?>> splices it into the last position, like ->>.
This example shows how to use them to avoid accidentally indexing a nil value:
(-?> {:a {:b {:c 42}}}
 (. :a)
 (. :missing)
 (. :c)) ; -> nil
(-?>> :a
 (. {:a :b})
 (. {:b :missing})
 (. {:c 42})) ; -> nil
Note that these have nothing to do with "threads" used for concurrency; they are named after the thread which is used in sewing. This is similar to the way that |> works in OCaml and Elixir.
Similarly, the doto macro splices the first value into subsequent forms. However, it keeps the same value and continually splices the same thing in rather than using the value from the previous form for the next form.
(doto (io.open "/tmp/err.log)
 (: :write contents)
 (: :close))
;; equivalent to:
(let [x (io.open "/tmp/err.log")]
 (: x :write contents)
 (: x :close)
The first form becomes the return value for the whole expression, and subsequent forms are evaluated solely for side-effects.
Requires a module at compile-time and binds its fields locally as macros.
Macros currently must be defined in separate modules. A macro module exports any number of functions which take code forms as arguments at compile time and emit lists which are fed back into the compiler. For instance, here is a macro function which implements when in terms of if and do:
(fn [condition body1...]
 (assert body1 "expected body")
 '(if _USER_
 (do _USER_ @...)))
A full explanation of how macros work is out of scope for this document, but you can think of it as a compile-time template function. The backtick on the third line creates a template for the code emitted by the macro. The @ serves as "unquote" (other lisps use, or ~ for this purpose) which splices values into the template.
In effect it turns this input:
(when (= 3 (+ 2 a))
 (print "yes")
and transforms it into this code at compile time:
(if (= 3 (+ 2 a))
 (print "yes")
See "Compiler API" below for details about additional functions visible inside compiler scope which macros run in.
Note that the macro interface is still preliminary and is subject to change over time.
Evaluate a block of code during compile-time with access to compiler scope. This gives you a superset of the features you can get with macros, but you should use macros if you can.
 (tset _SPECIALS "local" (. _SPECIALS "global")))
Compiler API
Inside eval-compiler blocks or require-macros modules, these functions are visible to your code.
Note that lists are compile-time concepts that don't exist at runtime; they are implemented as regular tables which have a special metatable to distinguish them from regular tables defined with square or curly brackets. Similarly symbols are tables with a string entry for their name and a metatable that the compiler uses to distinguish them. You can use tostring to get the name of a symbol.
Note that other internals of the compiler exposed in compiler scope are subject to change.
Fennel's Lua API
The fennel module provides the following functions.
Start a configurable repl
Takes these additional options:
The pretty-printer defaults to loading fennelview.fnl if present and falls back to tostring otherwise. fennelview.fnl will produce output that can be fed back into Fennel (other than functions, coroutines, etc) but you can use a 3rd-party pretty-printer that produces output in Lua format if you prefer.
If you don't provide allowedGlobals then it defaults to being all the globals in the environment under which the code will run. Passing in false here will disable global checking entirely.
Evaulate a string of Fennel
local result = fennel.eval(str[, options[,...]])
The options table may contain:
Additional arguments beyond options are passed to the code and available as....
Evaluate a file of Fennel
local result = fennel.dofile(filename[, options[,...]])
The env key in options and the additional arguments after it work the same as with eval above.
Use Lua's built-in require function
table.insert(package.loaders or package.searchers, fennel.searcher)
local mylib = require("mylib") -- will compile and load code in mylib.fnl
Normally Lua's require function only loads modules written in Lua, but you can install fennel.searcher into package.loaders (or in Lua 5.3+ package.searchers) to teach it how to load Fennel code.
The require function is different from fennel.dofile in that it searches the directories in fennel.path for.fnl files matching the module name, and also in that it caches the loaded value to return on subsequent calls, while fennel.dofile will reload each time. The behavior of fennel.path mirrors that of Lua's package.path.
If you install Fennel into package.loaders then you can use the 3rd-party lume.hotswap function to reload modules that have been loaded with require.
Compile a string into Lua (can throw errors)
local lua = fenn


Search Results
You are looking at 1 - 10 of 26 items for :
 - "spring-mass model" x
 - All content x
Clear All
Restricted access
Hiroaki Hobara, Yoshiyuki Kobayashi, Emika Kato, and Toru Ogata
Although many athletic activities and plyometric training methods involve both unilateral and bilateral movement, little is known about differences in the leg stiffness (K leg) experienced during one-legged hopping (OLH) and two-legged hopping (TLH) in place. The purpose of this study was to investigate the effect of hopping frequencies on differences in K leg during OLH and TLH. Using a spring-mass model and data collected from 17 participants during OLH and TLH at frequencies of 2.0, 2.5, and 3.0 Hz, K leg was calculated as the ratio of maximal ground reaction force (F peak) to the maximum center of mass displacement (ΔCOM) at the middle of the stance phase measured from vertical ground reaction force. Both K leg and F peak were found to be significantly greater during TLH than OLH at all frequencies, but type of hopping was not found to have a significant effect on ΔCOM. These results suggest that K leg is different between OLH and TLH at a given hopping frequency and differences in K leg during OLH and TLH are mainly associated with differences in F peak but not ΔCOM.
Restricted access
Hiroaki Hobara, Koh Inoue, and Kazuyuki Kanosue
Understanding the degree of leg stiffness during human movement would provide important information that may be used for injury prevention. In the current study, we investigated bilateral differences in leg stiffness during one-legged hopping. Ten male participants performed one-legged hopping in place, matching metronome beats at 1.5, 2.2, and 3.0 Hz. Based on a spring-mass model, we calculated leg stiffness, which is defined as the ratio of maximal ground reaction force to maximum center of mass displacement at the middle of the stance phase, measured from vertical ground reaction force. In all hopping frequency settings, there was no significant difference in leg stiffness between legs. Although not statistically significant, asymmetry was the greatest at 1.5 Hz, followed by 2.2 and 3.0 Hz for all dependent variables. Furthermore, the number of subjects with an asymmetry greater than the 10% criterion was larger at 1.5 Hz than those at 2.2 and 3.0 Hz. These results will assist in the formulation of treatment-specific training regimes and rehabilitation programs for lower extremity injuries.
Restricted access
Sean J. Maloney, Joanna Richards, and Iain M. Fletcher
determine if a task can be deemed an appropriate representation of a simple spring-mass model. While various active (typically muscular) and passive (typically tendinous) components contribute to summative stiffness, 2 this investigation will focus on the global measure of vertical stiffness. Modeling
Restricted access
Justin P. Waxman, Kevin R. Ford, Anh-Dung Nguyen, and Jeffrey B. Taylor
, et al . Leg stiffness and sprint ability in amputee sprinters . Prosthet Orthot Int . 2012 ; 36 ( 3 ): 312 – 317 . PubMed doi:10.1177/0309364612442121 10.1177/0309364612442121 22918908 8. Dalleau G , Belli A , Bourdin M , Lacour JR . The spring-mass model and the energy cost of
Restricted access
Simon A. Rogers, Chris S. Whatman, Simon N. Pearson, and Andrew E. Kilding
speeds during competition. Various approaches to quantify stiffness have been reported in the literature, including both global 12 – 14 and component stiffness. 6 , 15 Derived from the spring-mass model originally presented by Alexander, 16 global stiffness measures comprise of vertical ( k vert
Restricted access
Sean J. Maloney, Iain M. Fletcher, and Joanna Richards
The assessment of vertical leg stiffness is an important consideration given its relationship to performance. Vertical stiffness is most commonly assessed during a bilateral hopping task. The current study sought to determine the intersession reliability, quantified by the coefficient of variation, of vertical stiffness during bilateral hopping when assessed for the left and right limbs independently, which had not been previously investigated. On 4 separate occasions, 10 healthy males performed 30 unshod bilateral hops on a dual force plate system with data recorded independently for the left and right limbs. Vertical stiffness was calculated as the ratio of peak ground reaction force to the peak negative displacement of the center of mass during each hop and was averaged over the sixth through tenth hops. For vertical stiffness, average coefficients of variation of 15.3% and 14.3% were observed for the left and right limbs, respectively. An average coefficient of variation of 14.7% was observed for bilateral vertical stiffness. The current study reports that calculations of unilateral vertical stiffness demonstrate reliability comparable to bilateral calculations. Determining unilateral vertical stiffness values and relative discrepancies may allow a coach to build a more complete stiffness profile of an individual athlete and better inform the training process.
Restricted access
Hiroaki Hobara, Koh Inoue, Yoshiyuki Kobayashi, and Toru Ogata
Despite the presence of several different calculations of leg stiffness during hopping, little is known about how the methodologies produce differences in the leg stiffness. The purpose of this study was to directly compare K leg during hopping as calculated from three previously published computation methods. Ten male subjects hopped in place on two legs, at four frequencies (2.2, 2.6, 3.0, and 3.4 Hz). In this article, leg stiffness was calculated from the natural frequency of oscillation (method A), the ratio of maximal ground reaction force (GRF) to peak center of mass displacement at the middle of the stance phase (method B), and an approximation based on sine-wave GRF modeling (method C). We found that leg stiffness in all methods increased with an increase in hopping frequency, but K leg values using methods A and B were significantly higher than when using method C at all hopping frequencies. Therefore, care should be taken when comparing leg stiffness obtained by method C with those calculated by other methods.
Restricted access
Michael S. Cherry, Sridhar Kota, Aaron Young, and Daniel P. Ferris
Although there have been many lower limb robotic exoskeletons that have been tested for human walking, few devices have been tested for assisting running. It is possible that a pseudo-passive elastic exoskeleton could benefit human running without the addition of electrical motors due to the spring-like behavior of the human leg. We developed an elastic lower limb exoskeleton that added stiffness in parallel with the entire lower limb. Six healthy, young subjects ran on a treadmill at 2.3 m/s with and without the exoskeleton. Although the exoskeleton was designed to provide ~50% of normal leg stiffness during running, it only provided 24% of leg stiffness during testing. The difference in added leg stiffness was primarily due to soft tissue compression and harness compliance decreasing exoskeleton displacement during stance. As a result, the exoskeleton only supported about 7% of the peak vertical ground reaction force. There was a significant increase in metabolic cost when running with the exoskeleton compared with running without the exoskeleton (ANOVA, P < .01). We conclude that 2 major roadblocks to designing successful lower limb robotic exoskeletons for human running are human-machine interface compliance and the extra lower limb inertia from the exoskeleton.
Restricted access
Gaspare Pavei, Elena Seminati, Jorge L.L. Storniolo, and Leonardo A. Peyré-Tartaruga
We compared running mechanics parameters determined from ground reaction force (GRF) measurements with estimated forces obtained from double differentiation of kinematic (K) data from motion analysis in a broad spectrum of running speeds (1.94–5.56 m⋅s–1). Data were collected through a force-instrumented treadmill and compared at different sampling frequencies (900 and 300 Hz for GRF, 300 and 100 Hz for K). Vertical force peak, shape, and impulse were similar between K methods and GRF. Contact time, flight time, and vertical stiffness (kvert) obtained from K showed the same trend as GRF with differences < 5%, whereas leg stiffness (kleg) was not correctly computed by kinematics. The results revealed that the main vertical GRF parameters can be computed by the double differentiation of the body center of mass properly calculated by motion analysis. The present model provides an alternative accessible method for determining temporal and kinetic parameters of running without an instrumented treadmill.
Restricted access
Kurt L. Mudie, Amitabh Gupta, Simon Green, Hiroaki Hobara, and Peter J. Clothier
This study assessed the agreement between Kvert calculated from 4 different methods of estimating vertical displacement of the center of mass (COM) during single-leg hopping. Healthy participants (N = 38) completed a 10-s single-leg hopping effort on a force plate, with 3D motion of the lower limb, pelvis, and trunk captured. Derived variables were calculated for a total of 753 hop cycles using 4 methods, including: double integration of the vertical ground reaction force, law of falling bodies, a marker cluster on the sacrum


text:
Scary new research has revealed fertility drugs can more than double the chances of childhood leukemia.
They also had a 2.3 fold increased risk of suffering the rarer form of the disease, acute myeloid leukemia (AML), the researchers claimed.
The findings further revealed that youngsters conceived naturally after women waited over a year to get pregnant had a 50 of all live births in 2007 a result of fertility treatment, compared with just 0.5% in 1992. Despite a significant increase in risk, the actual number of children developing leukemia after their mothers undergo fertility treatment remains very small. Only 400 cases of childhood leukemia are diagnosed in UK each year. Three-quarters of those are acute lymphoblastic leukemia, which is most common in children between the ages of one and four, and affects more boys than girls.
Do reports like this worry you, or do you think any minuscule 'risk' can be whipped up into a scary statistic?


text:
Picasso used common house paint
Physicists used an X-ray nanoprobe to'see' details of the paint down to the level of individual pigment particles.
Mon, Feb 11 2013 at 10:20 AM
The Red Armchair is the most emblematic of Picasso Ripolin usage and is the painting that was examined with APS X-rays at Argonne National Laboratory. (Image: Art Institute of Chicago)
Pablo Picasso, famous for pushing the boundaries of art with cubism, also broke with convention when it came to paint, new research shows. X-ray analysis of some of the painter's masterworks solves a long-standing mystery about the type of paint the artist used on his canvases, revealing it to be basic house paint.
Art scholars had long suspected Picasso was one of the first master artists to employ house paint, rather than traditional artists' paint, to achieve a glossy style that hid brush marks. There was no absolute confirmation of this, however, until now.
Physicists at Argonne National Laboratory in Lemont, Ill., trained their hard X-ray nanoprobe at Picasso's painting "The Red Armchair," completed in 1931, which they borrowed from the Art Institute of Chicago. The nanoprobe instrument can "see" details down to the level of individual pigment particles, revealing the arrangement of particular chemical elements in the paint.
The analysis showed that Picasso used enamel paint that matches the precise chemical composition of the first brand of commercial house paint, called Ripolin. The researchers were able to compare the painting's pigment with those of paints available at the time by analyzing decades-old paint samples bought on eBay. [9 Famous Art Forgers]
What's more, the detailed study, which used X-rays to probe the painting's pigment down to the scale of 30 nanometers (a sheet of copier paper is 100,000 nanometers thick), was able to pinpoint the manufacturing region where the paint was made by studying its particular impurities.
"The nanoprobe at the [Advanced Photon Source X-ray facility and the Center for Nanoscale Materials] allowed unprecedented visualization of information about chemical composition within a singe grain of paint pigment, significantly reducing doubt that Picasso used common house paint in some of his most famous works," one of the research leaders, Argonne's Volker Rose, said in a statement.
Art scholars think Picasso experimented with Ripolin to achieve a different effect than would've been possible with traditional oil paints, which dry slowly and can be heavily blended. In contrast, house paint dries quickly and leaves effects like marbling, muted edges, and even drips of paint. Still, experts couldn't be sure house paint was the key to Picasso's look without proof.
"Appearances can deceive, so this is where art can benefit from scientific research," said Francesca Casadio, senior conservator scientist at the Art Institute of Chicago. "We needed to reverse-engineer the paint so that we could figure out if there was a fingerprint that we could then go look for in the pictures around the world that are suspected to be painted with Ripolin, the first commercial brand of house paint."
The scientists detailed their findings in a paper published last month in the journal Applied Physics A: Materials Science & Processing.
Follow Clara Moskowitz on Twitter _USER_ or LiveScience _USER_. We're also on Facebook & Google+.
Related on LiveScience and MNN:


How Many Amps?
Helping you choose the right plug-in model.
If you are unsure about which size surge suppressor to purchase – a 7.5 Amp, 15 Amp, or 20 Amp model, you can follow these instructions:
 - Consult your product manual or equipment label for load information.
 - If the load information is listed in Amps, add up the number of Amps for each product you would like to protect on one Zero Surge unit to determine the full load. This will be your minimum size requirement.
 - If the load information is listed in Watts, not Amps, a simple calculation can be performed.
 - To calculate from Watts to Amps, divide the total Watts by 120 (600 watts = 5 amps). Do this for all of the equipment you would like to protect, total them, and you will have your minimum size requirement.
The chart below contains size requirements for some common applications:
Plug-in Application 7.5 Amps 15 Amps 20 Amps
Computer / IT
Simple Computer System
1-3 Computers and Peripherals
UPS
Printer / Copier
Gaming Equipment
Home Electronics
Home Theater
Simple TV / DVR / DVD
Sound System
Miscellaneous
CPAP Machines
Sump Pump
Aquarium
Treadmill
Life Alert Device
Baby Security Monitor
Video Monitoring System
Auto Sleep Bed & Accessories
To insure you are choosing the right size, calculate the amps required using information from the product manual or label. If it lists the Watts instead of Amps, a simple calculation can be performed. Divide the total Watts by 120 (600 Watts = 5 Amps). Do this for all of the equipment you would like to protect on the same Zero Surge unit, total them, and you will have your minimum size requirement.
bullet Home Office/Computer
Most computer systems draw less than 5 amps so a 7.5 amp suppressor would do the job for a typical computer set-up. If you have a lot of "extras" that are sharing the suppressor or need to protect 2-3 computer systems with one suppressor, a 15 amp model would be required. If putting ahead of a UPS to protect your battery back-up, a 15 amp unit is required. To insure you are choosing the right size, calculate the amps required (see below).
bullet Home Electronics
For a typical audio set up, 15 amps would be fine. If you have specialty items with a 20 amp plug or are plugging many "extra" high load accessories into the unit, a 20 amp model would be needed (which requires a 20 amp wall receptacle and wiring).
For a simple TV with a VCR and/or DVD, the 7.5 amp model may be ample. A TV and sound system, however, would require additional capacity so a 15 amp model would probably be required. If the TV and sound system have many "extra" high load accessories or 20 amp receptacle requirements, you would need a 20 amp model (which requires a 20 amp wall receptacle and wiring).


text:
Expanded Learning Partnerships
Strong partnerships between schools and expanded learning programs lay the foundation for building stronger, more equitable support systems for children and their families. Building on prior investments in the expanded learning system, California's school reopening guidance encouraged intentional coordination across schools and expanded learning providers to best meet the needs of students during this unprecedented time. This brief provides key principles for school and expanded learning partnerships—informed by insights from leaders and practitioners from across California—that policymakers and practitioners should consider as they move from reopening to rebuilding.
This brief is part of a series that explores how expanded learning programs and staff can play an instrumental role in supporting students now and throughout pandemic recovery. The other brief, Learning Hubs: In-Person Learning for the Whole Child, discusses how learning hubs can provide in-person education supports to students who are distance learning; raises considerations for local policymakers, schools, and expanded learning partners; includes guidance for the design and operations of learning hubs; and identifies the policy levers that support the model.
Four PACE commentaries contribute to this series, each of which addresses the needs of student populations that have been disproportionately impacted by the pandemic and offers actionable guidance for districts, schools, and expanded learning providers. The commentaries look at the role of expanded learning for students in foster care; experiencing homelessness; with learning differences; and in upper grades.


Petroleum stocks at Northeast power plants have not changed much in recent years
In much of the United States, power plants that burn petroleum liquids are generally operated for short periods during times of peak electricity demand, such as during brief periods of cold winter weather. These plants maintain petroleum inventories so that they are ready to dispatch electricity when it's needed. Petroleum plays an important role in the Northeast (defined here as New York and New England) when electricity demand is high, particularly in the winter. According to data from the U.S. Energy Information Administration (EIA), power plants in the Northeast held petroleum inventories of approximately 6.7 million barrels as of the end of September 2020, close to the average of 7 million barrels during the previous five Septembers.


text:
Calibrate Charge Accelerometers for Fleet Readiness
Reduce Mean Time to Repair and Mean Time to Test
Why Calibrate Charge Accelerometers?
Confidence in the accuracy of vibration sensors is key to aircraft fleet readiness, and testing sensors with a Portable Vibration Calibrator (PVC) leads to
Reduce Mean Time to Repair (MTTR) and Mean Time to Test (MTTT): Could that vibration alarm be the fault of vibration sensors with amplified output? No need to send sensors off for testing. Bring a PVC right to the location of the
sensors and test in minutes.
Increase aircraft reliability: Much like those used in industrial applications, charge sensors used in aviation must endure challenging conditions.
If the sensor is providing an amplified signal, the aircraft is grounded while technicians replace supposedly faulty components and chase balancing issues.
If the sensor is providing a reduced output, dangerous levels of aircraft vibration can be masked, and flight operation may be unsafe.
Confidence in the accuracy of vibration sensors is key to turbine uptime: Sensor failure/inaccuracy during turbine startups cause costly false trips.
Cost savings: The high cost of charge sensors means annual replacement can be a huge unnecessary expense.
VIDEO: How to Calibrate Charge Accelerometer
Note that the PVC can calibrate both single-ended and differential output charge mode accelerometers.
Charge Mode Accelerometer Applications
Charge mode piezoelectric accelerometers offer high performance for precision vibration measurements in high temperature environments. Charge mode accelerometers are often used to monitor vibration in aircraft and ground-based gas turbines. Applications
Monitoring and minimizing airframe vibration
Engine vibration monitoring
Helicopter Health and Usage Monitoring Systems (HUMS) and helicopter Vibration Health Monitoring Systems (VHM)
HUMS Gearbox vibration monitoring
Gas turbine vibration monitoring
Charge mode sensors are used in conjunction with a charge amplifier and charge converter, which convert the charge signal to a measurable voltage.
Charge output accelerometers can be quite costly, sometimes as much as $3000 to $5000 per sensor. They are often replaced unnecessarily or sent out for recalibration. With a Portable Vibration Calibrator from The Modal Shop, these sensors
can be tested in-house. The PVC can be brought to the site of the sensor itself, saving the time and expense of an outside calibration and possibly saving the expense of a new sensor.
What types of charge sensors can be calibrated with a Portable Vibration Calibrator?
Portable Vibration Calibrators can help you create calibration certificates for a wide variety of charge accelerometers including ARCINC mount sensors and integral hardline cable sensors:
The Modal Shop, Inc. offers structural vibration and acoustic sensing systems and services for various applications in design and test laboratories as well as manufacturing plants. An extensive sound and vibration rental program, precision calibration systems, and both modal and vibration shakers are designed to simplify test phases. Non Destructive Testing Systems help manufacturers provide 100% quality inspection of metal components. The Modal Shop is a wholly owned subsidiary of PCB Piezotronics, Inc., a wholly owned subsidiary of Amphenol Corporation.


text:
One of the most difficult things for people with social anxiety disorder (SAD) to do is seek help. Making an appointment with a doctor, going for the appointment, and talking about symptoms are all situations likely to elicit the anxiety that you are trying to eliminate.
In the best case scenario, the doctor, psychiatrist, or therapist that diagnoses or treats you is empathetic and respectful. This is especially important when you have SAD. Feeling understood and listened to will make it easier for you to trust and be open.
What happens when your doctor is not empathetic or respectful?
Many problems emerge when someone with SAD visits a doctor with poor bedside manner.
- If your doctor is arrogant, you may feel inferior.
- If your doctor doesn't listen to you, you may feel as though you are not worth being listened to.
- If your doctor dismisses your symptoms, you may start to believe they are not really a problem.
The person who is treating your social anxiety should not make you feel uncomfortable. If this is happening to you, it is time to ask for a referral.
What do you think? Have you had bad experiences trying to get help for SAD? How did you handle bad experiences with doctors?
This post is part of a blog carnival about the impact of doctor's attitudes on patient care, hosted by the Guide to Patient Empowerment, Trisha Torrey.
Photo © Microsoft


Confucius Institutes come under scrutiny; MSU institute responds
Jun 30, 2014
As the importance of China's influence grows, so does the need for people who understand Chinese culture and the Chinese language. To foster that sort of understanding, universities across the United States, including Michigan State University, have established Confucius Institutes.
Host universities like MSU work with the Chinese education agency Hanban to train teachers from the U.S. and China to promote Chinese language learning.
In a recent report, though, the American Association of University Professors called on schools to either scrap their partnerships or renegotiate them. The AAUP says these arrangements lack transparency and put academic freedom at risk.
Current State spoke with Joerg Tiede of the AAUP, along with Nancy Romig and Ruhui Ni, associate directors of MSU's Confucius Institute.


/ category = Treatment;
run;
Questions
?
Proc SGPLOT and SGPANEL
similarities
Questions
?
Proc SGSCATTER
Useful for having a panel of plots that have at least one independent axis
PLOT Statement - 2 independent axis i.e. x and y
COMPARE Statement - 1 independent axis i.e. just x
Useful for producing a matrix of plots
MATRIX Statement
Indepedent x and y axis
PLOT Statement
proc sgscatter data=sashelp.cars;
plot mpg_highway*weight msrp*horsepower;
run;
Different variables
Different x variables
COMPARE statement
proc sgscatter data=sashelp.cars;
compare y=mpg_highway x=(weight enginesize horsepower) / group = type;
run;
Different x variables
Matrix Plot
MATRIX statement
proc sgscatter data=sashelp.iris
(where=(species eq 'Virginica'));
matrix petallength petalwidth sepallength
/ ellipse=(type=mean)
diagonal=(histogram kernel);
run;
3 Variables
Therefore produces 3 * 3 matrix plot
Quiz 5
MATRIX?
PLOT?
COMPARE?
Questions
?
Graph Template Language
The SAS/GRAPH Graph Template Language (GTL) is an extension to the Output Delivery System (ODS) that enables you to create sophisticated analytical graphics that are not available from traditional SAS/GRAPH procedure statements.
The GTL templates are defined with PROC TEMPLATE.
The GTL templates are rendered using the SGRENDER procedure, which specifies a data source that contains appropriate data values and the template to use for rendering the graph.
GTL Reference link: _URL_
LAYOUTS
Going to go through 3 different layouts
Overlay
Lattice
Gridded
Obtaining GTL Code
(for Boxplot example)
proc sgplot data = boxplots tmplout = "C:\Template_for_boxplots.sas" ;
vbox results / category = Treatment;
run;
Obtained GTL Code
For Boxplot
For Scatterplot
Looks daunting at
first but the only real
difference is within
the layout statement
proc template;
define statgraph sgplot;
dynamic _ticklist_;
begingraph;
layout overlay / xaxisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_));
BoxPlot X=Treatment Y=Results / SortOrder=Internal primary=true LegendLabel="Results" NAME="VBOX";
;
endlayout;
endgraph;
end;
run;
proc template;
define statgraph sgplot;
begingraph;
layout overlay;
ScatterPlot X=Treatment Y=Results / primary=true LegendLabel="Results" NAME="SCATTER";
;
endlayout;
endgraph;
end;
run;
Code is nested
similar to HTML
Why is GTL Overlay useful?
proc template;
define statgraph sgplot;
dynamic _ticklist_;
begingraph;
layout overlay / xaxisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_));
BoxPlot X=Treatment Y=Results / SortOrder=Internal primary=true LegendLabel="Results" NAME="VBOX";
ScatterPlot X=Treatment Y=Results / primary=true LegendLabel="Results" NAME="SCATTER";
;
endlayout;
endgraph;
end;
run;
proc sgrender data=boxplots template=sgplot;
run;
SGRENDER
plots the template
In SGPLOT you cannot
overlay a boxplot with any
other plot but you can in GTL!
Lattice and Overlay Layout
You don't have to memorise the code, can output it by using tmplout in SG Procedures
proc template;
define statgraph sgmypanel;
dynamic _ticklist_;
begingraph;
layout lattice;
layout overlay /
xaxisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_) LABEL = "Treatment") yaxisopts = (LABEL = "Results");
BoxPlot X=Treatment Y=Results / SortOrder=Internal primary=true LegendLabel="Results" NAME="VBOX";
endlayout;
layout overlay;
ScatterPlot X=Treatment Y=Results / primary=true LegendLabel="Results"
NAME="SCATTER";
endlayout;
endlayout;
endgraph;
end;
run;
The lattice layout is a multicell layout that combines features of gridded and overlay layouts
and offers reserved areas for additional formatting:
4 sidebars (top, bottom, left, and right) that span all rows and columns
individual row and column headings
individual cell headings
axis scaling on a per cell, per row, per column, all rows, or all columns basis
Lattice Layout
Lattice, Overlay and Gridded Layout
layout lattice / columns = 2;
layout overlay /
xaxisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_) LABEL = "Treatment"
yaxisopts = (LABEL = "Results");
BoxPlot X=Treatment Y=Results / SortOrder=Internal primary=true LegendLabel="Results"
NAME="VBOX";
endlayout;
layout overlay;
ScatterPlot X=Treatment Y=Results / primary=true LegendLabel="Results" NAME="SCATTER";
layout gridded /
columns=2 border=TRUE autoalign=(BottomLeft TopLeft TopRight);
entry "Mean of Dataset:"; entry "Mean";
entry "Std Dev of Dataset:"; entry "Std Dev";
endlayout;
endlayout;
endlayout;
Lattice
Overlay
(or gridded)
Using Dynamic Variables
Created a Dynamic Variable called VAR.
Using the statement: (after Proc Template)
Dynamic VAR;
layout gridded /
columns=2 border=TRUE autoalign=(BottomLeft TopLeft TopRight);
entry "Mean of Dataset:"; entry eval(strip(put(mean(VAR),8.2)));
entry "Std Dev of Dataset:"; entry eval(strip(put(stddev(VAR),8.2)));
endlayout;
Using EVAL to calculate the mean
and standard deviation
proc sgrender data=boxplots template=sgmypanel;
dynamic var = "Results";
run;
Rendering with
SGRENDER
Setting the dynamic variable to equal Results.
Quiz 6
The Gridded Layout
is the simplest organisation
of cells and can be used to
enter text!
Lattice layout = multicell layout
Overlayout is useful for
superimposing plots
What's the easiest way to obtain GTL Code?
Best for superimposing plots?
Best for complex multicell layouts?
Best for entering text?
Questions?
?
proc sgplot data = merged;
scatter x = bodyweight y = Results / group = treatment;
run;
proc sgplot data = merged;
reg x = bodyweight y = Results / group = treatment;
run;
proc sgplot data = merged;
scatter x = bodyweight y = Results / group = treatment;
reg x = bodyweight y = Results / nomarkers;
run;
What code?
Which words are not real plot statements?
refline
inset
set
inref
Full transcript