FICO
FICO Xpress Optimization Examples Repository
FICO Optimization Community FICO Xpress Optimization Home
Back to examples browserPrevious exampleNext example
Contract - Semi-continuous variables, predefined constraint functions, combine BCL with Xpress Optimizer
Description
A small MIP-problem example demonstrating how to define semi-continuous variables, use predefined constraint functions and retrieve the problem status.
Two modified versions (documented in the 'BCL Reference Manual') show how to (1) combine BCL problem input with problem solving in Xpress Optimizer and (2) use an Xpress Optimizer solution callback with a BCL model.
Further explanation of this example: 'BCL Reference Manual', Appendix B Using BCL with the Optimizer library
Source Files
xbcontr.c
/********************************************************
 BCL Example Problems
 ====================
 file xbcontr.c
 ''''''''''''''
 Contract allocation example.
 (c) 2008 Fair Isaac Corporation
 author: S.Heipcke, Jan. 2000, rev. Mar. 2011
********************************************************/
#include <stdio.h>
#include "xprb.h"
#define District 6 /* Number of districts */
#define Contract 10 /* Number of contracts */
/**** DATA ****/
int OUTPUT[] = {50, 40, 10, 20, 70, 50}; /* Max. output per district */
int COST[] = {50, 20, 25, 30, 45, 40}; /* Cost per district */
int VOLUME[] = {20, 10, 30, 15, 20, 30, 10, 50, 10, 20};
 /* Volume of contracts */
/***********************************************************************/
int main(int argc, char **argv)
{
 int d,c;
 XPRBctr c1,c2,cobj;
 XPRBvar x[District][Contract]; /* Variables indicating whether a project
 is chosen */
 XPRBvar y[District][Contract]; /* Quantities allocated to contractors */
 XPRBprob prob;
 prob=XPRBnewprob("Contract"); /* Initialize a new problem in BCL */
/**** VARIABLES ****/
 for(d=0;d<District;d++)
 for(c=0;c<Contract;c++)
 {
 x[d][c] = XPRBnewvar(prob,XPRB_BV,XPRBnewname("x_d%dc%d",d+1,c+1),0,1);
 y[d][c] =
 XPRBnewvar(prob,XPRB_SC,XPRBnewname("q_d%dc%d",d+1,c+1),0,OUTPUT[d]);
 XPRBsetlim(y[d][c],5);
 }
/****OBJECTIVE****/
 cobj = XPRBnewctr(prob,"OBJ",XPRB_N); /* Define objective: total cost */
 for(d=0;d<District;d++)
 for(c=0;c<Contract;c++)
 XPRBaddterm(cobj,y[d][c],COST[d]);
 XPRBsetobj(prob,cobj); /* Set objective function */
/**** CONSTRAINTS ****/
 for(c=0;c<Contract;c++)
 {
 c1=XPRBnewctr(prob,"Size",XPRB_G); /* Cover the required contract volume */
 c2=XPRBnewctr(prob,"Min",XPRB_G); /* At least 2 districts per contract */
 for(d=0;d<District;d++)
 {
 XPRBaddterm(c1,y[d][c],1);
 XPRBaddterm(c2,x[d][c],1);
 }
 XPRBaddterm(c1,NULL,VOLUME[c]);
 XPRBaddterm(c2,NULL,2);
 }
 for(d=0;d<District;d++) /* Do not exceed max. output of any district */
 {
 c1=XPRBnewctr(prob,"Output",XPRB_L);
 for(c=0;c<Contract;c++)
 XPRBaddterm(c1,y[d][c],1);
 XPRBaddterm(c1,NULL,OUTPUT[d]);
 }
 for(d=0;d<District;d++) /* If a contract is allocated to a district,
 then at least 1 unit is allocated to it */
 for(c=0;c<Contract;c++)
 XPRBnewprec(prob,"XY",x[d][c],0,y[d][c]);
/****SOLVING + OUTPUT****/
 XPRBexportprob(prob,XPRB_MPS,"Contract"); /* Output matrix in MPS format */
 XPRBsetsense(prob,XPRB_MINIM); /* Choose the sense of the optimization */
 XPRBmipoptimize(prob,""); /* Solve the MIP-problem */
 if((XPRBgetmipstat(prob)==XPRB_MIP_SOLUTION) ||
 (XPRBgetmipstat(prob)==XPRB_MIP_OPTIMAL))
 /* Test whether an integer solution was found */
 {
 printf("Objective: %g\n",XPRBgetobjval(prob)); /* Get objective value */
 for(d=0;d<District;d++) /* Print the solution values */
 {
 for(c=0;c<Contract;c++)
 if(XPRBgetsol(x[d][c])>0)
 printf("%s:%g, ", XPRBgetvarname(y[d][c]), XPRBgetsol(y[d][c]));
 printf("\n");
 }
 }
 return 0;
}
Back to examples browserPrevious exampleNext example


text:
- SetFree[dropcon, options] builds a FreeSystem object containing the mathematical equations required to find equilibrium conditions of the current model. The dropcon argument is used to specify the constraint(s) that are dropped to make the system underconstrained.
- The format of dropcon is identical to that used by the Constraints function.
- The FreeSystem object is solved with SolveFree.
- The following options can be given:
- If InitialGuess or InitialCondition is unspecified, SetFree uses the current model initial guesses, as obtained from LastSolve.
- InitialCondition can also be specified in SolveFree.
- If Solution->Static is given, the model must have some nonzero applied loads for a static equilibrium position to exist.
- If Solution->Kinematic is given, the model must have velocity-dependent loads applied, or no equilibrium velocity can exist.
- If Solution->Dynamic is given, the model must have nonzero masses applied to at least one moving body with SetBodies.
- See also: SetCouple.
Load the Modeler2D package and define a simple model.
Here we build a FreeSystem object that can be used to simulate the underconstrained motion of the help model when the constraint that controls the rotation of the crank has been removed. Before calling SetFree, a velocity solution is generated with SolveMech so that initial conditions for the location and velocity of each body will be available.
Because the help model has only one body with nonzero mass and one applied load (the link body has a 10-unit mass and a 10-unit applied load in the X direction), the instantaneous free acceleration is somewhat predictable. The X acceleration of the link body, X3dd, is equal to 1.0.
Here we integrate the free acceleration of the help model with respect to time for four seconds.
Here is a plot of the X position of the link. The link is initially decelerating until its X coordinate reaches a local minimum, and then it accelerates the other way.

source: HuggingFaceFW/fineweb-edu


text:
Since September 2017, the IPO has published a suite of new tools for students and lecturers in further and higher education. The new resources aim to develop a greater understanding on IP with students and how IP impacts on their future careers.
IP Tutor and IP Tutor Plus
The IP Tutor tools, developed by the IPO, CIPA, CiTMA, lecturers and industry professionals, provides information on IP.
IP Tutor Plus is a resource for university lecturers to deliver IP lectures. There are four modules; creative, humanities, STEM and law, business and accounting subject areas.
These free resources include:
- PowerPoint slides
- lecture notes
- case studies
- wider discussion points
IP Tutor Plus compliments the existing IP Tutor resource. IP Tutor introduces and develops a student's understanding of what IP is and how it works.
IP Tutor Plus helps lecturers engage their students to develop their understanding of managing and exploiting IP, and the relevance for their future academic studies or careers.
IP for Research
Created for PhD students and researchers to develop a greater understanding of how IP can maximise the impact of their research. The IP for Research resource includes:
- 6 quick guides on commercialising IP
- an IP workshop
- an IP skills lens
The Intellectual Asset Management Guide for Universities and Lambert Toolkit support the setting of IP strategies within universities, and the management of effective collaborations between universities and businesses.
Resources for further education
Before students reach university, the
Future Innovators Toolkit provides level 3 Science, Technology, Engineering and Mathematics (STEM) teachers with the resources they need to introduce IP at any point in the curriculum.
For further information on the suite of IP for Education tools, please contact the Innovation Policy Team.

source: openbmb/Ultra-FineWeb


text:
Using a wireless phone depends on the activity of the plane. The use of cell phones during flight is banned by the FAA and the FCC. As soon as the plane starts to move, cell-phone use is forbidden. For more information about the FAA regulations on
cell phones and why cell phones are banned during flights, check out this explanation from How Stuff Works.


text:
News of company
11 May 2016Recent studies have shown that the addition of nanoparticles to lubricants significantly improves their properties. Nanofluids were synthesized using carbon nanotubes and a variety of metal, and ceramic oxide particles. Adding nanoparticles to the lubrication increases its ability to conduct heat more effectively protect the mechanism against external damage, prevent premature wear. In tests nanosmesi having a part of the carbon nanocomponents, showed excellent results. Now, the experts decided to add nanosmesi and lubricants, which come to the customers. Grease with nanosmesyu is an excellent purchase - it provides excellent thermal and electrical conductivity, and the bearings are protected from friction and premature wear and will last you much longer. Scientists say that the addition of only 0.01% nanosmazki from across the total mass of the lubricant, can improve the thermal conductivity by 17% and this without changing the viscosity! Abdul Khaliq Rashid from Nottingham University with optimism says that graphene nanosmazki extend grease life by about 20% of the total resource. With all of this new lubricant may become cheaper as nanoparticles reduce the amount of other additives in the lubricant. Mohammad Khalid, principal investigator of the project, says that the new lubricant will soon be available and simple users can, for example, to try to grease the bearings on the nanoparticles.

source: m-a-p/FineFineWeb


text:
Humanosphere Podcast Examines Different Ways To Approach Aid, Development
Humanosphere features a podcast on aid theory with Owen Barder of the Center for Global Development. "Much of aid and development today is done more like an engineer building a bridge — with a precise blueprint, clear end goal done according to quantifiable steps. Barder, who is a big fan of metrics and quantification, nevertheless thinks we need to approach the fight against poverty more like [a] biologist, letting the process of change unfold, adapting and learning along the way. It's a discussion that also reveals why the semantics of aid and development are part of the problem," journalist Ansel Herz writes (1/24).


You asked: What colleges have the most diversity?
What is considered a diverse college?
Diversity often means race, ethnicity or tribal affiliation, but also extends well beyond those factors to sexual identity and orientation, income level, first-generation status, cultural background and gender. But depending on what a college needs or wants in a class, that term can extend even further.
What is the most diverse school in the United States?
Clark Middle School Most Diverse School in America. According to the U.S. Census Bureau, Anchorage is about 67 percent white, 8 percent Asian or Pacific Islander, 7 percent Native, 6.8 percent multiracial, 6.7 percent Latino and 4.2 percent black.
Which Ivy League is the most diverse?
Cornell University is one of two Ivy League schools to rank among the most diverse colleges in the country, along with Columbia University.
What college has the highest percentage of black students?
Colleges with the Highest Percentage of Black, Non-Hispanic…
 - Spelman College (Atlanta, GA): 97.05%
 - Morris College (Sumter, SC): 94.92%
 - Morehouse College (Atlanta, GA): 94.29%
IT IS INTERESTING: Do colleges check social media?
What college has the lowest diversity rate?
Washington, founder of what is now Tuskegee University. Beth Medrash Govoha ranks as the least diverse primarily bachelor's school in the United States. The odds that two students chosen at random would have a different ethnic or racial background or differ in U.S. citizenship status are only 6.1%.
What diversity can I bring to a college?
Your identity can include any of the following: gender, sexual orientation, ethnicity, disability, religion, non-traditional work experience, non-traditional educational background, multicultural background, and family's educational level. Any or all of these could be unique.
Which is the hardest UC to get into?
Hardest UC Schools to Get Into
What state has the most diverse schools?
Based upon our data, the 10 states with the most diverse public schools are:
 - Florida.
 - Nevada.
 - Maryland.
 - New York.
 - Illinois.
 - New Jersey.
 - Alaska.
 - California.
What are the best colleges for black students?
For our analysis, we compared colleges' graduation rates specifically for black students.
 1. Princeton University. Princeton, N.J. …
 2. Harvard University. …
 3. Duke University. …
 4. Cornell University. …
 5. Florida Agricultural. …
 6. Spelman College. …
 7. University. …
 8. Yale University.
What is the least diverse ivy?
These numbers represent 1,597 out of 4,307 students and 108 out of 734 faculty, respectively, making Dartmouth the least diverse schools in the Ivy League.
IT IS INTERESTING: Can you work on a Chinese student visa?
What is the easiest Ivy League to get into?
What percentage of Ivy League is black?
The ethnic and racial construction of the University is diverse. The African-American signify as 5.6 percent of the population with Asian-American at 13.9 percent, followed by Hispanic/Latino at 9.4 percent, Native American at a meager amount of 0.324 percent, and lastly Whites at the highest occupancy of 44.3 percent.
What school has the most black people?
North Carolina A&T State University is the largest HBCU in the nation.
What is the largest black college?
North Carolina A&T State University was established in 1891. Established as the Agricultural and Mechanical College for the Colored Race in 1891, North Carolina Agricultural and Technical State University is the largest HBCU by enrollment and the largest among all agriculture-based HBCU colleges.
Which state has most black colleges?
Students area


text:
WASHINGTON — The Armenian National Institute (ANI) launched a new 24-panel digital exhibit displaying the role of the YMCA and American relief work during the first republic of Armenia (_PHONE_). The exhibit focuses on John Elder and James O. Arroll who arrived in Yerevan, Armenia in January 1918 to open a YMCA center. As with digital exhibits previously released by ANI, American Relief in the First Republic of Armenia _PHONE_, subtitled "John Elder and James Arroll in Yerevan, Gyumri, Sevan & Etchmiadzin," is freely downloadable from the ANI website (_URL_).
Neither Elder nor Arroll had anticipated being stranded as the only Americans left in the country's capital city with all communication to the outside world cut off when the frontline faltered. World War I was still raging at the time and Allied forces were in retreat on the Caucasian front. The November 11, 1918 Armistice that ended the global conflict was many months away, crucial months during which the very existence of the Armenian people hung in the balance.
By the time they left Yerevan in August 1919, John Elder and James O. Arroll had become responsible for the entire operation set up by US-based charities that had earlier sent emergency aid and volunteer workers to Armenia. As John Elder wrote on January 16, 1919: "One year in Yerevan and what a year it has been. Had anyone told me a year ago that in addition to running a YMCA, I would be in charge of factories employing 7,500 people, orphanages with 350 children and a 120 bed hospital, I would have thought them crazy."
ANI Chairman Van Z. Krikorian said: "The stellar example of American humanitarianism by Elder and Arroll continues to be emulated to this day. They were pathfinding pioneers who traveled all the way to Armenia during a very difficult time. All the relief workers who went to Armenia after the 1988 earthquake, and the Peace Corps volunteers who continue every year to extend their helping hand are following John Elder's and James O. Arroll's superb example. Armenians and Americans alike are proud to share this chapter of remarkable service to those in need."
The exhibit reconstructs the story of the near superhuman efforts undertaken by John Elder and James O. Arroll to rescue Armenians from the many perils they faced during the _PHONE_ independent Republic of Armenia. The exhibit relies upon John Elder's own words from his published journal, along with original records that he personally saved from the time of his service, and the photographs that he made and captioned.
Elder and Arroll arrived as two enthusiastic young men dedicated to the purpose of sustaining morale among soldiers enduring long campaigns and treacherous conditions as the Great War kept grinding on, year after year, without end. They departed as two celebrated heroes who stood by the Armenian people at the fateful hour. John Elder wrote on May 26, 1918, as Ottoman Turkish forces advanced to the outskirts of Yerevan: "You never can tell what may happen. Just as the end seems at hand the pendulum swings the other way…After a two-day battle at Sardarabad, the Turks have been completely routed." With the decisive battle won, two days later, on May 28, 1918, Armenia declared independence.


Endpoint.Address object by using the System.ServiceModel.EndpointAddress constructor. Pass a string value that specifies the WSDL to the LiveCycle service (for example, http://localhost:8080/soap/services/OutputService?blob=mtom.) You do not need to use the lc_version attribute. This attribute is used when you create a service reference. However, specify ?blob=mtom to use MTOM.
 - Create a System.ServiceModel.BasicHttpBinding object by getting the value of the OutputServiceClient.Endpoint.Binding field. Cast the return value to BasicHttpBinding.
 - Set the System.ServiceModel.BasicHttpBinding object's MessageEncoding field to WSMessageEncoding.Mtom. This value ensures that MTOM is used.
 - Enable basic HTTP authentication by performing the following tasks:
 - Assign the LiveCycle user name to the field OutputServiceClient.ClientCredentials.UserName.UserName.
 - Assign the corresponding password value to the field OutputServiceClient.ClientCredentials.UserName.Password.
 - Assign the constant value HttpClientCredentialType.Basic to the field BasicHttpBindingSecurity.Transport.ClientCredentialType.
 - Assign the constant value BasicHttpSecurityMode.TransportCredentialOnly to the field BasicHttpBindingSecurity.Security.Mode.
 3. Reference an XML data source.
 - Create a BLOB object by using its constructor. The BLOB object is used to store data that will be merged with the PDF document.
 - Create a System.IO.FileStream object by invoking its constructor and passing a string value that represents the file location of the PDF document to encrypt and the mode in which to open the file.
 - Create a byte array that stores the content of the System.IO.FileStream object. You can determine the size of the byte array by getting the System.IO.FileStream object's Length property.
 - Populate the byte array with stream data by invoking the System.IO.FileStream object's Read method and passing the byte array, the starting position, and the stream length to read.
 - Populate the BLOB object by assigning its MTOM field with the contents of the byte array.
 4. Define search rules.
 - Create a Rule object by using its constructor.
 - Define a text pattern by assigning a string value that specifies a text pattern to the Rule object's pattern data member.
 - Define the corresponding form design by assigning a string value that specifies the form design to the Rule object's form data member.
 Note: For each text pattern that you want to define, repeat the previous three sub-steps.
 - Create a MyArrayOf_xsd_anyType object that stores the rules.
 - Assign each Rule object to an element of the MyArrayOf_xsd_anyType array. Invoke the MyArrayOf_xsd_anyType object's Add method for each Rule object.
 5. Set PDF run-time options
 - Create a PDFOutputOptionsSpec object by using its constructor.
 - Set the file URI option by assigning a string value that specifies the location of the PDF file that the Output service generates to the PDFOutputOptionsSpec object's fileURI data member. The File URI option is relative to the J2EE application server hosting LiveCycle, not the client computer.
 - Set the copies option by assigning an integer value that specifies the number of copies that the Output service generates to the PDFOutputOptionsSpec object's copies data member.
 - Set the rules that you defined by assigning the MyArrayOf_xsd_anyType object that stores the rules to the PDFOutputOptionsSpec object's rules data member.
 - Set the number of bytes to scan for the defined text patterns by assigning an integer value that represents the numbers of bytes to scan to the PDFOutputOptionsSpec object's lookAhead data method.
 6. Set rendering run-time options
 - Create a RenderOptionsSpec object by using its constructor.
 - Cache the form design in order to improve the performance of the Output service by assigning the value true to the RenderOptionsSpec object's cacheEnabled data member.
 Note: You cannot set the version of the PDF document by using the RenderOptionsSpec object's pdfVersion member if the input document is an Acrobat form. The output PDF document retains the PDF version of the Acrobat form. Likewise, you cannot set the tagged PDF option by using the RenderOptionsSpec object's taggedPDF method if the input document is an Acrobat form.
 Note: You cannot set the linearized PDF option by using the RenderOptionsSpec object's linearizedPDF member if the input PDF document is certified or digitally signed. For information, see Digitally Signing PDF Documents.
 7. Generate a PDF document
 Create a PDF document by invoking the OutputServiceService object's generatePDFOutput method and passing the following values:
 - A TransformationFormat enumeration value. To generate a PDF document, specify TransformationFormat.PDF.
 - A string value that specifies the name of the form design.
 - A string value that specifies the content root where the form design is located.
 - A PDFOutputOptionsSpec object that contains PDF run-time options.
 - A RenderOptionsSpec object that contains rendering run-time options.
 - The BLOB object that contains the XML data source that contains data to merge with the form design.
 - A BLOB object that is populated by the generatePDFOutput method. The generatePDFOutput method populates this object with generated metadata that describes the document. (This parameter value is required only for web service invocation).
 - A BLOB object that is populated by the generatePDFOutput method. The generatePDFOutput method populates this object with result data. (This parameter value is required only for web service invocation).
 - An OutputResult object that contains the results of the operation. (This parameter value is required only for web service invocation).
 Important: When generating a PDF document by invoking the generatePDFOutput method, be aware that you cannot merge data with an XFA PDF form that is signed, certified, or contains usage rights. For information about usage rights, see Applying Usage Rights to PDF Documents.
 8. Retrieve the results of the operation
 - Create a System.IO.FileStream object by invoking its constructor and passing a string value that represents an XML file location that contains result data. Ensure that the file extension is XML.
 - Create a byte array that stores the data content of the BLOB object that was populated with result data by the OutputServiceService object's generatePDFOutput method (the eighth parameter). Populate the byte array by getting the value of the BLOB object's MTOM data member.
 - Create a System.IO.BinaryWriter object by invoking its constructor and passing the System.IO.FileStream object.
 - Write the contents of the byte array to the XML file by invoking the System.IO.BinaryWriter object's Write method and passing the byte array.
// Ethnio survey code removed


By Topic
Intelligent Schema Integrator (ISI): A tool to solve the problem of naming conflict for schema integration
Sign In
Formats Non-Member Member
$31 $13
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button
puzzle piece
Learn more about:
IEEE membership
IEEE Xplore subscriptions
3 Author(s)
Ahmad, K. ; Fac. of Inf. Sci. & Technol., Univ. Kebangsaan Malaysia, Bangi, Malaysia ; Hea Khim Chiew ; Samad, R.
The data stored in the data warehouse are mostly coming from different sources. It may be developed using different model or structure for the schema. In order to improve the usability of these data, the process of combining or integrating is needed so that it can provide users with a unified view or a global view of these data. The most important issue in data integration is the schema integration: that is to solve the problem of "how can equivalent real-world entities from multiple data sources be matched up?" This is referred to as entity identification process. Terms may be given a different interpretation at different sources by different people. For example, how can data analyst be sure that customer_id in one database and cust_number in another refer to the same entity? In this paper, a tool which is called an Intelligent Schema Integrator (ISI) is built to increase the uses of data from the data warehouse and to make the process more simple, systematic and impressive. ISI is an intelligent tool which can be used to integrate two different schemas from different sources into a unified schema (global schema). ISI is developed to solve the problems of naming conflict which are homonym conflict and synonym conflict. Homonym conflict means the same element name is used to represent different concept. Synonym conflict means different element name is used to represent the same concept. Thesaurus is used to get the meaning of each element concept and compares it with the other concept. An interface is built to allow the user to choose which elements are going to be renamed or removed, if there are occurrences of homonym and synonym conflicts in the schemas. These are the intelligence features built for ISI. The methodology used in this study consists of 4 phases: Design the Input and Output, Extraction, Comparison, and Integration. The development of this tool is an important direction for more efficient and effective implementation of data integrati- - on in data warehousing.
Published in:
Electrical Engineering and Informatics (ICEEI), 2011 International Conference on
Date of Conference:
17-19 July 2011


text:
- Plants Respond To Humans Complimenting Other Plants: Jealousy Ensues
- Scientist compliment plants while rapidly growing greenery behind cries out for attention
- This is due to a sickness of hearing how « perfect » the other plants are
D'abord, Do plants recognize their owners? According to researchers, plants can count, make decisions, recognise their relatives and even remember events And while they may not have a brain, they can learn in a similar way to humans and animals, say scientists
Do plants cry when you cut them? While they may not have brains like humans do, plants talk to one another through smell and even communicate with insects to maintain survival Like any living thing, plants want to remain alive, and research shows that when certain plants are cut, they emit a noise that can be interpreted as a scream
Ensuite, Do plants like to be touched? Your plants really dislike when you touch them, apparently A new study out of the La Trobe Institute for Agriculture and Food has found that most plants are extremely sensitive to touch, and even a light touch can significantly stunt their growth, reports Physorg
Do plants have feelings?
Although they may seem passive, plants have their own complex sensory systems too, designed to respond to dangers or other changes in their environment Plants may not have eyes, ears or a tongue, but their skin can perform many of the same functions
Do plants like music? Plants thrive when they listen to music that sits between 115Hz and 250Hz, as the vibrations emitted by such music emulate similar sounds in nature Plants don't like being exposed to music more than one to three hours per day Jazz and classical music seems to be the music of choice for ultimate plant stimulation
Do plants Think? Plants don't have a central nervous system, so thought (as we normally define it) isn't possible But plants can sense their environment, respond to insect attacks and are even capable of limited movement
Do plants talk to each other? Plants Communicate Using Chemicals and Sound Plants do not just move randomly; they move in a purposeful manner Plants move to detect key information about their environments, to respond appropriately, and to communicate this information to other plants, using easily understood signals
Do plants like being touched?
Your plants really dislike when you touch them, apparently A new study out of the La Trobe Institute for Agriculture and Food has found that most plants are extremely sensitive to touch, and even a light touch can significantly stunt their growth, reports Physorg
Are plants aware of humans? Mountains of research have confirmed that plants have intelligence and even beyond that consciousness by many of the same measures as we do Not only do they feel pain, but plants also perceive and interact with their environment in sophisticated ways
Do plants have a soul?
The reason for this is that, despite the lack of any kind of cognition, plants have souls too, according to Aristotle's widely-accepted theory: trees and flowers nourish themselves, they grow, and propagate, and so they have what was usually called a vegetative soul
Do plants have memories? Like humans, plants have memories too, although they do it differently For example, many plants sense and remember prolonged cold during winter to ensure that they flower in spring
N'oubliez pas de partager l'article avec vos amis !


By Hazel
Why you should never paint Office walls White
In a study from the University of Texas, researcher Nancy Kwallek tested the impact of color on productivity by giving three groups of people clerical tasks to complete in three different rooms, each painted a different color: red, white, and aqua. Some individuals, which Kwallek calls high-screeners, were able to block out the color "noise" of their surroundings, while others, low-screeners, were affected by it. The high-screeners had no difficulty working in the red room, while low-screeners tended to be distracted by the color. Both groups, however, made more errors when they worked in the white room.
To read more, please click here.


Introduction to HaXml
A quick introduction into the HaXml library, reading data from XML and representing them as Haskell types
I was looking for a HaXml tutorial or code examples on the web but I could not find any description of the basic idea behind the library. There are a few tutorials out there, but their focus is more on the power of combinators than on the library basics. There is also a code fragment in the book real-world haskell but (at the time of writing this post) it is outdated.
The aim of this tutorial is to describe the basic HaXml functionality - reading XML data from a file into custom types and saving the data from these types back to another file.
What we want to achieve is:
main :: IO ()
main = do
 students <- fReadXml "sample-in.xml" :: IO Students
 print students
 fWriteXml "sample-out.xml" students
The sample-in.xml looks like this:

 Zachary Popme

 Daria Marchenko
First we need to install the library with:
cabal update
cabal install haxml
We could also work with the XML data directly and not map it to any types. This can be achieved with the ANYContent type. We could read everything from the XML like this:
main :: IO ()
main = do
 c <- fReadXml "sample-in.xml" :: IO ANYContent
 print c
Nonetheless, our goal is to map the XML to custom data-types. These types will have 1 to 1 correspondence with the XML data, although this is of course not necessary.
data Students = Students {enrolled :: [Student]} deriving Show
data Student = Student {name :: String, gender :: String, address :: Address} deriving Show
data Address = Address {street :: String, number :: Int} deriving Show
HaXml reads the contents (elements, attributes, comments, declarations etc.) of any XML and wraps it into HaXml data-types. For illustration purposes we can have a look at the Address element:
CElem (Elem (N "Address") []
 CString False "\n\t\t\t",
 CElem (Elem (N "street") [] [CString False "uptown"]),
 CElem (Elem (N "number") [] [CString False "4"]),
 CString False "\n\t\t" ]),
 CString False "\n\t" ]),
 CString False "\n"
We need a way to extract the data from these HaXml types and store them in our types. We can do it by implementing two typeclasses HTypeable and XmlContent.
Let's describe these in turn.
The class is quite simple:
class HTypeable a where
toHType :: a -> HType
HType adds additional metadata to the type it augments. For example:
instance HTypeable Integer where
toHType _ = Prim "Integer" "integer"
The Prim type holds the XML-element name for a given primitive ("integer" in case of the type Integer). HaXml takes advantage of metadata in HTypes when mapping from Haskell types to XML.
We have defined three records - Student, Students and Address. For each record we have to define an instance of HTypeable. Let's begin with Address:
instance HTypeable Address where
toHType (Address s n) = Defined "Address" [] [Constr "Address" [] [toHType s, toHType n]]
The arguments to the Defined data constructor are as follows:
 - name of type,
 - a list of HTypes of the type variables,
 - a list of all data constructors for the type.
The Constr has 3 arguments:
 - name of the constructor (will be used as the XML tag-name),
 - a list of HTypes of the type variables,
 - list of all arguments to the data constructor (as HTypes).
A more detailed description of Constr can be found in the code.
The other two instances are similar to the first one:
instance HTypeable Students where
toHType (Students ss) = Defined "Students" [] [Constr "Students" [] [toHType ss]]
instance HTypeable Student where
toHType s =
 let Student n g a = s in Defined "Student" [] [Constr "Student" [] [toHType n, toHType g, toHType a]]
Now we can start defining the XmlContent instances which have two functions - parseContents (from XML to types) and toContents (from types to XML).
instance XmlContent Address where
 parseContents = inElement "Address" (Address <$> parseStreet <*> parseNumber)
 parseStreet = inElement "street" text
 parseNumber = read <$> inElement "number" text
 toContents a@(Address s n) =
 [mkElemC (showConstr 0 $ toHType a) [mkElemC "street" $ toText s, mkElemC "number" $ toText. show $ n]]
Let's first look at toContents. Its implementation will be (almost) the same in all instances. toContents is called when a new Address XML-element should be created. We define the XML-element with mkElemC. The first argument is the tag-name (we can use the showConstr function which pulls the name from a HType). Afterwards we create two sub-elements - "street" and "number".
parseContents traverses the HaXml types which wrap the XML data. It uses the HaXml functions to navigate through all the types like CElem, Elem, CString etc. (we saw those in the example above). The inElement function are basically two functions - element which moves to the next XML-element and interior which goes "into" the contents of that element. The text function extracts the text from the element. Since XmlContent is a functor (inElement returns XMLParser a) we can use the applicative operators as shown above.
The Students instance is pretty much the same:
instance XmlContent Students where
 parseContents = inElement "Students" (Students <$> parseContents)
 toContents v@(Students ss) =
 [mkElemC (showConstr 0 $ toHType v) (toContents ss)]
For reading and writing attribute values I'll define helper functions (if there is a better HaXml-way to do it let me know!). The first argument of attrToText is the name of the attribute, the second is a list of attributes which we go through in order to find an attribute with this name. If no attribute is found, the function returns Nothing.
mkAttrElemC creates a CElem with the appropriate attributes.
attrToText :: String -> [Attributes] -> Maybe String
attrToText n as = foldl1 (<|>) attrText
 where attrText = map (fromAttrToStr n) as
mkAttrElemC :: String -> [Attribute] -> [Content ()] -> Content ()
mkAttrElemC x as cs = CElem (Elem (N x) as cs) ()
instance XmlContent Student where
 parseContents = do
 e <- element ["Student"]
 interior e (Student <$> parseName <*> parseGender e <*> parseContents )
 parseName = inElement "name" text
 parseGender e = return $ fromMaybe "unknown" $ attrToText "gender" $ attrs e
 toContents v@(Student n g a) =
 [mkAttrElemC (showConstr 0 $ toHType v) [mkAttr "gender" g] (mkElemC "name" (toText n) : toContents a)]
We read the name (parseName), afterwards we use the HaXml Student element e (it's just an Elem type) for reading all of its attributes and return the value of "gender" attribute. The last function is parseContents which will trigger parseContents in the Address XmlContent instance.
Generating code with DrIFT
The last point to mention is that we can partially automate generating this boilerplate. This can be achieved with DrIFT.
Install with:
cabal update
cabal install drift
We prepare the template:
{-!for Address derive : XmlContent!-}
{-!for Students derive : XmlContent!-}
{-!for Student derive : XmlContent!-}
Now we can generate all the instances by calling:
DrIFT xmlparser.hs
from the command line. It prints the generated source code to stdout. A full working example can be found here xmlparser.hs


text:
Be the first to like this
Workplace stress can be identified and addressed through a Stress Risk Management Audit, sometimes referred to as a Stress Risk Management Assessment. In a number of Australian States, and in the UK through the Safety Executive (UK), workplace stress risk factors have been identified and considered in a risk assessment process. This powerpoint is intended to fit into recommended practices rather be considered as an alternative. It also aligns with other Organisational Health methodologies, such as the Organisational Health Audit and Complaints Management, by using an underlying Human Activity System model. This allows for the identification stress risk factors to be identified when addressing other workplace issues.


text:
Here's a quick tutorial on how to use PArray in 3ds Max with the neat grass technique that thxraph put together.
First off, we need to make our plane object that the grass material will be applied to. Now, PArray is very picky about the XYZ orientation of the objects it uses. Even if you change the pivot and align it to 'World', it will ignore it and use the original XYZ orientation that the object was created with. When you create a standard plane, it's Z axis is oriented to it's face's normal, so it will emit from the plane flat to the ground. So, here's what I do in order to make this easer to deal with:
I first create a straight line within the Top viewport (in this case 9" long). I then extruded it approximately 6" - giving me a shape roughly the same size as the maps provided by thxraph. I then applied UVW mapping (it will default map a plane as viewed from the top, so it will have 0 height - so I simply use the Box UVW to simplify things). Then I convert the object to a Poly. So now we have our seed object.
PArray will "spray" particles (or objects) from any type of geometry. So in this case we want it to spray the grass from a plane object (our ground). In this example, I made a 10' x 10' square plane.
So, the first step is to go to the Particle Systems option from the [Create][Object] tab and select PArray. You then draw a box anywhere in the Top viewport (its size does not matter - I don't care what she says....
Now click on the modify tab, and using the below image as reference, I'll walk you through each step.
A. This is the default setting which you want to use for this case.
B. This sets how you will see the objects in the viewport. It won't effect the actual rendering, but I like to set it to Mesh so I can see what's going on. I also set it to 100% so I can see all "particles" so I can guage how much coverage I'm getting.
C. For this case, I'm using a Total ammount for the Particle Quantity, for the same reason as above - I want to see everything all at once.
D. This sets the speed that the particals are being emitted from the plane. This can be either zero or a very low value (zero is better).
E. Particles begin to start emitting at frame 0 (default setting)
F. I set the emit stop at frame 3, meaning after frame 3 all particles have been emitted that I set in step C. You could also set this to 1 if you want.
I forgot to mark it, but you want to set your Grow For and Fade For both to zero.
G. You can adjust the overall size by changing the value in the Size field. In this case I left it at the default. I did set the size variation to 10%, which will randomly resize the grass object by + or - 10% (making the grass a bit rougher).
Unmarked Arrow (oops!). For the particle type, you want to select Instanced Geometry
H. Click on this button, then select the grass object you created earlier.
I. Set the spin time to 1
J. Set the variation to 100%
K. This defaults to Random. Select User Defined
L. Then set the Z axis to 179 degrees (this will let you see both sides - 360 will work as well also).
Then all you need to do is move your time-line slider until you've got a good random rotation of your grass object. In order to create a permanent grass object out of this array, convert the PArray to a poly using the Mesher (found in the Compound Object section)
Piece of cake!
Here's the screenshot of my settings:
_________________"Skill without imagination is craftsmanship and gives us many useful objects such as wickerwork picnic baskets. Imagination without skill gives us modern art." - Tom Stoppard
My modern art gallery at: _URL_


text: ||Observational field studies were conducted on two remote populations of feral horses in Australia to determine whether lateralization is a characteristic of Equus caballus as a species or results from handling by humans. Group 1 had been feral for two to five generations and Group 2 for 10–20 generations. In both groups, left-side biases were present during agonistic interactions and in reactivity and vigilance. Therefore, as in other vertebrates, the right hemisphere appears to be specialized to control agonistic behaviour and responses to potential threats. The leftwards bias was stronger in measures of behaviour involving more aggression and reactivity. Preferences to place one forelimb in front of the other during grazing were also determined. No population bias of forelimb preference was found, suggesting that such limb preferences present in domestic horses may be entrained. Since stronger individual limb preferences were found in immature than in adult feral horses, limb preference may be modified by maturation or experience in the natural habitat. Stronger limb preference was associated significantly with elevated attention to the environment but only in younger feral horses. No sex differences in lateralization were found. The findings are evidence that horses show visual lateralization, as in other vertebrates, not dependent on handling by humans. Limb preference during grazing, by contrast, does appear to depend on experience.


Multilingual Demographic Dictionary, second unified edition, English volume
Temporary absentee
Multilingual Demographic Dictionary, second unified edition, English vol.
Jump to: navigation, search
Temporary absentee (TEMPORARY absentee)
In census practice a distinction is made between the resident population 1 or de jure population 1 of a given area, which consists of the people who habitually live in that area, and the actual population 2, or de facto population 2, which is made up of the persons in the area on census day. In the resident population, temporary absentees 4 are included with those permanent residents 3 who are present in the area on census day; the actual population consists of residents together with visitors 5 or transients 5. The two methods of enumeration will give different results even for the country as a whole. The place where a person lives is called the place of residence 6. For administrative reasons, certain persons who live together in large communities (i.e. boarding schools, military persons in barracks, prisoners, etc. (cf. 110-5*) are often separately enumerated. These persons form the institutional population 7. Special rules are used to enumerate homeless 8 or persons of no fixed abode 8.
 - 6. The term domicile is a technical legal term for legal residence and denotes the place where a person is legally deemed to reside. This may differ from his actual residence. In the United States of America, the de jure population is the population of usual residence.
 - 7. In the United States of America the term institutional inmates is reserved for persons living under care or custody in correctional institutions, hospitals for mental disease and tuberculosis, homes for the aged, handicapped and dependent or neglected persons; other residents of group quarters include such persons as students in college dormitories, or soldiers in military barracks.


9
I was trying to solve this challenge: reverse an array of elements by groups given a group size.
Given Array: [1, 2, 3, 4, 5, 6]
Desired Result (group size of 3): [4, 5, 6, 1, 2, 3]
If last group has less elements than the group size, then just add them and finish, as follows:
Given Array: [1, 2, 3, 4, 5, 6, 7]
Desired Result: [5, 6, 7, 2, 3, 4, 1]
I tried this and it is working, but it looks kinda weird for me. Can anyone help me find a cleaner or much more intuitive solution?
extension Array {
 func reverse(groupSize: Int) -> [Element] {
 var reversed = [Element]()
 let groups = count / groupSize
 for group in 0...groups {
 let lowerBound = count - group * groupSize - groupSize
 let upperBound = count - 1 - group * groupSize
 if lowerBound >= 0 {
 reversed += Array(self[lowerBound...upperBound])
 } else {
 reversed += Array(self[0...upperBound])
 }
 }
 return reversed
 }
}
0
4 Answers 4
2
The following solution is based on a combo of stride+map:
let groupSize = 3
let array = [1, 2, 3, 4, 5, 6]
let reversedArray = Array(array.reversed())
let result = stride(from: 0, to: reversedArray.count, by: groupSize).map {
 reversedArray[$0 ..< min($0 + groupSize, reversedArray.count)].reversed()
}.reduce([Int](), +)
print(result) // [4, 5, 6, 1, 2, 3]
2
 - You can add result.reduce([Int](), +) to make it become single array
 – Tj3n
 Dec 27, 2017 at 9:55
 - clear and concise, will take into account with @Tj3n comment
 – Oxthor
 Dec 27, 2017 at 10:18
1
You could say:
extension Array {
 func groupedReversing(stride: Int) -> [Element] {
 precondition(stride > 0, "stride must be > 0")
 return Swift.stride(from: count, to: 0, by: -stride)
 .flatMap { self[Swift.max(0, $0 - stride) ..< $0] }
 }
}
let result = Array(1 ... 7).groupedReversing(stride: 3)
print(result) // [5, 6, 7, 2, 3, 4, 1]
We're using stride(from:through:by:) to iterate from array.count (inclusive) to 0 (exclusive) in increments of (minus) the stride. The Swift. prefix is in order to disambiguate it from the obsoleted Swift 2 stride method (which will be gone in Swift 4.1).
Then, we're flat-mapping the index to a slice of the input array that's up to stride elements long (truncating at the beginning of the array as we clamp the lower index to 0). And because this is flatMap, the resulting slices are concatenated into a single resulting array.
You could also implement a fully generic version across Sequence by first providing an implementation on BidirectionalCollection, advancing indices backwards and appending slices into a resulting array:
extension BidirectionalCollection {
 func groupedReversing(stride: Int) -> [Element] {
 precondition(stride > 0, "stride must be > 0")
 var result: [Element] = []
 result.reserveCapacity(numericCast(count))
 var upper = endIndex
 while upper != startIndex {
 // get the next lower bound for the slice, stopping at the start index.
 let lower = index(upper, offsetBy: -numericCast(stride),
 limitedBy: startIndex) ?? startIndex
 result += self[lower ..< upper]
 upper = lower
 }
 return result
 }
}
and then implement an overload on Sequence that first converts to an array, and then forwards onto the above implementation:
extension Sequence {
 func groupedReversing(stride: Int) -> [Element] {
 return Array(self).groupedReversing(stride: stride)
 }
}
Now you can call it on, for example, a CountableClosedRange without first having to convert it to an array:
let result = (1 ... 7).groupedReversing(stride: 3)
print(result) // [5, 6, 7, 2, 3, 4, 1]
1
I think your function is okay, not sure what you meant by weird tbh, can separate to chunk or add each elements in reversed way ,but logic is same anyway, just need to mind the performance/complexity of each ways:
let a = [1,2,3,4,5,6,7,8,9,10,11]
extension Array {
 func reverse(group: Int) -> [Element] {
 guard group > 1 else { return self.reversed() }
 var new = [Element]()
 for i in stride(from: self.count-1, through: 0, by: -group) {
 let k = i-group+1 < 0 ? 0 : i-group+1
 for j in k...i {
 new.append(self[j])
 }
 }
 return new
 }
}
a.reverse(group: 4) //[8, 9, 10, 11, 4, 5, 6, 7, 1, 2, 3]
1
 - 1
 You could also say let k = Swift.max(0, i - group + 1) instead of let k = i-group+1 < 0 ? 0 : i-group+1, and new += self[k ... i] instead of for j in k...i { new.append(self[j]) } :)
 – Hamish
 Dec 27, 2017 at 18:55
0
The two following Swift 5 code snippets show how to implement a Collection or Array extension method in order to chunked it, reverse it then flatten it into a new array.
#1. Using AnyIterator and Sequence joined()
extension Collection {
 func reverseFlattenChunked(by distance: Int) -> [Element] {
 precondition(distance > 0, "distance must be greater than 0")
 var index = endIndex
 let iterator = AnyIterator({ () -> SubSequence? in
 let newIndex = self.index(index, offsetBy: -distance, limitedBy: self.startIndex) ?? self.startIndex
 defer { index = newIndex }
 return index != self.startIndex ? self[newIndex ..< index] : nil
 })
 return Array(iterator.joined())
 }
}
Usage:
let array = ["1", "2", "3", "4", "5", "6", "7"]
let newArray = array.reverseFlattenChunked(by: 3)
print(newArray) // prints: ["5", "6", "7", "2", "3", "4", "1"]
let array: [String] = ["1", "2", "3", "4", "5", "6"]
let newArray = array.reverseFlattenChunked(by: 2)
print(newArray) // prints: ["5", "6", "3", "4", "1", "2"]
let array: [String] = []
let newArray = array.reverseFlattenChunked(by: 3)
print(newArray) // prints: []
#2. Using stride(from:to:by:) and Sequence flatMap(_:)
extension Array {
 func reverseFlattenChunked(by distance: Int) -> [Element] {
 precondition(distance > 0, "distance must be greater than 0")
 let indicesSequence = stride(from: self.endIndex, to: self.startIndex, by: -distance)
 let array = indicesSequence.flatMap({ (index) -> SubSequence in
 let advancedIndex = self.index(index, offsetBy: -distance, limitedBy: self.startIndex) ?? self.startIndex
 // let advancedIndex = index.advanced(by: -distance) <= self.startIndex ? self.startIndex : index.advanced(by: -distance) // also works
 return self[advancedIndex ..< index]
 })
 return array
 }
}
Usage:
let array = ["1", "2", "3", "4", "5", "6", "7"]
let newArray = array.reverse


text:
The ONCORELIEF vision is realized through a multiand trans-disciplinary user-centric approach with concrete technical and scientific objectives and builds upon the following five pillars:
Analysis of clinical settings, treatment parameters and environment dynamics and driving forces of cancer patient wellbeing
ONCORELIEF will adopt a user-centred approach (see also Pillar 5), placing the patient at the centre of the posttreatment ecosystem and analysing the parameters that affect his/her wellbeing and health status within the everyday environment (i.e. personal, social, working, etc.), resulting to the effective design of the ONCORELIEF solution. This pillar consists of the following objectives:
- Objective 1.1: To thoroughly analyse clinical settings at diagnosis, treatment and after-treatment level in conjunction with environmental parameters affecting the health status, the QoL and WB of a cancer patient focusing on the parameters of both external and personal space affecting the long-term effects of cancer treatment.
- Objective 1.2: To analyse oncology-related socio-cultural and psychological factors of personal WB and QoL focusing on the patient's everyday routine and their needs, during and after treatment.
- Objective 1.3: To record and analyse the needs of cancer-patients regarding their everyday life and activities, perceived WB, environment and after-cure improvement shortand mid-term.
- Objective 1.4: To incorporate health law and GDPR aspects in user requirements in order for the solution developed to be both ethically and legally compliant.
- Objective 1.5: To define the technology interventions positively impacting the everyday life of a cancer patient through which the project scenarios of use will be defined.
Exploiting Big Data and AI capabilities for holistic post-treatment insights generation
Amongst the cornerstones of ONCORELIEF is the employment of novel big data and AI techniques to analyse patterns and generate insights that will help to better understand and consequently transform services and knowledge that needs to be conveyed to users, which has to do with their post-treatment QoL and way of living. This pillar consists of the following objectives:
- Objective 2.1: To identify, collect and transform various heterogenous data streams into a well specified, extendable, linkable and standard-compliant data model able to describe critical factors relevant to post treatment environments and activities.
- Objective 2.2: To employ novel GDPR perspective security and privacy mechanism for enabling the secure exchange of data and the generation of trust to the ONCORELIEF platform, safeguarding private sensitive data of users
- Objective 2.3: To design a set of smart algorithms that can be used at generic levels for generating reports that provide group analytics for monitoring similar individuals and that verify or possibly lead to new clinical protocols.
- Objective 2.4: To individualize data algorithms though AI outputs for offering personalized insights and recommendations to individuals based on their specific medical history, needs, life patterns, environment and activities.
- Objective 2.5: To incorporate AI elements for the development of self-learning and incorporation of empathic features to the assistant providing it with the necessary intelligence and the empathic personalized behavioural features related with the patient characteristics, cancer type, treatment, clinical settings, etc.
Development of innovative technological elements for providing personalized wellbeing
Building upon the active user-involvement, ONCORELIEF will proceed with the development of its technological concepts, including the implementation of a novel smartphone application (ONCORELIEF Guardian Angel) and wellbeing QoL index (ONCORELIEF index) used as the basic tool for supporting the patients, and the development of a platform incorporating AI elements and advanced data processing for accurate wellbeing assessment, while integrating with low-cost, off-the-shelf sensing devices for measuring parameters of the everyday environment (i.e. personal, social, working, etc.). This pillar consists of the following objectives:
- Objective 3.1: To create a digital smart guardian angel running on a smartphone, providing personalized information on cancer-patients wellbeing and supporting them in everyday routine tasks that improve their aftertreatment quality of life and decrease their psychological stress.
- Objective 3.2: To setup a sensing infrastructure incorporating off-the-shelf sensing devices, measuring environment parameters affecting the wellbeing of the cancer-patient. In order to assess the wellbeing and status of the user, a combination of wearable sensing devices, which provide very accurate readings about the user activities and bio-signals such as heart rate or oxygen blood level, and other ambient non-wearable monitoring devices, that can greatly improve the contextual information of the user, will be used.
- Objective 3.3: To define an Index reflecting the wellbeing level of a cancer-patient taking into account (a) the clinical setting of diagnosis, treatment and after-treatment follow-up of the patient, (b) measurable parameters and inputs provided by the patient, and (c) dynamically adjusting to the treatment and after-cure changes by reflecting the overall wellbeing level of the users.
- Objective 3.4: To develop reporting tools giving useful insights and notifications to the patient regarding his wellbeing, health status, psychological wellbeing and post-treatment related needs, and on the progress regarding its condition and its measurable parameters.
Piloting in different cancer types and patient-environment settings
ONCORELIEF will be exhaustively validated and evaluated in real-life settings, for different types of cancer, taking into account cross-gender needs and diverse patient environments. Two 12-month pilot studies (Germany and Italy) are planned, with the participation of 450 patients. Additionally, pre-pilot activities will take place, focusing on ONCORELIEF technical verifications and for collecting early user feedback and incorporating it into the ONCORELIEF prototypes.
- Objective 4.1: To validate early prototypes of the proposed system and services for trial operation in semicontrolled environments aiming to use data collected to improve the technical aspects (robustness, interfaces, resources usage, etc.) of the system for the trials execution with end users.
- Objective 4.2: To validate the proposed solution for 12 months with active cancer patients following posttreatment suffering from different types of cancer, namely Acute Myeloid Leukaemia (AML) and Colorectal Cancer (CRC), in various pilot sites. This will allow the consortium to examine the projects' impact.
- Objective 4.3: Perform controlled pre-pilot activities on the specifications and projects' early prototypes with clearly envisioned outcomes at Year 1 and Year 2 of the project that will be put under the evaluation and scrutiny of the end-users. This will help to focus on the real value delivered to end users by incorporating their feedback at critical progress milestones as well as train our data-models, thereby improving their accuracy and performance.
Active engagement of stakeholders resulting to measurable impacts
ONCORELIEF will involve the stakeholders during the whole project duration to achieve high-user acceptance, by adopting a user-centred design methodology (through the use of design thinking methods and tools) and thoroughly designing our pilots. This principle will be combined with rich dissemination activities and detailed feasibility and competition analysis for the development of an accurate go-to-market strategy. Towards this direction the following objectives will be fulfilled:
- Objective 5.1: Engage the stakeholders by adopting a design thinking methodology including six stages of involvement: define, research, ideate, prototype, deliver and learn, helping to understand better the user needs and pains, encourage inputs from a wide variety of stakeholders (patients, doctors, healthcare professionals, etc.), and design solutions that best reflect the preferences and user requirements.
- Objective 5.2: Involve stakeholders from multiple disciplines Following the previous one, this objective regards the engagement and participation in the pilots and evaluation process of a sufficient number of different types of stakeholders (e.g. patients, doctors, healthcare professionals, and psychologists etc.).
- Objective 5.3 Achieve wider user-driven steering of the project by establishing synergies with European and international associations and currently running EU R&I projects that will in turn promote and facilitate the smooth and early adoption of the proposed offerings.
- Objective 5.4: Define appropriate business and go-to market strategy in order to enable the wide, smooth and fast adoption of its outcomes by relevant stakeholders.


text:
Definition of lawbreaker in English:
A person who breaks the law.
- They're being criminalized and treated as lawbreakers.
- The essential arguments are that nothing in the policy excludes these cases and that to exclude them puts lawbreakers in a better position than entrants who declare themselves.
- 'If the Government becomes a lawbreaker,' he wrote, 'it breeds contempt for law; it invites every man to become a law unto himself; it invites anarchy.'
Law malfeasant, infractor
- Example sentences
- So, the Republicans will change the law to either politicize the prosecutor's office or retroactively legitimize past lawbreaking, and then proclaim themselves clean.
- But the prevalence of cultural relativism must take some blame too: For some, a culture of lawbreaking is just as valid as a culture of obedience to the law.
- If we go back to the case of massive resistance to desegregation, we have another example of federal lawbreaking assisted by state officials.
Pronunciation: /ˈlɔːˌbreɪkɪŋ/noun& adjective
What do you find interesting about this word or phrase?
Comments that don't adhere to our Community Guidelines may be moderated or removed.


text:
varchar columns: Similarly to the previous sin, when your attribute has a fixed character size, there is no point in using a varying character type. If your attribute has exactly 3 characters, why use varchar(3)?
Extra evil bonus: varchar(1) will get you double points.
- Storing duration in time or datetime columns: Datetime and time represent points in time and they are not meant for storing durations. If you really want to store a duration, use a numeric column to store the number of seconds (it's the ANSI standard unit measure for representing a duration). Even better, you could store the start/end date and time in two separate datetime columns. SQL Server 2016 also supports periods.
- Getting Unicode wrong: Choosing nvarchar for attributes that will never contain Unicode data and choosing varchar for attributes that can contain Unicode data are equally evil and will get you instant damnation. For instance, a ZIP code will only contain numeric characters, so using Unicode data types will have the only outcome of wasting space. At the same time, storing customer business names or annotations in varchar columns means that you won't be able to persist international characters. While it may appear quite unlikely that such characters will ever appear in your database, you will regret your decision when that happens (and it will).
- Messing with XML: I'm not a big fan of XML in the database, but sometimes it can come handy. Storing XML data in a plain varchar column is a very bad idea. The XML data type provides validation rules that won't allow in invalid or malformed XML and also provides functions to manipulate the XML data. Storing schema-less XML is another bad idea: if you have an XML schema use it, otherwise you will end up saving invalid data. On the other hand, using XML to go "beyond relational" and mimic Oracle's nested tables will only get you damned. Fun times.
- Using different data types in different tables for the same attribute: there's only one thing worse than getting your data types wrong: getting them wrong in multiple places. Once you decided the data type to store an attribute, don't change your mind when designing new tables. If it is a varchar(10), don't use varchar(15) in your next table. Usually proper foreign key constraints help you avoid this issue, but it's not always the case.
If this query returns rows, chances are that you have schizophrenic columns in your database schema:
WITH my_schema AS ( SELECT OBJECT_NAME(c.object_id) AS table_name, c.name AS column_name, t.name AS type_name, c.max_length, c.precision, c.scale FROM sys.columns AS c INNER JOIN sys.types AS t ON c.system_type_id = t.system_type_id ), incarnations AS ( SELECT *, DENSE_RANK() OVER ( PARTITION BY column_name ORDER BY type_name, max_length, precision, scale ) AS incarnation_number FROM my_schema ), incarnation_count AS ( SELECT *, MAX(incarnation_number) OVER ( PARTITION BY column_name ) AS incarnation_count FROM incarnations ) SELECT * FROM incarnation_count WHERE incarnation_count > 1 ORDER BY incarnation_count DESC, column_name, type_name, max_length, precision, scale;
The lack of proper constraints will be the topic of the next post, when we will meet the anarchic designers. Stay tuned!
Object-Oriented programming taught us that generalizing is a good thing and, whenever possible, we should do it. Complex class hierarchies are a good way of reusing code, hitting the specialized classes only when a special implementation is needed.
In the database world, the concept doesn't play exactly well.
What they say in Heaven
In Heaven, there is a lookup table for each attribute, no matter how simple and no matter how small is the lookup table.
For instance, if your database is about sales, you probably have a Customers table and an Orders table, each with its own attributes resolved through a Foreign Key. The lookup tables are usually very small, with just a handful of rows in them:
Temptation comes from our own desires
Wouldn't that be great if you could stop adding small, insignificant tables to your database schema? Wouldn't it be a lot easier if you had ONE table to store all that lookup nonsense? "Less is more" after all, isn't it?
If you had a "One True Lookup Table", everything would be more elegant and simple. Look at this database schema:
Isn't it elegant and clean?
INSERT INTO LookupTable (table_name, lookup_code, lookup_description) VALUES ('Order_Status', 'OP', 'Open'), ('Order_Status', 'CL', 'Closed'), ('Order_Status', 'SH', 'Shipped');
Devil's in the details
You may have less tables to deal with now, but there's a price to pay. A bigger price than you would have expected.
- No foreign keys: Did you notice that the foreign keys are gone? In order to create a foreign key, you would have to add the lookup table name to the Orders and Customers tables, for each attribute stored in the lookup table. I don't think you would like it.
- Generic data type: In order to merge all lookup tables in one, you need to choose a "generic" data type that fits for all. The most generic data type is a character-based type, so you'll probably end up with a huge nvarchar column. You probably don't want the same huge column in the referencing tables and you could end up having different data types between the main tables and the lookups. One more not-so-good idea. Moreover, when you're joining your tables with the lookup table, you will have implicit (or explicit) conversions happening, which is a performance nightmare.
- Single Hotspot: Instead of hitting multiple tables for lookups, everyone will hit the same table over and over. This will create a hotspot in the database, with locking and latching issues all over the place.
- Acrobatic constraints: Defining constraints on a generic table becomes very difficult. Not an impossible deal, but very difficult. For the schema in this example, you could define a CHECK constraint to enforce the use of the correct data type, but the syntax of the constraint will not be very straightforward:
CHECK( CASE WHEN lookup_code ='states' AND lookup_code LIKE '[A-Z][A-Z]' THEN 1 WHEN lookup_code = 'priorities' AND lookup_code LIKE '[0-9]' THEN 1 WHEN lookup_code = 'countries' AND lookup_code LIKE '[0-9][0-9][0-9]' THEN 1 WHEN lookup_code ='status' AND lookup_code LIKE '[A-Z][A-Z]' THEN 1 ELSE 0 END = 1 )
It could get even worse
As soon as you start to realize that trading multiple lookup tables for an OTLT is not a good deal, devil will raise the bid and offer the ultimate generalization: the Entity Attribute Value, also known as "EAV".
If you come to think of it, who needs fixed attributes in a table when you can have as many attributes as you want in a general-purpose table? Why messing with ALTER TABLE statements when you can have a single table that can store an infinite number of attributes that you can bind to any row in any table?
A typical EAV schema looks like this:
This way, you can have any type of attribute bound to your main entities. For instance, to define a "ship_date" attribute in your Orders table, you just have to insert a couple of rows in your EAV schema:
INSERT INTO Entities (entity_id, entity_name) VALUES (1, 'Orders'); INSERT INTO AttributeNames (attribute_id, entity_id, attribute_name) VALUES (1, 1,'ship_date'); INSERT INTO AttributeValues (attribute_id, entity_id, id, value) VALUES (1, 1, 123, '2015-06-24 22:10:00.000');
Looks like a great idea, doesn't it? Unfortunately, it is not.
- Generic data types: again, what would prevent a date such as '2015-02-30 18:30:00.000' from being assigned to the ship date? Uh-oh: nothing.
- No foreign keys: again, enforcing foreign key constraints would be impossible.
- A single hotspot in the database: every attribute for every table involved in this nonsense would have to be looked up in the same table.
- No constraints: how would you enforce a constraint as simple as "NOT NULL"? Good luck with that.
- Dreadful reporting queries: when you will be asked to create a report on a table that uses this paradigm (I said "when", not "if", because it will happen), you will have to OUTER JOIN to the EAV table for each and every attribute that you want to retrieve. In case you are wondering if this is good or bad, take into account that the optimizer starts to freak out when it finds too many JOINS in a query and will likely timeout looking for a decent execution plan, feeding you the best it could come up with (usually, a mess).
Some software solutions are entirely based on user-defined attributes and the ability to define them is a central feature. For instance, many CRM solutions are heavily dependent on user-defined attributes. However, there are many ways to achieve the same results without resorting to an EAV design. For instance, one could wonder why ALTERing the database schema seems to be a less desirable solution.
There are also many flavors of EAV, with different degrees of evil involved. Some implementations at least provide different columns for different data types, some others use XML or JSON.
The EAV design comes with the intent of solving a real world problem that doesn't have a definitive


item _USER_{.is_integer()} _USER_ object is a (non-complex) integer _USER_ _USER_{.is_pos_integer()} _USER_ object is an integer and greater than 0 _USER_ _USER_{.is_nonneg_integer()} _USER_ object is an integer and greater equal 0 _USER_ _USER_{.is_even()} _USER_ object is an even integer _USER_ _USER_{.is_odd()} _USER_ object is an odd integer _USER_ _USER_{.is_prime()} _USER_ object is a prime integer (probabilistic primality test) _USER_ _USER_{.is_rational()} _USER_ object is an exact rational number (integers are rational, too, as are complex extensions like _USER_{2/3+7/2*I}) _USER_ _USER_{.is_real()} _USER_ object is a real integer, rational or float (i.e. is not complex) _USER_ multitable _USER_ cartouche _USER_ Constants, Fundamental operations, Numbers, Basic Concepts _USER_ node-name, next, previous, up _USER_ Constants _USER_ constants (class _USER_{constant}) _USER_ _USER_{evalf()} Constants behave pretty much like symbols except that they return some specific number when the method _USER_{.evalf()} is called. The predefined known constants are: _USER_ _USER_ _USER_.14.29.57 _USER_ Name _USER_ Common Name _USER_ Numerical Value (35 digits) _USER_ _USER_{Pi} _USER_ Archimedes' constant _USER_ 3.14159265358979323846264338327950288 _USER_ _USER_{Catalan} _USER_ Catalan's constant _USER_ 0.91596559417721901505460351493238411 _USER_ _USER_{EulerGamma} _USER_ Euler's (or Euler-Mascheroni) constant _USER_ 0.57721566490153286060651209008240243 _USER_ multitable _USER_ cartouche _USER_ Fundamental operations, Built-in functions, Constants, Basic Concepts _USER_ node-name, next, previous, up _USER_ Fundamental operations: the _USER_{power}, _USER_{add} and _USER_{mul} classes _USER_ polynomials _USER_ _USER_{add} _USER_ _USER_{mul} _USER_ _USER_{power} Simple polynomial expressions are written down in GiNaC pretty much like in other CAS or like expressions involving numerical variables in C. The necessary operators _USER_{+}, _USER_{-}, _USER_{*} and _USER_{/} have been overloaded to achieve this goal. When you run the following program, the constructor for an object of type _USER_{mul} is automatically called to hold the product of _USER_{a} and _USER_{b} and then the constructor for an object of type _USER_{add} is called to hold the sum of that _USER_{mul} object and the number one: _USER_ _TAG_ using namespace GiNaC; int main() @{ symbol a("a"), b("b"); ex MyTerm = 1+a*b; //... @} _USER_ example For exponentiation, you have already seen the somewhat clumsy (though C-ish) statement _USER_{pow(x,2);} to represent _USER_{x} squared. This direct construction is necessary since we cannot safely overload the constructor _USER_{^} in C++ to construct a _USER_{power} object. If we did, it would have several counterintuitive effects: _USER_ _USER_ _USER_ Due to C's operator precedence, _USER_{2*x^2} would be parsed as _USER_{(2*x)^2}. _USER_ Due to the binding of the operator _USER_{^}, _USER_{x^a^b} would result in _USER_{(x^a)^b}. This would be confusing since most (though not all) other CAS interpret this as _USER_{x^(a^b)}. _USER_ Also, expressions involving integer exponents are very frequently used, which makes it even more dangerous to overload _USER_{^} since it is then hard to distinguish between the semantics as exponentiation and the one for exclusive or. (It would be embarassing to return _USER_{1} where one has requested _USER_{2^3}.) _USER_ itemize _USER_ _USER_{ginsh} All effects are contrary to mathematical notation and differ from the way most other CAS handle exponentiation, therefore overloading _USER_{^} is ruled out for GiNaC's C++ part. The situation is different in _USER_{ginsh}, there the exponentiation-_USER_{^} exists. (Also note that the other frequently used exponentiation operator _USER_{**} does not exist at all in C++). To be somewhat more precise, objects of the three classes described here, are all containers for other expressions. An object of class _USER_{power} is best viewed as a container with two slots, one for the basis, one for the exponent. All valid GiNaC expressions can be inserted. However, basic transformations like simplifying _USER_{pow(pow(x,2),3)} to _USER_{x^6} automatically are only performed when this is mathematically possible. If we replace the outer exponent three in the example by some symbols _USER_{a}, the simplification is not safe and will not be performed, since _USER_{a} might be _USER_{1/2} and _USER_{x} negative. Objects of type _USER_{add} and _USER_{mul} are containers with an arbitrary number of slots for expressions to be inserted. Again, simple and safe simplifications are carried out like transforming _USER_{3*x+4-x} to _USER_{2*x+4}. The general rule is that when you construct such objects, GiNaC automatically creates them in canonical form, which might differ from the form you typed in your program. This allows for rapid comparison of expressions, since after all _USER_{a-a} is simply zero. Note, that the canonical form is not necessarily lexicographical ordering or in any way easily guessable. It is only guaranteed that constructing the same expression twice, either implicitly or explicitly, results in the same canonical form. _USER_ Built-in functions, Important Algorithms, Fundamental operations, Basic Concepts _USER_ node-name, next, previous, up _USER_ Built-in functions There are quite a number of useful functions built into GiNaC. They are all objects of class _USER_{function}. They accept one or more expressions as arguments and return one expression. If the arguments are not numerical, the evaluation of the function may be halted, as it does in the next example: _USER_ _TAG_ using namespace GiNaC; int main() @{ symbol x("x"), y("y"); ex foo = x+y/2; cout << "gamma(" << foo << ") -> " << gamma(foo) << endl; ex bar = foo.subs(y==1); cout << "gamma(" << bar << ") -> " << gamma(bar) << endl; ex foobar = bar.subs(x==7); cout << "gamma(" << foobar << ") -> " << gamma(foobar) << endl; //... @} _USER_ example This program shows how the function returns itself twice and finally an expression that may be really useful: _USER_ gamma(x+(1/2)*y) -> gamma(x+(1/2)*y) gamma(x+1/2) -> gamma(x+1/2) gamma(15/2) -> (135135/128)*Pi^(1/2) _USER_ example Most of these functions can be differentiated, series expanded and so on. Read the next chapter in order to learn more about this. _USER_ Important Algorithms, Polynomial Expansion, Built-in functions, Top _USER_ node-name, next, previous, up _USER_ Important Algorithms _USER_ polynomials In this chapter the most important algorithms provided by GiNaC will be described. Some of them are implemented as functions on expressions, others are implemented as methods provided by expression objects. If they are methods, there exists a wrapper function around it, so you can alternatively call it in a functional way as shown in the simple example: _USER_ _TAG_ using namespace GiNaC; int main() @{ ex x = numeric(1.0); cout << "As method: " << sin(x).evalf() << endl; cout << "As function: " << evalf(sin(x)) << endl; //... @} _USER_ example The general rule is that wherever methods accept one or more parameters (_USER_{arg1}, _USER_{arg2}, _USER_{}) the order of arguments the function wrapper accepts is the same but preceded by the object to act on (_USER_{object}, _USER_{arg1}, _USER_{arg2}, _USER_{}). This approach is the most natural one in an OO model but it may lead to confusion for MapleV users because where they would type _USER_{A:=x+1; subs(x=2,A);} GiNaC would require _USER_{A=x+1; subs(A,x==2);} (after proper declaration of _USER_{A} and _USER_{x}). On the other hand, since MapleV returns 3 on _USER_{A:=x^2+3; coeff(A,x,0);} (GiNaC: _USER_{A=pow(x,2)+3; coeff(A,x,0);}) it is clear that MapleV is not trying to be consistent here. Also, users of MuPAD will in most cases feel more comfortable with GiNaC's convention. All function wrappers


FREE SHIPPING (Except for pure batteries) ×
Tag Archives :frequency copy
How to set frequency seek function for Retevis RA85 GMRS Radio?
The frequency seek function, also known as frequency measurement function, usually called the frequency copy function of Retevis RA85 gmrs radio is a very useful function. Through the frequency seek function, two RA85 GMRS radios with different frequencies and different subtone settings can communicate with each other. ...
Read more
 retevis RA85, GMRS Radio, frequency copy, frequency measurement, frequency seek


Meet robots that are self-aware, can ID each other, and flirt.
From The Verge:
You might say the ability to recognize itself in a mirror is a robot's first step toward self-awareness. Qbo has not only achieved that goal, it can also distinguish itself from other identical machines and carry on a simple conversation using speech synthesis (Festival) and recognition (Julius) programs. The researchers at TheCorpora simulated self-awareness through simplified mimicry of the way humans recognize themselves: we learn what we look like and verify by checking to see if our actions are mirrored.
Follow John Moe at _USER_


Quick Answer: What Is The Role Of Mannitol And Phenol Red In MSA?
What does a red color symbolize in a MSA plate?
Bacteria growing on mannitol salt agar are positive for mannitol fermentation if the culture medium under their colonies is changed from its normal red color to yellow, indicating acidic growth products.
Bacteria unable to use mannitol usually change the medium to a magenta color in the vicinity of growth..
What Bacteria grows on MSA?
Does E coli grow on MSA?
(A) Staphylococcus aureus, (B) Staphylococcus epidermidis, and (C) Escherichia coli streaked on a mannitol salt agar plate. … The growth of E. coli was inhibited by the high salt concentration.
What is the application of MSA?
Mannitol Salt Agar (MSA) is used as a selective and differential medium for the isolation and identification of Staphylococcus aureus from clinical and non-clinical specimens. It encourages the growth of a group of certain bacteria while inhibiting the growth of others.
What does an MSA plate test for?
Mannitol Salt Agar (MSA) is used to determine if the bacteria is halophilic (salt loving) and if the bacteria can ferment mannitol. If the bacteria is able to grow then it is a halophilic bacteria, due to it's ability to grow in a high salt environment.
Can gram negative bacteria grow on MSA?
The MSA agar will retain its initial red color and will not change to yellow. Gram-negative bacteria like E. coli and P. aeriginosa are not tolerant to salt (not halophilic) and will not grow colonies on MSA (see quadrants II and IV).
What is the role of phenol red in MSA?
If an organism can ferment mannitol, an acidic byproduct is formed that causes the phenol red in the agar to turn yellow. It is used for the selective isolation of presumptive pathogenic (pp) Staphylococcus species.
What ingredient makes MSA selective?
Mannitol salt agar is selective due to the presence of 7.5% sodium chloride (NaCl).
Would removal of sodium chloride from MSA?
Answer and Explanation: Yes, the removal of sodium chloride from MSA will alter the medium's sensitivity or specificity to a great extent.
How does the NaCl IN MSA kill organisms?
Provides the substrate for fermentation and makes the medium differential. What does the NaCl contained in MSA do? Makes the medium selective because its concentration is high enough to dehydrate and kill most bacteria. … Indicates whether fermentation has taken place by changing color as the pH changes.
What will turn MSA yellow?
What is the role of sodium chloride in MSA and how does it work?
Answer and Explanation: Sodium chloride is used in MSA to provide the essential fermentation substrate. It limits the growth of most organisms apart from bacteria in mixed…


text:
On Monday, 2 February, at 16:30, in an open meeting of the Medical Promotion Council of Rīga Stradiņš University which will take place in the Hippocrates Lecture Theatre (Rīga, 16 Dzirciema Street), Marija Rusaka will defend her doctoral thesis "Acute and Transient Psychotic Disorder (ATPD) Dynamic Development and Peculiarities in Diagnostics and Treatment in Latvia".
Acute and transient psychotic disorders (ATPD) are characterized by acute psychosis (general term for the type of mental state, often involving a loss of contact with reality), varied symptomatology, and rapid resolution. Currently the role of researches on ATPT becomes increasingly significant, as scientists get involved in active discussions on the options to change the classification of ATPT diagnosis in the next revision of the International Classification of Diseases.
The aim of the study was to examine early symptoms of acute and transient psychotic disorders and the stability of the diagnosis, to describe early peculiarities of hospitalisation in ATPD patients and patients, who later were diagnosed with schizophrenia, to investigate possible relation of ATPD with stressful events before the first ATPD episode and personality profiles, as well as to identify treatment tactics in Latvia.
One of the conclusions of the research: clinical symptoms of the first psychotic episode in ATPD patient group and ATPD patients, who later were diagnosed with schizophrenia differs. The main prognostic indicators of the diagnosis were mental disorders during the first psychotic episode. General stability of the diagnosis was around 50%. It was established that a great part of ATPD patients experienced stressful events before the first psychotic episode. The relation of ATPD diagnosis with personality traits was not established.


text:
A co-design prototyping approach for building a Precinct Planning Tool
- 1Architecture Building and Planning, The University of Melbourne, Australia
- 2Institute for Social Research, Swinburne University of Technology, Australia
- 3Curtin University Sustainable Policy Institute, Curtin University, Australia
- 4School of Engineering, The University of Melbourne, Australia
Keywords: precinct planning, co-design, 3D visualisation, workflows, sustainability assessment, agile software development
Abstract. As the world is becoming increasingly urbanized there is a need for more sustainability-oriented planning of our cities. Policy and decision-makers are interested in the use of evidenced based approaches and tools that will support collaborative planning. There are a number of tools in the domain of spatial planning and decision support systems that have been built over the last few decades but the uptake and use of these tools is somewhat limited.
In the context of Australia there is significant urban growth occurring across the major cities and a need to provision planners and developers with precinct planning tools to assist in managing infill and the densification of the existing urban fabric in a carbon constrained economy. In this paper we describe the development of a new precinct planning tool known as the Envision Scenario Planner (ESP), which is being applied initially in two cities, Melbourne and Perth to assist in the urban design and planning of Greyfield sites.
To set the scene in this paper we firstly provide a brief review of the existing state of play of visualization and modelling tools available to urban planners in Australia. The focus on the paper will be to introduce an iterative co-design prototyping approach for developing a best practice precinct planning support tool (ESP) from an earlier tool known as ENVISION. The first step of the approach is an exposure workshop with experts to refine the proposed tool workflow and its functionality. Subsequent iterations of the prototype are then exposed to larger audiences for validation and testing. In this paper we will describe the process and the preliminary findings in implementing the first phase of this iterative co-design prototype approach.


Toasting the 4th of July like The Founding Fathers Would Have - With Madeira
The most popular wine in colonial America, with all due respect to Thomas Jefferson's French favorites, was Madeira. Never heard of it? While it's not very popular today, this fortified Portuguese wine was wildly popular on board the European ships traveling across oceans, and among the citizens of their distant colonies. Madeira was popular for a very practical reason — it travels well.
Fortifying the wine with spirits raised the alcohol content to around 19 – 21 percent, allowing the beverage to survive long journeys at sea. Two other things happened to Madeira, while at sea, that actually improved the beverage. Most wine will 'cook' if exposed to heat for a prolonged period of time. The hold of an eighteenth-century ship was not a kind place for table wine. Madeira, on the other hand, as sailors soon discovered, improved with exposure to heat (similar to when the Roman armies realized that storing their wine in oak barrels improved the wine within). Additionally, sailors realized that the 'pitching and rolling' the wine experienced in the ships hold improved Madeira's flavor.
Madeira's rise was also aided by the fact that the island, for which the wine bears its name, was a popular port of call for European ships headed to Asia, Africa, and the Americas. Among other supplies, a ship docking in the post would pack its hold with Madeira before sailing on to its ultimate destination.
Don't miss a drop!
The Americans, colonists then citizens, while they loved their whiskey, as the Whiskey Rebellion illustrated, also loved Madeira. It wasn't the cheapest drink, but there was plenty of it in America in the late eighteen century. Historians estimate that we were importing 25 percent of all the Madeira the Portuguese were producing during the period. When it came time for an important toast in early America, Madeira was typically the drink of choice.
Toasting The Declaration Of Independence
Signing of Declaration of Independence
When the members of the Continental Congress signed the Declaration of Independence in July of 1776, all the men there knew the seriousness of their action. They had signed their names to a document that would serve as the foundation of a new nation, or the evidence the British would cite when they hung them for treason. Clearly, a drink was called for. On such a momentous occasion, only Madeira would do. From there, Madeira served as the toasting beverage of choice.
Toasting George Washington's First Inauguration
Washington's First Inauguration At Federal Hall In New York
On April 30, 1789, George Washington was sworn in as the first President of the United States of America, in New York, the nation's capital at the time. Washington, followed by a crowd of citizens, walked from his home to Federal Hall, both located in what is today Downtown Manhattan. After meeting with the House and the Senate, Washington moved to the second floor balcony, where he took the presidential oath of office.
The Madeira-soaked celebration that followed has become a bit of a legend. While all agree the inauguration was celebrated with glasses of Madiera, when that happened is a bit foggy. Some claim he took the oath with a glass of Madeira in his spare hand — most certainly not the case, while others recall a toast immediately following the ceremony. The actual Inaugural Ball was held a week later, where it was Washington's dancing that caused a bit of a stir in early American society. Whatever the case, we can be sure Madeira was consumed, as Washington was known to enjoy three to five glasses an evening.
Toasting The Louisiana Purchase
Message of President Thomas Jefferson To The Senate
President Thomas Jefferson was America's earliest and strongest advocate for wine of the unfortified sort. During his time and travels in France, where he developed a strong taste for French wine, from some of today's most famous chateaus in Bordeaux in particular, he also believed that America one day could and would produce wines to rival the Old World's greats. His experimental vineyards in Monticello weren't particularly successful, but his prediction proved correct. Today, America produces some of the world's finest wines. Further, many believe those coming out of his native Virginia will soon be recognized as some of America's finest wines (see our guides to the vineyards of Monticello and Northern Virginia).
At its time, the Louisiana Purchase, was quite controversial. Many wondered whether then-President Jefferson's decision to buy the 828,000 square mile territory from the French was unconstitutional. Jefferson himself had his doubts, but he believed the opportunity was too important to pass up. The deal itself was fairly complicated, as the French had only recently bought the territory back from the Spanish. Robert Livingston, James Monroe, and Barbé Marbois signed the treaty in Paris, in April of 1803. Later that year, following Senate ratification, the three nations marked the peaceful handover of the territory in New Orleans, its former capital, with a series of celebratory toasts: Champagne to honor France; Malaga (a fortified Spanish wine) to honor Spain; and Madeira, our adopted wine, to honor America.
Madeira eventually declined in popularity, becoming something of a niche beverage. This was due to a combination of reasons, ranging from the arrival of powdery mildew and then phylloxera from Continental Europe, to events abroad. America was still an important market for Madeira by the time of Prohibition, and so when Prohibition was enacted, it effects were devastating.
The American love affair with Madeira is long over. We've grown our own wines to replace our original 'de defacto national wine.' Toasting to the 4th of July with a glass of American wine would certainly be in spirit of the day, whether it's a Cabernet Sauvignon from California or a Cabernet Franc grown across the continent on Long Island's North Fork. But if you truly want to toast to our Independence as our Founding Fathers would have, Madeira should fill your glass.


text:
When viewing an event in which an object moves behind an occluder on part of its trajectory, 4-month-old infants perceive the trajectory as continuous only when time or distance out of sight is short. Little is known, however, about the conditions under which young infants perceive trajectories to be discontinuous. In the present studies we focus first on infants' perception of trajectories that change during a period of occlusion. Four-month-olds perceive discontinuity in trajectories that change in height or orientation while behind an occluder, and this is true even when a change in direction could be due to an invisible bouncing collision with a surface. Further experiments reveal that infants do not perceive diagonal linear trajectories as continuous across an occlusion unless the occluding and revealing edges are orthogonal to the path of movement. Implications for theories of perceptual and cognitive development are discussed.
Bremner was lead author. Research arising from ESRC Grant R000238340 to Bremner held at Lancaster, with Slater (Exeter) as co-applicant and Johnson (NYU) as international collaborator. RAE_import_type : Journal article RAE_uoa_type : Psychology


text:
Effect of Dendrite Arm Spacing on Mechanical Properties of Aluminum Alloy Cylinder Heads and Engine Blocks 2005-01-1683
In our previous work we studied the factors that affect dendrite arm spacing of cylinder heads in various aluminum alloys. The present paper will be focused on mechanical properties of cylinder heads and engine blocks of aluminum alloys with different dendrite arm spacing.
Before evaluating the DAS effect on mechanical properties, some factors have been taken into account such as the response of mechanical properties to aging of different production castings having different DAS, and the influence of dimension and weight of real products on the heat treatment and mechanical properties. Comparisons were done among various production castings with the same alloy composition (in particular the Fe content), the same modification grade and similar percentage and size of porosity Furthermore, specimens were cut from different castings with the same alloy, then the same heat treatment cycle was performed on dissected specimens instead of the whole cylinder head or engine block, in order to avoid the interference of dimension and weight of real castings.
The results on the production castings of A356 alloy with a T6 heat treatment condition show that the UTS and percent elongation were increased in a great extent with reducing in DAS, while the yield strength was found to remain unaffected by DAS. For different cylinder heads in 319 alloy without heat treatment and cooled naturally in air both UTS and YS were found to decrease with increasing DAS, but elongation and HB remained constant as DAS increased from 20 to 30 μm. In heat treatment conditions of cylinder heads and engine blocks in 319 alloy, castings with lower DAS have higher tensile properties in the range of aging temperature from 150°C to 230°C. The study on production castings with a peak-age T6 heat treatment shows that both ultimate tensile strength and yield strength were increased as DAS decreased.
Citation: Zhang, B., Garro, M., Leghissa, M., Giglio, A. et al., "Effect of Dendrite Arm Spacing on Mechanical Properties of Aluminum Alloy Cylinder Heads and Engine Blocks," SAE Technical Paper 2005-01-1683, 2005, _URL_ Download Citation


text:
This event is in the past.
Gas Buster is also called mud gas separator or poor boy degasser, which is a safety equipment used on oilfield to remove the gas from drilling fluids. The gas in the drilling fluids is coming from underground with very high pressure. The worse is that the gas is always flammable and sometimes poisonous.
Where to the locate the gas buster on an oilfield
It is well known that the solids control equipments are used to remove the solids from the drilling fluids so that the fluids could be reused. Greatly could be saved by recycling the drilling fluids. Strictly speaking, even though the gas buster is not one type of solids control equipment, it always appears together with solids control equipment. Some mud engineers will put gas buster out of but ahead of the mud recycling tank, some ones even directly put the gas buster on the top of the mud tank. When there is drilling fluids coming out from the drilling hole with cut in high pressure gas, unless the gas is removed, the drilling fluids will be not be guided to the shale shakers unit for recycling.
How does gas buster work
The drilling fluids with high pressure gas will be firstly guided to chock manifold for pressure relief. And then the drilling fluids will be guided to gas buster. Inside the gas buster there is a device named distribution pipe which could decompose big bulk gas into small gas bubbles. The gas bubbles coming out of the distribution pipe will directly float upwards and build up at the upper part of the gas buster vessel and then guided out from the pipe at the top of the vessel. The slurry coming down will then transferred to the shale shaker for mud cleaning system.
As mentioned before, the gas separated by the gas buster is always flammable and poisonous. It cannot be discharged to environment directly. The usual practice is to guide the gas somewhere 50-100 meters far away from the rig and the burnt by an igniter device.
Gas buster and igniter device are not used very often, they are just like the fire extinguisher. However, to a oilfield drilling site, especially a deep drilling site, they are indispensable.