text:
What is First Class Learning?
First Class Learning (FCL) is a strong, flexible and dynamic learning system that focuses on the key maths and English learning outcomes for the National Curriculum for England and Wales and the Curriculum for Excellence in Scotland. More than just private tuition, our maths and English tuition programmes help to form good study habits, increase confidence and develop self esteem.
The First Class Learning Maths programme is designed to equip your child with the fundamental skills required for success in school Mathematics. Using a range of resources, your local FCL maths tutor covers all the essential areas of the school curriculum.
The First Class Learning English Programme draws on a variety of imaginative materials. From synthetic phonics to skills for secondary pupils, it follows principles which make it ideal for all learners. The programme takes a multisensory approach, enabling all children - whatever their learning style or ability - to develop the key skills which will allow them to read fluently, spell accurately and write confidently.
Enrol Your Child
Enrolling your child could not be easier. Once you have made an appointment with your local FCL Centre you can enrol for maths tuition, English tuition or both. For an informal chat with your nearest FCL centre manager simply enter your postcode in the "Find your nearest centre" box and find your local centre.


text:
Everything You Need to Know about Terrace Waterproofing Paint
Terrace Waterproofing Paint is an important aspect of ensuring that your terrace stays dry and protected from water damage. This type of paint is specifically designed to resist the penetration of water and prevent it from seeping into the walls or the surface of the terrace.
One of the main benefits of using terrace waterproofing paint is that it protects against the harmful effects of moisture. Over time, moisture can cause severe damage to the structure of your home, leading to expensive repairs. Therefore, waterproofing your terrace is crucial for the longevity of your house.
When it comes to choosing the right terrace waterproofing paint, you need to consider factors such as the quality of the paint, durability, and weather resistance. Some of the popular brands of terrace waterproofing paints include Asian Paints, AWC Waterproofing, Berger Paints, and Dulux.
Before applying terrace waterproofing paint, the surface must be cleaned and prepped to ensure proper adhesion. Any cracks or holes in the surface should be repaired, and the surface must be dry before applying the paint.
It is important to note that waterproofing paint should not be applied on surfaces that are already damp or wet, as this will prevent proper adhesion and may cause the paint to peel off. Therefore, it is best to wait for a dry day to apply the paint.
In summary, terrace waterproofing paint is essential for ensuring that your terrace remains protected from water damage and moisture. By choosing the right brand and following the correct application process, you can ensure a long-lasting and resilient finish that will keep your home safe and secure.
roof waterproofing | chemical waterproofing |terrace waterproofing | water proofing chemicals | roof paint | waterproof paint for terrace | waterproofing painted walls | waterproofing contractors | wall waterproofing | liquid waterproofing | roof waterproofing sheet | waterproofing contractors near me | cool roof coating | waterproofing paint for terrace |waterproof paint for outside walls | waterproofing chemical for wall | waterproof paint for roof price | water proofing treatment for roof | waterproof roof coating | waterproofing coating | waterproofing contractors in mumbai | waterproofing for terrace | concrete roof waterproofing

source: m-a-p/FineFineWeb


text:
This paper introduces a framework for parametric speech modeling that can be used in various speech applications such as text-to-speech synthesis, voice conversion etc. In order to reduce impact of pitch variations the harmonic analysis is done in the warped time scale that is aligned with instantaneous pitch values. It is assumed that each harmonic has its own periodic excitation source that evolves in time and can be modeled as a sum of several sinusoidal components with close frequencies. The parameters of the excitation components are estimated using a modified instantaneous Prony's method. The proposed analysis/synthesis technique is compared with TANDEM-STRAIGHT.
Bibliographic reference. Azarov, Elias / Vashkevich, Maxim / Petrovsky, Alexander (2013): "Instantaneous harmonic representation of speech using multicomponent sinusoidal excitation", In INTERSPEECH-2013, _PHONE_.


text:
Mise en place
Mise en place literally "put in place") is a French phrase defined by the Culinary Institute of America as "everything in place", as in set up. It is used in professional kitchens to refer to the ingredients, such as cuts of meat, relishes, sauces, par-cooked items, spices, freshly chopped vegetables, and other components that a cook requires for the menu items that they expect to prepare during their shift.
Recipes are reviewed, to check for necessary ingredients and equipment. Ingredients are measured out, washed, chopped and placed in individual bowls. Equipment such as spatulas and blenders are prepared for use, while ovens are preheated. Preparing the mise en place ahead of time allows the chef to cook without having to stop and assemble items, which is desirable in recipes with time constraints.
It also refers to the preparation and layouts that are set up and used by line cooks at their stations in a commercial or restaurant kitchen.
The concept of having everything in its place as applied to the work in a kitchen is likely to have become a staple around the time of Auguste Escoffier, who is well known for his development of the brigade system of running a kitchen.
Celebrity chef Anthony Bourdain has often referred to mise en place as his religion.

source: HuggingFaceFW/fineweb-edu


skip to navigation
skip to content
apiarist 0.0.12
Python Hive query framework
Latest Version: 0.1.14
# Apiarist
A python 2.5+ package for defining Hive queries which can be run on AWS EMR.
It is, in its current form, only addressing a very narrow use-case.
Reading large CSV files into a Hive database, running a Hive query, and outputting the results to a CSV file.
Future versions will endeavour to extend the input/output formats and be runnable locally.
It is modeled on [mrjob](_URL_ and attempts to present a similar API and use similar common variables to cooperate with 'boto'.
## A simple Hive job
You will need to provide four methods:
- 'table()' the name of the table that your query will select from.
- 'input_columns()' the columns in the source data file.
- 'output_columns()' the columns that your query will output.
- 'query' the HiveQL query.
This code lives in '/examples'.
'''python
from apiarist.job import HiveJob
class EmailRecipientsSummary(HiveJob):
def table(self):
return 'emails_sent'
def input_columns(self):
return [
('day', 'STRING'),
('weekday', 'INT'),
('sent', 'BIGINT')
]
def output_columns(self):
return [
('year', 'INT'),
('weekday', 'INT'),
('sent', 'BIGINT')
]
def query(self):
return "SELECT YEAR(day), weekday, SUM(sent) FROM emails_sent GROUP BY YEAR(day), weekday;"
if __name__ == "__main__":
EmailRecipientsSummary().run()
'''
### Try it out
Locally (must have a Hive server available):
python email_recipients_summary.py -r local /path/to/your/local/file.csv
EMR:
python email_recipients_summary.py -r emr s3://path/to/your/S3/files/
## Command-line options
Arguments can be passed to jobs on the command line, or programmatically with an array of options. Argument handling uses the [optparse](_URL_ module.
Various options can be passed to control the running of the job. In particular the AWS/EMR options.
- '-r' the run mode. Either 'local' or 'emr' (default is 'local')
- '--output-dir' where the results of the job will go.
- '--s3-scratch-uri' the bucket in which all the temporary files can go.
- '--ec2-instance-type' the base instance type. Default is 'm3.xlarge'
- '--ec2-master-instance-type' if you want the master type to be different.
- '--num-ec2-instances' number of instances (including the master). Default is '2'.
- '--ami-version' the ami version. Default is 'latest'.
- '--hive-version'. Default is 'latest'.
### Passing options to your jobs
Jobs can be configured to accept arguments.
To do this, add the following method to your job class to configutr the options:
def configure_options(self):
super(EmailRecipientsSummary, self).configure_options()
self.add_passthrough_option('--year', dest='year')
And then use the option by providing it in the command line arguments, like this:
python email_recipients_summary.py -r local /path/to/your/local/file.csv --year 2014
Then incorporating it into your HiveQL query like this:
def query(self):
q = "SELECT YEAR(day), weekday, SUM(sent) "
q += "FROM emails_sent "
q += "WHERE YEAR(day) = {0} ".format(self.options.year)
q += "GROUP BY YEAR(day), weekday;"
return q
## License
Apiarist source code is released under Apache 2 License. Check LICENSE file for more information.
File Type Py Version Uploaded on Size
apiarist-0.0.12.tar.gz (md5) Source 2014-08-12 37KB
 - Downloads (All Versions):
 - 0 downloads in the last day
 - 108 downloads in the last week
 - 1274 downloads in the last month


How to fix exclamation marks on your AirPort menu bar icon
Some routers require passwords in a particular format. Users may find that after entering a password for a WEP Internet connection, their AirPort menu bar icon shows an exclamation mark.
Some routers require passwords in a particular format. Users may find that after entering a password for a WEP Internet connection, their AirPort menu bar icon shows an exclamation mark. You may also see an alert that reads, "Alert: No Internet connection..."
These routers actually have open networks that your Mac will associate with, but they still require a correctly formatted password to connect to the Internet. If the password is not interpreted correctly, the exclamation mark will appear and you will be unable to access content online.
Apple
To remedy the situation, you need to adjust the format of your Wi-Fi password. A Wired Equivalent Privacy (WEP) password is an older, less-secure password setup and should only be used if you have a device that only supports WEP encryption.
To join a WEP-protected network from your Mac you must enter one of two formats for your password. The first, ASCII, requires using a plain double-quotation mark (") before and after the password you were given to join the network. For example, if you are at a coffee shop that uses WEP encoding and they say their password is espresso, you would enter "espresso" to join the network.
The other format, hexadecimal, requires users to add a dollar sign ($) before the password. In the example above, you would enter: $espresso.
Most likely, your barista will not know which format the network is using, so just try both.
Be sure to follow MacFixIt on Twitter and contribute to the CNET Mac forums.
Featured Video
6
This content is rated TV-MA, and is for viewers 18 years or older. Are you of age?
Sorry, you are not old enough to view this content.
The WRT1900ACS is Linksys' new best Wi-Fi router to date
CNET editor Dong Ngo compares the new WRT1900ACS and the old WRT1900AC Wi-Fi routers from Linksys. Find out which one is better!
by Dong Ngo


Monday, July 23, 2012
How to Fix Common Lotus Notes NSF File Errors
Notes Storage Facility (NSF) is a database file for Lotus Notes email client and Domino server application. While working on Lotus Notes, many times we have to face many type errors. Here we shall discuss few common errors:
Error: "Entry Not Found in Index"
Cause and How to Fix?
Mostly this error occurs when you make some changes in exist policies. You can solve this problem by re-editing and resaving all defined policies on server with .nsf extension like: names.nsf.
Error: when Lotus Notes is the Source, missing key value in server log error message.
Cause and How to Fix?
When you encounter an error, it will log the key field and its value for easy identification of the problematic data. In some cases, the key value is missing: for example,
[Kernel][Lotus Notes, RecordSet][Lotus Notes] Failed to read plain text from Rich Text; Fetch failed. Error occurred while fetching field [RichtextFieldName], DataType Rich text
[Kernel]Error on this retrieved document with Key Field[KeyField] = []
This issue occurs due to ordering of fields in Composer Column Mapping. If the field which is causing a problem comes before the key field, you will find the key value empty.
To solve this, try the following measures:
1) Make a copy of the replication
2) Unmap certain fields that are more likely to cause an issue (e.g. rich text and other complex types)
3) Resubmit the job.
4) If you continue to get the error, systematically repeat steps #2 & 3. Once you find a mapping where the job runs correctly, then the column(s) that you most recently unmapped are the cause for this error.
Error: Unable to open Name and Address Book (-names.nsf), due to error "File does not exist". Locations cannot be used until the problem has been corrected.
Cause and How to Fix?
Firstly, check the location of .nsf file to make sure that your personal Names.nsf file is on the right place or not.
c:\program files\ibm\lotus\Notes\data (single user install)
or
\local settings\application data\lotus\Notes\data (multi User install)
There are many ways to track the location of this file. But, you can simply use Notes.ini file which will tell you the correct location of the file. It is faster than searching entire registry.
In case, if the Names.nsf does not exist, then simply restore or recreate the new database.
Except above errors, there are some destructive errors may also occur in your Lotus Notes database files which can cause data loss problems. To fix such kind of errors, you should go for a third party Lotus notes repair application like Stellar Phoenix Lotus Notes Recovery. This software is a very simple to use and effectively handles the damaged NSF file. The software recursively scans the damaged/corrupt .nsf file and make Lotus Notes error free.


text: Professional accountants are important agents of change, contributing significantly to effective implementation of financial reporting and auditing reform and helping businesses meet their objectives through the provision of relevant business advisory and consulting services. Professional Accounting Organizations (PAOs), to which professional accountants belong, help their membership through ongoing training, guidance and tools aimed to maintain their professional competence. PAOs also provide authorities, such as audit Public Oversight Bodies (POBs), with potential partners in regulation. For example, the performance of quality assurance reviews of non-Public Interest Entities is performed in many countries by the PAO under the POB's supervision rather than by the POB. PAO's also undertake other important functions such as; promoting the adoption and implementation of international accounting, auditing and ethical standards, investigating and where necessary disciplining members not meeting professional obligations and overseeing the recruitment of new entrants into the profession to ensure a talent pipeline sufficient to undertake its important role in society on an ongoing basis.

source: openbmb/Ultra-FineWeb


text:
Ion-exchange in glass substrate has long been an enabling technology for optical waveguides device manufacturing.
Thus, in the last years, hybridization of ion-exchanged glass waveguides components has become a promising method
for functional integration. In that context, we propose a Integrated acousto-optic Polarization Analyzer Sensor (IPAS)
made by ion-exchange in a glass substrate. The IPAS consists in two Y-junctions that give three different outputs. The
first one is simply one output waveguides of the first Y-junction. The two other outputs are the waveguides following the
second Y-junction. A piezoelectric plate is placed over the entrance waveguide of the second Y-junction. It creates an
artificial anisotropy when it is excited electrically. For each one of the three output signals, a polarizer is inserted
between the waveguide's end and a photodetector. The IPAS is a compact hybrid realization insensitive to vibrations and
easy to realize. It is capable to determine, with adequate signal processing, the polarization state of a light beam.
Experimental results are obtained with a single buried straight waveguide made by low birefringence Ag+↔Na+ ion-exchange.
The measured polarization state is compared with a commercial polarization analyzer.
This paper was published in SPIE Proceedings Vol. 7218


Assessment of an immunomarking technique for the study of dispersal of Culicoides biting midges
Capturemarkrecapture techniques are used to determine the dispersal and survival of arthropods, including vector groups such as Culicoides. An assumption of these studies is that capture and the subsequent marking process does not impact of the survival and behaviour of the marked individual. The small size of Culicoides means that a significant mortality and disruption of normal behaviour such as host-location can be caused by the process of collection. Here we evaluate a technique, novel to the study of dispersal in vectors, to mark Culicoides directly and indirectly without prior capture. The acquisition and subsequent detection of marker protein by Culicoides exposed to a treated substrate was investigated in the laboratory. The technique was then assessed in a small-scale field trial where a defined section of resting habitat was sprayed with an egg white solution and Culicoides caught within the vicinity were tested for the presence of egg protein. It was found that up to 100% of Culicoides acquired the protein marker in the laboratory with no apparent impact on survival. In the field, pools of Culicoides obsoletus collected next to the treated area were found to be positive for the protein, suggesting that the technique could be used in larger-scale studies. The definition of a behaviourally non-invasive technique for marking Culicoides will greatly increase our understanding of the natural dispersal behaviour of Culicoides and other vectors
Trim content
® The Pirbright Institute 2021 | A company limited by guarantee, registered in England no. 559784. The Institute is also a registered charity.


text:
Age and weathering rate of sediments in small catchments: the role of hillslope erosion
Abstract:Erosion is intimately linked to chemical weathering, however we lack quantitative constraints on how erosion processes impact mineral weathering rates. Here we use the uranium-series isotope composition of river-borne material in small catchments of Puerto Rico and southeastern Australia to study the effect of contrasting erosion regimes on weathering.
The U-series isotope composition of stream sediments was modelled to infer a weathering age, i.e. the average time elapsed since the sediment's minerals have started weathering. In southeastern Australia, the weathering age of stream sediments ranges between 346 ± 12 kyr and 1.78 ± 0.16 Myr, similar to values inferred from weathering profiles in the same catchment. Old weathering ages likely reflect the shallow origin of sediments mobilised via near-surface soil transport, the main mechanism of erosion in this catchment. Contrastingly, in Puerto Rico weathering ages are much younger, ranging from 5.1 ± 0.1 to 19.4 ± 0.4 kyr, reflecting that sediments are derived from less weathered, deeper saprolite, mobilised by landslides.
Weathering ages of stream sediments are used to infer catchment-wide, mineral-specific weathering rates that are one to two orders of magnitude faster for Puerto Rico than for southeastern Australia. Thus, the type of erosion (near-surface soil transport vs. landslide) also affects the weathering rate of river sediments, because their weathering ages determine the potential for further weathering during sediment transport and storage in alluvial plains.


text:
Certificat de formation à la sécurité
The Certificat de formation à la sécurité (CFS) (in English Safety training certificate) is the French national degree required to be flight attendant in France. It replaces the Certificat de Sécurité Sauvetage (CSS) since the 16th of July 2008. It consists of a theoretical and a practical part, each of them contains teaching in aviation safety and first aid.
References[change | change source]


text:
The Port of Life II. - Enso
How to become nothing, to become invincible? How to reach the inimitable state of equanimity and great void? How to surrender yourself to memories and expectations, to forego cultural and surpass group identity and conquer the four stages to ultimate migratory freedom?
The musically vast work entitled "The Port of Life II. - Ensō, which through conceptually and genre complex multi-movement musical suite interweaves the psychological experience of the immigrant in later phases of acculturation and describes his long-term path to brighter cultural marginalization and the rise above group identification, the most recent compositional work by multiple award winning, New York based Slovenian composer Jean John / Žan Tetičkovič is a big successor to the project The Port of Life (2016) for which Jean received a special compositional prize "2017 ASCAP Johnny Mandel Prize.
From the initial phase of integration, in which the initial and new culture appear equivalent, to second state of complete assimilation, in which the immigrant completely surrenders to the new culture, to the melancholy-domicile position of separation, and, last but not least, the most psychologically emancipating phase of marginalization, the music written for the eleven piece chamber jazz ensemble and a classical string orchestra takes the listener on a unique path to personal regression and the rise over the phenomenon of socio-cultural identification.
The name Enso, which in Zen Buddhist culture does not only represent a circular motion and signifies the illusion of time, but also the moment of creation in the state of complete freedom is to showcase the project's main premise to yet again take the listener on the sonically intertwined path of acculturation, which this time apex and terminates with complete emancipation from any kind of cultural or greater group association. The great individual void is the destination, and the necessary stage where one solely accepts responsibility for one's own actions, free from anything given.


Enable contrast version
Tutor profile: Sunil D.
Inactive
Sunil D.
Degree in Mathematics; Excelled in Math Competitions
Tutor Satisfaction Guarantee
Questions
Subject: R Programming
TutorMe
Question:
How do I read in an excel spreadsheet into R and perform a t-test between two groups. The excel has one column specifying the type of car ("ford" or "tesla") and another column giving it's maximum speed. The data previewed looks like this: company max_speed ford 122 ford 127 ford 127 tesla 120 tesla 115 tesla 127
Inactive
Sunil D.
Answer:
I'm going to list what is being done on the line after step x: Then I'm going to give you the relevant R code below that step to execute what is stated. Step 1: Read in the csv file using the read.csv command data = read.csv("name_of_your_file.csv") Step 2: Separate the max_speed values based on company name tesla = data$max_speed[ which(data$company == "tesla") ] ford = data$max_speed[ which(data$company == "ford") ] Step 3: Perform the t-test based on these values t.test(tesla,ford) The t.test command will print to the screen important statistics from the test such as the p-value. In this particular example the p-value was 0.4042 meaning that there is no significant difference between the max speeds of the two groups.
Subject: Calculus
TutorMe
Question:
Find the local minima of the function: $$ f(x) = x^{3} - 3x$$.
Inactive
Sunil D.
Answer:
When asked to find minimas or maximas of a function, the first step you should perform is to find the derivative of the function, set it equal to 0, and solve for x, like so: $$ f'(x) = 3x^{2}-3 = 0 $$ $$ 3(x+1)(x-1) = 0 $$ $$ x = 1 $$ or $$ x = -1 $$ We now have two potential candidates as local extrema (local maxima or local minima), but how do we determine which of these are maxima/minima? We do this by plugging in our two candidates into the second derivative of the function like so: $$ f''(x) = 6x $$ $$ f''(1) = 6 $$ $$ f''(-1) = -6 $$ Rules: If the second derivative is positive when evaluated at the value , it is a local minima If the second derivative is negative when evaluated at the value , it is a local maxima Note: A way to remember this is that it's the opposite of what you would think. You would think a maxima would be at the largest value (a positive value) of the 2nd derivative, but it's the opposite. A maxima is at a negative value of the 2nd derivative. Using the above two rules it is easy to see that $$x=1$$ is a minima and $$x=-1$$ is a maxima and so the answer to the question is that $$x=1$$ is the local minima of the function.
Subject: Statistics
TutorMe
Question:
An unfair coin is tossed 10 times with the probability of head being 0.6. What is the probability of getting exactly 3 heads?
Inactive
Sunil D.
Answer:
The number of successful outcomes (success being heads in this case) can be modeled with a binomial distribution. $$ P(X = k) = {n \choose k} p^{k}(1-p)^{n-k}$$ Where n is the number of trials (10 in our case) and k is the number of successes (3 heads) and p is the probability of success (p=0.6). Using our formula to evaluate we have: $$ P(X = 3) = {10 \choose 3} (0.6)^{3}(1-0.6)^{10-3} = 120*(0.6)^{3}(0.4)^{7} = 0.04246733 $$ A way to think about this solution is that suppose we got 3 heads on the first 3 tosses of the coin and then 7 tails. The probability of this happening is $$ (0.6)^{3}(0.4)^{7} = 0._PHONE_$$. But notice that this is only one way of achieving 3 heads and 7 tails. We could have gotten 7 tails on the first 7 tries and then 3 heads which would have also satisfied our requirements of having 3 heads and 7 tails out of the 10 tosses. As a matter of fact there are $$ {10\choose3} = 120 $$ ways of attaining our desired outcome and that is why we multiply the probability of a getting a single successful outcome $$ (0.6)^{3}(0.4)^{7} $$ by 120.
Contact tutor
Send a message explaining your
needs and Sunil will reply soon.
Contact Sunil
Request lesson
Ready now? Request a lesson.
Start Lesson
FAQs
What is a lesson?
A lesson is virtual lesson space on our platform where you and a tutor can communicate. You'll have the option to communicate using video/audio as well as text chat. You can also upload documents, edit papers in real time and use our cutting-edge virtual whiteboard.
How do I begin a lesson?
If the tutor is currently online, you can click the "Start Lesson" button above. If they are offline, you can always send them a message to schedule a lesson.
Who are TutorMe tutors?
Many of our tutors are current college students or recent graduates of top-tier universities like MIT, Harvard and USC. TutorMe has thousands of top-quality tutors available to work with you.


Glossary Terms
Search The Glossary
Enter your search terms above to search the glossary
Literally "song" in Italian, the canzone is a lyric poem originating in medieval Italy and France and usually consisting of hendecasyllabic lines with end-rhyme. The canzone influenced the development of the sonnet.
Originally appeared in Poetry magazine.
This poem has learning resources.
This poem is good for children.
This poem has related video.
This poem has related audio.


Debug Pods and ReplicationControllers
This page shows how to debug Pods and ReplicationControllers.
Before you begin
You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:
To check the version, enter kubectl version.
 - You should be familiar with the basics of Pods and with Pods' lifecycles.
Debugging Pods
The first step in debugging a pod is taking a look at it. Check the current state of the pod and recent events with the following command:
kubectl describe pods ${POD_NAME}
Look at the state of the containers in the pod. Are they all Running? Have there been recent restarts?
Continue debugging depending on the state of the pods.
My pod stays pending
If a pod is stuck in Pending it means that it can not be scheduled onto a node. Generally this is because there are insufficient resources of one type or another that prevent scheduling. Look at the output of the kubectl describe ... command above. There should be messages from the scheduler about why it can not schedule your pod. Reasons include:
Insufficient resources
You may have exhausted the supply of CPU or Memory in your cluster. In this case you can try several things:
 - Add more nodes to the cluster.
 - Terminate unneeded pods to make room for pending pods.
 - Check that the pod is not larger than your nodes. For example, if all nodes have a capacity of cpu:1, then a pod with a request of cpu: 1.1 will never be scheduled.
 You can check node capacities with the kubectl get nodes -o <format> command. Here are some example command lines that extract the necessary information:
 kubectl get nodes -o yaml | egrep '\sname:|cpu:|memory:'
 kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, cap: .status.capacity}'

 The resource quota feature can be configured to limit the total amount of resources that can be consumed. If used in conjunction with namespaces, it can prevent one team from hogging all the resources.
Using hostPort
When you bind a pod to a hostPort there are a limited number of places that the pod can be scheduled. In most cases, hostPort is unnecessary; try using a service object to expose your pod. If you do require hostPort then you can only schedule as many pods as there are nodes in your container cluster.
My pod stays waiting
If a pod is stuck in the Waiting state, then it has been scheduled to a worker node, but it can't run on that machine. Again, the information from kubectl describe ... should be informative. The most common cause of Waiting pods is a failure to pull the image. There are three things to check:
 - Make sure that you have the name of the image correct.
 - Have you pushed the image to the repository?
 - Run a manual docker pull <image> on your machine to see if the image can be pulled.
My pod is crashing or otherwise unhealthy
Once your pod has been scheduled, the methods described in Debug Running Pods are available for debugging.
Debugging ReplicationControllers
ReplicationControllers are fairly straightforward. They can either create pods or they can't. If they can't create pods, then please refer to the instructions above to debug your pods.
You can also use kubectl describe rc ${CONTROLLER_NAME} to inspect events related to the replication controller.
Last modified February 11, 2021 at 3:51 PM PST : clean up use of word: just (3ff5ec1ef)


text:
Spider legs use hydraulic pressure. When they die their legs curl because the liquid dries up!
Spiders' legs curl up is because a spider uses hydraulic pressure to push liquid into it's legs that allow it to move, and when it dies the liquid drains out making the legs curl up
If you've ever killed a spider (without completely squishing it) or come across one that is already dead, you know that their legs curl up beneath them when they die. You may be too busy being grossed out by this eight-legged creature to wonder just why this is. Human's limbs don't curl inward after they die. So what is going on with this posthumous tendency.
It turns out that spiders' legs are hydraulic. Or more specifically, two of the six joints in their legs are hydraulic. In order to straighten these joints and subsequently their legs, spiders flex their muscles and increase the pressure. When the spider dies, it obviously loses control over it's leg system and relaxes. The legs then curl upward automatically because no pressure is keeping them straightened.


OMG moment affects GPAs
Chemistry professor uses Hogwarts-styled 'House Cup' challenge to improve learning
Organic chemistry students choose House Cup teams.
Organic chemistry students choose House Cup teams.
Professor Angela King had an OMG moment last year at a teaching retreat, which led her to change how her organic chemistry classes operate.
King realized, "What a student expects to learn and how they expect to do in a class actually impacts their learning."
For example, a student might take a divisional class and assume they will get an A because it's viewed as their "easy" class. "They are already calculating their GPA based on that A and will do whatever it takes to get that A," she said, "while a student who takes a class perceived as more difficult, like my organic chemistry course, just wants to pass the class."
Read more at Wake Forest News


text:
Mosaic was created as a Google Summer of Code project by Chao Zhang in collaboration with the National Resource for Network Biology (NRNB). Please contact us with any feedback or questions.
And if you end up using Mosaic in your research, please cite this publication:
Chao Z, Hanspers K, Kuchinsky A, Salomonis N, Xu D, and Pico AR. Mosaic: Making Biological Sense of Complex Networks. Bioinformatics 2012, 28, 14:1943-4.
Mosaic is supported by the National Resource for Network Biology (P41 GM103504).
Note that Mosaic requires the CyThesaurus plugin, version 1.3.1 or higher:
- Select a network to load under File>Import Network (Multiple File Types). The network can be in any of the Cytoscape supported network file formats.
- Start Mosaic by selecting Plugins>Mosaic.
- If this is the first time running Mosaic on your network, you will see a message in the Retrieve GO Annotations section of the Mosaic interface to download necessary databases. Click Download to continue. Mosaic will download the necessary database for your data. It is only necessary to download datbases once per species.
- Once database download is complete, Mosaic will prompt you to annotate your network with GO annotation. Click Annotate to continue. You can save the annotated network as a session file for future use. You can also re-annotate the network with the latest annotations from GO at any time by clicking Re-annotate.
- In the Select Attributes section, verify that the
correct attributes are selected.
Note: It is possible to select node attributes other than GO annotation for partitiong and node color, but not for layout. Using alternate annotations involves importing annotation data prior to running Mosaic.
- In the Set Parameters section you can choose several
parameters that will directly affect the results of Mosaic:
- Minimum nodes to view: The minimum number of nodes in a subnetwork. Any subnetworks with fewer nodes will not be shown. Default is 5.
- Maximum nodes to view: The maximum number of nodes in a subnetwork. Any subnetworks with more nodes will not be shown. Default is 200.
- GO level cutoff for partition: The level of the GO hierarchy used for partitioning into subnetworks. Selecting a deeper level (larger number) results in a larger number of subnetworks. You can always drill deeper into a given subnetwork after running the initial partition. Default is 2. Note that for the purposes of this manual, GO level cutoff was set for "All the way", meaning to the deepest possible level of GO.
- Spacing between nodes: Spacing between nodes in a given subnetwork. Default is 30.
- Click Run to start Mosaic.
- To locate a particular subnetwork, select the network in the Mosaic side panel to highlight it in the tiled view.
- To view a particular subnetwork, click the Maximize button at the top left of the tiled window.
- Move nodes by click and drag to optimize the layout.
- Delete nodes and/or edges.
- Zoom in and out.
- Use the Network Overview Pane in the lower left corner of the Cytoscape window to navigate around the network.
- Highlight a set of nodes to view associated attributes in the Data Panel. To add specific attributes to the display, click the Select Attributes button in the Data Panel and select the attributes you want to see from the list.
- Search for specific nodes by typing the name of the node in the Search field in the Cytoscape toolbar. If the node is found, this will refocus the network view on the node.
- Select a non-end branch by clicking on it in the Mosaic tab in the Control Panel.
- Right-click on the branch and select Partition This Network. You will be able to select a specific subnetwork to create, or you can select all.
In addition to the visual style that is applied to the overview network, the corresponding attribute values used to create the visual style is available as a set of node and edge attributes. The attributes are
- evidences: nodes classified in the GO/process (node attribute)
- subnetworkSize: number of nodes classified in the GO/process(node attribute)
- commonEvidences: nodes in common (edge attribute)
- overlapCount: number of nodes in common (edge attribute)
- After importing a network, go to File>Import>Attribute from Table (Text/MS Excel)... to open the Import Annotation File interface.
- Select the annotation file. In the Advanced section, select Show Text File Import Options. In the Attribute Names section, select Transfer first line as attribute names.
- In Advanced, select Show Mapping Options and verify that the correct column in the annotation file is mapped to the appropriate network attribute (i.e. matching identifiers).
- In the Preview section, deselct columns that you don't want to import by clicking on the column header. The column should be highlighted in grey if de-selected. The interface should now look like this:
- Click Import to start the import.
- When import is finished, select a few nodes in the network and verify in the Data Table that the annotation was imported correctly.
- Start Mosaic. In the Select Attributes section, select the imported attribute under Attribute to use for node coloring. Click Annotate to annotate the network with GO for partitioning and layout.
- Each subnetwork will now be colored based on the predicted miRNA binding sites.


Re: Finite verbs
Date: Fri May 10 1996 - 10:39:45 EDT
Marion Fox here:
I have asked several questions about finite verbs and two persons responded
to my questions. I am grateful to those who responded to my questions. I
should like to trouble you some more on this subject.
In Romans 8:27 the subject of the sentence is HO...EREUNON...(The one
searching) is it not?
The finite verb OIDE (He knows) is something the subject is doing is it
not? By this I mean is the subject of this finite verb "The one searching"
the hearts?
Question: What is the subject of the finite verb ENTUGCHANEI (He makes
intercession-verse 27)? What rule of grammar/syntax have you used to
determine the subject of this verb?
Question: Is there a difference between ENTUGCHANEI HUPER (He makes
intercession in behalf of-verse 27) and HUPERENTUGCHANEI (He makes
intercession in behalf - verse 26)?
It would be helpful if a list of standardized transliteration would be
published on B-GREEK. I hope I have used the standard form for B-GREEK.
Marion R. Fox
Engineering Science Department
Rose State College
6420 SE 15th Street
Oklahoma City, Oklahoma 73110
4004 Twisted Trail Dr. SE
Oklahoma City, Oklahoma 73150-1910
Voice _PHONE_ Home _PHONE_


The Bolson Tortoise project was featured on NPR's 90 Second Naturalist podcast, which provides a daily glimpse into the natural world from Thane Maynard, President of the Cincinnati Zoo and Botanical Garden.
The largest and rarest of the five North American tortoise species, the bolson tortoise is thought to have once lived throughout most of the Chihuahuan desert, but its current range is restricted to a small area in north central Mexico where the states of Durango, Chihuahua, and Coahuila meet. In an effort to prevent the species' extinction, TESF is working towards establishing free-ranging bolson tortoise populations on the Ladder and Armendaris Ranches in New Mexico, which lie at the northern tip of the tortoise's prehistoric range. In May 2017, Turner released the first captive-born Bolson Tortoises in the United States, 10 to 15 thousand years after they disappeared from the area.


text:
Macau is well known as a gaming city in Asia and even in the world, where the environmental protection is always a focus for the governmental administration and public concern. In the meantime, the subject of urban environment and city development is also a sustaining research interest for the academic society of Macau and it is also a hot topic for collaborative researches of Macau scholars and the scholars from Beijing and Guangzhou and Hong Kong as well as the Pearl River delta region. For this reason, Macau Environmental Research Institute (MERI) is established in September, 2015, and is becoming the key research institute in Macau University of Science and Technology.
MERI is committed to a research strategy in accordance with the social, economic and cultural significance of Macau. We organize full-scale academic communication and cooperation with research institutions in Macau, from periphery and around the world. With these capacities combined, MIRI hopes to further carry out the systematic researches on the new environmental topics in Macau, and endeavors to build an advantaged research platform for interested scholars and students and to offer original and meaningful research findings for local and international academics. The research fields will mainly include but not limited to:
- Vehicle emission pollution and risk analysis;
- Urban ambient air quality simulation and prediction;
- Environmental pollution and risk analysis of Macau estuary;
- Solid waste recycling and management;
- Urban energy saving and emission reduction, and clean energy resources utilization;
- Ecological remediation of urban landscape lake;
- Public health and urban environmental pollution;
- Life cycle assessment method and application;
- Applications of remote sensing and urban geographic system；
- Strategic studies for city sustainable development and sustainable development index system;
- Environmental Quality Standard and Risk Assessment of Guangdong, Hong Kong and Macao
- Recovery theory and technology for the contaminated soil
An efficient crew of full-time and part-time researchers established the solid basis for teaching and research of the institute. We also built the stable cooperation relationship with the university in mainland China, such as Tsinghua University; Chinese Academy of Sciences; Shenzhen University.
In addition, MERI had launched a master program on Environmental Science and Management. At the same time, we are also preparing for the application of Ph.D degree program.


text:
Inmarsat brings IoT connectivity to rural hydroelectric power stations in Wales
RWE, a German power company in the UK, has partnered with satellite operator, Inmarsat, to implement satellite IoT connectivity to its hydroelectric power stations in rural northwest Wales.
RWE power stations are located in the mountains of Snowdonia, which receives the most amount of rainfall in Wales, providing suitable conditions for hydroelectric power generation. However, connectivity is unreliable and satellite technology integration has been proposed as a solution. IoT devices deliver up-to-date data instead of requiring staff to travel to the remote locations to gather measurements.
Inmarsat's ELERA network connects across RWE's IoT-connected power stations and has an astounding 99.9 percent availability. Sensors record rainfall, air, humidity, water levels and temperatures at intervals. This recorded data is then used to optimize electricity output while reducing environmental impact.
John McNab, Operations and Maintenance Engineer at RWE, posited that up-to-date data provided by the IoT connectivity aids in planning of maintenance by ensuring safety for workers during harsh weather conditions. McNab also stated that the data also helps in decision making when supplying renewable energy to its customers.


text:
TEL AVIV, Israel, July 19 (UPI) -- Israeli researchers say cigarette cravings may be more a result of habit rather than addiction.
Researchers from Tel Aviv University suggest their study finding may help explain why nicotine patches and gum are often ineffective but psychologically based smoking cessation programs can be successful.
The study, published in the Journal of Abnormal Psychology, concluded the intensity of cravings for cigarettes has more to do with psychosocial elements of smoking than with the physiological effects of nicotine.
"These findings might not be popular with advocates of the nicotine addiction theory, because they undermine the physiological role of nicotine and emphasize mind over matter when it comes to smoking," Dr. Reuvan Dar, the study leader, said in a statement.
Dar and colleagues monitored the craving levels of flight attendants -- both women and men -- during a long flight of 10-13 hours, as well as shorter two-hop trips where each leg lasted 3-5 hours. They found flight duration had no significant impact on craving levels. In fact, craving levels at the end of each short flight were higher than those at the end of the long flight, the study determined.
|Additional Health News Stories|
WASHINGTON, June 18 (UPI) --General Motors said it would recall 231,000 model year 2006-07 vehicles due to a short in the driver's door that could spontaneously cause a fire.


,v in format_kws]) gspecs.append(('%s%s={\n%s}' if len(format_kws)>1 else '%s%s={%s}') % (tab, group, entries)) return f'OptionTree(groups={groups.keys()},\n{gsep.join(gspecs)}\n)'
EMPTY_OPTIONS = Options()
[docs]class Compositor(param.Parameterized): """ A Compositor is a way of specifying an operation to be automatically applied to Overlays that match a specified pattern upon display. Any Operation that takes an Overlay as input may be used to define a compositor. For instance, a compositor may be defined to automatically display three overlaid monochrome matrices as an RGB image as long as the values names of those matrices match 'R', 'G' and 'B'. """ mode = param.ObjectSelector(default='data', objects=['data', 'display'], doc=""" The mode of the Compositor object which may be either 'data' or 'display'.""") backends = param.List(default=[], doc=""" Defines which backends to apply the Compositor for.""") operation = param.Parameter(doc=""" The Operation to apply when collapsing overlays.""") pattern = param.String(doc=""" The overlay pattern to be processed. An overlay pattern is a sequence of elements specified by dotted paths separated by * . For instance the following pattern specifies three overlaid matrices with values of 'RedChannel', 'GreenChannel' and 'BlueChannel' respectively: 'Image.RedChannel * Image.GreenChannel * Image.BlueChannel. This pattern specification could then be associated with the RGB operation that returns a single RGB matrix for display.""") group = param.String(allow_None=True, doc=""" The group identifier for the output of this particular compositor""") kwargs = param.Dict(doc=""" Optional set of parameters to pass to the operation.""") transfer_options = param.Boolean(default=False, doc=""" Whether to transfer the options from the input to the output.""") transfer_parameters = param.Boolean(default=False, doc=""" Whether to transfer plot options which match to the operation.""") operations = [] # The operations that can be used to define compositors. definitions = [] # The set of all the compositor instances
[docs] @classmethod def strongest_match(cls, overlay, mode, backend=None): """ Returns the single strongest matching compositor operation given an overlay. If no matches are found, None is returned. The best match is defined as the compositor operation with the highest match value as returned by the match_level method. """ match_strength = [ (op.match_level(overlay), op) for op in cls.definitions if op.mode == mode and (not op.backends or backend in op.backends) ] matches = [ (match[0], op, match[1]) for (match, op) in match_strength if match is not None ] if matches == []: return None return sorted(matches)[0]
[docs] @classmethod def collapse_element(cls, overlay, ranges=None, mode='data', backend=None): """ Finds any applicable compositor and applies it. """ from .element import Element from .overlay import Overlay, CompositeOverlay unpack = False if not isinstance(overlay, CompositeOverlay): overlay = Overlay([overlay]) unpack = True prev_ids = () processed = defaultdict(list) while True: match = cls.strongest_match(overlay, mode, backend) if match is None: if unpack and len(overlay) == 1: return overlay.values()[0] return overlay (_, applicable_op, (start, stop)) = match if isinstance(overlay, Overlay): values = overlay.values() sliced = Overlay(values[start:stop]) else: values = overlay.items() sliced = overlay.clone(values[start:stop]) items = sliced.traverse(lambda x: x, [Element]) if applicable_op and all(el in processed[applicable_op] for el in items): if unpack and len(overlay) == 1: return overlay.values()[0] return overlay result = applicable_op.apply(sliced, ranges, backend) if applicable_op.group: result = result.relabel(group=applicable_op.group) if isinstance(overlay, Overlay): result = [result] else: result = list(zip(sliced.keys(), [result])) processed[applicable_op] += [el for r in result for el in r.traverse(lambda x: x, [Element])] overlay = overlay.clone(values[:start]+result+values[stop:]) # Guard against infinite recursion for no-ops spec_fn = lambda x: not isinstance(x, CompositeOverlay) new_ids = tuple(overlay.traverse(lambda x: id(x), [spec_fn])) if new_ids == prev_ids: return overlay prev_ids = new_ids
[docs] @classmethod def collapse(cls, holomap, ranges=None, mode='data'): """ Given a map of Overlays, apply all applicable compositors. """ # No potential compositors if cls.definitions == []: return holomap # Apply compositors clone = holomap.clone(shared_data=False) data = zip(ranges[1], holomap.data.values()) if ranges else holomap.data.items() for key, overlay in data: clone[key] = cls.collapse_element(overlay, ranges, mode) return clone
[docs] @classmethod def map(cls, obj, mode='data', backend=None): """ Applies compositor operations to any HoloViews element or container using the map method. """ from .overlay import CompositeOverlay element_compositors = [c for c in cls.definitions if len(c._pattern_spec) == 1] overlay_compositors = [c for c in cls.definitions if len(c._pattern_spec) > 1] if overlay_compositors: obj = obj.map(lambda obj: cls.collapse_element(obj, mode=mode, backend=backend), [CompositeOverlay]) element_patterns = [c.pattern for c in element_compositors] if element_compositors and obj.traverse(lambda x: x, element_patterns): obj = obj.map(lambda obj: cls.collapse_element(obj, mode=mode, backend=backend), element_patterns) return obj
@classmethod def register(cls, compositor): defined_patterns = [op.pattern for op in cls.definitions] if compositor.pattern in defined_patterns: cls.definitions.pop(defined_patterns.index(compositor.pattern)) cls.definitions.append(compositor) if compositor.operation not in cls.operations: cls.operations.append(compositor.operation) def __init__(self, pattern, operation, group, mode, transfer_options=False, transfer_parameters=False, output_type=None, backends=None, **kwargs): self._pattern_spec, labels = [], [] for path in pattern.split('*'): path_tuple = tuple(el.strip() for el in path.strip().split('.')) self._pattern_spec.append(path_tuple) if len(path_tuple) == 3: labels.append(path_tuple[2]) if len(labels) > 1 and not all(l==labels[0] for l in labels): raise KeyError("Mismatched labels not allowed in compositor patterns") elif


text:
A paper with a high wet strength and grease resistance.
A packaging material that has a very high wet and dry strength and is impermeable to grease. Vegetable parchment is produced from an absorbing, pure, bleached chemical pulp. Vegetable parchment is also called parchment paper. See also CHEMICAL PULP; PARCHMENT
A grease-proof paper with very high wet strength, made by passing the paper web through a sulphuric acid bath that fuses its fibres into a homogenous mass.
A highly grease and water resistant paper resembling parchment and made by passing unsized paper through sulphuric acid in order to gelatinise its surface prior to the washing and drying procedures.
A packaging paper that is greaseproof or grease resistant, with high wet strength. Used for packaging such items as frozen, moist or greasy food products. It is made by passing paper through a bath of sulphuric acid.
Paper made from pure bleached chemical pulp, which goes through a treatment of sulphuric acid giving it a lasting resistance to grease penetration. This paper is used for wrapping of moist or greasy foodstuffs.
A greaseproof paper with very high wet strength, made by passing the paper web through a sulfuric acid bath that fuses its fibers into a homogenous mass.


Assigning Your Own Unique IDs to Users
Managing identity (distinct_id) yourself.
User identification in Mixpanel is handled through a property called "distinct_id." Distinct_id must be sent with every event that you wish to tie to a user.
There are advantages to managing distinct_id yourself. Most importantly, it allows you to track the same user across platforms, browsers, and between server and client side events. In our JavaScript, Android , iOS , and Actionscript libraries you can manage this process through the use of super properties (via the identify functions). Super properties are simply properties that are appended by the library onto every event for a given user automatically. When sending server side events, however, you must keep track of which distinct_id value to send with each event on your own.
Identifying users from our JS/AS3 or mobile libraries
If you are sending events from a library that supports super properties, then you can assign a distinct_id value to a user by calling the identify method. When you identify a user, it changes the value for distinct_id in that user's super properties. This means that every subsequent event sent by that user will be attributed to the new id. This does not mean that events previously sent by that user will be attributed to the new id. They will remain in our system with the old id and cannot be edited.
Use caution when employing the identify method since it may break a funnel or diminish totals on a retention report. If, for instance, you identify a user in the middle of a funnel, the funnel will appear to break or under-report since Mixpanel will no longer be able to follow one distinct_id value through the entire sequence of events for that user. Identifying a user with the same distinct_id value they already have does not cause issues.
The most common place to use the identify method is when a user authenticates. In most cases you are simply calling the same distinct_id value that the user already has, which is fine. The goal is to ensure that all authenticated behavior is properly attributed to a given user regardless where they are located. However, it is true that for users who return with a new distinct_id value, the pre-authentication events will not be associated with the post authentication events. Luckily, in most cases the only funnel that spans both unauthenticated and authenticated events is your sign-up funnel, which can be accommodated using our aliasing feature.
Using Alias
Currently the Alias method is available for the JavaScript, iOS, and Android libraries (and for HTTP requests using the special "$create_alias" event). Alias allows you to continue using one distinct_id value throughout your signup funnel (and forever more) despite the fact that you'd like to begin using your internal value for distinct_id going forward. When you call alias, mixpanel will create a look-up table for the value you alias to. All subsequent events sent bearing that distinct_id will have their distinct_id values over-written with the original value that had been sent by the user before alias was called. More on alias here.
Important: do not fire alias every time a user authenticates. This is not how the method is designed to be used and will only cause problems. Alias should be called exactly once per user, at signup.
Identifying a user via HTTP
Since distinct_id is simply a property sent with every event to Mixpanel, there is no way to identify a user via HTTP. The Identify method makes a local change to the list of properties that get appended onto every subsequent event. If you would like to "identify" a user via HTTP, all you have to do is begin sending events with the desired distinct_id included in the properties.
Aliasing a user via HTTP
You can alias a user via HTTP by emulating the call being made by the JS library. It looks like this (before it's encoded to base64):
 {
 "event": "$create_alias",
 "properties": {
 "alias": "123"
 "distinct_id": "123456789ABCDEF0=="
 "time": _PHONE_,
 "token": "our-token"
 }
 }
The above JSON is dispatched in the data param in a call to our track endpoint. More on sending requests to the track endpoint here. The "distinct_id" param here is the pre-alias distinct_id, and the "alias" param is the alias to be added to the lookup table for that user.


text:
1 TOUR OF THE NORWEGIAN AVIATION MUSEUM
Top Image: 2048
The Norwegian Aviation Museum is Scandinavia's largest and one of the most modern museums of its type in Europe. The building itself is designed like a giant propeller. This museum's exciting atmosphere gives an experience of aviation and aeronautics history. At close hand, you can examine famous and historical aircraft such as Lockheed U-2 - a famous spy plane of the Cold War era, the legendary Supermarine Spitfire, the fast and potent CF-104 Starfighter that dominated European skies in the 1960s and 1970s, rare and restored World War Two aircraft such as the Mosquito, Ju 88, Ju 52, and Catalina. As well and an extensive civilian aviation exhibition featuring the Canadian Twin Otter, the Dutch Fokker 28, and many others. After an introduction to the museum there will be a guided tour through civil and military aviation exhibitions, with many collections that are not exhibited anywhere else.
The Norwegian Aviation Museum is planning an exciting new addition, which will contain a special permanent exhibit of The Cold War era between the East and the West. This will represent a significant part of Norwegian aviation history throughout the last sixty years. If you would like to "fly" one of our planes, for example an F-16, a helicopter, a Hurricane, or take an acrobatic flight - you can do this by riding in our aviation simulator!
The control tower is definitely worth a visit, which was formerly the operative site for directing air traffic at Bodø Airport; it has a fantastic view of the surrounding area and lets you view much of the activity of the nearby airport and airbase at close hand.
The trip is conducted by bus and includes city sightseeing and a trip to the mountain Rønvikfjellet, where the view from the top gives you a 360 degree panoramic view of the town, the surrounding mountains and, and on clear days, a view of the Lofoten Islands in the distance.
SPECIFIC DETAILS: The exhibitions are easily accessible to everyone. There are ramps, stairways and two elevators. (Wheelchair users cannot access the control tower).
Availability: February, March, April, May, June, July, August, September, October, November, December
Maximum number of Pax: Large capacity


text:
The pursuit of a better, more fair and more accurate water sensor was revealed this week in a new patent application discovered by AppleInsider. Entitled "Mechanisms for Detecting Exposure to Water in an Electronic Device," it describes circuit-based methods, including the use of a water-soluble glue, as potentially a better way of detecting water damage.
Apple's filing notes that when a customer attempts to return a malfunctioning product, personnel at the point of sale are sometimes unqualified to properly check whether or not the device has water damage. As a result, customers frequently receive replacements for products that were damaged in methods not covered under warranty.
These erroneous replacements can prove costly to a company, and so Apple has shown interest in devising a better and more accurate way of assessing water damage to its portable devices. Pictured in the patent applications are an iPhone, iPad and iPod.
In one potential solution, Apple describes an "immersion detection mechanism" included as part of the internal components of a device. This water sensor could be covered in a water-soluble conductive glue that would electrically insulate the gap between two conducting pieces.
In the event that an iPhone or another device were to be submerged in water, this conductive glue would be permanently eroded by the water. The system would detect a change in impedance of the path, and would signal an alert to a data processor that would log water exposure events within the device.
Another potential method described by Apple involves several water sensors arranged and connected as a randomly accessible sensor array. A current can be passed through these conductive paths, and a change in impedance can be detected, which would signal an alert to a data processor that would log potential water damage events.
The application, made public this week, was first filed in August of 2010. It is credited to inventor Timothy M. Johnson.
Currently, all of Apple's mobile products come LSIs (Liquid Submersion Indicators) or LCIs (Liquid Contact Indicators) that turn from white or silver to a pinkish red when they come in contact with liquid. The sensors are used by Apple to make it easier for its retail store "Geniuses" and third-party repair technicians to determine whether a device has failed as a result of liquid damage, which isn't covered under warranty.
But those sensors occasionally result in false positives, an issue that has led to at least one lawsuit. Apple's proposed invention could be a fairer and more accurate way of detecting water damage.
Apple has apparently shown interest in water-proofing future devices with technology made by HzO. Their product, called "WaterBlock," was shown off at last month's Consumer Electronics Show in Las Vegas, Nev.
Officials with HzO indicated that they have been in talks with Apple about using WaterBlock in future devices like the iPhone. In fact, the company used the iPhone 4S, along with iPads and iPods, for demonstrations of their product at the show.
[ View article on AppleInsider ]


text:
This is a brand new Canadian genealogy database from Library & Archives Canada.
In 1789, what is now the Province of Ontario was part of Quebec. It was divided into four districts: Hesse, Luneburg, Mecklenburg and Nassau. The Land Boards were created in 1789 to oversee land matters and facilitate settlement in the four districts.
This research tool includes more than 16,400 references to the Upper Canada Land Board records.


text:
What is the purpose of grinding anode mud? In order to ensure the compactness of the anode product, a certain proportion of powder (approximately 45%) needs to be added to fill the gaps between the granules when manufacturing the raw anode. The main sources of powder are coke dust collected by the dust collection system and some fine particles (6~0mm) separated from the petroleum coke. The incoming materials are crushed into powder by anode mud pendulum mill. So, how to grind the anode mud?
The grinding anode mud adopts Vertical Pendulum Mill. The electromagnetic vibrating feeder is quantitatively fed into the pendulum mill. The dust-containing gas coming out of the anode mud mill is sorted by the air separator. The coarse particles are separated and returned to the anode mud mill for re-grinding. Qualified fine powder is collected by the cyclone collector and sent to the powder batching bin. The circulating air enters the anode mud mill through the ventilator for recycling production. The excess wind generated during the grinding process is purified and discharged into the atmosphere. In addition to being used for ingredients, part of the powder is used as an adsorbent for asphalt flue gas during the kneading and molding processes. It is used for the adsorption treatment of asphalt flue gas. After adsorbing the asphalt flue gas, it directly enters the mixing and kneading section.
The grinding anode mud, please choose Guilin Hongcheng. In addition to the pendulum mill, the anode mud mills we produce also include vertical mills, ultra-fine grinders and other models, which can process anode mud powder of 80-2500 mesh. If you have purchase requirements for anode mud grinding mill, please leave us a message to learn more about the anode mud grinding mill equipment.


text:
With much of the northeast experiencing scorching temperatures, high humidity and little to no precipitation, Carbon County is among the growing number of counties that have been placed on the Pennsylvania Department of Environmental Protection's drought list.
Mark Nalesnik, the Carbon County Emergency Management Agency director, released an updated drought map from DEP yesterday.
According to the composite indicator map, dated July 6, numerous counties throughout the eastern portion of the state are in a drought watch or warning. Carbon County is listed in a drought watch.
A drought watch declaration is the first level and least severe of the state's three drought classifications. It calls for a voluntary 5 percent reduction in non-essential water use. The classifications are dependent on four indicators, including precipitation deficits, surface water levels, groundwater levels and soil moisture. Drought watch conditions begin to occur when a deficit of 25 percent of the normal precipitation happens over a three-month period. Drought warning conditions occur when a deficit of 35 percent is recorded and drought emergency conditions begin to happen when a deficit of 45 percent is recorded.
Nalesnik recommends that Carbon County residents try to conserve water, if possible, until the drought situation improves.
He noted that there are three burn bans currently in place in the county.


text:
From OpenStreetMap Wiki
- Use existing keys if you can. When you use a key, check to see if there's an existing value that matches what you are mapping. To go looking, put your key into the following URL where it says "shop": Key:shop
- Use existing tags if you can. When you use a tag (key=value), check to see if an existing tag is already documented. Don't use it in a different way if it's already documented. To go looking, change this URL where it says "shop=car": Tag:shop=car
- Never invent a tag which you don't have a concrete use for. But if you're using a tag, document your use of the tag, so that other people won't use your tag to mean something else. Define your tag so that it is verifiable.
- If you disagree with the definition of the key or value, then create a new key or value with a different name, use it in your editing, document it in the wiki, AND (this is important) edit the page for the tag you disagree with so that it mentions your tag as an alternative so that people understand that there is disagreement. Link to Taginfo so that people can find out which is more often used in practice.
See also: Any tags you like


Using JSON.stringify() on an object that contains cyclical references
I created a Building object that had a 'marker' property (and some other properties). The 'marker' property contained a Google Map Marker, and I'm not sure of it's internals, but when I tried to use JSON.stringify() on it, I got a 'cyclic object value' error. After digging around, I found that you can pass in a second param to stringify(), which is a function that you can use to override the values of properties in the output string. In this case I used it to exclude the marker property from the string.

var json = JSON.stringify(buildingObj, function(key,value){
 if(key == "marker"){
 return undefined;
 }
 return value;
});


American in Spain
The Shadower - Realistic Drop Shadows in Javascript
December 4, 2006
This has been done before, but not in such a simple and elegant way, in my opinion. This implementation has four important features that separate it from the rest: no images, no messy nested divs in your html code, no CSS, and realistic fading shadows! It is based on the Prototype Javascript Framework, and requires version 1.5, which you can get here.
Some Examples
Other drop shadow libraries that eschew images, provide their shadow by adding an absolutely positioned div just behind the object. Like so...
Example 1
(Drag Me Around)
I think you'll agree that that looks pretty bad. But it's a lot better with a little opacity tweak...
Example 2
(Drag Me Around)
But it still just looks like a gray box under there, doesn't it? That's where the magic of The Shadower comes in. Rather than just one gray box, it uses several successively smaller boxes stacked on top of each other to create a realistic drop shadow that really fades into the background.
Example 3
(Drag Me Around)
Now, doesn't that look better? Drag it up next to the others if you aren't convinced.
So how do I use it?
There are five parameters to play with in getting your drop shadow just right.
distance [default: 8]
The distance away from the shadowed element to draw the shadow. This can also be thought of as the height "above the page" of the shadowed object
angle [default: 130]
The direction away from the shadowed element to draw the shadow. It is measured in degrees from the vertical. If you think of it like the numbers on a clock, 12 is at 0°, 3 is at 90°, 6 is at 180°, 9 is at 270°, etc. The default angle of 130 would be between 3 and 4 on the clock face.
opacity [default: 0.7]
The opacity of the shadow, measured between 0.0 and 1.0.
nestedShadows [default: 4]
This is the number of gradually darker shadows to draw under the shadowed element.
color [default: #000000]
This is the color of the shadow. The default black color is good enough for most uses, but you can change it if you want.
Go ahead! Play with it!
Test Example
(Drag Me Around)
Presets: Example 1Example 2Example 3
Ideally, you should set a CSS class on any elements that you want shadowed, and then call Shadower.shadowWithClass() on page load. Like so...
This div is shadowed
So what are you waiting for? Download it and start using it!
I have not yet tested this on all browsers. If you have any problems, please either leave a comment on this blog entry or email me at erikwordpressplugins -atgmail.


text:
Woodward's Gripe Water, 150ml
Woodward's Gripe Water is an Ayurvedic formulation with a combination of Dill oil and Sarjikakshara that provides symptomatic relief – from stomach pain caused due to gas, acidity and indigestion in infants and children. It is absolutely safe – strict checks are done at every stage of the manufacturing process to ensure the quality and hygiene of the product. Generations of mothers have trusted Woodward's to provide Colic relief to their crying babies
How Woodward's Works for Colic in Babies
Colic in babies are one of the most disrupting problems that need immediate attention. Sometimes, it can cause your baby to cry for hours at a time. The ideal time to give gripe water is 10 minutes after feeding.
Its dual action might assist with colic symptoms in babies by soothing their tummy, providing instant relief from the stomach pain.
Key Features include:
- Anethum Graveolans oil - For popping air bubbles in the tummy.
- Sarjikakshara - Neutralizes the acidity in the tummy.
- Promotes & Aids Digestion.
- 100% safe and effective on children & infants.
- Useful During Teething Period.
How to use:
- Maximum of 3 doses in a day.
- The dosage is mentioned on the individual packs and may vary based on baby's age.
- Woodward's Gripe water can be given before or after feeds, whenever the baby is distressed by colic, upset stomach, gas, indigestion or acidity.
- Be sure to shake the bottle well before each use.


text:
Aumont family page
Laying the foundation stone of the Victoria Park grandstand in Collingwood, Victoria, Australia in 1909 Among the dignitaries was Clifton Wheat Smith Aumont, born in Jersey in 1850, who was a city councillor
If you can help with information about the Aumont family, please contact _EMAIL_, using Jerripedia as the subject of your email. We are particularly interested in information which will help create further family trees, family histories and photographs
A blue link anywhere in the text will lead you to another page with more information on this family
Origins of surname
This French name has two possible derivations. The simplest and most likely is that it is a variation of Hautmont, meaning high hill, which would have been where those given the name were living.
Alternatively it may derive from the Germanic adalmund, meaning 'noble protection', or altmund, meaning 'old protection'.
It is a name which comes mainly from the Calvados and Orne departments of Normandy.
The name first appears in Jersey church records in 1825, when two families settled, one in Trinity and one in neighbouring St Martin.
Births and baptisms
These wills created by members of the Aumont family are now held by Jersey Archive. By visiting the archive site and using the names, dates and reference numbers shown here, it is possible to view a copy of each will. You will have to subscribe to the Archive's online service to do this. To find out more about this collection, which covers the period from 1663 to 1948, and how to search for your family's wills there, visit our Jersey wills page
- Louisa Aumont, Trinity - 27 September 1924, D/Y/A/84
- Pierre Aumont, St Peter - 16 January 1904, D/Y/A/63
- Le Câtillon de Bas, Grouville
Emily Elizabeth Aumont, born in Collingwood, Victoria, Australia in 1876, the daughter of Charles John, emigrant from Jersey in 1857 and Emily, nee Cockerill. She was one of five children born in Collingwood


devxlogo
Concatenated Short Message Service
Definition of Concatenated Short Message Service
Concatenated Short Message Service (CSMS) is a technology used to split and combine larger text messages that exceed the standard SMS character limit of 160 characters. It divides the long message into smaller segments, each sent as an individual SMS, and then reassembles them on the receiver's device to display the message as a single, coherent text. This process enables users to send and receive longer text messages without manual intervention.
Phonetic
The phonetics for the keyword "Concatenated Short Message Service" are:/kənˈkatəˌnādəd ʃôrt ˈmesij ˈsərvəs/kən-KAT-ən-ay-dəd shôrt MES-ij Sər-vəs
Key Takeaways
 1. Concatenated SMS allows for sending longer text messages by dividing them into smaller parts, which are sent individually and reassembled upon reception.
 2. Each concatenated SMS message part is counted as a separate message for billing purposes and can consume multiple message segments depending on the encoding used.
 3. Concatenated SMS is compatible with almost all GSM devices; however, its successful delivery depends on the recipient's device and network supporting the feature.
Importance of Concatenated Short Message Service
The technology term "Concatenated Short Message Service" (CSMS) is important because it allows for the sending and receiving of longer text messages beyond the standard 160-character limit of traditional SMS (Short Message Service). CSMS achieves this by breaking down a long message into smaller segments and reassembling them upon arrival at the recipient's device.
This innovation in text messaging enhances communication by enabling users to share more detailed and extensive information in a single message.
Consequently, CSMS has played a vital role in improving the versatility, effectiveness, and convenience of mobile communication, paving the way for the evolution of messaging platforms that cater to the growing demand for more advanced features and functionalities.
Explanation
Concatenated Short Message Service (CSMS) is a specialized feature within the realm of text messaging, fundamentally designed to extend the capabilities and enhance the user experience of SMS communications. Its primary purpose is to overcome the limitation of the standard text message length, which typically allows up to 160 characters for GSM (Global System for Mobile Communications) encoding, by enabling the sending and receiving of longer messages that seamlessly appear as a single, complete text to the recipient.
CSMS achieves this by automatically breaking down extensive messages into smaller, manageable segments and intelligently reassembling them on the recipient's device, consequently allowing users to communicate more complex ideas or share detailed information without the constraints of the traditional SMS character limit. To achieve this functionality, the CSMS protocol assigns unique identifiers and sequence numbers to each of the segmented parts of a long message, thus ensuring that the recipient's device can accurately reconstruct the message in its original form upon arrival.
This innovative solution provides users with a more convenient and efficient way to communicate through SMS, as the sender doesn't need to manually divide the message into shorter parts, nor does the recipient have to piece together separate messages while attempting to comprehend their context. Ultimately, the Concatenated Short Message Service offers an enhanced, user-friendly version of SMS communication, enabling people to convey richer and fuller content within the familiar confines of the classic text message format.
Examples of Concatenated Short Message Service
Concatenated Short Message Service (CSMS) is a technology that allows the sending of longer SMS messages by splitting the content into multiple smaller messages, which are later reassembled by the recipient's device. Here are three real-world examples of CSMS usage:
Emergency Alerts: During natural disasters or public safety emergencies, government agencies may send out urgent messages to affected populations. These messages often contain vital information and instructions that may exceed the standard 160-character limit for a single SMS. CSMS allows these alerts to be delivered in longer, more detailed formats by breaking them into smaller parts that are reassembled upon receipt.
Mobile Marketing Campaigns: Businesses often use SMS to send promotional content, offers, and updates to their customers. When a company needs to convey more information than a single SMS can contain, they may use CSMS to split the message into smaller segments and ensure it reaches the recipient as a complete, coherent message.
Personal Messaging: In everyday communication, people sometimes need to send lengthy text messages, which may exceed the standard character limit for an SMS. When sending such a long message, a smartphone typically employs CSMS to break the content into smaller parts, ensuring the entire message gets delivered to the recipient's device seamlessly. The recipient then sees the full message, which appears as a single, uninterrupted text.
Concatenated Short Message Service FAQ
1. What is Concatenated Short Message Service (CSMS)?
Concatenated Short Message Service (CSMS) is a technology that allows sending longer SMS messages by splitting the text into multiple linked parts. These parts are reassembled by the recipient's mobile device, displaying a single, coherent message.
2. How does CSMS work?
CSMS works by dividing a long message into smaller segments called "message parts." Each part contains a User Data Header (UDH) and a reference number, indicating the total number of parts and the order in which they should be combined. When the recipient's device receives these parts, it uses the reference number and UDH to reassemble the message into its original form.
3. What is the maximum length of a concatenated SMS?
The maximum length of a concatenated SMS depends on the encoding used. For GSM 7-bit encoding, each message part can have up to 153 characters, while for UCS-2 (Unicode) encoding, each part can have up to 67 characters. Consequently, a concatenated SMS with 3 parts has a maximum length of 459 characters in GSM 7-bit encoding or 201 characters in UCS-2 encoding.
4. Can all mobile devices support CSMS?
Most modern mobile devices support CSMS. However, older devices or those with limited SMS features may not support it. In such cases, the recipient may receive the message parts as separate, unintelligible SMS messages.
5. Are there any additional charges for sending concatenated SMS messages?
Charges for concatenated SMS messages depend on the mobile network provider and plan. Since the message is divided into multiple parts, each part may be billed as a separate SMS message. It is essential to check with your specific provider for detailed information on their charging structure.
Related Technology Terms
 - Fragmented SMS
 - Long SMS
 - Message Segmentation
 - Text Message Concatenation
 - User Data Header (UDH)
Sources for More Information
devxblackblue
About The Authors
The DevX Technology Glossary is reviewed by technology experts and writers from our community. Terms and definitions continue to go under updates to stay relevant and up-to-date. These experts help us maintain the almost 10,000+ technology terms on DevX. Our reviewers have a strong technical background in software development, engineering, and startup businesses. They are experts with real-world experience working in the tech industry and academia.
See our full expert review panel.
These experts include:
devxblackblue
About Our Editorial Process
At DevX, we're dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX's style and supporting entrepreneurs in the tech sphere.
See our full editorial policy.
More Technology Terms
Technology Glossary
Table of Contents


text:
Recently the active vibration control of flexible structure has become a major interest in many fields of research like mechanical engineering, civil engineering, and aerospace engineering. In flexible structures, it is difficult to estimate the parameters of the structure and dynamics of higher vibration modes exactly.
Such uncertainties often cause instability of active control systems. Therefore, the controller must be designed so as to be robust to such uncertainties, parameter variations and uncertain modes. Authors had already presented a design method of reduced-order robust vibration controller taking account of the parameter variations and the residual dynamics by utilizing Hinfinity / µ control theory . In the method, the controller is designed taking account of the effects of parameter variation, residual modes, and order reduction of controller.
This paper discusses the effectiveness of the presented controller design method for the benchmark building. Active Dynamic Vibration Absorber (ADVA) is applied as a control device. Computer simulations are carried out to verify the control performance of the obtained controller. The optimization of passive elements of ADVA is also discussed .
 T. Watanabe and K. Yoshida, A Design Method of Robust Controller for a Flexible Structure using Hinfinity /µ Control Theory, 1995 Design Engineering Technical Conference (Boston, U.S.A., 1995-9), Vol.3, Part C, pp.459-466.
 T. Watanabe and K. Yoshida, Robust Control of a Tower-Like Structure Subjected to Seismic Excitation Taking Account of Parameter Variations and Residual Dynamics, Eleventh World Conference on Earthquake Engineering, (1996-6, Mexico) Poster Session , Paper No.1529.
 T. Watanabe and K. Yoshida, Evaluation and Optimization of Parallel Hybrid Active Dynamic Vibration Absorbers, JSME International Journal, Vol.37, No.3, September 1994, Series C, pp.471-476.


text: The bactericidal effect of hydroxyl radical (OH) generated by combination of photolysis of hydrogen peroxide (H2O2) and sonolysis of water was examined under the condition in which the yield of OH increased additively when H2O2 aqueous solution was concomitantly irradiated with laser and ultrasound. The suspension of Staphylococcus aureus mixed with the different concentrations of H2O2 was irradiated simultaneously with a laser light (wavelength: 405 nm, irradiance: 46 and 91 mW/cm2) and ultrasound (power: 30 w, frequency: 1.65 MHz) at 20 ± 1°C of the water bulk temperature for 2 min. The combination of laser and ultrasound irradiation significantly reduced the viable bacterial count in comparison with the laser irradiation of H2O2 alone. By contrast, the ultrasound irradiation alone exerted almost no bactericidal effect. These results suggested that the combination effect of photolysis of H2O2 and sonolysis of water on bactericidal activity was synergistic. A multi-way analysis of variance also revealed that the interaction of H2O2 concentration, laser power and ultrasound irradiation significantly affected the bactericidal activity. Since the result of oxidative DNA damage evaluation demonstrated that the combination of laser and ultrasound irradiation significantly induced oxidative damage of bacterial DNA in comparison with the laser irradiation of H2O2 alone, it was suggested that the combination effect of photolysis of H2O2 and sonolysis of water on bactericidal activity would be exerted via oxidative damage of cellular components such as DNA.


Text Size: A+ A- A • Text Only
Site Image
Oregon State Police HITS Unit
255 Capitol St. NE, 4th Floor
Salem, OR 97310
HITS is a violent crimes investigation system that collects, collates, and analyzes the salient characteristics of all murders. It serves as a support to the field investigators involved in major crimes. The HITS unit enters data from homicides throughout Oregon. This information is used to compare information to other crimes with similar methods of operations, to link crimes, or to identify unknown assailants.
Under ORS 181.580, criminal justice agencies within the State of Oregon are required to provide information relating to any suspected criminal homicide (solved or unsolved) to the HITS Unit. The form contains only information necessary to aid the HITS Unit in comparing homicides and discovering similar characteristics.
The HITS Unit provides a networking connection for Detectives to provide leads of additional suspects, and places the Detectives in contact with each other so they can share information.
 1. Determines case, victim, and offender connections to other violent crimes or offenders.
 2. Provides verification when informants and / or offenders give partial or questionable information relating to an alleged murder.
HITS Information Data Bases:
 1. Murder victims, offenders and M.O.
 2. Missing persons where foul play is suspected.
 3. Unidentified dead persons believed to be murder victims.
 4. Violent crimes reported by teletypes, bulletins and investigator requests.
 5. Oregon liaison to VICAP (FBI's serial murder tracking program).
 6. Oregon liaison to Interpol – point of contact dealing with requests for assistance to and from other countries.
 7. Timeline – Chronological Activities of murderers or other violent offenders.


text:
Introduction to the hat matrix in regression
What is the Hat matrix (known in econometrics as the projection matrix ) in regression?
The geometry of the Hat matrix in regression.
How does the Hat matrix gets its name?
Interpretation of the Hat matrix in bivariate (simple linear) regression
Having shown my students the geometric interpretation of what the Hat matrix does, I had one student who came stuck after trying to get the picture in his head for the case of a bivariate regression – I could see how he was thinking – and I am sure he is not the only one who gets stuck with this. So let me share with you his question, and resolve it.
Properties of the Hat matrix with proofs
The hat matrix (projection matrix in econometrics) is an orthogonal projection.
Hat matrix is an orthogonal projection
I have yet to explain the difference between a projection, and an orthogonal projection, and this is something I do now. We are interested only in orthogonal projections, not any old projection. I shall explain: difference between these 2 projections; linear algebra properties of these 2 projectionsintuitively why is a projection matrix idempotent? All this is explained using the Hat matrix.
Projection and orthogonal projections
A matrix is a projection matrix if and only if it is idempotent; a matrix is an orthogonal projection if and only if it is symmetric and idempotent.
The idempotent property makes any projection matrix positive semi definite. The symmetric property is used in the proof but isn't required as a condition (if I understand correctly) as the symmetric condition is implicit in the quadratic form, by which I mean that in a quadratic form, x'Ax, even if A is not symmetric it may be written equivalently as a quadratic form with a symmetric matrix, namely:
Because of this when we look at quadratic forms, we can just study the cases for symmetric matrices.
How is it that the Hat matrix projects a vector on to the column space spanned by X?
So we know that a projection matrix is a linear transformation that takes a vector and puts it into the space spanned by the column vectors in the matrix. But the Hat matrix is a function of the Xs. So how can we say that the Hat matrix projects a vector onto the column space spanned by the vectors in matrix X? Shouldn't it be that H projects a vector onto the space spanned by the vectors v, where v s are the vectors in the H matrix? This is something I had been puzzled about – and I would have loved to have heard the explanation in my econometrics classes – something that never happened. (Closest I got to an explanation was in my 2nd year linear algebra class). Sit back and watch while I tell you one of my favourite stories.


text:
Coffer. A coffer is a recessed panel. Ceilings covered with coffers were known in ancient Greek architecture. They had considerable importance in Roman houses (Vitruvius 7.2) and temples and were occasionally used in Egyptian buildings in the Roman, Byzantine, and early medieval periods. Coffers were made in flat wooden ceilings by subdividing the space between the large ceiling beams with short transverse beams. The areas thus formed, usually rectangular, were closed off on top by boards, which served as the substructure for the floor above. The beams could either be adorned with carved work or covered with wood, metal, or terra-cotta. In Roman vaulting, which usually consisted of a concrete shell made of small chips of stone or broken bricks and mortar, coffers were used as decorative forms on the undersurface of the vault, since the recesses could be very easily accommodated by the requisite thickness of the vault. Such coffers could take on triangular or polygonal forms. Famous examples are the vaults of the Pantheon and the Temple of Venus and Roma in Rome.
How far coffers were employed in Christian basilicas has not yet been determined with any certainty. Despite some basilicas in the city of Rome that certainly had a ceiling, several indications suggest that most basilicas probably had an open-frame roof (Deichmann, 1957, pp. 249ff.). Nevertheless there is evidence that individual parts of churches had a ceiling.
That there were coffered ceilings in Egypt in the Roman and early Byzantine periods is shown by a number of wooden boards preserved in the Coptic Museum, Cairo. Some have a richly bordered painted surface but at the edges generally show no painting at all (Deichmann, 1972, pp. 83ff.). There is hardly any doubt that these are panels from ceilings. Terra-cotta slabs with pictorial motifs to cover coffers were found in Alexandria (Wace, 1948, pp. 50f., pl. 3). In several tombs in Alexandria, coffers were simply painted on the ceiling (Adriani, _PHONE_, pp. 36-40, ills. 43 and 53, pl. A and B). In the same way, the former presence of a coffered ceiling may be deduced in some structures from an unusually close positioning
of the beams. One example is the annexed southeast corner room of the church built into the front of the Temple of Isis at Philae under Bishop Theodorus in the eighth century. Another is the later baptistery in the newly discovered central church of Makhurah alQibli on the Mediterranean coast (Grossmann, 1980, pp. 225ff., pl. 50b). Both instances, moreover, involve false ceilings closing off an area above. Finally, over the central area of the khurus in the old church of Dayr Anba Antuniyus, there is an interesting coffered ceiling curved as a barrel vault in an imitation of gypsum, where wide boards with a series of octagonal openings sawn in them have been inserted into the spaces between the beams (Grossmann, 1982, p. 50, pl. 59a).
Click tabs to swap between content that is broken into logical sections.


Logo: Relish
 1. Sign in
Project: RSpec Core 3.8
Bisect
 - @with-clean-spec-opts
RSpec's --order random and --seed options help surface flickering examples that only fail when one or more other examples are executed first. It can be very difficult to isolate the exact combination of examples that triggers the failure. The --bisect flag helps solve that problem.
Pass the --bisect option (in addition to --seed and any other options) and RSpec will repeatedly run subsets of your suite in order to isolate the minimal set of examples that reproduce the same failures.
At any point during the bisect run, you can hit ctrl-c to abort and it will provide you with the most minimal reproduction command it has discovered so far.
To get more detailed output (particularly useful if you want to report a bug with bisect), use --bisect=verbose.
Background
Given
a file named "lib/calculator.rb" with:
class Calculator
 def self.add(x, y)
 x + y
 end
end
And
a file named "spec/calculator_1_spec.rb" with:
require 'calculator'
RSpec.describe "Calculator" do
 it 'adds numbers' do
 expect(Calculator.add(1, 2)).to eq(3)
 end
end
And
files "spec/calculator_2_spec.rb" through "spec/calculator_9_spec.rb" with an unrelated passing spec in each file
And
a file named "spec/calculator_10_spec.rb" with:
require 'calculator'
RSpec.describe "Monkey patched Calculator" do
 it 'does screwy math' do
 # monkey patching Calculator affects examples that are
 # executed after this one!
 def Calculator.add(x, y)
 x - y
 end
 expect(Calculator.add(5, 10)).to eq(-5)
 end
end
Scenarios
Use '--bisect' flag to create a minimal repro case for the ordering dependency
When
I run rspec --seed 1234
Then
the output should contain "10 examples, 1 failure"
When
I run rspec --seed 1234 --bisect
Then
bisect should succeed with output like:
Bisect started using options: "--seed 1234"
Running suite to find failures... (0.16755 seconds)
Starting bisect with 1 failing example and 9 non-failing examples.
Checking that failure(s) are order-dependent... failure appears to be order-dependent
Round 1: bisecting over non-failing examples 1-9 .. ignoring examples 6-9 (0.30166 seconds)
Round 2: bisecting over non-failing examples 1-5 .. ignoring examples 4-5 (0.30306 seconds)
Round 3: bisecting over non-failing examples 1-3 .. ignoring example 3 (0.33292 seconds)
Round 4: bisecting over non-failing examples 1-2 . ignoring example 1 (0.16476 seconds)
Bisect complete! Reduced necessary non-failing examples from 9 to 1 in 1.26 seconds.
The minimal reproduction command is:
 rspec ./spec/calculator_10_spec.rb[1:1] ./spec/calculator_1_spec.rb[1:1] --seed 1234
When
I run rspec ./spec/calculator_10_spec.rb[1:1] ./spec/calculator_1_spec.rb[1:1] --seed 1234
Then
the output should contain "2 examples, 1 failure"
Ctrl-C can be used to abort the bisect early and get the most minimal command it has discovered so far
When
I run rspec --seed 1234 --bisect and abort in the middle with ctrl-c
Then
bisect should fail with output like:
Bisect started using options: "--seed 1234"
Running suite to find failures... (0.17102 seconds)
Starting bisect with 1 failing example and 9 non-failing examples.
Checking that failure(s) are order-dependent... failure appears to be order-dependent
Round 1: bisecting over non-failing examples 1-9 .. ignoring examples 6-9 (0.32943 seconds)
Round 2: bisecting over non-failing examples 1-5 .. ignoring examples 4-5 (0.3154 seconds)
Round 3: bisecting over non-failing examples 1-3 .. ignoring example 3 (0.2175 seconds)
Bisect aborted!
The most minimal reproduction command discovered so far is:
 rspec ./spec/calculator_10_spec.rb[1:1] ./spec/calculator_1_spec.rb[1:1] ./spec/calculator_3_spec.rb[1:1] --seed 1234
When
I run rspec ./spec/calculator_10_spec.rb[1:1] ./spec/calculator_1_spec.rb[1:1] ./spec/calculator_3_spec.rb[1:1] --seed 1234
Then
the output should contain "3 examples, 1 failure"
Use '--bisect=verbose' to enable verbose debug mode for more detail
When
I run rspec --seed 1234 --bisect=verbose
Then
bisect should succeed with output like:
Bisect started using options: "--seed 1234" and bisect runner: :fork
Running suite to find failures... (0.16528 seconds)
 - Failing examples (1):
 - ./spec/calculator_1_spec.rb[1:1]
 - Non-failing examples (9):
 - ./spec/calculator_10_spec.rb[1:1]
 - ./spec/calculator_2_spec.rb[1:1]
 - ./spec/calculator_3_spec.rb[1:1]
 - ./spec/calculator_4_spec.rb[1:1]
 - ./spec/calculator_5_spec.rb[1:1]
 - ./spec/calculator_6_spec.rb[1:1]
 - ./spec/calculator_7_spec.rb[1:1]
 - ./spec/calculator_8_spec.rb[1:1]
 - ./spec/calculator_9_spec.rb[1:1]
Checking that failure(s) are order-dependent..
 - Running: rspec ./spec/calculator_1_spec.rb[1:1] --seed 1234 (n.nnnn seconds)
 - Failure appears to be order-dependent
Round 1: bisecting over non-failing examples 1-9
 - Running: rspec ./spec/calculator_1_spec.rb[1:1] ./spec/calculator_6_spec.rb[1:1] ./spec/calculator_7_spec.rb[1:1] ./spec/calculator_8_spec.rb[1:1] ./spec/calculator_9_spec.rb[1:1] --seed 1234 (0.15302 seconds)
 - Running: rspec ./spec/calculator_10_spec.rb[1:1] ./spec/calculator_1_spec.rb[1:1] ./spec/calculator_2_spec.rb[1:1] ./spec/calculator_3_spec.rb[1:1] ./spec/calculator_4_spec.rb[1:1] ./spec/calculator_5_spec.rb[1:1] --seed 1234 (0.19708 seconds)
 - Examples we can safely ignore (4):
 - ./spec/calculator_6_spec.rb[1:1]
 - ./spec/calculator_7_spec.rb[1:1]
 - ./spec/calculator_8_spec.rb[1:1]
 - ./spec/calculator_9_spec.rb[1:1]
 - Remaining non-failing examples (5):
 - ./spec/calculator_10_spec.rb[1:1]
 - ./spec/calculator_2_spec.rb[1:1]
 - ./spec/calculator_3_spec.rb[1:1]
 - ./spec/calculator_4_spec.rb[1:1]
 - ./spec/calculator_5_spec.rb[1:1]
Round 2: bisecting over non-failing examples 1-5
 - Running: rspec ./spec/calculator_1_spec.rb[1:1] ./spec/calculator_4_spec.rb