Setting up MySQL server
Creating a MySQL user for Debezium
You have to define a MySQL user with appropriate permissions on all databases that the Debezium MySQL connector monitors.
-
You must have a MySQL server.
-
You must know basic SQL commands.
-
Create the MySQL user:
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
-
Grant the required permissions to the user:
mysql> GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user' IDENTIFIED BY 'password';
| See permissions explained for notes on each permission. |
If using a hosted option such as Amazon RDS or Amazon Aurora that do not allow a global read lock, table-level locks are used to create the consistent snapshot. In this case, you need to also grant LOCK_TABLES permissions to the user that you create. See [overview-of-how-the-mysql-connector-works] for more details.
|
-
Finalize the user’s permissions:
mysql> FLUSH PRIVILEGES;
Permissions explained
| Permission/item | Description | ||
|---|---|---|---|
|
enables the connector to select rows from tables in databases
|
||
|
enables the connector the use of the
|
||
|
enables the connector to see database names by issuing the
|
||
|
enables the connector to connect to and read the MySQL server binlog. |
||
|
enables the connector the use of following statements:
|
||
|
Identifies the database to which the permission apply. |
||
|
Specifies the user to which the permissions are granted. |
||
|
Specifies the password for the user. |
Enabling the MySQL binlog for Debezium
You must enable binary logging for MySQL replication. The binary logs record transaction updates for replication tools to propogate changes.
-
You must have a MySQL server.
-
You should have appropriate MySQL user privileges.
-
Check if the
log-bin
option is already on or not.
mysql> SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM information_schema.global_variables WHERE variable_name='log_bin';
-
If
OFF
, configure your MySQL server configuration file with the following:
| See Binlog config properties for notes on each property. |
server-id = 223344 (1)
log_bin = mysql-bin (2)
binlog_format = ROW (3)
binlog_row_image = FULL (4)
expire_logs_days = 10 (5)
-
Confirm your changes by checking the binlog status once more.
mysql> SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM information_schema.global_variables WHERE variable_name='log_bin';
Binlog configuration properties
| Number | Property | Description | ||
|---|---|---|---|---|
1 |
|
The value for the |
||
2 |
|
The value of |
||
3 |
|
The |
||
4 |
|
The |
||
5 |
|
This is the number of days for automatic binlog file removal. The default is
|
Enabling MySQL Global Transaction Identifiers for Debezium
Global transaction identifiers (GTIDs) uniquely identify transactions that occur on a server within a cluster. Though not required for the Debezium MySQL connector, using GTIDs simplifies replication and allows you to more easily confirm if master and slave servers are consistent.
| GTIDs are only available from MySQL 5.6.5 and later. See the MySQL documentation for more details. |
-
You must have a MySQL server.
-
You must know basic SQL commands.
-
You must have access to the MySQL configuration file.
-
Enable
gtid_mode
:
mysql> gtid_mode=ON
-
Enable
enforce_gtid_consistency
:
mysql> enforce_gtid_consistency=ON
-
Confirm the changes:
mysql> show global variables like '%GTID%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| enforce_gtid_consistency | ON |
| gtid_mode | ON |
+--------------------------+-------+
Options explained
| Permission/item | Description |
|---|---|
|
Boolean which specifies whether GTID mode of the MySQL server is enabled or not.
|
|
Boolean which instructs the server whether or not to enforce GTID consistency by allowing the execution of statements that can be logged in a transactionally safe manner; required when using GTIDs.
|
Setting up session timeouts for Debezium
When an initial consistent snapshot is made for large databases, your established connection could timeout while the tables are being read. You can prevent this behavior by configuring interactive_timeout
and wait_timeout
in your MySQL configuration file.
-
You must have a MySQL server.
-
You must know basic SQL commands.
-
You must have access to the MySQL configuration file.
-
Configure
interactive_timeout
:
mysql> interactive_timeout=<duration-in-seconds>
-
Configure
wait_timeout
:
mysql> wait_timeout= <duration-in-seconds>
Options explained
| Permission/item | Description | ||
|---|---|---|---|
|
The number of seconds the server waits for activity on an interactive connection before closing it.
|
||
|
The number of seconds the server waits for activity on a noninteractive connection before closing it.
|
Enabling query log events for Debezium
You might want to see the original SQL
statement for each binlog event. Enabling the binlog_rows_query_log_events
options in the MySQL configuration file allows you to do this.
| This options is only available from MySQL 5.6 and later. |
-
You must have a MySQL server.
-
You must know basic SQL commands.
-
You must have access to the MySQL configuration file.
-
Enable
binlog_rows_query_log_events
:
mysql> binlog_rows_query_log_events=ON


Taking it upon myself to learn Android Studio, I learnt to make clones of a few popular tools out there.
The projects all mimicked the core functionality of each tool in its specific unique way.
In all instances where a backend server with database was required, I leveraged the use of ParseDB on a machine hosted through Amazon Web Services.
Looking at existing tools and mimicking them helps develop skills immensely, and it is a task that I will continue to perform.


9.3 Complete Program Examples
The rest of this chapter presents a handful of complete GUI programs,
as examples of how far Python and Tkinter can take you. Because
I've already shown the interfaces these scripts employ, this
section is mostly screen shots, program listings, and a few bullets
describing some of the most important aspects of these programs. In
other words, this is a self-study section: read the source, run the
examples on your own computer, and refer to the previous chapters for
further details on the code listed here. Many of these scripts also
are accompanied on the book CD by alternative or experimental
implementations not listed here; see the CD for extra code examples.
|


Salmon Shops !
Contact Information:
Pat the Salmon Guy: usually down near the pier
Store Locations:
First and Pike, SeaTac Airport, Seattle Center, Capitol Hill, Alki
Store Hours:
6AM - 8PM every day!


STALINGRAD A film review by Steve Rhodes Copyright 1995 Steve Rhodes
RATING (0 TO ****): ***
From the producer of the highly acclaimed film about German subs in World War II, DAS BOOT, we have STALINGRAD. Like DAS BOOT, it attempts realistically to portray the rank and file of the German soldiers during WW II. Like the even better movie DAS BOOT, which I thought was fascinating, STALINGRAD is a chillingly effective picture. The grunts who fought on the German side had a lot of misery to bear, and this movie puts you in their boots. STALINGRAD by director Joseph Vilsmaier is an effective anti-war film that has more in common with ALL QUIET ON THE WESTERN FRONT than with any other film.
DAS BOOT develops its story by focusing in on the commander of U-boat so that we get to know him personally.  In contrast, STALINGRAD is an ensemble piece (Fritz Reiser (Dominique Horwitz), Hans von Witzland (Thomas Kretschmann), Manfred "Rollo" Rohleder (Jochen Nickel), GeGe (Sebastian Rudolph), Irina (Dana Vavrova), General Hentz (Martin Benrath) and Otto (Sylvester Groth)) where we don't really know any one soldier as much as we get into their collective psyche. The film is so anti-war, that you leave the theater wanting to find a newspaper, pick the first war you read about, and leave to go protest against it. Very effective.
STALINGRAD, as you may will have guessed, tells the story of one of the bloodiest battles of World War II, the German siege of Stalingrad. We become brothers with the German grunts as they are pinned down fighting for their lives while freezing and starving. We see the humanity on both sides during a brief truce to pick up the dead bodies, and we witness the mistrust as the truce is shattered. We learn that "God be with you" was on the German army's belt buckles, and we pray with them before battle. It seems that they thought God was on their side too. They even sing "Oh Tannenbaum" on the way to one of their battles.
Gore, mein Gott, does this show have gore. Given what they were depicting, I do not think the violence is gratuitous, but you may want to bring one of those airline barf bags with you to the show.  In one scene we see a war time amputation with a less than sharp knife. Blood flows everywhere. There is no glorification of war in this movie whatsoever.
All of the gore notwithstanding, much of the show is about the German soldiers trying to survive the cold and keep from starving to death. There is a long sequence about some of them trying to go AWOL that is reminiscent of CATCH 22.
The show is genuine in its emotions. When a young soldier accidentally shots his friend, he wants to be shot himself. An old timer consoles him by telling him, don't worry, I've done it myself.
The cinematography (Rolf Greim, Klaus Moderegger, and Peter Von Haller) deserves lots of awards. Two of the best images are the red hot of the explosions in the fight in the factory and the bleak images of the tank battle in the snow. In the tank battle, we have Russian tanks being fought by German foot soldiers who were German prisoners for screwing up in a previous battle. One of the soldiers asks, "where is our artillery" and the other answers, "you're the artillery!"
Although the film is realistic, the music (Norbert Juergen Schneider) is overdone and would fit better in one of those pseudo-epic films. The costumes (Ute Hofinger) and the sets (Jindrich Goetz and Wolfgang Hundhammer) effectively illustrate the horror of that time and are excellent.
Like DAS BOOT, the small items add realism. As both sides are trapped in a factory building, the Germans get their letters from home and their inedible slop that goes for food. One letter from home is a classic Dear John; another brings the latest soccer scores.
The German soldiers laugh at the lies in Hitler's broadcasts. He paints a winning picture of the battle with light resistance, but they know the Russians are fighting hard. The movie depicts all Germans above the level of captain to be sadists. Although Russia was ruled at the time by the equally sadistic Stalin, the Russian high command is never mentioned. In a typical scene, starving German soldiers in German prisons on Christmas Day are offered a piece of bread as a treat, but must agree to "say pretty please" to the evil German officer in charge first.
STALINGRAD runs 2:12, but the effective editing by Hannes Nikel makes the time go by fast. It is in German with easy to read English subtitles. This gut wrenching film is unrated, and knowing the MPAA they would probably give it an R. Personally, I think it is definitely NC-17. It would probably be okay for mature teenagers over 16. I recommend this show to you, but I think it sad to say that probably few people will ever see it. The theme of this movie cries out to be seen. Finally, I award the film ***.
REVIEW WRITTEN ON: December 14, 1995
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Balance · Grace · Power
Founded in 1998 by the water master Misty, Cerulean Gym has been a haven for water trainers and their Pokémon for over two decades.
Commanding her ferocious Slowpoke, Leader Milly and her assistant trainers Tom and Marky welcome all challengers who have earned their Pewter City gym badge.


SPORT METER is free running app that uses GPS to map and track sport and fitness activities - running, biking, walking, driving, jogging, cycling, riding and etc. Track your workout for maximum speed, average speed, distance and duration with Sport Meter. App to measure speed, distance and time of running, biking, walking, driving, jogging, cycling and riding.
SPORT METER application features
- Monitors and indicate fitness activities in real time with GPS
- Monitor the progress of the exercises
- Just run, cycling, jogging, walking, playing sports, drive a car and other activity with a one click
- Record personal statistics and stores them to compete with other athletes
- Save and stores your activities to cloud
- Statistics of the best athletes using application around the world
- Statistics for training activities (duration , distance , maximum speed , average speed) during training in running, biking, walking, driving, jogging, cycling, riding and etc.
- Improve your past activity results and see statistics immediately
- Social networks - Facebook login and Twitter login (Google+ login coming soon)
- See your end point of activity in Google Street View (intall for free in Play Store)
- Share fitness activities on Facebook and follow friends
- Challenges with other runners, bikers, drivers or other
- World map that show around the world activities.
Created with Bootstrap, by Angel Raev.


Blade of glory: The mystery around a late president’s sword
by DAN SEWELLCINCINNATI (AP) - An Ohio sheriff plans to update the investigation into the ownership of a sword wielded in the American Revolution and by a future president in the War of 1812.
Hamilton County Sheriff Jim Neil scheduled a news conference Wednesday about the sword linked to William Henry Harrison and before him, his future father-in-law, Continental Army Col. John Cleves Symmes.
Police in Connecticut seized the sword last month, just hours before it was going up for auction with a $15,000 minimum bid.
Members of the Harrison-Symmes Memorial Foundation some 15 miles (24 kilometers) west of Cincinnati suspect it is a historical sword that disappeared 40 years ago from the Cincinnati Historical Society.
The would-be seller says that he believes his sword is authentic and that the Cincinnati sword was a copy.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


:: com :: sun :: star :: bridge ::
|
| interface XBridge |
|
- Description
- main interface for an interprocess bridge.
|
| Methods' Summary |
| getInstance |
tries to get an interface from the remote that is known by this name.
|
| getName |
name that the bridge got when it was created.
|
| getDescription |
a unique descriptive string: protocol + ":" + XConnection.getDescription()
|
| Methods' Details |
getInstance
| ::com::sun::star::uno::XInterface |
| getInstance( |
[in] string |
sInstanceName ); |
- Description
- tries to get an interface from the remote that is known by this name.
In general, this method is called once to get the initial object from the
remote, but it is allowed to call the method multiple times.
- Parameter sInstanceName
- The name of the object, that shall be retrieved from the
remote process. The call is delegated to
com.sun.star.bridge.XInstanceProvider.getInstance() in the
remote process.
- See also
- com.sun.star.bridge.XInstanceProvider
|
|
getName
- Description
- name that the bridge got when it was created.
|
|
getDescription
- Description
- a unique descriptive string: protocol + ":" + XConnection.getDescription()
|
|
Top of Page
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


About me
About you & yours expectations :)
Food's Poll - make sure you filled it!
Please fill out the poll after Workshop!
http://bit.ly/warsawjs-workshop-20-ankieta
Make sure you have:
node & npm
favourite editor (I recommend Webstorm!)
github up and running (your choice - cli/desktop app)
Please remember to create your repo and push your code to it!
the following name is mandatory
Clone repository (so that you have the full code&steps just in case)
Please keep readme of the repo next to you - it is a heart❤ of our work today!


--- layout: index ---
Hi there! Im Alex!
I am a Backend Software Engineer and previous Surgical Neurophysiologist.  I have solved problems with my hands, my brain, and my heart - sometimes all at the same time.
I specialize as a Software Engineer with experience working on projects involving large amounts of data, API construction and consumption, and focus heavily on OOP principles.
I love working with people and companies who share the same values and mindset for growth, innovation, learning, and compassion that I do. As a professional, I aspire to bring optimism, curiosity, creativity, and grit to the workplace; working alongside a team I can learn from and a company I can grow with.


The BioBehavioral Assessment (BBA) program was developed in 2001 to assess infant rhesus monkeys’ temperament, emotionality, and behavioral and physiological reactivity. This information can be used by Primate Center staff and by Center research scientists to test ideas about how differences among individuals in these processes could affect management practices (e.g., what are the characteristics of animals that develop abnormal behaviors, or poor maternal behavior, or poor adaptation during pairings) or research outcomes (e.g., what are the characteristics of animals that progress to disease most rapidly, or that adjust well to chairing, or that are outliers in my data set; how should I assign animals to experimental groups?).
The rationale for this project is the result of more than two decades of research in Psychology, Biological Psychology, and Primatology. This research has shown that many biobehavioral traits that animals possess (often described as temperament, personality, or reactivity) are present and measurable in early life, and are stable throughout life. Individual differences in these traits have been linked to variation in important outcomes, ranging from social behavior, to alcohol consumption, to brain function, to disease processes.
John Capitanio is Principal Investigator on the project, which also originally included Bill Mason and Sally Mendoza as collaborating investigators. The research was initially funded as a Resource Research project on the CNPRC base grant (RR000169), and then as an R24 grant from NCRR/ORIP. The grant was re-funded in 2009, and again in 2014. The grant ID is R24 OD010962.
There is a huge literature on temperament, personality, emotional reactivity, etc., though most of it is with humans. If you want to learn more about individual differences in temperament and behavioral responsiveness in nonhuman primates, check out these papers:
Infant monkeys (from the field cages, corncribs, indoor breeding colony, or nursery) are tested for a single 25 hour period when they are between the ages of 90 and 120 days in cohorts of 5-8 animals each. For a given cohort, infants and their mothers (or peers, in the case of nursery-reared animals) are separated from each other. Mothers from the field cages and corncribs are transported to a holding area (typically the THPAD or CC301), and infants are taken to a testing/housing area. Infants arrive by 0900 hrs. and are housed individually with ad lib access to food, a novel object, and a stuffed toy duck and towel in their cages. Infants are returned to their mothers/peers at 1000 hrs. on Day 2. During the 25-hr period, animals are assessed behaviorally and physiologically in a number of standardized situations to identify individual differences in biobehavioral organization:
Living Cage Observations. To assess their responses to separation and relocation, we observe each infant for a 5-min period at the beginning and at the end of the 25 hr. separation period. For these assessments, an observer sits in front of the rack of cages at a distance of 8 feet. Observers are instructed to minimize all direct eye contact with the animals during data collection. Each animal is observed individually (focal animal sampling), and data are recorded with the use of the Observer program (Noldus, 1991). Principal measures are activity, vocalization, and contact with objects.
Preferential Look Test. This test is designed to assess the infants' ability to recognized the difference between a stimulus it has just seen and a new stimulus (ie, recognition memory), and we use procedures adapted from Gunderson et al. (1987).  On each trial the animal is shown two identical stimuli (objects or pictures), followed by a brief interval, after which the familiar object and a novel object are displayed. The principal measure of interest is duration of looking at the novel object. This test reflects visual recognition memory, and performance has been related to later cognitive impairment and developmental problems.
Video Playback. The purpose of this test is to assess the infants' responsiveness to a social stimulus presented via color videotape. The 10-min stimulus tape consists of three sequences of an unfamiliar adult male rhesus macaque displaying viewer-directed aggressive behavior, interspersed with four segments of the same male displaying nonsocial (i.e., neutral) behavior. Each subject is carried to the test cage, which is situated in front of the video monitor. The infant's behaviors while it views the aggression and nonsocial sequences of the videotape are recorded and the infant is then returned to its living cage. Responses of interest include positional and social behavior directed at the video image, and have been related, in adult males, to major personality dimensions including Sociability (Capitanio, 2002).
Human Intruder Test. The goal of this test is to assess the infants' responsiveness under standardized conditions of the challenge of a relatively non-threatening human (presenting her face in profile) and a more threatening human (staring at the infant). Each condition is presented at two distances. The infant is carried to the test cage and experiences four 1-min trials. For the first trial, an unfamiliar human sits approximately 3 ft in front of the cage, presenting her left profile. After 1 min, the human, maintaining a profile orientation, moves to within 12 inches of the test cage. One minute later, the human returns to the more distant location and attempts to maintain direct eye contact with the infant for 1 minute, following which the human again moves to within 12 inches of the test cage and attempts to maintain eye contact for 1 min. These conditions are designated, respectively, profile far, profile near, stare far, stare near. Responses of interest include positional, activity, and emotional behaviors.
Blood Sampling. Blood is sampled on four occasions to assess infants' responses to separation and relocation, and to determine the regulatory characteristics of the hypothalamic-pituitary-adrenal (HPA) axis. Four blood samples are drawn via femoral venipuncture from each monkey and are used to assess concentrations of plasma cortisol. The first sample (1 ml) is taken following completion of the Living Cage observations on Day 1 (2 hrs. after arrival in the test room), and is also used for a complete blood count and to assess numbers of CD4+ and CD8+ T-cells using flow cytometry. After completion of the Human Intruder testing (at 1600 hrs.), a second sample (0.5 ml) is taken, after which each subject is given 500 µg/kg dexamethasone i.m. The third sample (0.5 ml) is taken following the living cage observations on Day 2 (at 0830 hrs.), and should reflect cortisol concentrations that are suppressed by the dexamethasone. Failure to suppress cortisol in humans is associated with negative affective characteristics (including depression). Immediately after Sample 3, each subject is injected with 2.5 IU ACTH i.m., and a fourth sample (0.5 ml) is taken 30 min later. The dexamethasone and ACTH stimulation tests are clinical tests used routinely to determine the integrity of the hypothalamic-pituitary-adrenal system. We have data suggesting that the response of the HPA system is traitlike – individual differences in cortisol concentrations (including responses to dexamethasone suppression) are maintained over time (Capitanio, Mendoza, Lerche, 1998).
Novel Objects. The goal of this test is to assess the infants' responsiveness by measuring their activity with unfamiliar objects in their living cages. The first object (black hollow cylinder with ridges on the exterior surface, 9 cm long x 4 cm in diameter, weighing 0.090 kg) is present when the animal is first placed in the living cage, and remains in the cage until after the second blood sample is drawn. The second object (white, crayon-shaped object with ridges on the outer surface, same dimensions and weight) is then placed in the cage and remains until the assessments ends on Day 2. Each object contains an Actiwatch activity monitor that records the force exerted on the object.
Temperament Ratings. The goal of the rating is to provide an overall "thumbnail" picture of each infant's behavioral characteristics during the testing period. At the end of the 25 hr. assessment period, just before the infant is returned to its mother/cage-mates and housing situation, it is rated by the technician who performed the assessments. The rating instrument consists of 20 adjectives (e.g., calm, bold, excitable, playful, tense) and their definitions. The technician rates each animal on each adjective using a seven-point scale, reflecting "total absence" to "extremely large amount" of the characteristic displayed. From these ratings, major dimensions of temperament can be obtained (e.g., Capitanio, 1999).
Following the temperament rating, mother-reared infants from the field cages and corncribs are reunited with their mothers in the mothers’ holding cages. Mothers and infants are observed for approximately 1 hr. to insure that the mothers accept the infants, and to allow an opportunity for the infants to suckle. Mother-infant pairs are then returned to their original living cages. Informal observations continue to insure that the re-introductions to the cages occur safely. Nursery-reared animals are immediately returned to the nursery, and infants from the indoor breeding colony are returned directly to their mothers in their living cages.
Animals are classified into one of four rearing conditions based on where they were reared during their first 3-4 months of life. Below are brief descriptions of each rearing condition. Note that specific details for any given animal may vary.
NC - animals reared in the field cages. Field cages contain animals of multiple ages and sexes, with up to 150 animals in each cage.
CC - animals reared in the corncribs. Corncribs typically contain one adult male, 3-6 adult females, and any previous offspring.
MR - animals are born into the indoor breeding colony and are "mother-reared". Housing involves a single mother-infant pair living in a standard-sized individual cage. A given mother-infant pair may have direct contact with another mother-infant pair in an adjacent cage for several hours per day. Note that this is a heterogeneous category, in that in some cases, infants were conceived in the field cages, but due to events (eg, a cage war) were relocated indoors during gestation. See the following paper to learn how this can make a difference: Elfenbein, H.A., Del Rosso, L., McCowan, B., Capitanio, J.P. Effect of indoor compared with outdoor location during gestation on the incidence of diarrhea in indoor-reared rhesus macaques (Macaca mulatta). Journal of AALAS, 2016, 55: 277-290.
NR - animals are raised in the nursery. NR infants are typically derived from the field cages by separating them from their mothers on the day of birth and placing them in incubators (each containing a stuffed animal toy and towels to cling to) for approximately 30 days, after which they are moved into individual units of a quad cage. After 1 or 2 days of habituation, the barriers between adjacent units are removed so that infants can interact in pairs. In some years, infants were formed into pairs for 6 hours per day, while in other years barriers were removed permanently, resulting in continuous, dyadic peer-housing.
Upon arrival in the testing area, animals are weighed using a standard CNPRC Fairbanks scale. This weight is the value we use to determine doses of dexamethasone and ACTH.
This code indicates whether (Y) or not (N) an animal is an SPF animal. Note that some SPF animals are listed as nursery reared, and some are listed as being born into an SPF field cage. This code does NOT distinguish between the different levels of SPF that we have at CNPRC.
These data are taken from the "Living Cage Observations," which are five minute samples of behavior recorded live on two occasions during the 25-hr. assessment period. On Day 1, the observations begin about 15 minutes after the animals are relocated to the test room (0915), and on Day 2, they begin at 0700. Exploratory and Confirmatory factor analyses were performed on the behavioral data and are described in some detail in the following publication:
Golub, M.S., Hogrefe, C.E., Widaman, K.F., Capitanio, J.P. Iron deficiency anemia and affective response in rhesus monkey infants. Developmental Psychobiology, 2009, 51, 47-59.
These analyses identified two behavioral composites (Activity and Emotionality) for Day 1 data. Identical composites were created for the Day 2 data. Note that the Day 1 composites reflect how animals responded immediately upon separation from mother/peer and relocation to a novel environment. The data from Day 2 reflect adaptation to the situation. In very general terms, animals (especially those from the field cages) often showed low Activity during the Day 1 observations. Some animals continued to display low Activity on Day 2, but others seemed to behave much more normally. Thus, we believe Day 2 data reflect the extent to which animals became more comfortable in the situation.
At the end of the 25-hr. testing period, the technician rated each animal on listing of 20 trait adjectives, with a goal of obtaining overall ‘thumbnail’ assessments of the animals’ behavioral characteristics during the period of testing. We believe these trait ratings reflect stable, individual difference characteristics of the animals.
Scores on these traits were subjected to exploratory and confirmatory factor analysis, described in the following paper:
Golub, M.S., Hogrefe, C.E., Widaman, K.F., Capitanio, J.P. Iron deficiency anemia and affective response in rhesus monkey infants. Developmental Psychobiology, 2009, 51, 47-59.
Many different research laboratories conduct some type of Human Intruder (HI) test to assess a variety of constructs, like aggression, behavioral inhibition, etc. For the BBA program, we use a brief version comprising four 1-minute trials, with the technician presenting her profile face from a far (~1 meter) distance, profile from a near (~0.3 meter) distance, full frontal face from the far, and full frontal face from the near, distances. There are many measures one can take from this test, but we performed exploratory and confirmatory factor analyses to identify the factors that underlie the behaviors seen. When we included behaviors recorded from the four separate conditions, the same behaviors tended to be found on the same factors, so we simply combined data across the four trials and re-ran the analyses. You can find the details of the analysis here:
Gottlieb, D.H., Capitanio, J.P. Latent variables affecting behavioral response to the human intruder test in infant rhesus monkeys (Macaca mulatta). American Journal of Primatology, 2013, 75, 314-323.
Behavioral inhibition (BI) is a major temperament trait for many species of mammals, including humans. BI is typically assessed in infancy/toddlerhood in humans, and is considered an important risk factor for later anxiety (especially social anxiety) and depression in people. For the BBA program, we define BI as having scores below zero for four measures: Day 1 Activity, Day 1 Emotionality, Day 2 Activity, and Day 2 Emotionality. This index of BI has been linked to later behavior, to genetic differences, to metabolomic differences, and to differences in gene expression in the brain.
This index is displayed as either a 0, indicating the animals’ responses did not meet the criteria for BI, or 1, indicating the animals’ responses did meet the criteria.
Most of the data presented are in z-score format. Z-scores (sometimes called “standard scores”) are derived by taking an individual’s actual score, subtracting the mean of the sample, then dividing by the standard deviation (which is a measure of variability). The z-score tells you how extreme from the “average” an individual’s score is. In z-score units, the average score is zero. If the measure is normally distributed, here’s how z-scores translate into where that given animal is in the broader sample:
| If the z-score is: | then the animals' score is higher than this % of the sample: | |
| -1.65 | 5% | |
| -1.00 | 16% | |
| 0 | 50% | |
| 1.00 | 84% | |
| 1.65 | 95% |
If you want more precise values, use this calculator:
http://davidmlane.com/hyperstat/z_table.html
Note that for each data set, z-scores were calculated independently for each year of testing. Thus, all values are relative to each other for all animals within a single test year, like 2003. If you were to compare two animals, one from 2003 and one from 2005, that each had a score of 1.00 for a given measure, you would know that they each had higher scores than 84% of their respective yearly testing cohorts. You should NOT conclude that they had the exact same ACTUAL score value, since values from year to year can vary slightly, owing to a number of factors.
You can read more about z-scores at Wikipedia:
http://en.wikipedia.org/wiki/Z_score
Cortisol is a glucocorticoid, a hormone released by the adrenal cortex, which causes release of glucose into the circulation. It is secreted in response to ACTH, which is a peptide released by the pituitary. Cortisol is often thought of as a “stress” hormone. It is certainly released in response to situations that most would perceive as stressful, which makes some sense – providing glucose can help you recover from excessive emotional and physical exertion. However, cortisol concentrations reflect lots of different things. For example, cortisol concentrations are generally higher in the morning than in the afternoon in most people (again, this makes sense, in that it provides the energy for your day), but not in all people – about half the people who suffer from clinical depression do not show this circadian rhythm of cortisol, for example.
In the BBA project, we assessed cortisol at four time points.
Sample 1 was drawn at 1100 hours on Day 1, which is about two hours after the infants had been separated from their mothers and relocated to the testing environment. Consequently, these values are likely “stressed” values.
Sample 2 was drawn at 1600 hours on Day 1, at the conclusion of the day’s behavioral testing. In the absence of stressful circumstances, we would expect Sample 1 values to be higher than Sample 2 values, because cortisol is naturally higher in the morning than in the afternoon. In the BBA animals, in contrast, most animals showed elevations at Sample 2, presumably reflecting continued stress associated with separation and relocation. This was often not true of nursery-raised animals, however (see Capitanio, J.P., Mendoza, S.P., Mason, W.A., Maninger, N. Rearing environment and hypothalamic-pituitary-adrenal regulation in young rhesus monkeys (Macaca mulatta). Developmental Psychobiology, 2005, 46, 318-330).
Sample 3 was drawn at 0830 hours on Day 2, after the Day 2 Living Cage Observations had been performed. Immediately after Sample 2 was drawn on an animal, it received an injection of dexamethasone (500 ug/kg) i.m., which is a potent synthetic glucocorticoid. The “dexamethasone suppression test” is a standard clinical test of negative feedback regulation in the hypothalamic-pituitary-adrenal system, and dex typically suppresses cortisol output by the adrenal cortex when measured several hours later. Sample 3 cortisol levels should reflect at least some suppression by dexamethasone.
Sample 4 was drawn at 0900 hours on Day 2. Immediately after Sample 3 was drawn, each animal was injected with 2.5 IU of ACTH. Since ACTH normally stimulates cortisol secretion from the adrenal cortex, we would expect that cortisol concentrations would rise, which they did for nearly all animals.
Over the years, cortisol has been assayed using two different platforms by the Endocrine Core at CNPRC. Initially, radioimmunoassay was used, but when this kit was discontinued, we moved to the Centaur platform currently in use by that Core. Nancy Gee in the Endocrine Core, or John Capitanio, can provide additional information on the assay from the newer platform.
Note that the values presented here are z-scores, not the actual cortisol concentrations. This is in keeping with the goal of helping users determine whether the animals of interest to them responded in an unusual fashion relative to the other animals in the sample. Thus, while a z-score of “0" reflects the mean value for each of the four cortisol samples, the actual cortisol concentration corresponding to that mean value differs by sample. If you are interested in the actual cortisol values, contact John Capitanio.
You can read more about cortisol at: http://en.wikipedia.org/wiki/Cortisol
You can read more about the dexamethasone suppression test at: http://en.wikipedia.org/wiki/Dexamethasone_suppression_test
Be aware that information in Wikipedia may be more or less accurate on some details, depending on the knowledge
of the person writing the article!
For the Sample 1 blood draw, 0.5 ml of blood was sent to the CNPRC Clinical Laboratory for a complete blood count and flow cytometry (to determine numbers of CD4+ and CD8+ cells). Note that the values presented here are actual values, not z-scored values.
Serotonin (also known as 5-hydroxytryptamine, or 5-HT) is a monoamine neurotransmitter found in the brain. Serotonin is also found in great quantities in the gut, and it is a molecule that has effects on the immune system. In the brain, serotonin is associated with mood and emotion, and is a target of therapeutic intervention for individuals suffering from mood disorders (e.g., SSRIs, or selective serotonin reuptake inhibitors, are commonly prescribed antidepressants).
Once a serotonin neuron "fires," serotonin is released into the synaptic cleft, where it can have its effect on the downstream neuron. Serotonin is then taken back into the pre-synaptic cell (i.e., the cell that released it in the first place) in a process called reuptake, where the serotonin can be repackaged and recycled. Reuptake relies on the presence of a protein called a transporter (the serotonin transporter, or 5-HTT) in the membrane of the presynaptic cell. In humans and in rhesus monkeys, the gene that codes for this protein has a polymorphism in the promoter region of the gene (promoters are regions of gene that determine whether and how the gene will be transcribed). This region is often referred to as the serotonin transporter gene-linked polymorphic region, or 5-HTTLPR, which is sometimes referred to as SLC6A4.
For the most part, there are two forms of the gene, a "short" allele and a "long" allele (there is some evidence for other, more rare alleles, which we ignore for now). Thus, an individual may have three genotypes (since there is one form of the gene on each of the pair of chromosomes - chromosome pair 17 in humans, and pair 16 in rhesus): short/short, short/long, and long/long. The short allele seems to result in reduced efficiency of the transcription process. Several studies, in both humans and rhesus, have shown that possession of one or two short alleles (whether only one is needed or two are needed depends on the specific study) is associated with behavioral outcomes that are often described as anxious, fearful, or aggressive in nature, and with physiological outcomes, such as regulation of the hypothalamic-pituitary-adrenal response. In many cases, these outcomes are particularly evident when individuals with a short allele also have had some form of early adverse experience, such as, for rhesus monkeys, nursery-rearing. You can read more about these outcomes in: Rogers J, Kaplan J, Garcia R, Shelledy W, Nair S, Cameron J. Mapping of the serotonin transporter locus (SLC6A4) to rhesus chromosome 16 using genetic linkage. Cytogenetic and Genome Research 112:341a, 2006.
Because our dataset is so large, we have also identified many cases of a rare allele for this gene, a so-called "extra-long", which is designated as XL. Animals can have any combination of genes with this allele as well: S/XL, L/XL, or XL/XL. We note that there are some rare animals with three genes, specifically S/L/XL. All of these will be identifiable in the database.
Monoamine oxidase A is an enzyme whose gene is on the X chromosome. It is responsible for the breakdown of various neurotransmitters, such as norepinephrine, epinephrine, serotonin, and dopamine. These neurotransmitters are found throughout the brain, and are involved with emotion, among other things.
In humans and in rhesus monkeys, there is a promoter region that is polymorphic. Specifically, there is variation in the length of a repetitive sequence; this is referred to as a variable number of tandem repeats, or VNTR. While the number of repeats differs between humans and rhesus, there appears to be overlap in outcome. In rhesus monkeys, the main number of repeats are labelled 5, 6, and 7 repeats (there may be a small number of other repeats as well). A paper by Newman et al. (Newman TK, Syagailo YV, Barr CS, Wendland JR, Champoux M, Graessle M, Suomi SJ, Higley JD, Lesch KP. Monoamine oxidase A gene promoter variation and rearing experience influences aggressive behavior in rhesus monkeys. Biol Psychiatry 57:167-172, 2005) reported that the 7-repeat allele results in lower transcriptional activity than do the 5- and 6-repeats. The outcomes associated with variation in this gene have been related to aggressive and antisocial behavior in humans, particularly if the individuals have had adverse early life experiences. In rhesus monkeys, we have reported genotype by rearing interactions (Karere GM, Kinnally EL, Sanchez JN, Famula TR, Lyons LA, Capitanio JP. What is an "adverse" environment? Interactions of rearing experiences and MAOA genotype in rhesus monkeys. Biol Psychiatry 65:770-777, 2009): No effects of genotype were found for infants reared by mothers in our field cages. In contrast, animals reared in corncribs were more likely to display aggression, which was especially true of animals possessing the low-activity MAOA genotype. In addition, animals with low-activity genotypes that had experienced restricted mother rearing (in our time-mate colony) showed more anxious behavior (scratch, yawn).
Because MAO-A is on the X-chromosome, genotypes are a bit more complicated than for the serotonin transporter. Males have only one X chromosome, so we have 5/-, 6/-, or 7/- genotypes (males are thus referred to as hemizygous, possessing only one form of the gene). Because females have two X chromosomes, they can have 5/5, 5/6, 5/7, 6/6, 6/7, or 7/7 genotypes. We don’t know a lot about how the heterozygous females (eg, the 5/6, 5/7, or 6/7 genotypes) behave genetically, because we don’t know which X-chromosome is inactivated in any given cell. Although since both the 5- and 6-repeat alleles are considered high activity, the 5/6 animals may not be that different from 5/5 or 6/6 animals. Based up on about 4200 genotypes from CNPRC animals we find the following genotype frequencies:
We note that we have also found other, rare variants of this gene as well, including a "4" allele, and a "6.5" allele. Thus there can be other combinations of genotypes involving these rare alleles.
The following publications have resulted from the BBA program at CNPRC:


Depending on the video(s) you are exploring, it might be useful to account for and analyze the use of emojis in comments. As emojis become more and more popular and more complex in the meanings they are able to signify, the more important it is to at least account for emojis and include them in textual analyses. Here’s how you can do this with YouTube data!
I wanted to choose something that had both 1) a lot of comments and 2) a strong likelihood of comments containing emojis, so let’s look at the comments from the ill-advised (and ill-fated) ‘Emoji Movie’ trailer. This also has a lot of varying sentiment (one of the comments is “The movie is a such disgrace to the animation film industry.”😹😹😹).
If you don’t have the YouTube API set up, please see instructions on how to do so here.
# Connect to YouTube API
# Leave token blank
# yt_oauth("app_id", "app_password", token='')
# Get comments. 'max_results = 101' ensures I get all of the comments on the video.
emojimovie <- get_comment_threads(c(video_id="o_nfdzMhmrA"), max_results = 101)
# Save data (if you want)
# write_csv(emojimovie, path = "sampletubedata.csv")
Now we have some (~10,300) comments to play with – let’s identify the emojis in our data. To do so, we’ll use the FindReplace function from the DataCombine package and an emoji dictionary I put together that has each emoji’s prose name, UTF-8 encoding and R encoding (the R encoding is specifically for emojis in Twitter data). There are a couple of steps to change the dictionary to be able to identify emojis in our YouTube data, but depending on your computer you might be able to just search by UTF-8 encoding.
Help figuring out the emoji encoding issue from Patrick Perry – thanks Patrick! 😊
emojis <- read_csv("https://raw.githubusercontent.com/lyons7/emojidictionary/master/emoji_dictionary.csv")
# Specific to YouTube data
emojis <- emojis[!emojis$Name == " SHRUGFACE ",]
# change U+1F469 U+200D U+1F467 to \U1F469\U200D\U1F467
emojis$escapes <- gsub("[[:space:]]*\\U\\+", "\\\\U", emojis$Codepoint)
# convert to UTF-8 using the R parser
emojis$codes <- sapply(parse(text = paste0("'", emojis$escapes, "'"),
keep.source = FALSE), eval)
Now we’ll use the FindReplace function to go through and identify emojis.
emojimovie <- read_csv("https://github.com/soodoku/tuber/blob/master/data-raw/sampletubedata.csv?raw=TRUE")
emojimovie <- as.data.frame(emojimovie)
# First have to change class of comment text to character from factor
emojimovie$text <- as.character(emojimovie$textOriginal)
# Go through and identify emojis
emoemo <- FindReplace(data = emojimovie, Var = "text",
replaceData = emojis,
from = "codes", to = "Name",
exact = FALSE)
# This might take some time, we have a big data set.
Now you have your comments with emojis identified. Let’s look at the top emojis in our data set.
# Have to do keep the "to_lower" parameter FALSE so our emojis in our dictionary are kept separate from words that happen to be the same as emoji names
# First want an id for each comment -- this will come in handy later on
emoemo$comment_id <- 1:nrow(emoemo)
emotidy_tube <- emoemo %>%
unnest_tokens(word, text, to_lower = FALSE)
# Put emojis in tidy format too so as to use a join function
emojis$Name <- as.character(emojis$Name)
tube_tidy_emojis <- emojis %>%
unnest_tokens(word, Name, to_lower = FALSE)
# Now we will use inner_join to keep matches and get rid of non-matches
tube_emojis_total <- tube_tidy_emojis %>%
inner_join(emotidy_tube)
# What is the most frequent emoji?
tube_freqe <- tube_emojis_total %>%
count(word, sort = TRUE)
tube_freqe[1:10,]
## # A tibble: 10 x 2
## word n
## <chr> <int>
## 1 TAGLATINSMALLLETTERA 1955
## 2 TAGDIGITTWO 345
## 3 RAISEDHAND 230
## 4 TAGDIGITFOUR 230
## 5 TAGLATINSMALLLETTERI 230
## 6 AIRPLANE 115
## 7 ANCHOR 115
## 8 CHURCH 115
## 9 CROSSEDSWORDS 115
## 10 FOUNTAIN 115
So, our ten most frequent emojis in the comments of the Emoji Movie trailer are 😂, 👦, 📱, 😘, 👨, ☠, ⚛, 👯, 😬 and 😙. Read into that what you will! 😂
What if we want to look at how the use of these emojis has changed over time? We can also look at WHEN the posts were generated. We can make a graph of comment frequency over time. Graphs constructed with help from here, here, here, here, here, here, here and here.
We will also use the anytime package to format the time in a usable way.
# Subset to just have posts that have our top ten emojis
top_ten <- subset(tube_emojis_total, word == "FACEWITHTEARSOFJOY" | word == "BOY"| word == "MOBILEPHONE" | word == "FACETHROWINGAKISS" | word == "MAN" | word == "SKULLANDCROSSBONES" | word == "ATOMSYMBOL" | word == "COLONEWOMANWITHBUNNYEARS"| word == "GRIMACINGFACE" | word == "KISSINGFACEWITHSMILINGEYES")
# Now use the 'anytime' package to convert to time format we can use
top_ten$created <- anytime(as.factor(top_ten$publishedAt))
Emoji <- top_ten$word
minutes <- 60
ggplot(top_ten, aes(created, color = Emoji)) +
geom_freqpoly(binwidth=10080*minutes)
We can look at these one by one too and use the emoGG package to use actual emojis to show which ones we are talking about.
# The code you use in emoGG is the same as UTF-8 but without "U+" etc, and all letters lowercase
tearsofjoy <- top_ten[top_ten$word == "FACEWITHTEARSOFJOY",]
ggplot(tearsofjoy, aes(created)) +
geom_freqpoly(binwidth=10080*minutes) + add_emoji(emoji="1f602")
boy <- top_ten[top_ten$word == "BOY",]
ggplot(boy, aes(created)) +
geom_freqpoly(binwidth=10080*minutes) + add_emoji(emoji="1f466")
# Sometimes emoGG doesn't have your emoji -- here we have to use skull, not skull and crossbones
skull <- top_ten[top_ten$word == "SKULLANDCROSSBONES",]
ggplot(skull, aes(created)) +
geom_freqpoly(binwidth=10080*minutes) + add_emoji(emoji="1f480")
grimace <- top_ten[top_ten$word == "GRIMACINGFACE",]
ggplot(grimace, aes(created)) +
geom_freqpoly(binwidth=10080*minutes) + add_emoji(emoji="1f62c")
# ad infinitum!


|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Class Summary | |
|---|---|
| AvroKVRecordKeyValueStore<K,V> | An interface for providing read access to Avro container files of (key, value) records. |
| AvroKVRecordKeyValueStore.Builder | A Builder-pattern class that configures and creates new AvroKVRecordKeyValueStore instances. |
| AvroRecordKeyValueStore<K,V extends IndexedRecord> | An interface for providing read access to Avro container files of records. |
| AvroRecordKeyValueStore.Builder | A Builder-pattern class that configures and creates new AvroRecordKeyValueStore instances. |
| EmptyKeyValueStore<K,V> | A KeyValueStore that contains no data. |
| EmptyKeyValueStore.Builder<K,V> | A Builder-pattern class that configures and creates new EmptyKeyValueStore instances. |
| FileStoreHelper | Helper class that manages filenames and distributed cache functionality for KeyValueStore implementations that work with files or collections of files. |
| FileStoreHelper.Builder | A class that builds configured FileStoreHelper instances. |
| InMemoryMapKeyValueStore<K,V> | KeyValueStore backed entirely by an in-memory map. |
| InMemoryMapKeyValueStore.Builder<K,V> | A Builder-pattern class that configures and creates new InMemoryMapKeyValueStore instances. |
| KijiTableKeyValueStore<V> | KeyValueStore lookup implementation based on a Kiji table. |
| KijiTableKeyValueStore.Builder | A Builder-pattern class that configures and creates new KijiTableKeyValueStore instances. |
| SeqFileKeyValueStore<K,V> | KeyValueStore implementation that reads records from SequenceFiles. |
| SeqFileKeyValueStore.Builder | A Builder-pattern class that configures and creates new SeqFileKeyValueStore instances. |
| TextFileKeyValueStore | KeyValueStore implementation that reads delimited records from text files. |
| TextFileKeyValueStore.Builder | A Builder-pattern class that configures and creates new TextFileKeyValueStore instances. |
| UnconfiguredKeyValueStore<K,V> | A KeyValueStore that is not configured. |
| UnconfiguredKeyValueStore.Builder<K,V> | A Builder-pattern class that creates new UnconfiguredKeyValueStore instances. |
Key-value store implementations.
This package contains a library of KeyValueStore
implementations that can access key-value pairs in various resources.
Several file-backed KeyValueStore implementations provide access to stores in different file formats:
AvroKVRecordKeyValueStore
- Key-Value
pairs specified in Avro records containing two fields, key and
valueAvroRecordKeyValueStore
- Avro records in
an Avro file, to be indexed by a configurable field of each record.SeqFileKeyValueStore
- Key-Value pairs in
SequenceFilesTextFileKeyValueStore
- string key-value
pairs in delimited text filesYou can also access a specific column of a Kiji table by the row's entityId
using the KijiTableKeyValueStore
.
If you want to declare a name binding on a KeyValueStore whose exact configuration cannot
be determined before runtime, use the UnconfiguredKeyValueStore
. It will throw an IOException
in its storeToConf() method, ensuring that your MapReduceJobBuilder must call
withStore() to override the definition before launching the job.
The EmptyKeyValueStore
is a good default
choice when you plan to override the configuration at runtime, but find it acceptable
to operate without this information.
Implementers of HDFS file-backed KeyValueStores may find the FileStoreHelper
object helpful; it will track the
configuration of filenames and manage their assignment to the DistributedCache on
behalf of your KeyValueStore. Multiple KeyValueStores associated with a job may use
FileStoreHelpers to manage their files without concern for interfering with one
another.
The KeyValueStore implementations in this package are all configured through an
associated Builder object. Each implementation has a builder()
method
that returns the associated Builder object. You can use this Builder to configure
various properties particular to that KeyValueStore implementation. Its build()
method either returns a newly-constructed KeyValueStore, or throws an exception if the
configuration contains an error.
In addition, some KeyValueStores (e.g., EmptyKeyValueStore
) can also be created through other
factory methods, like get()
.
In your getRequiredStores()
method, you may find the RequiredStores
class helpful in quickly assembling a set
of KeyValueStore binding definitions.
Note that each KeyValueStore also has a public default constructor. You should not
use this directly. When creating individual KeyValueStores, you should use its
associated Builder object. KeyValueStores are instantiated by MapReduce programs using
reflection (through the default constructor), and then configured using
initFromConf()
. To initialize a set of KeyValueStores from a Configuration
yourself, you should use a KeyValueStoreReaderFactory
object to deserialize all
KeyValueStores in the job configuration.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


Hints
- Tables can be difficult to format. They should be avoided when possible.
- Div tags should be used liberally in markup.
- When specifying font families, allow many choices for different platforms.
- There are kits of extra CSS specifications not directly supported by browsers: -moz- for Mozilla products, and -webkit- for Chrome/Safari/IE.
Cascading Style Sheets (CSS) constitute a collection of W3C specifications that give tremendous control over the appearance of a document, even as the style specifications can actually be separated from the content of the document. In this way, a single set of style specifications can be used to format many different pages - even entire web sites.
Figure 1: A Cascade Trail
The word "cascading" refers to an algorithm that specifies uniquely what happens when multiple styles are applied to a single body of text. The idea is that we can apply styles to a high-level HTML element, and then subsequently apply more styles to lower levels of HTML elements that augment or even override the styles applied at the higher level. Thus, there is a "cascade" of style specifications that apply to any given HTML element.
Cascading Style Sheets should not be confused with the Cascade Mountains of Washington state. However, we can draw a few gratuitous parallels. In particular, it is alarmingly easy to become bogged down in ugly detail using CSS. If we start randomly to apply styles to low-level elements, we quickly end up with CSS that looks like a typical Cascade Mountain trail experience, as depicted in Figure 1.
By contrast, if we use good structural markup for our HTML, and then design the formatting from the top down, our formatting can be as clean and clear as the view from the top of a mountain, as illustrated in Figure 2. To make this happen, we should always do our best to use some abstract design ideas.
- The document itself should be carefully structured.
- Style specifications in the HTML file should be avoided - use classes and IDs to apply special styles.
- Style specifications for a given structural element should be designed from the highest-level down.
Figure 2: A view from the top down
Given the complexities of CSS formatting, one can see why so many web developers insist on fixed-width formatting. That allows them to specify the size of every HTML element explicitly, and know that they will all fit together. On the other hand, using a fixed-width format means that on large screens there will be vast swaths of unused space, while on small screens most of the content falls off the screen. A great deal of modern CSS is devoted to making a layout that works for both a large desktop computer and a small mobile phone.


ASTableView(Internal) Category Reference
| Declared in | ASTableViewInternal.h |
|---|
– _initWithFrame:style:dataControllerClass:
Initializer.
- (instancetype)_initWithFrame:(CGRect)frame style:(UITableViewStyle)style dataControllerClass:(Class)dataControllerClass
Parameters
frame |
A rectangle specifying the initial location and size of the table view in its superview’s coordinates. The frame of the table view changes as table cells are added and deleted. |
|---|---|
style |
A constant that specifies the style of the table view. See UITableViewStyle for descriptions of valid constants. |
dataControllerClass |
A controller class injected to and used to create a data controller for the table view. |
Declared In
ASTableViewInternal.h
test_enableSuperUpdateCallLogging
Set YES and we’ll log every time we call [super insertRows…] etc
@property (nonatomic) BOOL test_enableSuperUpdateCallLogging
Declared In
ASTableViewInternal.h
– convertIndexPathFromTableNode:waitingIfNeeded:
Attempt to get the view-layer index path for the row with the given index path.
- (NSIndexPath *)convertIndexPathFromTableNode:(NSIndexPath *)indexPath waitingIfNeeded:(BOOL)wait
Parameters
indexPath |
The index path of the row. |
|---|---|
wait |
If the item hasn’t reached the view yet, this attempts to wait for updates to commit. |
Declared In
ASTableViewInternal.h
– convertIndexPathToTableNode:
Attempt to get the node index path given the view-layer index path.
- (NSIndexPath *)convertIndexPathToTableNode:(NSIndexPath *)indexPath
Parameters
indexPath |
The index path of the row. |
|---|
Declared In
ASTableViewInternal.h
– convertIndexPathsToTableNode:
Attempt to get the node index paths given the view-layer index paths.
- (NSArray<NSIndexPath*> *)convertIndexPathsToTableNode:(NSArray<NSIndexPath*> *)indexPaths
Parameters
indexPaths |
An array of index paths in the view space |
|---|
Declared In
ASTableViewInternal.h
– sectionIndexWidth
Returns the width of the section index view on the right-hand side of the table, if one is present.
- (CGFloat)sectionIndexWidth
Declared In
ASTableViewInternal.h


my name is saleh al masri i was a student at albalqa applied university my major is SW ., thanks for visiting my website


Save Wager
IOS
- Tap the Share button on Safari
- Find by slide to the right “Add to Home Screen.”
- Tap it, then tap Add (top right)
Android
- Tap Settings (Top right corner) on Chrome
- Slide down and tap “Add to Home Screen.”
Desktop and Mac
- Go to Settings (top right corner)
- Click Install “Wager”


Crabtree & Evelyn
26 Nov 2019 18:30 - 20:30
Crabtree and Evelyn Islington Townhouse 294 Upper Street Islington London N1 2TU
With so much currently in the news about climate change and the realisation that change is needed in this area for us to thrive as a society, it can be confusing to know what needs to change and what we can do to contribute to this. Often it seems that the options available mean we may have to give up things that we love such as holidays or food choices. Or we can feel that it can be too difficult to maintain good intentions we set in the long term. We can end up feeling guilty, disempowered and anxious amid the increasing pressure for change. The good news is, it doesn’t have to be this way! It is possible to feel positive and empowered about what we can do to help. We can actively contribute to the creation of a future for ourselves and our loved ones that respects the natural environment while feeling good about the impact we are making. Sound good? If so, this coaching workshop is for you. It will help you to find what is important to you in the context of climate change, so you can feel more confident and empowered to take action to increase your own wellbeing and that of others. Through a combination of information, practical exercises and discussion you will feel ready to take the next steps to positively contribute towards this important issue. This workshop won’t focus on a deep dive into the science of climate change but it will give an overview to set the context. Its main aim is in helping you to connect with the best ways for you to make changes in this area.


Before you start
Use this service to:
- Apply for a licence
Registering takes around 5 minutes
Start nowBefore you start
You can also register by post.
You can't register for this service if you're in the UK illegally.
Use this service to:
Registering takes around 5 minutes
Start nowYou can also register by post.
You can't register for this service if you're in the UK illegally.


| base91_encode {qs} | R Documentation |
Encodes binary data (a raw vector) as ascii text using basE91 encoding format
base91_encode(rawdata)
rawdata |
A raw vector |
basE91 (capital E for stylization) is a binary to ascii encoding format created by Joachim Henke in 2005. The encoding has a dictionary using 91 out of 94 printable ASCII characters; excludes - (dash), \ (backslash) and ' (single quote). The overhead (extra bytes used relative to binary) is 22.97% on average. In comparison, base 64 encoding has an overhead of 33.33%. Because the dictionary includes double quotes, basE91 encoded data must be single quoted when stored as a string in R.
http://base91.sourceforge.net/


Pattern
Choose Pattern
Tringle Star Pattern
Col Triangle
Row Triangle
Row Triangle Reversed
Square Pattern
Inverted Number
Mirror Number
Mirror Stars
Half Diamond
Diamond


4500 fans in attendance today at Braves Field, with persistent rain coming down all day on this first of May. Hopefully the teams will be able to get at least a couple of innings in!


Resources
Home -
Resources -
Documentation -
Flow charts -
Master Branch -
My fork
Sleep
Selenium
Selenium stack
Selenium stack 2
Learning about Selenium
Browsing headlessly with firefox stack
Geckodriver
BS4 stack
Python function formatting
Twillio libraries
Twillio sms sending
Twillio sms sending 2


POVERTY WITNESSES SPEAK OUT AND "POVERTY CLOCK" IS ACTIVATED
BY HEAD OF UNDP TO MARK ANTI-POVERTY YEAR
NEW YORK, 17 JANUARY 1996 -- "We must never forget
that behind every tick of the clock there is a face, a person, a life,"
said James Gustave Speth, Administrator of the United Nations Development
Programme, as he started a "poverty clock" ticking in the lobby
of the United Nations building here today. The event recognized 1996 as
the International Year for the Eradication of Poverty. The clock ticks
every time another person joins the ranks of the poor, some 47 a minute
or more than 67,000 every day.
Three of the people whose lives have been touched by poverty but who
are working their way out of poverty travelled to the UN from Zimbabwe,
Bolivia and Harlem (New York) to tell their tales of fighting against poverty
in their communities:
· Betty Bangira, a Zimbabwean mother of four, found her life
changed when her community joined with five others to create an irrigation
project in one of the country's desertified provinces;
· Luis Ticona Mamani, an indigenous Aymara of the Bolivian highlands,
is now the director of an association of alpaca herdsmen which has tripled
incomes of families in the region;
· Lenore Cola, a mother of three and a Harlem resident whose
family was homeless for four years, became involved in 1989 in a street
library programme for children and their parents.
"This event is a cause for both alarm and optimism," said
UNDP Administrator Speth. "Alarm because we are turning on a poverty
clock which will remind us that each day another 67,000 people join the
ranks of the poor. That's about 25 million people a year, most of whom
will be in the developing world. Optimism because the international community
now recognizes the urgency of this problem, realizes what must be done
and is taking steps to halt, indeed reverse, this grim trend."
UNDP has made poverty eradication the overarching goal of its programmes,
working through 135 offices in developing countries, and building its expertise
in the area. The agency is supporting developing countries as they build
or strengthen national poverty eradication strategies, setting timed targets
for progress.
The ceremony was enlivened by the pan flute of Jorge Cabrera, an Ecuadoran
musician who participates in the Metropolitan Transit Authority's Music
Underground programme.
Cooperating with UNDP in sponsoring the event was International Movement
ATD Fourth World, a non-governmental organization dedicated to helping
individuals and families free themselves from extreme poverty, and which
successfully pressed to have October 17 declared the International Day
for Poverty Eradication. The street library programme of Ms. Cola is organized
by ATD Fourth World.
* *** *
Contacts: Hilda Paqui,<PHONE_NUMBER> or Peter Gall,<PHONE_NUMBER> UNDP/DPA
fax:<PHONE_NUMBER>
|


Sorry, we could not find the page you were looking for. Please go back to the homepage and re-start from there.


about
Silicon Inc.
We are a dedicated team of passionate product managers, full stack developers, UX/UI designers, QA engineers and marketing experts helping businesses of every size — from new startups to public companies — launch their projects using our software .
Our Company
Enim, vulputate felis, pharetra, leo diam est morbi. Gravida porta nunc vitae tempor sit proin lobortis mauris nulla. Eget felis nec ultrices quis viverra aliquam aliquam. Eget vestibulum, orci, pulvinar diam. Ultrices tortor cursus porta magna sit blandit dolor, nulla a. Sit diam non donec et, in interdum.
Work with us2,480
Remote Professionals
1,200
Requests per Week
760
New Clients per Month
We are Powerful
See all photosWhat Our Clients Say
Our Leadership
Jenny Wilson
Co-Founder & CEO
Ralph Edwards
Co-Founder
Cameron Williamson
Creative Director
Jerome Bell
Marketing Director
Marvin McKinney
Lead Designer
Esther Howard
Motion Designer
Darrell Steward
Lead Developer
Jane Cooper
Senior Project Manager
We Have Social Networks
Follow us and keep up to date with the freshest news!


{{ block title }}Results{{ endblock }} {{ block content }}
{{ if same_choice }} Both of you chose to {{ my_decision }}. {{ else }} You chose to {{ my_decision }} and the other participant chose to {{ opponent_decision }}. {{ endif }}
As a result, you earned {{ player.payoff }}.
{{ next_button }} {{ include_sibling 'instructions.html' }} {{ endblock }}


FROM : MR PASCAL DUNGA, AUDITING AND ACCOUNTING SECTION, AFRICAN DEVELOPMENT BANK (A.D.B) OUAGADOUGOU BURKINA-FASO,WEST AFRICA. (TOP SECRET) Dear Friend, I MR PASCAL DUNGA, the director in charge of auditing and accounting section of bank AFRICAN DEVLOPMENT BANK (A.D.B) Ouagadougou Burkina-faso West Africa with due respect and regard. I have decided to contact you on a business transaction that will be very beneficial to both of us at the end of the transaction. During our investigation and auditing in this bank, my department came across a very huge sum of money belonging to a deceased person who died in plane crash and the fund has been dormant in his account with this Bank without any claim of the fund in our custody either from his family or relation before our discovery to this development. The said amount was Ten US$10,000,000.00 (TEN Million Dollars)As it may interest you to know, I got your impressive information through the Burkina-faso chamber of commerce on foreign business relations here in Ouagadougou Burkina-faso. Meanwhile all the whole arrangement to put claim over this fund as the bonafide next of kin to the deceased, get the required approval and transfer this money to a foreign account has been put in place and directives and needed information will be relayed to you as soon as you indicate your interest and willingness to assist us and also benefit your self to this great business opportunity. In fact I could have done this deal alone but because of my position in this country as a civil servant(A Banker),we are not allowed to operate a foreign account and would eventually raise an eye brow on my side during the time of transfer because I work in this bank. This is the actual reason why it will require a second party or fellow who will forward claims as the next of kin with affidavit of trust of oath to the Bank and also present a foreign account where he will need the money to be re-transferred into on his request as it may be after due verification and clarification by the correspondent branch of the bank where the whole money will be remitted from to your own designation bank account. I will not fail to inform you that this transaction is 100% risk free. On smooth conclusion of this transaction, you will be entitled to 30% of the total sum as gratification, while 5% will be set aside to take care of expenses that may arise during the time of transfer and also telephone bills, while 65% will be for me and my partners. Please, you have been adviced to keep "top secret" as I am still in service and intend to retire from service after we conclude this deal with you. I will be monitoring the whole situation here in this bank until you confirm the money in your account and ask me to come down to your country for subsequent sharing of the fund according to percentages previously indicated and further investment, either in your country or any country you advice us to invest in. All other necessary vital information will be sent to you when I hear from you. I look forward to receive your phone and fax numbers for easy communication. URGENT AND CALL ME IMMEDATILY : 00 226 78 86 66 99 here is my privet Email contact for securect pupose<EMAIL_ADDRESS>Yours faithfully, MR.PASCAL DUNGA, _________________________________________________________________ MSN Messenger : appels gratuits de PC à PC ! http://www.msn.fr/newhotmail/Default.asp?Ath=f


§655-3 Money in court, deposit as ordered by the court. Whenever any money is paid into, or deposited in any court to abide the ascertainment of the right to the money, or the termination of the action, the court shall have power, upon the application of any party interested, or without such application, to order the money to be deposited in the treasury of the State or as otherwise ordered, subject to the further order of the court. [L 1862, p 32; RL 1925, §2385; RL 1935, §4119; RL 1945, §10233; RL 1955, §243-3; HRS §655-3; am L 1972, c 89, §6(b)]
Cross References
Interest income; court deposits, see §601-18.


CLICK ON CAROLINE. Dear Caroline Film Reviews at http://www.geocities.com/Hollywood/Studio/7066
U.S. MARSHALS
Dear Caroline --
The best way to approach "U.S. Marshals" is the same way I go into the NBC Tower as an audience member for the Jenny Jones Show. (Is she still on?) Just check your brain at the door, and try to enjoy the ride. It might be a difficult concept to accept for "U.S. Marshals," the sequel to "The Fugitive," the hugely popular and 1993 Oscar-nominated film. The expectations are high, but the payoff is low. The bottom line is that screenwriter John Pogue and former editor-turned-director Stuart Baird have dropped the ball. This is not like "The Fugitive" sequel you would have expected to see. Expecting another tense drama, mano a mano, between Tommy Lee Jones' Oscar-winning role as Deputy Sam "The Big Dog" Gerard and an A-list star on the run, Pogue and Baird have delivered a confusing, directionless film featuring a boring array of government bureaucrats and spies. Ho hum. The producers seem to have forgotten what made the first film such a success. The only thing we ask for is a testosterone-pumping thriller as Gerard and Fugitive X butt heads. Instead, "U.S. Marshals" is light on action, heavy on the international intrigue. The movie feels like Pogue originally wrote a separate "Fugitive"-type of story, and then inserted Gerard's grunts and groans to suit Jones' character. Gerard's crew, including Joe Pantoliano as Cosmo, is back, but they only help chase the bad guy and actually have little input into solving the case. Fugitive X this time out is Wesley Snipes as Mark Warren, who in a matter of minutes goes from being mild-mannered Chicago tow truck driver to extradicted federal prisoner falsely accused of a double homicide in New York City. The drop-dead gorgeous Irene Jacob plays his girlfriend, Marie, but Jacob is totally wasted in the role. Soon after, Mark is aboard ConAir, gets attacked by a fellow prisoner and then escapes after a high-budget, effects-laden airplane crash, much like the bus crash in the original film. Mark goes by many last names and that's because he's not just any tow truck driver speeding down Halsted Street. He's a covert government assassin. This is where asking too many questions becomes a dangerous thing. How did a smart guy like Mark get involved in a political mess about South Koreans-Chinese and U.N. officials?  And my favorite, just where does Mark think he's going once he's accomplished his mission in New York? The second half of the film takes place in New York City, but don't believe it. It's still hometown Chicago in disguise, including a shootout at the Graceland Cemetery (supposedly Queens) over by Wrigleyville. Halfway through the movie Gerard is way out of his jurisdiction, but that doesn't seem to matter. He already has the evidence that prooves Mark is innocent, but he might as well chase after him anyway. This needlessly complicated plot began to remind me of "Mission:Impossible." Sometimes the chase is more important than the reason for the chase. Pre-convict Robert Downey Jr. steps in as a government special agent assigned to help Gerard with the case. It's never fully explained what Downey does. In one scene, he identifies himself with the DSS.  This film leaves you with a lot of uncertainty about the intelligence of our intelligence agencies. Maybe "U.S. Marshals" was doomed from the beginning with Pogue's convoluted script. His only previous effort was as an uncredited co-writer to the equally confusing "Eraser" with Arnold Schwarzenegger. Director Baird ("Executive Decision"), who edited impressive and unimpressive action films like "Demolition Man," "Die Hard 2," and the first two "Lethal Weapons," keeps the film well-paced, but fails to find the heart of the story. The sorrowful part for blockbuster hit-less Warner Bros. is that Baird's "U.S. Marshals" may have killed a potential film franchise. After four "Batmans" and the fourth "Lethal Weapon" on the way, it is apparent the Brothers Warner could use an injection of new blood. Of course, that's assuming Kevin Costner's "The Postman Rings Twice" ever get green-lighted. Rating: Two stars
Thinking of you, Geo. M. Wilcox
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


We highly encourage contributions from all SKY UX users. We just ask that you follow the coding conventions already established in the existing code and that you write the appropriate documentation and unit tests for your feature.
For information about how to contribute, see the SKY UX 2 contribution guidelines.


Module mylib
A sample C extension.
Demonstrates using ldoc's C/C++ support. Can either use /// or /*** */ etc.
Functions
| createtable (narr, nrec) | Create a table with given array and hash slots. |
| solve (a, b, c) | Solve a quadratic equation. |
Functions
- createtable (narr, nrec)
-
Create a table with given array and hash slots.
Parameters:
- narr initial array slots, default 0
- nrec initial hash slots, default 0
- solve (a, b, c)
-
Solve a quadratic equation.
Parameters:
- a num coefficient of x^2
- b num coefficient of x
- c num constant
Returns:
- num first root
- num second root


Popular Areas in state board of pharmacy
AZ Board of Pharmacy
The Arizona State Board of Pharmacy protects the health, safety and welfare of the citizens of Arizona by regulating the practice of pharmacy and the distribution, .
http://www.azpharmacy.gov/
Delaware Professional Regulation - Board of Pharmacy
Jan 28, 2013<EMAIL_ADDRESS>. BOARD FUNCTION: The Delaware Board of Pharmacy, hereafter designated as the "the Board", regulates .
http://dpr.delaware.gov/boards/pharmacy/index.shtml
Boards - National Association of Boards of Pharmacy® (NABP®)
Boards of Pharmacy . A comprehensive national databank of state pharmacy laws and regulations, NABPLAW®Online's powerful search capabilities allow .
http://www.nabp.net/boards-of-pharmacy
Texas State Board of Pharmacy
The Texas State Board of Pharmacy is the agency responsible for the licensure and discipline of Texas pharmacists and pharmacies.
http://www.tsbp.state.tx.us/
Georgia Board of Pharmacy - Georgia Secretary of State
Important: It is illegal for any person or entity to purchase compounded medications within the state or out of state for office use or dispensing unless the .
http://sos.georgia.gov/plb/pharmacy/
Board of Pharmacy - State of California
A website for the State of California, Department of Consumer Affairs, Board of Pharmacy.
http://www.pharmacy.ca.gov/
Oklahoma State Board of Pharmacy - State of Oklahoma Web Site
Jan 2, 2013 . Our Mission The Mission of the Oklahoma State Board of Pharmacy is to protect the health, safety, and welfare of the citizens of Oklahoma by .
http://www.ok.gov/OSBP/


floppy144.vfd - a bootable floppy disk with Linux and vlmcsd(8)
floppy144.vfd is an image of a bootable floppy that contains a minimal version of Linux and vlmcsd(8). It requires only 16 MB of RAM. Its primary purpose is to run vlmcsd(8) in a small virtual machine which makes it easy to use vlmcsd(8) to activate the virtual machine’s host computer which is not possible in Windows 8.1 and up. The floppy image is a standard 3,5" floppy with 1.44 MB storage. It is formatted with a FAT12 filesystem. The floppy can be mounted to apply several customizations.
The floppy image has been tested with the following hypervisors:
VMWare, VirtualBox, Hyper-V and QEMU
Others are likely to work.
Create a new virtual machine. Assign 16 MB of RAM. Add a floppy drive and attach floppy144.vfd to this drive. Do not create a virtual hard disk. Setup the virtual machine to boot from a floppy drive (VirtualBox has floppy boot disabled by default). If possible, setup a virtual machine with plain old BIOS (not UEFI). If you created an UEFI virtual machine, enable the compatibility support mode (CSM) to allow a BIOS compatible boot. Set number of CPUs to 1. The Linux kernel is not capable of SMP. Remove IDE, SATA, SCSI and USB support if possible. The Linux kernel can’t handle this and ignores any devices connected to these buses.
Setup an ethernet card. The following models are supported:
Intel PRO/1000
AMD PCNET III
AMD PCNET32
VMWare vmxnet3 (paravirtualized driver used by VMWare)
virtio (paravirtualized driver used by VirtualBox, QEMU, KVM
and lguest)
Most hypervisors emulate an Intel PRO/1000 or AMD PCNET32 by default. Selecting a paravirtualized driver slightly improves performance. In VirtualBox you can simply select virtio in the network configuration dialog. VMWare requires that you add or change the VMX file. Use ’ethernet0.virtualDev = "vmxnet3"’ in your VMWare config file.
If you are using QEMU, you must also setup a TAP adapter. Port redirection does not work to activate your own computer.
floppy144.vfd can be customized to fit your needs. This is done by editing the file syslinux.cfg on the floppy image. The floppy image must be mounted. Under Linux you can simply attach floppy144.vfd to a loop device which is mountable like any other block device. For Windows you must use some software that allows mounting a floppy image, e.g. OSFMount
OSFMount works under all Windows versions beginning with Windows XP up to Windows 10 (32- and 64-bit).
The default syslinux.cfg file looks like this:
prompt 0
TIMEOUT 50
default dhcp
LABEL
dhcp
KERNEL bzImage
APPEND vga=773 quiet initrd=initrd KBD=us
LISTEN=[::]:1688,<IP_ADDRESS>:1688 TZ=UTC0 IPV4_CONFIG=DHCP
NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd
ROOT_PASSWORD=vlmcsd USER_NAME=user USER_PASSWORD=vlmcsd
GUEST_PASSWORD=vlmcsd INETD=Y
WINDOWS=06401-00206-271-395032-03-1033-9600.0000-1652016
OFFICE2010=06401-00096-199-204970-03-1033-9600.0000-1652016
OFFICE2013=06401-00206-234-921934-03-1033-9600.0000-1652016
HWID=36:4F:46:3A:88:63:D3:5F
LABEL
static
KERNEL bzImage
APPEND vga=773 quiet initrd=initrd KBD=fr
LISTEN=[::]:1688,<IP_ADDRESS>:1688 TZ=CET-1CEST,M3.5.0,M10.5.0/3
IPV4_CONFIG=STATIC IPV4_ADDRESS=<IP_ADDRESS>/24
IPV4_GATEWAY=<IP_ADDRESS> IPV4_DNS1=<IP_ADDRESS>
IPV4_DNS2=NONE NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd
ROOT_PASSWORD=vlmcsd USER_NAME=user USER_PASSWORD=vlmcsd
GUEST_PASSWORD=vlmcsd INETD=Y
There are two configurations in this files: dhcp (for configuring the IPv4 network via DHCP) and static (for a static IPv4 configuration). The kernel always boots the dhcp configuration without asking (lines ’prompt 0’ and ’default dhcp’). You can simply change the default configuration to static and then customize the APPEND line in the static configuration. For more details how to customize the syslinux.cfg file see syslinux(1).
Each APPPEND
line contains one or more items seperated by spaces. All
items are case-sensitive. The following parameters can
be customized:
vga=vesa-video-mode
Sets the VESA display mode for the virtual machine. The parameter is not optional. If you ommit it, you will not see anything on the screen. 773 means 1024x768 with 256 colors. See Wikipedia for more video modes. Note that all 16 color (4-bit) modes will not work. Use 8-bit (256 colors), 16-bit (65536 colors), 24-bit and 32-bit (> 16 Million colors) only. All modes above 1280x1024 are non-VESA-standard and vary for all (virtual) graphic cards.
|
quiet |
This causes the kernel not display the its log during boot. You may omit quiet but it doesn’t make much sense. The boot log is actually very verbose and scrolls away from screen quickly. If any errors occur during boot, they will be displayed even if quiet is present in the APPEND line. You may evaluate the complete boot log later by using the dmesg command or the menu on /dev/tty8. |
initrd=initial-ram-disk-file
This defines the initial ram disk that the kernel will read. There is only one initial ram disk on the floppy thus leave initrd=initrd as it is.
KBD=keyboard-layout-name
This allows you to select the keyboard layout. keyboard-layout-name is usually the ISO 3166-1 (top level domain) code for a country. A list of valid keyboard-layout-names can be accessed via the menu system on /dev/tty8 (press ALT-F8). Note, that this is a keyboard driver only. There is no Unicode font support in floppy144.vfd (due to the fact that the kernel uses a generic VESA framebuffer device only). Characters beyond ASCII work for Western European languages only but not Eastern European, Greek, Cyrillic, Arabic, Hebrew, CJK and other languages. There is no need in floppy144.vfd to enter any characters outside ASCII. The purpose of the keyboard maps are that you will find characters like dash, backslash, brackets, braces, etc. at the usual place on your keyboard.
LISTEN=PRIVATE[:tcp-port]
|
ip-address[:tcp-port][,ip-address[:tcp-port]][,...]
One or more combinations of IP addresses and optional TCP port seperated by commas that vlmcsd(8) should listen on or PRIVATE to listen on all private IP addresses only. The default port is 1688. If you use an explicit port number, append it to the IP address seperated by a colon. If you use a port number and the IP address contains colons, you must enclose the IP address in brackets. For example <IP_ADDRESS>,[fd00::dead:beef]:5678 causes vlmcsd(8) to listen on <IP_ADDRESS> port 1688 and fd00::dead:beef port 5678.
WINDOWS=epid
Defines the ePID that is used for Windows activations. If you ommit this parameter, vlmcsd generates a random ePID when it is started.
OFFICE2010=epid
Defines the ePID that is used for Office 2010 activations. If you ommit this parameter, vlmcsd(8) generates a random ePID when it is started.
OFFICE2013=epid
Defines the ePID that is used for Office 2016 activations. If you ommit this parameter, vlmcsd(8) generates a random ePID when it is started.
OFFICE2016=epid
Defines the ePID that is used for Office 2016 activations. If you ommit this parameter, vlmcsd(8) generates a random ePID when it is started.
WINCHINAGOV=epid
Defines the ePID that is used for Windows China Government Edition activations (Enterprise G/GN). If you ommit this parameter, vlmcsd(8) generates a random ePID when it is started.
HWID=hwid
Defines the HwId that is sent to clients. hwid must be specified as 16 hex digits that are interpreted as a series of 8 bytes (big endian). Any character that is not a hex digit will be ignored. This is for better readability.
TZ=posix-time-zone-string
Set the time zone to posix-time-zone-string. It must conform to the POSIX specification. Simplified time zone strings like "Europe/London" or "America/Detroit" are not allowed. This has the very simple reason that there is no space on the floppy to store the time zone database.
The string CET-1CEST,M3.5.0,M10.5.0/3 (most countries in Europe) reads as follows:
|
CET |
The standard (winter) time zone has the name CET. | ||
|
-1 |
The standard time zone is one hour east of UTC. Negative numbers are east of UTC. Positive numbers are west of UTC. | ||
|
CEST |
The daylight saving (summer) time zone has the name CEST. | ||
|
M3.5.0 |
Daylight saving time starts in the 3rd month (March) on the 5th (=last) occurence of weekday 0 (Sunday) at 2 o’clock (2 o’clock is a default value). | ||
|
M10.5.0/3 |
Daylight saving time ends in the 10th month (October) on the 5th (=last) occurence of weekday 0 (Sunday) at 3 o’clock. |
If you don’t have daylight saving time, things are easier. For Chinese Standard Time for example, just use CST-8 as the time zone string.
On a Linux desktop system, you can use a command like strings /usr/share/zoneinfo/America/New_York | tail -n1. This should return EST5EDT,M3.2.0,M11.1.0. You can use the returned string for the TZ=posix-time-zone-string parameter.
IPV4_CONFIG=DHCP | STATIC
This determines how you want to configure IPv4 networking. If you use IPV4_CONFIG=STATIC, you must supply additional paramaters to the APPEND command line.
IPV4_ADDRESS=ipv4-address/CIDR-mask
Use ipv4-address with netmask CIDR-mask for static IPv4 configuration. The netmask must not be ommitted. For IPv4 address <IP_ADDRESS> with a netmask of <IP_ADDRESS> use <IP_ADDRESS>/24. For IPv4 address <IP_ADDRESS> with a netmask of <IP_ADDRESS> use <IP_ADDRESS>/16. This paramater is ignored, if you used IPV4_CONFIG=DHCP.
IPV4_GATEWAY=ipv4-address | NONE
Use ipv4-address as the default gateway. This is usually the IPv4 address of your router. You may specify NONE explicitly for no gateway. In this case your virtual machine is only visible on its local LAN. This paramater is ignored, if you used IPV4_CONFIG=DHCP.
IPV4_DNS1=ipv4-address | NONE
Use ipv4-address as the primary name server. In home networks this is often the IPv4 address of your router. You may specify NONE explicitly. If you specified NONE for both IPV4_DNS1= and IPV4_DNS2=, your virtual machine cannot resolve host names to IP addresses. While vlmcsd(8) works perfectly without DNS servers, you must use IP addresses when referring to a host, e.g. for specifying an NTP server. This paramater is ignored, if you used IPV4_CONFIG=DHCP.
IPV4_DNS2=ipv4-address | NONE
Use ipv4-address as the secondary name server. It serves as a backup if the primary name server is not available. Home networks often don’t have a secondary name server. In this case set this to NONE. This paramater is ignored, if you used IPV4_CONFIG=DHCP.
NTP_SERVER=host-name | ipv4-address | NONE
This sets the name of a time server using the NTP protocol. If your virtualization environment reliably provides time, you can set this to NONE. Don’t use a public time service like pool.ntp.org or time.nist.gov if you have a (at least somewhat reliable) NTP server in your LAN.
HOST_NAME=host-name
Sets the local host name for your virtual machine. It can be a single name or a fully-qualified domain name FQDN. If you used IPV4_CONFIG=DHCP and your DHCP server returns a domain name, the domain part of an FQDN will be replaced by that name. This host name or host part of an FQDN will not replaced by a host name returned via DHCP. The host name is not important for the operation of floppy144.vfd.
ROOT_PASSWORD=password
Sets the password of the root user.
USER_NAME=username
Sets the name of for a general user with no special privileges. This user can login but can’t do much.
USER_PASSWORD=password
Sets the password for the user defined by USER_NAME=username.
GUEST_PASSWORD=password
Sets the password for the pre-defined guest user. This user has the same priviliges (none) as the user defined by USER_NAME=username.
INETD=Y | N
INETD=Y specifies that inetd(8) should automatically be started. That means you can telnet and ftp to your virtual machine.
VLMCSD_EXTRA_ARGS=comma-seperated-argument-list
Allows you to specify additional command line options that will be passed to vlmcsd(8). Instead of spaces you use commas between arguments. Example: VLMCSD_EXTRA_ARGS=-c1,-K3,-M1
Diskless
System
The floppy144.vfd virtual machine is a diskless
system that works entirely from RAM. The file system is
actually a RAM disk that is created from the
initrd(4) file on the floppy image.
Anything you’ll do from inside the virtual machine, for instance editing a config file, will be lost when you reboot the machine. So, if you ever asked yourself if rm -fr / (root privileges required) really deletes all files from all mounted partitions, the floppy144.vfd VM is the right place to test it (Yes, it does).
The VM uses a RAM disk, because the Linux kernel had to be stripped down to essential features to fit on a 1.44 MB floppy. It has no floppy driver, no disk file system drivers and no block layer (cannot use disks of any type).
System
startup
The kernel boots up very quickly and the init script
(/sbin/init) waits 5 seconds. In these 5 seconds you
can:
Press
’m’ to manually enter the time zone and the IPv4
parameters. These will be queried interactively.
Press ’t’ to manually enter the time zone only.
Press ’s’ to escape to a shell.
If you don’t want to 5 seconds for continuing the init process, you can press any other key to speed things up. At the end of the init script you should see thatvlmcsd(8) has started. You should also see the IP addresses and all user names and passwords.
Logging into
the system
There are 5 local logins provided on /dev/tty2 to /dev/tty6.
To switch to these logins, simply press ALT-F2 to ALT-F6. To
return to the console on /dev/tty1, press ALT-F1. If
inetd(8) is running you can also use
telnet(1). This allows you use a terminal program
(e.g. putty) that can utilize your keyboard layout, can be
resized and has full UTF-8 support. The local terminals
support US keyboard layout only. Please be aware that
telnet(1) is unencrypted and everything including
passwords is transmitted in clear text. There is not enough
space for an ssh server like sshd(8) or
dropbear(8).
The floppy image only provides basic Unix commands. Type busybox or ll /bin to get a list. The only editor available is vi(1). If you don’t like vi, you may transfer config files via ftp(1) edit them with the editor of your choice and transfer them back to the floppy144.vfd VM.
The menu
system
You’ll find a menu system on /dev/tty8 (press ALT-F8
to see it). It allows you performing some administrative
tasks and to view various system information. It is mainly
for users that do not have much experience with Unix
commands.
1) (Re)start vlmcsd
Starts or restarts vlmcsd(8). This is useful if you changed /etc/vlmcsd.ini(5).
2) Stop vlmcsd
Stops vlmcsd(8).
3) (Re)start inetd
Starts or restarts inetd(8). If inetd(8) is restarted, current clients connected via telnet(1) or ftp(1) will not be dropped. They can continue their sessions. This is useful if you changed /etc/inetd.conf(5).
4) Stop inet
Stops inetd(8). All clients connected via telnet(1) or ftp(1) will be dropped immediately.
5) Change the time zone
Just in case you missed pressing ’t’ during system startup. This also restarts vlmcsd(8) if it was running to notify it that the time zone has changed. Restarting vlmcsd(8) allows currently connected clients to finish their activation.
k) Change keyboard layout
This allows you to select a different keyboard layout.
6) Show all kernel boot parameters
Shows all parameters passed to the kernel via syslinux.cfg. If you experience any unexpected behavior, you can use this to check if your APPEND line in syslinux.cfg is correct. The output is piped through less(1). So press ’q’ to return to the menu.
7) Show boot log (dmesg)
Shows the boot log of the kernel. The output is piped through less(1). So press ’q’ to return to the menu.
8) Show TCP/IP configuration
Shows the TCP/IP configuration, listening sockets and current TCP and UDP connections. Useful, if you problems with net connectivity. The output is piped through less(1). So press ’q’ to return to the menu.
9) Show running processes
Shows all processes including memory and CPU usage. Display will updated every second. Press ’q’ or CTRL-C to return to the menu.
s) Shutdown
Shuts down the floppy144.vfd virtual machine. Proper shutdown is not required. It is ok to use a hard power off in your virtualization program.
r) Reboot
Reboots the floppy144.vfd virtual machine. Proper reboot is not required. It is ok to use a hard reset in your virtualization program.
If you want to change any file or script of the file system (e.g. the init script /sbin/init or /etc/vlmcsd.ini), you’ll need to mount the floppy image, unpack the initrd(4) file, make any modfications you like, create a new initrd(4) file and copy it to the mounted floppy.
To unpack the
initrd(4) file you’ll need xz(1) (or
lzma(1) on older unix-like OSses) and cpio(1).
These can be installed using your package manager on all
major distros. It is ok to use the BSD version of
cpio(1). No need to get the GNU version for BSD
users. Provided the floppy is mounted in /mnt/floppy do the
following:
Create an empty directory
mkdir ~/vlmcsd-floppy-initrd
cd into that directory
cd ~/vlmcsd-floppy-initrd
Unpack initrd
cat /mnt/floppy/initrd | unlzma | cpio -i
After applying
your changes build a new initrd(4) file:
cd into your directory
cd ~/vlmcsd-floppy-initrd
Create the packed file
find . | cpio -o -H newc | lzma > /mnt/floppy/initrd
Do not try to use ’lzma -9’ to achive better compression. The kernel can’t read the resulting file. While customizing the initrd(4) file works on almost any unix-like OS, it does not work on Windows even not with Cygwin. The reason is that the NTFS file system can’t handle uids and gids. These cannot be preserved when unpacking the cpio(1) archive to NTFS. If you use the WSL subsystem of Windows 10 Redstone (Anniversary Update) and later, you must make sure to unpack the initrd(4) file to a directory on VolFs (normally everything that is not mounted under /mnt). The initrd(4) file can be on a VolFs or DriveFs.
On what
distro is the floppy image based?
None. Besides the boot loader ldlinux.sys, there are
only three binaries: The Linux kernel bzImage,
busybox(1) and vlmcsdmulti-x86-musl-static.
bzImage and busybox(1) have been compiled with
carefully selected configuration parameters not found in any
distro. This was neccesary to fit everything on a 1.44 MB
floppy.
Why is a
rather old Linux kernel (3.12) used?
Linux 3.12 is the last kernel that can be booted with 16 MB
of RAM. Beginning with Linux 3.13 it requires much more
memory (about 80 MB) to boot. The floppy image is regularly
tested with newer kernels. Everything works except that you
need to assign much more main memory to the virtual
machine.
Can the
floppy be booted on bare metal?
Basically yes. However, only Intel Pro/1000 and AMD PCNET32
ethernet cards are supported by the kernel. In addition
there is no USB support compiled into the kernel. That means
you can only use an IBM AT or IBM PS/2 keyboard which are
not available on newer hardware.
syslinux.cfg, vlmcsd.ini(5)
IPv6 cannot be
configured with static or manual parameters.
DHCPv6 is not supported.
´ip route add ...’ does not work. Use
’route add ...’ instead.
floppy144.vfd has been created by Hotbird64
Linus Torvalds
et al. for the Linux kernel
Erik Andersen et al. for the original uClibc
Waldemar Brodkorb et al. for uClibc-ng
Denys Vlasenko et al. for BusyBox
H. Peter Anvin et al. for SYSLINUX
vlmcsd(8), vlmcsd.ini(5), initrd(4), busybox(1), syslinux(1)


This will replace all of your saved pages and sections!
Please provide previous saved project file (ZIP or manual saved file):
Are you sure you want to delete section?
Are you sure you want to delete column?