text:
Many Portsmouth men served in the Parachute Regiment during the Second World War.
The Parachute Regiment was formed during the Second World War, after the Germans had used Airborne forces to great effect in the invasion of Holland and Belgium in 1940. Although initially Britian's Airborne forces operated as small raiding parties, by the time it came to invade Europe in June 1944 the Airborne forces had expanded into 2 full Divisions, each of over 10,000 men. Each contained 2 Brigades of Parachute troops, and there was also an independent Parachute Battalion in the Mediterranean. The Parachute Regiment had expanded enormously to more than 10 Battalions.
During the war men could only volunteer for the Para's from another unit, not directly from civilian life. They underwent strenuous physical training, and in addition had to complete a number of parachute jumps to obtain their parachute wings and additional pay. Naturally, they soon earned a reputation as among Britain's toughest troops. The Germans nicknamed them 'Der Roten Tefuel' – the Red Devils. Field Marshal Montgomery paid the paras perhaps their most timeless tribute when he described them thus:
'They are in fact, men apart. Every man an Emperor'
More Pompey paras are bound to emerge from the records as I carry on analysing the list of war dead, but here are some names and stories from among the first 600 names I have researched.
Private John Byng, 21, was killed in action in Tunisia on 11 March 1943, during the invasion of French North Africa. He was serving with the 1st Battalion of the Parachute Regiment, and had originally been a member of the Duke of Cornwall's Light Infantry. After serving in North Africa the Paras then went on to Italy, where Private George Bayton, 34 and from Southsea, was killed on 8 December 1943, fighting with the 4th Battalion. He joined the Paras from the East Surrey Regiment.
The Regiment suffered heavy losses on D-Day and in the subsequent battle of Normandy. Private Ronald Kent, 24, and from the 8th Battalion, was killed on D-Day. He had originally joined the Royal Artillery. In the heavy fighting after D-Day the 6th Airborne Division was in action right through until August 1944. Sergeant Frank Kempster, 30, was killed on 19 August 1944. He had previously been a member of the Duke of Cornwall's Light Infantry.
The famous battle at Arnhem also saw heavy losses. Corporal Thomas Bedford, age 22 and from Paulsgrove, was killed on 18 September 1944, the day that the 11th Battalion landed at Ginkel Heath. Bedford had previously been in the Royal Artillery. He was serving in the same battalion as my Grandad, Private Henry Miller, also from Portsmouth, who interestingly lived in Paulsgrove for almost 50 years after the war.
Finally, the 6th Airborne Division later saw service in action supporting the crossing of the Rhine in March 1945 and subsequently on until VE Day. Sergeant Sidney Cornell, 31, was killed on 7 April 1945, just over a month before the end of the war. He is buried at Becklingen in Germany, not far from the site where the Germans surrendered to Field Marshal Montgomery at Luneberg Heath. Although we do not know what unit he had served in prior to the Paras, he had been called up after September 1943, and thus was very new to the Army.
Sergeant Cornell was awarded the Distinguished Conduct Medal for bravery in action during the Battle of Normandy, when he was a Private and serving as his company runner in the 7th Battalion of the Parachute Regiment. The DCM was second only to the Victoria Cross for bravery shown by non-officers. The recommendation for his DCM is available to download from the National Archives website, and I'll quote from it here:
'This soldier was one of the parachutists to land behind the German lines in Normandy on the night 5/6 June 1944. During the next five weeks he was in almost continuous action of a most trying and difficult nature. Cornell was a Company runner and has repeatedly carried messages through the most heavy and accurate enemy mortar and Machine Gun fire. Four times wounded in action this soldier has never been evacuated and carries on with his job cheerfully and efficiently. Very many acts of gallantry have been performed by members of the Battalion but for sustained courage nothing surpasses Cornell's effort. His courage and many wounds have made him a well known and admired character throughout not only his own Battalion but the whole Brigade. Space does not permit a record of all his feats as he distinguished himself in practically every action and fighting took place daily. On 18th June 1944 his company carried out a raid on a strong enemy position in the Bois de Bavent area. The position was stronger than expected and the company was hard pressed and the wireless set destroyed. Cornell was sent back with a verbal message, he was wounded during the journey but carried on and delivered his message correctly and set off with the reply. He was wounded a second time on the return journey but again carried on and again delivered the message correctly. During the remained of this raid, and despite his two wounds, he was outstanding for his courage and dash. The courage and devotion to duty displayed by Cornell on this occasion was an inspiration to all who witnessed it. He has performed similar runs on countless occasions and, as has been pointed out before, has been wounded twice more but is still the runner for his company and is as cheerful as before. On 10 July 1944 his company again carried out a raid on the same area and again, as usual, Cornell's complete disregard for his own safety became the chief topic of conversation amongst his fellow soldiers. He has never failed to deliver a message correctly despite the fact that he has carried through a perfect hail of enemy mortar bombs and shells and very frequently aimed Machine Gun fire as well. He is a truly magnificent parachutist and I cannot recommend him too highly for a decoration'.


Arthena M.
In 1950, the schooner Arthena M., was on its way to the Magdalene Islands, from Pictou, Nova Scotia, laden with coal. In the late evening, the vessel met up with a B.T.U carrying a load of hay which blocked the vision of the helmsman. The two ships collided, creating a hole in the bow of the Athena. One man was lucky enough to jump onto the B.T.U before the ship went under. The other two men attempted to free a dory, but did not free it in time and died.
In Partnership with


Using Impedance Control to Manage PCB Signal Integrity
June 25, 2019, in Blog
When I was a kid, my parents always told me that our integrity is defined by what we do when no one is watching. Although, not publicized it is easy to spot someone with integrity by their actions. Especially, when confronted with challenges. I often reflect on this when designing PCBs to achieve the best signal integrity. Maintaining signal quality on your boards is never easy, but is especially challenging when high-speed signals are involved as board parameters, such as impedance change due to their frequency dependence.
Managing PCB Signal Integrity
That's why it's important to pay attention to impedance control during the PCB design stage. Impedance control involves specifying the required impedance for traces and transmission lines on your PCB. This is particularly important for higher speed signals and can be affected by your substrate material, copper widths, and routing. Even after you've laid out your board and selected your materials, you'll need to work with your contract manufacturer (CM) to actually achieve an optimal design.
What is Impedance Control and Why is It Important?
As I'm sure you remember from school, impedance is a combination of resistance and reactance in a circuit. Sometimes, you need to specify that impedance for a net or trace in order to preserve signal integrity. Impedance control and matching is especially important for faster and longer trace runs.
What exactly happens if your net needs to be impedance controlled but isn't? When transmitting a signal, you want the termination impedance to match the source impedance and transmission impedance. This will allow the maximum amount of signal power to sent to the end of the line. If the transmission or termination impedances aren't matched, some of the signal will be reflected back into the trace and distort the incoming signal. Some communication protocols can tolerate more interference and deterioration than others, so you'll need to know the specifications for your specific signal.
If your traces are relatively short or low-frequency, then you may not need to worry about impedance control. The rule of thumb for "relatively short" is, if it takes more than 1⁄4 of the rise time of a signal for it to reach the end of the trace, it needs to be impedance controlled. When it comes to frequency, if it's over 200 MHz for boards of general size, then it's time to start considering impedance matching.
What Affects Impedance Matching?
Now we know the importance of impedance control, but how do we go about actually altering the impedance of a trace? The two variables you can change for impedance control are: (1) the substrate material and layout, and (2) the width and routing of your copper.
Back when I used to nab fruit roll-ups, I was only ever interested in the strawberry flavor. This taught me that material matters, and PCB design is no different. Various substrates have differing dielectric properties that affect a run's impedance. Things like your laminate, core, and prepreg, along with the thickness of each, can change the impedance of a trace. If you're designing a high speed board, you'll need to research exactly what kind of materials are recommended for your frequency range.
The most important task is keeping your substrate uniform. This means that if you're using woven fiberglass with resin, you need to make sure it's tightly woven so that the dielectric constant remains regular over its entire area. You will also want to keep an eye on specific material properties like the Coefficient of Thermal Expansion (CTE). When your PCB heats up during operation, your materials will expand. Dielectric thickness directly affects impedance, and this increase in height might throw your board out of spec.
The most obvious contributor to impedance control is the trace itself. Generally, the trace's width will change in conjunction with dielectric thickness in order to achieve the correct impedance. It's not just the amount of copper that matters, however; where your trace is routed is also very important. The first thing to check is that your trace does not cross over any gaps in an adjacent layer. A gap in the substrate plane represents a significant difference in dielectric constant over that area, which will interfere with impedance control.
You will need a solid power or ground plane on at least one side of your signal layer. Single-ended traces still have a return path back to their origin that attempts to follow directly underneath the run. A solid plane will allow this current loop to follow the original trace, like a differential pair, and reduce its effects on impedance. Speaking of differential pairs, confirm they are routed close together and match the lengths as closely as possible.
Manufacturing for Impedance Control
After you've designed the perfect PCB, you can send it off to your CM with full confidence that your design intent will be implemented, right? Maybe. Some manufacturers will help you with impedance control, but only if you give them the right information. You will still need to keep an eye on materials to ensure that everything comes out within tolerance.
Many manufacturers allow you to do one of two things: specify the dielectric materials, thickness, and copper widths, or specify the desired impedance. If you want to do all of the calculations yourself, I'm sure your CM won't complain. Just make sure you do them right. Otherwise, you can let your CM know what impedance you want, and they will alter the substrate and traces to hit your number. Just make sure to double check it after they make their changes to ensure nothing else is affected.
When specifying materials, remember that some things come in standard sizes, and all inputs have their own tolerances. For instance, FR4's dielectric constant can vary significantly in a single batch. If you need something more reliable, you should look into higher high-speed specific materials. It's easier to change the thickness of some layers or materials than others. Be sure to check communicate with your CM and understand their strengths and limitations before you start designing something that can't be built.
Whether you're dealing with delicious fruity snacks or circuit boards, integrity matters. Impedance control for long or high-speed traces will ensure that your signal arrives intact with minimal distortion. The main two knobs you can turn to achieve this are dielectric material and thickness, and copper width and routing. Your primary goal when it comes to substrates is to keep them as uniform as possible. For your traces, make sure that you route them over a solid plane on at least on side, avoid gaps, and keep lengths similar for differential pairs.
Tempo's Custom PCB Manufacturing Service
 - Accurate quote in less than 1 day.
 - Performs entire turnkey process in as fast as 3 days.
 - Smooth transition from prototyping to production.
Last but not least, you'll need to actually develop your PCB. Make sure you choose a CM that will communicate with you through the process and offer helpful suggestions. Tempo Automation is the PCB industry leader in rapidly building custom boards and meeting precise design specifications. We've been doing this for a long time and have the integrity on and off the board to get the job done right.
If you are ready to have your design manufactured, try our quote tool to upload your CAD and BOM files. If you want more information on impedance control or managing PCB signal integrity, contact us.
The latest PCB news delivered to your inbox.
Search Sign In


SQLRally Amsterdam
Development (DEV) Sessions
Estimation and Statistics: The Basis of Query Optimization (Level 400)
Dave Ballantyne
At the heart of SQL Server is the cost-based query optimizer. Stop and think about that a minute: The optimizer attempts to give the best query-processing plan based on the cost of the work that needs to be undertaken. How does it know the cost of the work before it has done the work? This isn't a conundrum. It doesn't know the cost; it estimates! How does it estimate? It uses statistics based on past plans. This session will dive deep into how the optimizer decides on a certain plan, the things that can go wrong, and how you can have influence over these choices.
Data, Faster: SQL Server Performance Techniques with SQLCLR (Level 500)
Adam Machanic
Sometimes it seems like business users are constantly more demanding: They want more data, more analytics, more insight, and the output needs to be faster, faster, faster. And so we database developers struggle to write ever more complex queries, tune our hardware, carefully choose indexes...and sometimes it's just not enough. Where do you go when you've hit the performance wall? As more and more developers are discovering, a great choice is to make use of SQL Server's CLR capabilities. User-defined aggregates, table valued functions, and user-defined types are more than just logical constructs; properly applied, they can make complex, logic-driven queries many times faster. This session will show you when and how to use these powerful tools in ways you may not have previously considered. If you're ready to take your SQL Server development skills to the next level, this session is definitely your starting point.
FILETABLEs: What They Are and How to Use Them (Level 300)
Matija Lah
Have you ever needed to access documents in your database as if they were files in the file system? SQL Server 2012 introduces a new method for managing large data objects (BLOBs) in a database. FILETABLEs let you access data using T-SQL, just like any other table inside the database, while at the same time providing access to the data using the OS File I/O API, just like any other folder in the file system. In this session, you will learn how to upgrade your document management solutions by migrating your large data to FILETABLEs. We will cover the two most typical migration scenarios: migrating from a distributed data store, where files are stored outside the database, and migrating from a homogeneous data store, where large objects are stored in tables.
FILLFACTOR - Pros and Cons (Level 300)
Uwe Ricken
FILLFACTOR is a valuable option for fine-tuning index data storage and performance, especially for heavy workloads (INSERT and UPDATE) in OLTP systems. Join this session to learn how to determine the right FILLFACTOR setting for your indexes by using index statistics and its evaluation.
Fix Your EAV Data Model with a New EAV Design (Level 300)
Peter Larsson
In some cases, the Entity-Attribute-Value (EAV) data model is the only way to go for storing your data, but it can have performance side-effects. Come to this session to see how to build a hybrid EAV data model with a massive execution performance gain.
How the SQL Server Engine Thinks (Level 100)
Brent Ozar
When you pass in a query, how does SQL Server build the results? Let's role play: Brent Ozar will be an end user sending in queries, and you will be the SQL Server engine. Using simple spreadsheets as your tables, you will learn how SQL Server builds execution plans, uses indexes, performs joins, and considers statistics. This session is for DBAs and developers who are comfortable writing queries, but not so comfortable when it comes to explaining nonclustered indexes, lookups, and sargability.
How to Call the Windows Azure REST API from CLR (Level 400)
Francesco Cogno
Do you like the feature that lets you back up to Windows Azure BLOB storage? Do you know that you can enhance your code with many other Windows Azure features? In this session, you'll learn how to cross the gap between SQL Server and the Windows Azure Platform using the CLR and the Windows Azure REST API. We'll cover Windows Azure queues, Windows Azure table storage, and Windows Azure BLOB storage and how to exploit them from your T-SQL code. We'll examine in detail how to construct a Windows Azure REST request and how to secure it using both shared key and certificate authentication. Finally, to give you a complete view of the topic, we'll look at debugging tools and techniques useful in the cloud.
Rewrite Queries with SQL Server 2012 (Level 300)
Emanuele Zanchettin
Learn how to optimize your queries using new features in SQL Server 2012. Among the topics we will cover are extensions of the ORDER BY clause that simplify the construction of an ad hoc query result set, the enhanced OVER clause with new options and windowing functions, the new SEQUENCE objects that can generate sequences of numerical values, a new command that improves error handling, and more.
SQL Anti-Patterns (Level 300)
Kennie Pontoppidan
Anti-patterns are a way of naming common design errors to make them easier to remember – even if you haven't done them yet. In this session, you will become acquainted with anti-patterns on a physical level, a logical level, and a SQL queries and application level. Plus, we'll spice it up with some seriously foolish errors made by me and my colleagues. This session is relevant for both developers and DBAs.
SQL Server and XML Query (Level 400)
Matija Lah
XML was added to the collection of SQL Server native data types in SQL Server 2005. Being a complex data type, XML is not only accompanied by a set of dedicated T-SQL functions, but also by a complete querying language. In this session, you will learn about the SQL Server 2008 implementation of the World Wide Web Consortium's XML Query Recommendation. You will see how to compose XML data – from existing SQL Server data or "from scratch," how to retrieve (relational) data from XML Documents to be used in a SQL Server database, and how to manipulate XML data using T-SQL and the XML Data Manipulation Language (XML DML). You've already mastered all the other SQL Server data types, why not take on XML?
StreamInsight: Complex Event Processing by Microsoft (Level 200)
Constantin Klein
In this Internet and Big Data age, applications increasingly have to process large amounts of data from event streams. Some developers may already be familiar with Reactive Extensions (Rx), but Microsoft offers another comprehensive platform for these scenarios: StreamInsight (SI). In this session, you will learn how SI can be a valuable addition to your toolbox if you need to develop applications that can handle complex event processing. See how you can start using this technology and how easy it is for.NET developers to jump in.
The Secret Life of APPLY: Helping Us Work Smarter, Not Harder (Level 300)
Christina Leo
At the very least, a T-SQL developer should know that the APPLY operator lets you access data from a table-valued function in a dynamic manner. But why stop there? When getting the data you need requires going around your elbow to get to your nose, the savvy developer remembers that the APPLY operator can be used with any table expression. Have you ever wished you could get multiple columns or multiple rows from a correlated sub-query? What about needing to UNPIVOT a data set or parse some XML code? Have you simply wanted to find a way to handle complex calculations without having to cut and paste the entire formula in the WHERE or GROUP BY clause? This all-demo session answers those needs by revealing the secret life of APPLY and helping you count yourself among those ace developers who use this handy operator to work smarter, not harder.
T-SQL User-Defined Functions (Level 300)
Hugo Kornelis
User-defined functions in SQL Server are very much like custom methods and properties in.NET languages. At first sight, they seem to be the perfect tool to introduce code encapsulation and reuse in T-SQL. So why is this feature mostly avoided by T-SQL gurus? The reason is performance.
Using Your Brain to Beat SQL Server (Level 500)
Adam Machanic & Thomas Kejser
Thought you did everything right? Indexes are finely tuned. Statistics are fully scanned and updated. Your nice, big server seems to have plenty of power. But you are still not getting the performance you expect from SQL Server. Why is the optimizer failing you? SQL Server's query optimizer, often very good at coming up with decently performing plans, also regularly goes down the wrong path. The problem domain is simply too large and complex for it to adequately cover all cases.
When the going gets tough, your mind is a better machine for the job. So don't trust optimization to a mere piece of code! In this session, you will learn how to recognize various real-world cases where the optimizer fails. You will see why these queries aren't performing as well as they should, and how to work around the optimizer's lack of insight. You will learn to turn your brain into a better query optimizer and make your queries faster than you thought possible.
Fusion IO
Dell Software
Become a sponsor


Skip to definition.
Noun: hexane 'hek,seyn
 1. A colourless flammable liquid alkane derived from petroleum and used as a solvent
Derived forms: hexanes
Type of: alkane, alkane series, dissolvent, dissolver, dissolving agent, methane series, paraffin, paraffin series, resolvent, solvent
Encyclopedia: Hexane


text:
Scott, S.K. (1998) The point of P-centres. Psychological Research, 61 (1 ) pp.4 - 11. 10.1007/PL00008162.
Full text not available from this repository.
P-centres are the subjective moments of occurrence of acoustic stimuli and capture properties of regularity and synchrony in production and perception. Two experiments are described which compare the effects of onset and offset amplitude variation and stimulus duration on P-centre location. The discussion is extended to consider the role of P-centres in cross modal temporal phenomena.
|Title:||The point of P-centres|
|UCL classification:||UCL > School of Life and Medical Sciences > Faculty of Brain Sciences > Psychology and Language Sciences (Division of) > Institute of Cognitive Neuroscience|
Archive Staff Only: edit this record

source: HuggingFaceFW/fineweb-edu


text:
Welcome to Photography & 2D Animation with Mr. Dimaano
Instructor: Mr. Anthony DimaanoLocation: James Logan High School, Room 89Contact Information:Phone: _PHONE_ x60352Email: _EMAIL_ or _EMAIL_
- Period 1: 2D Animation
- Period 2: Digital Photography 1
- Period 3: Digital Photography 1
- Period 4: Digital Photography 1
- Period 5: Lunch
- Period 6: Digital Photography 1 and 2
- Period 7: Digital Photography 1
Industry Sector: Arts, Media, and Entertainment
UC/CSU A-G Courses: 2D Animation, Digital Photography 1, and Digital Photography 2 each meet the Area F: Visual & Performing Arts requirement.
- Students in 2D Animation that earn a B- or better can earn college credits at Ohlone College.
- Students that earn a B- or better in Digital Photography 1 can earn college credits at Mission College.
Photography 1 & 2:
In our study of photography, we will first explore the foundations of film photography, camera operation, processing with wet chemistry in a traditional darkroom, and basic composition. During the second half of the course, our study will be centered on learning the basics of digital photography and editing with computer software, as well as the practical application of photography in today's art industry. Students will also be asked to engage in critical analysis of photography and photography readings. Based on their analysis, students will engage in academic discussions with their classmates.
As an ROP (Regional Occupational Program) course, our examination of photography will be centered on building practical, technical, and professional skills necessary to achieve success in the competitive world of professional photography. Through an examination of various genres of photography; such as photojournalism, fashion, and fine art, we will study and meet professionals in various fields of photography, explore the practical techniques and skills they use, and employ those skills in the creation of our own photographs.
At the end of the course students will be able to:
- Develop an artistic voice - The ability to create, pre-visualize, and analyze your own work and the ability to identify, interpret, and constructively critique historical, cultural, and contemporary artwork.
- Be inspired through perception, analysis, and discussion - Through the analysis of other artist's works, through historical slides, conversations, lectures, and exhibits.
- Mastery of digital camera techniques and knowledge of contemporary digital media - Be able to demonstrate advancing skills in-camera techniques, Photoshop, and applied learning in the development of a lifelong work ethic.
- Create a portfolio of artworks and secure an exhibition in a public space - The ability to anticipate questions and conversation, writing an artist's statement, and present utilizing the vocabulary of the discipline.
- Research and Identify photographers and their work - Using a variety of methods and materials, including traditional research and interviews, students will be able to prepare a written and verbal presentation of a professional photographer's career and a critique of their work.
- Increase their craftsmanship in various media - Developing and honing professional presentations skills (cutting window mats, artwork placards, postcard/advertisement creation, and establishing good work ethic)
- Effectively communicate their intended meaning within a given artwork - Reading, analyzing, and forming opinions grounded on evidence.
- Apply knowledge and practice that idea creation is communication - The process of moving from concept, creating a "game plan, execution and the creation of a final product.
- Be able to communicate effectively with their community and peers - Developing the skills necessary to be able to communicate the motives and intentions of their artistic endeavors in a professional manner.
- Be able to demonstrate workplace behaviors and skills - Students will gain an understanding of proper and professional workplace behavior and work ethic
- Be able to demonstrate commercial photographic technical skills - Students will be able to demonstrate skills used in the current photographic industry.
This class begins by exploring various forms of visual arts simply by looking and listening. After this introduction, we discover the many purposes of art and the things in our world that influence its creation. We learn that artists have visually communicated motion and time passing in still imagery since ancient times. We look at the timeline of animation development and all the inventions as it progressed into the current technologies of computer-generated animation, including all of the animation pioneers along the way. Trends in animation around the globe as well as cultural, social, historical influences on this visual art form are introduced.
Lessons will include class lectures, demonstrations and hands-on art activities. Prior to creating animations, students learn the elements of art and the principles of design, how to recognize them in visual artworks and how to incorporate them in their own. Students use traditional studio art supplies, industry-standard software, and computers as tools to create art and animations.
Creativity, originality, and freedom to be personally expressive are encouraged. Artistic talent, technical skills, and workplace best practices of a professional animator are heavily instilled in students. The final class project will be a portfolio that will showcase their best works.
Students will experience the creative process by developing concepts for short sequences and character development, and by sketching ideas, drawing storyboards, and performing hands-on exercises and short projects. In addition, students will participate in animation critiques and discussions to improve their ideas, their drawings, and their animations.
- Students will demonstrate knowledge and understanding of the Principles of Animation.
- Students will become proficient using vector art tools in Adobe Illustrator (for drawing), and Adobe Flash (for drawing and animating)
- Students will demonstrate knowledge of animation concepts: Keyframes, Cells, In-Betweens, Tweening, Puppets, and Library Assets.
- Students will master cell and tween animation.
Workplace Basic Skills:
- Students will practice personal and social responsibility, and apply critical thinking and communication skills daily.
- Throughout the year, students will develop a digital portfolio of original animations. All content produce must be "original content" (already published images, illustrations, photographs, text, other content will not be acceptable).
- Students will write a Resume, Cover Letter, and complete an Employment Application.
Methods of Instruction:
Lecture, demonstrations, hands-on exercises, projects, guest speakers, field trips, film screenings, class presentations, and project critiques, supplemental reading. We will foster mutual respect, a safe space, tolerance, and openness... for creative and fun learning!

source: openbmb/Ultra-FineWeb


{% static %} handles more than you think
You probably agree using {% static %} is not a controversial:
Credit: Django Doctor
If you're unfamiliar: {% static %} returns the path the browser can use to request the file. At it's simplest, that would return a path that looks up the file on your local file system. That's fine for local dev but in prod we will likely use third-party libraries such as whitenoise or django-storages to improve performance of the production web server.
There are reasons other than "because S3" for why we use {% static %}
File revving
Whitenoise has a storage backend STATICFILES_STORAGE that performs file revving for cache busting. As a result the file path rendered in the template is renamed: script.js may be renamed to script-23ewd.js. The STATICFILES_STORAGE generates a hash from the file's contents and renames the file and generates a manifest file that looks like:
{'scripts.js':'scripts-23ewd.js'}
This is called revving. {% static 'script.js' %} renders'script-23ewd.js' in the template because'script.js' is looked up in the manifest, resulting in'script-23ewd.js' being resolved.
This is for cache busting: when the file content change the file name changes too, so a revved file can have cache headers set to cache forever in the CDN or browser. On the next deployment if the file contents changes so too does the file name being requested and thus the most up to date file is retrieved by the browser.
So {% static %} abstracts away cache-busting mechanisms so we can focus on templatey things in the template instead.
Websites can move house
Given enough time a website can change where it's served from:
 - From subdomain to path: abc.example.com to _URL_ and xyz.example.com to _URL_. This has happened in a project I was in for SEO reasons.
 - Merging multiple repositories into one. This happened to a few projects I was involved with to make development more efficient.
At this point it would be unclear which app's files are served from /static/. Yes a developer can find a replace all of /static/ with /abc/static/ and /abc/static/. But if {% static .. %} was used they would not need to.
So {% static %} prevents Javascript and CSS from breaking because where the website is served from changed.
Serving from S3
Django suggest not serving static files from the web server in production. One way to do that is to serve the files from S3. If STATICFILES_STORAGE serves from S3, then the static domain will likely be different from webserver domain unless some configuration in Cloudfront ensures otherwise.
So in that case using {% static 'script.js' %} ultimately renders _URL_ instead of /static/script.js.
So {% static %} handles changes in the domain the files are served from.
Do you {% static %} everywhere you should?
You can check if your codebase at django.doctor. It check missing {% static %} and other Django code smells:
If you want to avoid code smells getting into your codebase in the first place install the GitHub PR bot to reduce dev effort and improve your code.
Leave a Reply
WordPress.com Logo
Google photo
Twitter picture
Facebook photo
Connecting to %s


text:
To put or fix before, or at the beginning of, another thing; as, to prefix a syllable to a word, or a condition to an agreement.
That which is prefixed; esp., one or more letters or syllables combined or united with the beginning of a word to modify its signification; as, prein prefix, conin conjure.
an affix attached before a base word or root, as rein reprint. See also affix. Cp. suffix.
A substring at the beginning of a given string.
The leading digits of a telephone number.
If you dial either one or a few digits before a phone number -- a prefix -- you can relay certain things to the phone company, such as needing assistance, etc.
a number that subscribers must enter to send a fax to a fax endpoint
Several contexts, for example in phone numbers, 00, to indicate that the following digits are an international phone number. áˆ˜á‰ áŒˆáˆµ View
The first part of a pathname the name of the disk and, if you like, the name of a subdirectory. Applications that ask you to type a pathname usually let you set a prefix so you don't have to type the complete pathname every time you want to work with a document on a particular disk or in a particular subdirectory. Once the prefix is set, all you do is type the rest of the pathname.
A prefix is used as the first part of certain kinds of name. A prefix is either a function call or a name.
A Host record field. An optional string which follows the Host name in a Midgard targeted URL. It may be seen as a prefix to the requested Page or as a suffix to the Host name. Different prefixes enable separate virtual Hosts with the same Host name and port number.
Item name prefixes can be used for two purposes. Grouping items for validation. Having more than one item on the screen with the same display name.
The network-specific portion of a CIDR address. The prefix identifies the network routing information, such as the network address or subnet information.
an IP address and network mask
a set of network addresses that a given route covers


text:
The main difference between Van Der Waals radius and covalent radius is that Van Der Waals radius is a measure of the size of an atom derived from the interatomic distances observed in various molecular crystals, whereas covalent radius is a measure of the size of an atom based on the assumption that atoms in a covalent bond share electrons and form a bond distance that is characteristic of that particular type of bond.
Van der Waals radius and covalent radius are two distinct concepts that describe the size of atoms in different contexts.
Key Areas Covered
1. What is Van Der Waals Radius
– Definition, Features, Applications
2. What is Covalent Radius
– Definition, Features, Applications
3. Similarities Between Van Der Waals Radius and Covalent Radius
– Outline of Common Features
4. Difference Between Van Der Waals Radius and Covalent Radius
– Comparison of Key Differences
5. FAQ: Van Der Waals Radius and Covalent Radius
– Frequently Asked Questions
Van Der Waals Radius, Covalent Radius
What is Van Der Waals Radius
The Van der Waals radius is a measure of the effective size of an atom or molecule. It is defined as half the distance between the nuclei of two adjacent, non-bonded atoms of the same element in a solid or molecular crystal when they are at their closest approach without any significant repulsive forces between them. In simpler terms, it represents the distance at which two atoms, if they were not bonded, would come closest to each other due to the attractive and repulsive forces between their electron clouds.
For example, imagine two helium (He) atoms that are not chemically bonded but are brought close together in a solid. At a certain distance, the attractive forces between their electron clouds dominate, causing them to approach each other. However, if they get too close, the repulsive forces between the electron clouds and the positively charged nuclei start to push them apart. The Van der Waals radius for helium represents the equilibrium distance at which these attractive and repulsive forces are balanced.
Role of Van Der Waals Radius
The Van der Waals radius holds significant importance in the realms of chemistry and physics, playing a pivotal role in various key areas. Firstly, it is central to understanding intermolecular forces, where the balance between attractive London dispersion forces and repulsive forces, regulated by the Van der Waals radius, dictates whether atoms or molecules form bonds or engage in weak interactions. In the solid state, the Van der Waals radius becomes crucial for molecular packing in a crystal lattice, determining packing efficiency and crystal structure across various materials. Additionally, the Van der Waals equation of state, incorporating the Van der Waals radius, is instrumental in analyzing the behavior of real gases. This equation provides corrections for the finite size of gas molecules, particularly at high pressures and low temperatures, explaining deviations from ideal gas behavior.
What is a Covalent Radius
The covalent radius is often defined as half the distance between the nuclei of two identical atoms that are bonded together by a single covalent bond. In other words, it represents the equilibrium distance between two nuclei in a covalently bonded molecule.
To illustrate this concept, consider a diatomic molecule such as hydrogen or chlorine. In these molecules, two identical atoms are bonded together by a single covalent bond. The covalent radius of each atom is half the distance between the two nuclei, which is also the bond length. For example, in a hydrogen molecule (H2), the covalent radius of a hydrogen atom is half the H–H bond length, and in a chlorine molecule (Cl2), the covalent radius of a chlorine atom is half the Cl–Cl bond length.
The covalent radius is a crucial parameter in chemistry, carrying significant implications across multiple aspects. Firstly, it plays a pivotal role in explaining chemical bonding by providing a quantitative measure of atomic size when bonded in covalent molecules. The resulting bond length, determined by the covalent radius, influences the strength of the bond and overall molecular structure. Additionally, in molecular geometry, the covalent radius impacts bond angles and the three-dimensional arrangement of atoms, influencing molecular shape and properties. Covalent radii are essential for estimating bond lengths in various molecules, aiding in the prediction of molecular properties, such as functional group sizes and interatomic distances. This information proves vital in fields like organic chemistry, impacting the reactivity and behavior of molecules.
Furthermore, covalent radii contribute to the calculation of interatomic distances in crystal structures. It offers insights into the arrangement of atoms in diverse materials. Lastly, covalent radii are integral to molecular modeling and computer simulations. It provides predictions on molecular behavior, atom interactions, and complex chemical system structures.
Similarities Between Van Der Waals Radius and Covalent Radius
- Van der Waals radius and covalent radius are measures of atomic size.
- Both are empirical values.
Difference Between Van Dar Waals Radius and Covalent Radius
The Van der Waals radius is defined as half the distance between the nuclei of two non-bonded atoms of the same element when they are at their closest approach in a molecular crystal or a gas. The covalent radius is defined as half the distance between the nuclei of two identical atoms that are bonded together by a single covalent bond in a molecule.
The Van der Waals radius is primarily used to describe the size of atoms when they are not bonded but are in proximity to other atoms. The covalent radius is specifically used to describe the size of atoms when they are involved in chemical bonds within covalent compounds.
The Van Der Waals radius considers the entire electron cloud of an atom and takes into account the repulsive interactions between electron clouds as atoms approach each other closely. The covalent radius represents the distance between the nuclei of bonded atoms, where electrons are actively shared between the two atoms.
FAQ: Van Dar Waals Radius and Covalent Radius
Is Van Der Waals radius greater than the covalent radius?
- Yes. Van der Waals radius is generally greater than the covalent radius.
Why is the covalent radius smaller?
- The covalent radius is smaller because of the overlapping of the electron orbitals of the atoms in the covalent bond.
Is Van Der Waals radius and ionic radius the same?
- No, Van Der Waals radius and ionic radius are two different types of radii.
In brief, the covalent radius is specific to atoms involved in covalent bonds. Meanwhile, the Van der Waals radius is a more general measure that describes the effective size of an atom when considering non-bonded interactions. Thus, this is the main difference between Van Der Waals radius and covalent radius.
1. "Van der Waals Radius." Wikipedia. Wikipedia Foundation.


text:
The 30 participants from 10 countries will develop their competances in field of conflict resolution and promotion of Human Rights through theatre methodology.
The training course which will take place in Berlin between 19th and 28th of July. The 30 participants from Germany, Bulgaria, Latvia, Spain, Italy, Croatia, Romania, Poland, Greece, and Lithuania will develop their competences in field of conflict resolution and promotion of Human Rights through theatre methodology.
The aim of the project is developing the competences of youth workers and youth leaders in field of promotion of the human rights their respect and protection, conflict transformation, peace building and intercultural dialogue. through theatre methodology.
- Promotion of young people's role as positive activists in building process of anti-discimination attitudes.
- Strengthening the role of young people and organizations in identifying and counteracting violations of human rights.
- Developing the competances of youth workers and youth leaders in the context of conflict resolution and reduction of radicalism through theatre methodology
- Developing the trainers competances among participanst related to conflict transformation through theatre methodology
- Promoting diversity, intercultural and interreligious dialogue, social inclusion, european values, tolerance, solidarity.
- Fostering cooperation between parnters and participants in the field of youth work.
This Training Course is
for 30 participants
from Bulgaria, Croatia, Germany, Greece, Italy, Latvia, Lithuania, Poland, Romania, Spain
Application Deadline: 3 July 2021


I've been struggling with a certain combinatorics problem for weeks now. Unfortunately, I don't have a proper background in enumerative combinatorics, haven't learned that class yet. I've tried searching around the internet, but either I missed an answer or I couldn't find it.
My question is as follows:
a) Given a set X of n elements, count all possible unique combinations of length m that feature every element from X at least once. m>=n (Repetition is obviously allowed and needed when m>n)
So, if X is for example [1,2,3] and m is 5, I need to obtain the count of all distinguishable configurations of length 5 (order of the configuration matters) that feature 1,2 and 3 at least once.
For example:
11223,12312,32112 are all good.
b) Expanding on a, but with added restrictions. Some elements of X are given restrictions that they can't occur in some places of configurations. Count of configurations is needed.
For example, if X is [1,2,3,4,5], n=5, m=7 and the restriction is that 1 and 2 can't appear on the first position, and 4 can't appear on the third, some of the valid combinations would
_PHONE_,_PHONE_, etc. are valid combinations
Count is needed, same as in a.
I tried solving the b case immediately with something like this:
[3,4,5] -> numbers that can appear in the first position
[1,2,3,4,5] -> numbers that can appear in 2nd, 4rd,5th,6th, 7th position
[1,2,3,5] -> numbers that can appear in 3rd position
But I get stuck. I'm assuming that some form of inclusion-exclusion needs to be done here, but I am unable to figure out how. If anyone could give me some pointers, I would be very grateful.
 - $\begingroup$ The first problem is the well-known problem of counting surjections. $\endgroup$ – Ira Gessel Feb 11 '17 at 20:03
This question is better suited for math.stackexchange.
For a) count all combinations using at most all of X elements. Then subtract off all combinations using all but one of the X elements. You can develop a recursive relation on the number of elements from the set which will lead to the right inclusion-exclusion formula.
For b) there are two approaches, and I am too ignorant to provide all the details. The first is a case analysis. You say first that all of the elements appear in the unconstrained part. Then you count those combinations easily. Then you say all but one of the elements appear in the unconstrained part. Now you break into cases depending on where the last element is allowed to appear. Continue this development by restricting the number of elements appearing in the unconstrained part. Add up the totals.
The second way is to encode using generating functions. I do not know the details, but they look something like this. Represent each position by a polynomial. Multiply the polynomials together. Look at the coefficients of the monomials of interest. For example, your encoding may involve looking at the coefficients associated with x^{12345}, with x^{23154}, and maybe 118 other powers. Add those up.
Gerhard "Not A Student Of Combinatorics" Paseman, 2017.02.11.
 - $\begingroup$ I think I figured the generating function approach. Finally progress. Thank you very much! $\endgroup$ – plagueis Feb 12 '17 at 3:44
Your Answer


text:
Illustrated by Mike Wohnoutka
Hyperion – Disney
March 2012 / ISBN 9781423134824
Picture book, relationships (ages 1-5)
Twiga, a baby
giraffe, is very curious, so when he goes out with his mother she
must continually warn him to stay close because there are many dangers
on the dusty, dry plain.
A very curious
baby, Twiga loves to explore. As you page through this picture book
you'll see the little giraffe's encounters with a hyena,
some stinging ants, a crocodile, and a leopard. Fortunately, Twiga
isn't harmed, although he does have a few close calls.
not all the animals Twiga meets are named so mom or dad will have
to supply the name if the child is not familiar with the creature.
Otherwise, this is a fun read with a lyrical text and nicely executed
illustrations. I also liked the message embedded in the text as
well. It is a good idea for young children to not wander too far
away from their parents. Being curious is fine, but there are dangers
to avoid too.


Chevy Tahoe P1153: Causes, Meaning, and Diagnosis
P1153 Chevy Tahoe
P1153 is not a very common diagnostic trouble code. It can have different meanings depending on the manufacturer in question. For the Chevy Tahoe, it means:
P1153:HO2S Insufficient Switching (Bank 2, Sensor 1)
As long as your scanner confirms that the code is for insufficient switching of the heated oxygen sensor, you're good to go.
P1153 Meaning
P1153 Code Definition: Chevy Tahoe
In the standard definition of P1153, there are three separate sections. HO2S, Insufficient Switching, and Bank 2 Sensor 1.
While your Tahoe's exhaust system can have many oxygen sensors, the first in line is the most important for metering the air/fuel ratio and keeping the engine running efficiently.
Insufficient Switching
As stated above, your engine's computer (known as the ECM, or PCM) monitors the air-fuel ratio using the heated oxygen sensor.
It'll monitor the oxygen sensors in closed-loop operation for 90 seconds to determine if there is anything wrong with them. It does this by counting the number of times the oxygen sensors switch back and forth between rich and lean cycles.
When there is an insufficient number of switches between rich/lean and lean/rich, the Chevy Tahoe will throw P1153.
Bank 2 Sensor 1
The term "bank" refers to a row of cylinders. So, the amount of cylinder heads a vehicle has determines the number of banks (it can only be one or two).
P1153 can ONLY appear on engines with two banks. So, you're going to need to determine which side of the engine is bank 2 in your Tahoe.
While it is annoying to have to find bank 2, having two banks is nice since we can use the "swap test" to diagnose P1153 later. The swap test will allow you to eliminate the heated oxygen sensor as a possible cause of P1153.
Now that we know what P1153 means and how to find the oxygen sensor, we can begin to diagnose it in earnest.
Chevy Tahoe P1153: Symptoms
More often than not, the check engine light is the only symptom that you will experience with P1153. Although it's not unheard of for a vehicle to experience:
 - Rough Idle
 - Loss of Power
 - Black Exhaust
Chevy Tahoe P1153: Causes + Diagnosis
Tahoe P1153 Diagnosis
Here's a pretty solid procedure for diagnosing a bad oxygen sensor. If you aren't good with a code scanner, start with section 3, swap test.
1. Capture the Short/Long Term Fuel Trim Values
If you happen to have access to a scan tool, you can use it to capture the short and long-term fuel trim values. You'll need to make sure that the engine is warmed up before you do this.
Doing this will help you determine if the O2 sensor operates within spec any looking under the hood. You'll need to compare the values that you capture with your tool with the values Chevy specifies.
2. Check the Wiring Harness at the O2 Sensor
DTC P1153 Fix
The bank two sensor one oxygen sensor has a tough life. It is right there on the hot exhaust; it also has to deal with a lot of engine vibration. The wiring harness to the sensor will fail more than almost any other wiring in your Tahoe.
Check to see if the wiring is burnt or frayed. Make sure that the pigtail that plugs into the sensor is snugged in tight and has no damage itself. You can do this pretty quickly with a flashlight. You can usually see this oxygen sensor without having to take anything apart.
You can use a multimeter to determine if there's a short or open circuit. This article can make you an expert on the subject in no time.
3. Swap Test (Optional V6, V8 Only)
Since your Tahoe has a V-8 or V6 engine, you can do something called the swap test. Basically, it involves removing the bank one sensor one oxygen(B1S1) sensor and replacing it with the bank two sensor one sensor(B2S1).
Here's how to do the swap test:
 - First, clear the DTC codes with your scanner.
 - Swap the Bank 2 Sensor 1 O2 sensor with the Bank 1 Sensor 1. They'll be on or right after the exhaust manifold on each side of the engine.
 - If the code changes to P1133 (which indicates the O2 sensor on Bank 1 is insufficiently switching), that is proof enough that your Tahoe needs a new O2 sensor.
 - If the code remains P1153, you'll need to continue pursuing your diagnosis, knowing that both O2 sensors are working fine.
4. Exhaust/Vacuum Leaks
Often a worn or brittle vacuum line will allow unmetered air into your Tahoe's engine. When this happens, it creates a lean condition.
You can test for a vacuum leak around the vacuum lines and the intake manifold. A common method is to spray carb cleaner around the intake/vacuum lines. When the spot is found, the engine will rev higher with no throttle input.
An exhaust leak can redirect the gasses that are supposed to be passing over the O2 sensor. This can leave it with a flat curve, which can throw P1153.
A bad oxygen sensor is the most common reason that your Chevy Tahoe will have P1153. However, there can be other issues that cause this code as well.
Leave a Comment


text:
Get Set to Learn! is a Sesame Street CD-ROM game for home computers. The game was developed by Creative Wonders and Children's Television Workshop in 1996.
This game promotes the thinking and problem solving skills necessary for learning.
- "What Size is Your Prize?": Choose the right size object to win Zoe's game.
- "Count it Up! Up! Up!": Count to the right number and watch as the wheel spins.
- "Match the Moons": Match The Count's moons, spiders, lightning bolts, gold coins, and numbers.
- "Kooky Cookie Game": Complete Cookie Monster's frosted cookie pattern.
- "Dunk or Dare": Fill the barrel with trash and dunk Telly.
- "Fabulous Prizes": All the prizes won in the games are collected in the chest.
- A trunk seen backstage in the opening features a sticker advertising Let's Make a Word!


text:
There are no products in your shopping cart.
A compact, introductory guide to modern art that explains styles, schools, and movements from Impressionism to the present day
The first in a new series of essential introductions to art, Modern Art guides the reader through individual movements from Impressionism to Conceptual Art, situated within five broader chronological eras. Starting with Impressionism in 1860, art historian Amy Dempsey explains the essentials of Modernism, the postwar New Disorder, and beyond.
Carefully arranged material explores seventy essential topics of modern art in a practical and easy-to-navigate structure. Each boldly designed topic feature includes a clear definition; a list of key artists, attributes, media, and collections; and expertly curated illustrations with explanatory captions. A reference section includes a useful glossary of modern art terms.


before the method executes through the beforeInvocation attribute. The former provides the same semantics as the rest of the annotations - once the method completes successfully, an action (in this case eviction) on the cache is executed. If the method does not execute (as it might be cached) or an exception is thrown, the eviction does not occur. The latter (beforeInvocation=true) causes the eviction to occur always, before the method is invoked - this is useful in cases where the eviction does not need to be tied to the method outcome.
It is important to note that void methods can be used with _USER_ - as the methods act as triggers, the return values are ignored (as they don't interact with the cache) - this is not the case with _USER_ which adds/update data into the cache and thus requires a result.
28.3.4 _USER_ annotation
There are cases when multiple annotations of the same type, such as _USER_ or _USER_ need to be specified, for example because the condition or the key expression is different between different caches. Unfortunately Java does not support such declarations however there is a workaround - using a enclosing annotation, in this case, _USER_. _USER_ allows multiple nested _USER_, _USER_ and _USER_ to be used on the same method:
_USER_(evict = { _USER_("primary"), _USER_(value = "secondary", key = "_TAG_") })
public Book importBooks(String deposit, Date date)
28.3.5 Enable caching annotations
It is important to note that even though declaring the cache annotations does not automatically triggers their actions - like many things in Spring, the feature has to be declaratively enabled (which means if you ever suspect caching is to blame, you can disable it by removing only one configuration line rather then all the annotations in your code). In practice, this translates to one line that informs Spring that it should process the cache annotations, namely:

The namespace allows various options to be specified that influence the way the caching behaviour is added to the application through AOP. The configuration is similar (on purpose) with that of tx:annotation-driven:
Table 28.2. settings
Name of cache manager to use. Only required if the name of the cache manager is not cacheManager, as in the example above.
The default mode "proxy" processes annotated beans to be proxied using Spring's AOP framework (following proxy semantics, as discussed above, applying to method calls coming in through the proxy only). The alternative mode "aspectj" instead weaves the affected classes with Spring's AspectJ caching aspect, modifying the target class byte code to apply to any kind of method call. AspectJ weaving requires spring-aspects.jar in the classpath as well as load-time weaving (or compile-time weaving) enabled. (See the section called "Spring configuration" for details on how to set up load-time weaving.)
Applies to proxy mode only. Controls what type of caching proxies are created for classes annotated with the _USER_ or _USER_ annotations. If the proxy-target-class attribute is set to true, then class-based proxies are created. If proxy-target-class is false or if the attribute is omitted, then standard JDK interface-based proxies are created. (See Section 8.6, "Proxying mechanisms" for a detailed examination of the different proxy types.)
Defines the order of the cache advice that is applied to beans annotated with _USER_ or _USER_. (For more information about the rules related to ordering of AOP advice, see the section called "Advice ordering".) No specified ordering means that the AOP subsystem determines the order of the advice.
 only looks for _USER_/_USER_ on beans in the same application context it is defined in. This means that, if you put in a WebApplicationContext for a DispatcherServlet, it only checks for _USER_/_USER_ beans in your controllers, and not your services. See Section 16.2, "The DispatcherServlet for more information.
Spring recommends that you only annotate concrete classes (and methods of concrete classes) with the _USER_* annotation, as opposed to annotating interfaces. You certainly can place the _USER_* annotation on an interface (or an interface method), but this works only as you would expect it to if you are using interface-based proxies. The fact that Java annotations are not inherited from interfaces means that if you are using class-based proxies (proxy-target-class="true") or the weaving-based aspect (mode="aspectj"), then the caching settings are not recognized by the proxying and weaving infrastructure, and the object will not be wrapped in a caching proxy, which would be decidedly bad.
In proxy mode (which is the default), only external method calls coming in through the proxy are intercepted. This means that self-invocation, in effect, a method within the target object calling another method of the target object, will not lead to an actual caching at runtime even if the invoked method is marked with _USER_ - considering using the aspectj mode in this case.
28.3.6 Using custom annotations
The caching abstraction allows one to use her own annotations to identify what method trigger cache population or eviction. This is quite handy as a template mechanism as it eliminates the need to duplicate cache annotation declarations (especially useful if the key or condition are specified) or if the foreign imports (org.springframework) are not allowed in your code base. Similar to the rest of the stereotype annotations, both _USER_ and _USER_ can be used as meta-annotations, that is annotations that can annotate other annotations. To wit, let us replace a common _USER_ declaration with our own, custom annotation:
_USER_(value="books", key="_TAG_")
public _USER_ SlowService {
Above, we have defined our own SlowService annotation which itself is annotated with _USER_ - now we can replace the following code:
_USER_(value="books", key="_TAG_")
Even though _USER_ is not a Spring annotation, the container automatically picks up its declaration at runtime and understands its meaning. Note that as mentioned above, the annotation-driven behaviour needs to be enabled.
28.4 Declarative XML-based caching
If annotations are not an option (no access to the sources or no external code), one can use XML for declarative caching. So instead of annotating the methods for caching, one specifies the target method and the caching directives externally (similar to the declarative transaction management advice). The previous example can be translated into:

// cache manager definition omitted
In the configuration above, the bookService is made cacheable. The caching semantics to apply are encapsulated in the cache:advice definition which instructs method findBooks to be used for putting data into the cache while method loadBooks for evicting data. Both definitions are working against the books cache.
The aop:config definition applies the cache advice to the appropriate points in the program by using the AspectJ pointcut expression (more information is available in Chapter 8, Aspect Oriented Programming with Spring). In the example above, all methods from the BookService are considered and the cache advice applied to them.
The declarative XML caching supports all of the annotation-based model so moving between the two should be fairly easy - further more both can be used inside the same application. The XML based approach does not touch the target code however it is inherently more verbose; when dealing with classes with overloaded methods that are targeted for caching, identifying the proper methods does take an extra effort since the method argument is not a good discriminator - in these cases, the AspectJ pointcut can be used to cherry pick the target methods and apply the appropriate caching functionality. However through XML, it is easier to apply a package/group/interface-wide caching (again due to the AspectJ pointcut) and to create template-like definitions (as we did in the example above by defining the target cache through the cache:definitions cache attribute).
28.5 Configuring the cache storage
Out of the box, the cache abstraction provides integration with two storages - one on top of the JDK ConcurrentMap and one for ehcache library. To use them, one needs to simply declare an appropriate CacheManager - an entity that controls and manages Caches and can be used to retrieve these for storage.
28.5.1 JDK ConcurrentMap-based Cache
The JDK-based Cache implementation resides under org.springframework.cache.concurrent package. It allows one to use ConcurrentHashMap as a backing Cache store.

The snippet above uses the SimpleCacheManager to create a CacheManager for the two, nested Concurrent Cache implementations named default and books. Note that the names are configured directly for each cache.
28.5.2 Eh


text:
Pontifical Council for the Pastoral Care of Migrants and Itinerant People
People on the Move
N° 107, August 2008
AIRPORT CHAPLAINCIES AND THE SITUATION OF
AIRPORT WORKERS, AIR CREWS AND THEIR FAMILIES
Rev. Father Michael G. Zaniolo
National Catholic Civil Aviation Chaplains (NCCAC)
In the common estimation of people, airport chaplaincies serve the spiritual needs of travelers. Indeed, they do. Viewed more closely, the picture is more complex. The pastoral care extended through airport chaplaincies reaches not only to travelers but also in a significant way to airline personnel, ground workers who service airplanes, and those charged with safety and security in the airports. In fact, airport chaplaincies reach even beyond these groups of travelers and workers. We must be mindful that every person who enables the air travel of others belongs to the primary social unit of the family. What affects airport workers most certainly affects their families. This is the larger context for my remarks today.
Permit me to add an additional word of introduction. With regard to ministry in the context of airport chaplaincies more generally and in the context of workers and their families more particularly, we must note the fundamental and distinctive shape of this kind of ministry. In my experience and reflection, I would identify airport ministry as providing an ecclesial experience for travelers and for those who make their journeys possible. The heart of this ecclesial experience shares the common ground of all authentic experiences of the Church: proclamation and reception of the Word of God, celebration of the life-giving sacraments of the Lord, and direct service to those in need. In saying this, I am not saying anything new but rather repeating what has been the experience of the Church from the very earliest apostolic moments: kerygma, leitourgia, diakonia.
Airport chaplaincies engage in a ministry of word, worship-sacrament, and service on behalf of airport workers and their families and so provide them with four essential elements which strengthen their faith and give them encouragement as they make their spiritual and professional life's journeys. These elements, as I shall describe them, are: stability, security, solidarity, and support.
The air travel industry within which airline and airport personnel work not only serves the movement of people but is itself in a state of constant flux. This is so for two principle reasons. We live in a technological age that drives a constant flow of change. Basic engineering, for example, shifts continuously to accommodate more efficient aircraft. Information technology and its constant development also allows for a greater efficiency in the scheduling and transport of goods and people. The other continuously shifting dimension of the air travel industry is economic. We find ourselves at a threshold of world economic change because of the economic process of globalization. Although there are many positive features, such as greater efficiencies within the industry, there are also less positive features because of profit-driven motives that often take scant account of the human impact of realigned commercial structures.
Those who work in the air travel industry must face this process of continuous and rapid change with a concomitant sense of instability. It is possible to see one's previous training and experience vanish without value as new technologies emerge. It is possible to find oneself out of a job because of downsizing due to acquisitions and mergers. Shortly, I will address the question of security which includes job security. For now, I want to highlight the fundamental instability of the air travel industry. This has an obvious direct impact on workers. It also has an overflowing impact on their families.
Airport chaplaincies cannot address and, much less, resolve all the critical and threatening situations faced by workers and their families because of the inherent instability of the air travel industry. Airport chaplaincies, however, can offer a point of stability grounded in faith that enables workers and their families to assess their situation in a larger perspective. "Christ yesterday, today, and tomorrow" becomes a compass point for navigating a work world in flux. He is proclaimed in his Word, celebrated and made present in his sacraments, especially Reconciliation and the Eucharist, and served in the daily needs of his people.
A sense of security is proportionate to the reliability of the environment in which one lives and works. For airport workers and their dependents security today is compromised both by the instability of the economic environment which I have just now indicated but also—and perhaps more decisively—by the emergence of worldwide terrorism which has targeted air travel in a special way. The heightened sense of mortal risk has transformed the airline industry which previously had to deal with mechanical catastrophe or human error. Now, in a way that menaces all those who travel or make air journeys possible, risk is the result of human malice and the intention to destroy and destabilize governments and the general confidence of the public in fundamental institutions of life, such as transportation.
What does it mean to live and work in an environment which continuously reminds one of vulnerability and a risk that potentially has mortal and, indeed, catastrophic dimensions? Airport chaplaincies deal with the human and emotional impact of this question. Obviously, the chaplaincies do not deal directly with terrorist activities. They do, however, offer a word of reassurance to those who must deal with this plague on a daily basis. They do so by redirecting concern to the providential hand of God which accompanies us on our daily journey. These same chaplaincies, by welcoming persons of all religious affiliations, create an atmosphere in which workers and their families come to realize that religion and the name of God cannot be authentically invoked by those who plan and execute the destruction of innocent people. In this way, the chaplaincies affirm in a vibrant way that God is on the side of the just and those who respectfully live with their neighbor.
An airport chaplaincy has a major role to play in connecting people with each other. In other words, airport ministry can affirm human solidarity in a constructive and humanizing way. This happens in a number of different contexts.
Because air transportation is a business and one that determinedly seeks to make a profit, relationships with the customer-client base can be severely strained. Passengers, for example, can become valued only for their capacity to generate a profit. Airport chaplaincies can remind those who work in the airline industry that persons are persons, not instruments for profit, not nuisances, not problems, but real persons endowed with God-given dignity. The chaplaincy may be the lone voice affirming the humanity of passengers, as well as the humanity of those who work for the airline industry. Thus, the chaplaincy can build a bridge of human solidarity that transcends the profit motive which can seem to be the single force driving the air transportation enterprise.
The air chaplaincy can further build bonds among those who labor together in the air transportation industry. The humanization of the work space and the task of the workers is an essential ingredient of pastoral ministry in the context of airports. In the triple ministry of word, sacrament, and service, workers are reminded of their linkage among themselves and of their vocation not only to transport people from one place to another but, through travel, to link people to each other in a new form of social solidarity.
Finally, the air chaplaincy can help workers to remain connected to their families. The demands of the travel industry often create inevitable separations from family and friends. This is a part of the cost of the work that is done. By affirming and celebrating the family ties of air transportation workers, the chaplaincies are able to foster a continuing solidarity of family life. That same ministry can be available when inevitable separations can cause stresses and strains in marriages and family relationships.
Although there are specific circumstances which uniquely belong to those involved in the air transportation industry and their dependents, they are also subjected to the ordinary stresses and concerns of life shared with other human beings. Parents grow old and sick. Marital relationships can suffer from difficulties. Children can seem to lack direction and be in need of special guidance. Friends and relatives die. Illness, whether physical or emotional, can take its toll. In the face of all these "ordinary" circumstances and problems of daily life, the chaplaincy is close at hand. It is available, if not to address every concern, to receive the concerns and to be a useful resource in addressing the pains and hurts of the human condition. Sometimes this means a word of God that can enlighten a given situation. Sometimes, the sacraments, most especially the sacraments of healing and forgiveness, can give a new lease on life. Sometimes, a supportive word or a helpful referral can bring new hope to a difficult situation.
The ministry of the Church, in my own experience and estimation as an airport chaplain, is alive in a most intense way in the context of airport workers and their families. Clearly, the reason for this is that airport ministry encompasses the full range of the human experience but in a more intense way. The shifts in today's culture and economy are all accentuated in the context of the air transportation industry. Just as the challenges are magnified because of terrorism and economic instability and globalization, and countless other factors as well, so is the hope which the Gospel can bring to the human condition. In word, sacrament, and service, new hope and confidence can be born in the more challenging and difficult situations of today's world, especially as these emerge in the air transportation industry with their particular impact on airport workers and their families.


text:
Discontinued, Limited Supply Available!
Interior: Shamisen - 3 stringed lutelike instrument played by geisha
Geisha Concisus Genus
Geisha are traditional Japanese entertainers. The word consists of two kanji - (gei) meaning "art" and (sha) meaning "person" or "doer". Like all Japanese nouns, there are no distinct singular or plural variants. The most direct translation of geisha is "performing artist". Geisha were originally men, who served a purpose much like travelling minstrels of medieval Europe. As the number of males studying the arts declined, females took over. Most geisha lived in a house called an okiya, owned by a woman who was typically a former geisha. Geisha attended local schools that specialized in every area of training: music, dance, poetry and tea ceremony. As young girls approached apprenticeship age, the okiya would negotiate for a mature geisha to become a mentor. The "older sister" helped promote the apprentice and taught her the art of entertaining, from how to make witty conversation to how to pour sake. Their clothing was made up of several layers of kimono and undergarments, as many as 15, and an obi or sash was worn around the waste and tied in back. Dressing could take over an hour, even with professional help. A popular view of geisha is that they were prostitutes. During the Edo period, courtesans, known as oiran, wore elaborate hairstyles and white makeup like geisha, but they tied their obi in front, an important distinction. Geisha were, first and foremost, entertainers. They attended parties, playing drinking games with the men, dancing and singing. A geisha's presence was considered essential to the success of a party. Several geisha meant the host was of great wealth and status. Some geisha had a personal patron or danna. The danna was a wealthy man who could afford to pay the geisha's expenses for school, lessons, private recitals and even clothing. With a wealthy danna, a geisha could afford to break with an okiya and live independently. Today, young women who want to become geisha begin their training after completing junior high or high school or even college, with many starting in adulthood. Geisha still study traditional instruments like the shamisen, shakuhachi, flute and drums, as well as traditional dance, tea ceremony, literature and poetry. In the 1920s there were over 80,000 geisha, but now there are far fewer. The exact number is unknown, but it is estimated between 1000 and 2000, with Kyoto maintaining the strongest geisha tradition.


Calum Stirling
Image: Remote Village,
Copyright the artist 2019
Calum Stirling - Makrolab: - research footage
Landstylus: Survey#2
A single screen video work for cello, prepared score and CGI animation.
Cello: Sonia Cromarty
A project initiated as part of the Makrolab residency in 2002 to explore if topography can be played like the surface of a record and what might that landscape sound like? Whilst on residency at Makrolab the artist worked with a 20km square map around Glen Tilt in the Scottish Highlands. Translating it into a soundmap which could be 'driven' around using a software 'Landrover', the landstylus. Sound in this case is being harnesses as the interpretative voice to discover whether the shape of actual landforms can indeed generate a some or any of the parameters commonly associated with an emotive language such as music. The project was part inspired by the aptly named 'Hill and Dale' audio recording process pioneered by Edison in 1910.
Makrolab >


text:
swordtailArticle Free Pass
swordtail, (Xiphophorus helleri), popular tropical fish of the live-bearer family Poeciliidae (order Atheriniformes). The swordtail is an elongated fish, growing to about 13 centimetres (5 inches) long and characterized, in the male, by a long, swordlike extension of the lower tail fin lobe. The fish is closely related to the platy and, like its relative, has been used extensively in genetic and medical research. Originally green with a red stripe on each side, the swordtail has been bred in many colour varieties.
What made you want to look up "swordtail"? Please share what surprised you most...


text:
- 10 to 15 minutes
- Take turns introducing each other while pretending you are on a stage.
- Stand up, bow, and tell all the good things you can about the other person, his hobbies, good qualities, etc. Be sure to over-dramatize.
- Take turns introducing other family members, present or not.
- Challenge your child to introduce a best friend or a favorite teacher.
- Think of famous people and take turns introducing them.
Copyright © 2004 by Susan Kettmann. Excerpted from The 2,000 Best Games & Activities with permission of its publisher, Sourcebooks, Inc.
To order this book visit Amazon.com.


text:
Newly analyzed tooth samples from the great apes of the Miocene indicate that the same dietary specialization that allowed the apes to move from Africa to Eurasia may have led to their extinction, according to results published May 21, 2014, in the open access journal PLOS ONE by Daniel DeMiguel from the Institut Catalá de Palontologia Miquel Crusafont (Spain) and colleagues.
Apes expanded into Eurasia from Africa during the Miocene (14 to 7 million years ago) and evolved to survive in new habitat. Their diet closely relates to the environment in which they live and each type of diet wears the teeth differently. To better understand the apes' diet during their evolution and expansion into new habitat, scientists analyzed newly-discovered wearing in the teeth of 15 upper and lower molars belonging to apes from five extinct taxa found in Spain from the midto late-Miocene (which overall comprise a time span between 12.3–12.2 and 9.7 Ma). They combined these analyses with previously collected data for other Western Eurasian apes, categorizing the wear on the teeth into one of three ape diets: hard-object feeders (e.g., hard fruits, seeds), mixed food feeders (e.g. fruit), and leaf feeders.
Previous data collected elsewhere in Europe and Turkey suggested that the great ape's diet evolved from hard-shelled fruits and seeds to leaves, but these findings only contained samples from the early-Middle and Late Miocene, while lack data from the epoch of highest diversity of hominoids in Western Europe.
In their research, the scientists found that in contrast with the diet of hard-shelled fruits and seeds at the beginning of the movement of great apes to Eurasia, soft and mixed fruit-eating coexisted with hard-object feeding in the Late Miocene, and a diet specializing in leaves did not evolve. The authors suggest that a progressive dietary diversification may have occurred due to competition and changes in the environment, but that this specialization may have ultimately lead to their extinction when more drastic environmental changes took place.
Materials provided by PLOS. Note: Content may be edited for style and length.
Cite This Page:


Ulna Growth Plate Fracture
Elbow joint
Long bones such as the ulna in the forearm grow from both ends at regions known as the growth plates or epiphyseal plates. Fractures to this area occur in children as it is the last area of bone to fully mature.
Ulna growth plate fracture symptoms
Symptoms include pain following a fall onto the hand or arm, or a direct impact to the elbow. Pain and difficulty when trying to move the elbow with possible deformity. Rapid swelling is likely with tenderness when feeling the lower elbow joint and upper forearm area.
The growth plates of long bones such as the ulna are found at the ends. In children and adolescents this area is cartilage, rather than bone. As our skeletons reach maturity, the cartilage ossifies, hardening to bone. Because these are the last areas of bone to harden, they are more at risk of injury in children as the ligaments supporting the joint are stronger than the bone itself.
As with most fractures, this injury occurs most frequently following a fall onto the arm or elbow. A direct force or impact to the elbow may also cause this injury.
If a fracture is suspected, seek medical attention immediately. Immobilize the arm until this is possible. An X-ray or MRI will be taken to confirm the injury and determine the extent of displacement. In non-displaced fractures the arm may be immobilized in a cast for 4-6 weeks whilst the bones heal.
If displaced fractures, the bones need to be reduced. This may be done manually (by the doctor manipulating the bones) or via surgery. If surgery is undertaken the bones are moved back in line and held together using pins or wires. The arm is again casted for 4-6 weeks to allow healing.
Following immobilization, a rehab program should be followed to regain full movement and strength.


text:
Giant Water Scavenger Beetle
|Geographical Range||North America|
|Scientific Name||Hydrophilus triangularis|
|Conservation Status||Not listed by IUCN|
The name says it all. This large beetle lives in water, where it scavenges vegetation and insect parts. The insect can store a supply of air within its silvery belly, much like a deep-sea diver stores air in a tank.


Phillip Trelford's Array
POKE 36879,255
Life in a tweet
This week I had pleasure of meeting Vagif Abilov on Tomas Petricek and I's Advanced F# course at Skills Matter. Vagif mentioned a Ruby implementation of Conway's Game of Life being squeezed into 140 characters for tweeting and how that might look in F#.
Here's the 140 characters of Ruby:
And 127 characters of F#:
let f s g = g|>List.mapi(fun i x->match Seq.sumBy(fun o->
g.[abs((i+o)%(s*s))])[-1-s;-s;1-s;-1;1;-1+s;s;1+s]with 3->1|2->x|_->0)
Like the Ruby version, the F# implementation above takes a shortcut when computing points outside of the grid.
This is what the function looks like with added white space, variable names and comments:
let generate size grid =
 grid |> List.mapi (fun i value->
 /// Neighbours count
 let count =
 let s = size
 -1; 1;
 -1+s;s; 1+s]
 |> Seq.sumBy (fun o ->
 let offset = abs((i + o) % grid.Length)
 // Evaluate life
 match value, count with
 | _, 3 -> 1
 | n, 2 -> n
 | _, _ -> 0
The game grid can is expressed as a list:
let grid = [
Visualizing the grid on the console:
let show (size:int) (grid:int list) =
 for y=0 to (_URL_ do
 |> (fun x -> grid.[y * size + x].ToString())
 |> String.concat ""
 |> printfn "%s"
Or watch it running in your browser:
(I used Pit to compile the F# code to JavaScript)
Life.fs (1.77 kb)
What makes a good step definition
Following on from last week's What makes a good feature file article, this week it's time to tackle what makes a good step definition. To automatically test that an application's behaviour matches that defined by the scenarios in a feature file, a mapping is required. Step definitions provide that mapping from the lines in a feature file to the code that implements the feature.
Starting with a Given:
Given I have entered 0.1134 into the calculator
Ruby step definition for use with Cucumber::
Given /I have entered (.*) into the calculator/ do |n|
 # Some Ruby code here
The code above specifies a regular expression used to match lines in the feature file and an anonymous function to execute.
C# attributed step definition compatible with both SpecFlow and TickSpec:
[Given(@"I have entered (.*) into the calculator")]
public void GivenIHaveEnteredNIntoTheCalculator(int n)
 // C# code here
Again a regular expression is specified, however this time the function is public and reflection is used for invocation.
F# attributed step definition compatible with TickSpec:
let [] ''I have entered (.*) into the calculator''(n:int) =
 // F# code here
F# allows white space and special charecters in method names enclosed with backticks. This removes the need for both an attribute and a function name.
TickSpec also supports anonymous functions as Ruby with Cucumber, i.e.:
Given "I have entered (.*) into the calculator" (fun [Int n] –>
 // F# code here
From a terseness point of view it looks like Ruby and F# the advantage for writing step definitions. But that's only part of the story…
By default in frameworks like Cucumber and SpecFlow step definitions are defined globally, so that they can be shared or reused. Global functions are usually fine for small programs, but for larger programs we usually group them into classes or modules for maintainability.
With SpecFlow and TickSpec it is possible to constrain the scope of a step definition or set of step definitions via a StepScope attribute:
public class AdditionSteps
 public void GivenIHaveEnteredNIntoTheCalculator(int n)
 // C# code here
Here the step definition methods in the AdditionSteps class are only matched against the Addition feature. This allows the wording in the feature file to evolve without affecting other feature files, and it allows the actions in the methods to vary too. It also means that it is easy to find the step definitions that map to a feature file in one place.
Using a class level step definition scope is quite similar conceptually to using a View Model within the MVVM pattern, where the View Model is responsible for mapping from view to model. It adds a layer of indirection over binding directly to the model, but allows the application to evolve more easily over time.
Note: TickSpec can apply scope to both Step bindings and Event bindings like BeforeScenario and AfterScenario. There is currently was an open bug on this in SpecFlow (since fixed).
Fluent interfaces
So far the step definition examples have included a "code here" comment. This is where we arrange, act and assert. In the Given steps the preconditions are arranged. The When steps execute the actions. Finally the Then steps assert the outcome. This is almost identical to the steps you'd take in TDD for a unit test, except the parts are spread across multiple methods.
Note: The state for a scenario can also be initialized in a method marked with BeforeScenario attribute
For the arrange and act steps, DSL approaches like fluent interfaces can be useful for making step definitions more readable and maintainable.
In the arrange steps using the builder pattern is useful to build up the initial state:
public void constructPizza()
In the act steps a fluent assertion API is useful, for example the FsUnit F# library:
1 |> should equal 1
anArray |> should haveLength 4
anObj |> should not (be Null)
Using fluent interfaces inside the step definition functions can make them more readable and maintainable. For larger projects constraining the scope of step definitions helps make them more maintainable. Finally step definitions can sometimes be written more concisely in languages like Ruby and F#.


text:
This article presents a current research pro-ject, included in the Transnat program (IHMC, Saarbrücken Univ.), supported by the ANR and DFG. This historical study of the transla-tion of literature into French adopts quantita-tive as well as editorial historical perspectives. In this article, we endeavor to demonstrate through the initial results how, for instance, the articulation of quantitative and spatial history of arts and literature may question the traditional thesis of cultural studies on transla-tion: that this hybridizing operation is a phe-nomenon of fringes, borders and peripheries.
Wilfert-Portal, Blaise and Claire Guérin. "La traduction littéraire en France, _PHONE_ : un projet d'histoire quantitative, transnationale et cartographique." Artl@s Bulletin 1, no. 1 (2012): Article 5.


text:
Discover the cosmos! Each day a different image or photograph of our fascinating universe is featured, along with a brief explanation written by a professional astronomer.
2006 May 22
Explanation: What arm is 17 meters long and sometimes uses humans for fingers? The Canadarm2 aboard the International Space Station (ISS). Canadarm2 has multiple joints and is capable of maneuvering payloads as massive as 116,000 kilograms, equivalent to a fully loaded bus. Canadarm2 is operated by remote control by a human inside the space station. To help with tasks requiring a particularly high level of precision and detail, an astronaut can be anchored to an attached foot constraint. The arm is able propel itself end-over-end around the outside of the space station. Pictured above, astronaut Stephen Robinson rides Canadarm2 during the STS-114 mission of the space shuttle Discovery to the ISS in 2005 August. Space shuttles often deploy their own original version of a robotic arm dubbed Canadarm. Next year, a second robotic arm is scheduled to be deployed on the space station.
Authors & editors:
NASA Web Site Statements, Warnings, and Disclaimers
NASA Official: Jay Norris. Specific rights apply.
A service of: EUD at NASA / GSFC
& Michigan Tech. U.


text:
The people of Easter Island were possibly inspired to invent the Rongorongo script after seeing the writing used by the Spanish when they annexed the island in 1770. The Easter Islanders were apparently impressed by the mana or power of the Spaniards' writing.
Rongorongo was used until the 1860s, after which knowledge of the script was lost. Nowadays most Easter Islanders write in Spanish using the Latin alphabet though a few try to write their own language, Rapanui, also with the Latin alphabet.
Since missionaries started visiting Easter Island in the 1860s, they have taken an interest in the mysterious Rongorongo symbols. A number of attempts have been made to decipher them, none of which have been completely successful, though in his book Rongorongo: The Easter Island Script, Steven Roger Fischer, Director of the Institute of Polynesian Languages and Literatures in Auckland, New Zealand, claims to have unlocked its mysteries.
Two other scripts were once used on Easter Island: Ta'u and Mama, but little is known about them as very few inscriptions have been found.
Rapanui, a Polynesian language spoken by about 2,500 people on Easter Island and also in Chile, Tahiti and the USA.
Further information about the Rongorongo script and decipherment efforts
The Rongorongo of Easter Island - includes many samples of Rongorongo inscriptions
An introduction to the language of Easter Island - includes English <> Rapa Nui dictionary
Easter Island Home Page
Information about Easter Island (in Spanish and English)
Hosted by Kualo