Format Specification
Format design decisions and explanation
To meet the needs mentioned above, the format has the following characteristics.
- All sensor data (high and low sampling rate), including annotation and metadata, are stored in a computer in a human readable, commadelimited text (ASCII) format. The CSV (commaseparated values) text file format is human readable (via common spreadsheet and data analysis programs), is easily parsed by computer, and can be edited by hand if necessary. CSV files are particularly wellsuited for analysis by high throughput analytical platforms (such as MapReduce and Spark), and they can be easily imported into database systems (such as MySQL), statistical software (such as Matlab and R) and big data frameworks (such as Apache Hadoop) that are important for managing massive datasets (the type of data that will soon be generated from mobile devices).
- All CSV files are compressed (using the commonly available and efficient gzip compression library) to preserve disk space. The downside to storing data in the CSV (commaseparated values) text format is that high sampling rate data may require substantial disk space, especially when the format of the data is known a priori and formatspecific, binary storage strategies might be used. Disk space concerns are addressed by gzipping all CSV files as they grow in size (see Appendix: Gzip Compression for a justification). The computational overhead of gzipping CSV files with highresolution data are acceptable, even on mobile phones, when the files are limited to about an hour of high sampling rate data per file (e.g., from 12 seconds of compression time per file).
- All sensor data, regardless of original data format, is converted into the CSV format and synchronized with other sensor data. This conversion requires special software for each sensor type. As long as the native format used by the sensor to save the data is known, converters can be easily written to create timestamped CSV files for the mHealth format. For example, converters are necessary (and need to be provided) to read and convert data from common devices such as the Actigraph and ActivPAL into the format described here. The converters will generate one file per sensor, with timestamps that allow sensor synchronization across files.
- All CSV files begin with a header line, labeling each column of data, to ensure the file is easily human interpretable . The first line in each CSV file is the commadelimited row containing keys for each column (e.g., HEADER_TIME_STAMP, AUC, ACTIVITY_COUNT, START_DT, STOP_DT, etc.). Some of the most common header names are standardized (see Table 2 below) to provide data type information to software, but researchers can add data type labels as needed. For all sensor, event, or feature data files, the first key/column in the header line is HEADER_TIME_STAMP (because sensor data files will always have timestamps), and for all other data files, the first key/column should start with “HEADER_[First column_name]”, which permits any code reading the files to determine if a line is a header or data line, and then to determine the column name if the line is a header line. 1
- Metadata are saved in computerand humanreadable CSV files with standard names.
Metadata typically include:- Descriptions of sensor types, properties, and placements at the time of data collection. These files are also data files that include sufficient detail so that the protocol can be both understood and reproduced by others. For instance, in some cases, the locations where sensors are worn might change, and the files should allow for proper annotation of such sensor swapping. The format described in more detail below provides naming conventions that should be followed for common metadata types. (see sensor file and sensors file)
- Descriptions of each participant. These metadata files about each participant would include all special notes that might influence interpretation of the data for that particular participant’s data. E.g, dominant arm, anthropometrics that affect measurement (tilt angle of sensor on waist), and gait/motion inconsistencies due to musculoskeletal deficiencies that can affect measurement (e.g. limp, Parkinsons, injury). These notes should be easily understood by those not present during data collection. (see subject data file)
- Timestamped labels of the activities performed, contextinformation,
and/or physiological states. The time synchronization will depend upon the nature of the data
(e.g., for some datasets and sensors such as gait recognition, the labels will be
synchronized with millisecond accuracy, for others synchronization within a few seconds
may be sufficient. Examples of activities might be running, walking, and talking.
Examples of contexts might be location or properties of location (e.g., distance to a
park). Examples of physiological states might be heart rate or galvanic skin response.
(see annotation data file and
ontology data file)
1The header/data line distinction is important, because in some cases scripts may concatenate CSV files. Header files from multiple CSV files (e.g., for different hour of data from the same data source) could therefore end up in the same data file. To allow software to strip these lines, the lines should begin with “HEADER_”.
- Selfreported data provided by the participant throughout the study (e.g., Ecological Momentary Assessment). Answers to questions and other selfreported data are synchronized with all other data sources.
- Notes on any special considerations about the data. These notes include special exceptions for particular subjects, descriptions of how various data sources were synchronized, or any other information not already specified in other files that might help others interpret the data. (See session data file)
- Data are saved in a directory structure that segregates data by year, month, day, and hour. The directory structure accomplishes several goals. It permits data for particular timeframes to be easily identified and isolated. It permits data collected at different timeframes to be easily merged. It logically breaks up large amounts of data into manageable, intuitive chunks. It prevents data from being overwritten (even when there is a time zone change or daylight savings time change). Finally, it creates a logical structure for saving data that spans multiple hours, days, or even months (permitting scripts that allow further dataset parsing/merging). The details of the directory format are described below.
- Data files are stored with the start time of data saving included in the file name. This format, described in detail below, ensures that data conflicts are avoided and data will never be accidentally overwritten.
- Data files should not contain data from more than one time zone. If the device (i.e. mobile phone) changes time zones, it should stop saving data to the current file and create a new file for the new time zone.
- Time zone information (UTC offset) is encoded in filenames for easy access to the file/directory’s time zone information . UTC offset is the difference in hours and minutes from Coordinated Universal Time (UTC) for a particular place and date. Within files, the timestamps are stored in local time. However, to ensure that time zone information (and especially daylight savings time shift information) is not lost and does not create data storage conflicts, UTC offset is stored in the filename structure.
- All file and directory names are limited to alphanumeric characters. Filenames and directory names will contain alphanumeric and/or selected special characters (09, az or AZ, and “”). This prevents problems from displaying these filenames on the web or saving them in various file systems. Spaces should not be used. File naming uses CamelCase structure (e.g., “ O riginal R aw”). A dot is used in the filename but the format uses it as a separator, so it should not be added to the name.
- Timestamps are in localtime
format. There are two types of timestamps. Timestamps in file
names are in local time with timezone information. Timestamps within files are in local time
without timezone information (because that information can be gathered from the file name if
needed).
- Many files contain timestamp information using the following convention: [YYYY][ MM][ DD][ hh][ mm][ ss][ mmm][ P/M][hhmm], where YYYY=year (4 digits), MM=month (2 digits [0112]), DD=day (2 digits [0131]), hh=hour (2 digits [0023]), mm=minute (2 digits [0059]), ss=second (2 digits [0059]), mmm=millisecond (3 digits [000999]), P=plus and M=minus and hhmm represents the hour and minutes of the offset of the time from GMT. The International Standard ISO 8601 is used to store all timerelated data. Example: 3:15 AM local time on January 1, 2000 for a timezone five hours behind GMT would be listed in the filename as “20000101031500000M0500”.
- Internal to files, the timestamp is listed in the same way but without the timezone information following this convention: [YYYY][ MM][ DD] [hh]:[mm]:[ss].[mmm]. Example: 3:15 AM local time on January 1, 2000 would be listed in the timestamp column of a data file as “20000101 03:15:00.000”. Timestamps should typically be the first column in a data file. The header for this column should be “HEADER_TIME_STAMP”. The timestamps always refer to the local time in the place where the data were saved. Timezone information can always be obtained by parsing the filename of the file storing the data.
- Data in CSV files are formatted in the following way to minimize encoding problems:
- Each record is one line, but fields may contain embedded linebreaks (see below) so that a record may span more than one line.
- Fields are separated with commas.
- Headers are all caps to help differentiate them from other data. Examples of header names are HEADER_TIME_STAMP and START_TIME and DATA_SAMPLE.
- Variable names use alphanumeric characters and CamelCase. Examples of variable names are PhoneOn, Yes, No, 0, 1, and ButtonClicked.
- All data entries that are text values with more than one word or special characters should be surrounded by doublequote characters. This is so that special characters, such as commas, can be handled and strings can be more than one word in length (e.g. “This is a sample text”). Oneword text values do not need to be surrounded by doublequote (e.g. male, female, High, Moderate, etc.). If the text value contains double quotes, the double quotes need to be properly escaped with a backslash (e.g. “The subject said, \”I did not feel well today \”, repeatedly”).
- Fields with embedded commas must be delimited with doublequote characters. For example, a field with value New York, NY should be should be stored as “New York, NY” because the value has an embedded comma.
- Fields that contain double quote characters must be surrounded by
doublequotes,
and the embedded double-quotes
must each be represented by a
pair of consecutive double quotes. For example
The subject said “No”
should be stored as
“The subject said ““No”””. - A field that contains embedded linebreaks
must be surrounded by doublequotes. For example (this is a single field in a record),
John, Please bring the patient in. J.D. should be stored as : “ John, Please bring the patient in. J.D. ”
- Leading and trailing spacecharacters
(i.e. spaces and tabs) adjacent to comma
field separators and not in quotes are not allowed and will be ignored. (e.g.
“Eating” , “Drinking”, “Walking” is equivalent to “Eating”,”Drinking”,”Walking”
because the spaces will be removed) - Fields with leading or trailing spaces must be delimited with doublequote characters. (e.g. To preserve the spaces in the previous example, the record should be stored as: “Eating ”,“ Drinking”, “ Walking”)
- Fields may always be delimited with double quotes. The delimiters will always be discarded.
- The first record in a CSV file is a header record containing column (field) names, and the first header should start with “HEADER_[HEADER_NAME]”. (E.g., “HEADER_FIRST_NAME”)
The remainder of this document describes the details of the format, which uses conventions for data files, file naming, and directory structure.
Uniquely identifying sensors (SensorType)
The format assigns meaningful “SensorType” names to all sensors (e.g., “Wocket”, “ActigraphGT3XPlus”, “FitbitV3”) so that simply by looking at the file name, researchers can have a sense of what type of data will be in the file. Refer to Table 1 for some SensorType examples. Individual pieces of sensor hardware are uniquely identifiable by their SensorType combined with a “SensorID.” SensorIDs differentiate sensors of the same type using a unique identifier. For wireless sensors, the SensorID might be a MAC Address. For phone sensors, the SensorID might be the unique phone ID (e.g., IMEI). When such a unique number does not exist, GUIDs (Globally Unique Identifiers) generated by the user’s computer system are used to ensure uniqueness. They can be randomly generated. The SensorType name should be in CamelCase style.
| SensorType (unique type identifier, CamelCase style) | Source for SensorID |
Recommended Source and Format for VersionInfo (replace space,,_ with ‘x’; when no inforamtion is avaialble, use ‘NA’ for not available) |
Typical data |
|---|---|---|---|
| AndroidPhone | IMEI | (e.g., LGxNexus4xAndro id5x1x1) | 3axis accelerometer, gyroscope, light, steps, location |
| iPhone | IMEI | 3axis accelerometer, gyroscope, light, steps, location | |
| AndroidWearWatch | Watch doesn’t have IMEI, we can use the MAC address or Serial number | 3axis accelerometer, gyroscope, heart rate monitor | |
| Wocket | MAC Address | 3axis /+ 4 g 10 bit 40 Hz (5120) accelerometer | |
| ActigraphGT3XPlus | Serial Number | (e.g. v5x3) | 3axis /+ 6 g 12 bit 30100Hz accelerometer, steps |
| ActigraphGT9X | Serial Number | 3axis /+ 8 g 12 bit 30100Hz accelerometer and /+ 16 g IMU accelerometer | |
| ActigraphGT3XBT | Serial Number | 3axis /+ 8 g 12 bit 30100Hz accelerometer | |
| ActivPAL | Serial Number | 3axis 01.5g 8 bit 10 Hz accelerometer | |
| GENEActiv | Serial Number | /+ 8g 12 bit Selectable 10100Hz (10Hz) accelerometer | |
| OmronHJ720IT | Serial Number | Steps per minute | |
| QstarzGPSBTQ1000XT | Serial Number | Location longitude, latitude, velocity | |
| ZephyrHxMBT | MAC Address | Heart rate beats per minute As more sensors are created, the corresponding SensorType name must be added to the table |
As more sensors are created, the corresponding SensorType name must be added to the table above.
Typing sensor data (DataType)
More information on the type of sensor data in a file can be obtained by looking at the first header line in the file. As much as possible, researchers are encouraged to use headers in sensor data files that are consistent, so that data computation and visualization software tools can determine the type of sensor data from the datasets. Table 2 includes the most common types of sensor data and the recommended header fields.
| Type of data name (DataType) (CamelCase, alphanumeric characters only, no spaces) | Recommended header data column names |
|---|---|
| AccelerationCalibrated | X_ACCELERATION_METERS_PER_SECOND_SQUARED, Y_ACCELERATION_METERS_PER_SECOND_SQUARED, Z_ACCELERATION_METERS_PER_SECOND_SQUARED |
| AccelerationUncalibrated | X_ACCELERATION_UNCALIBRATED, Y_ACCELERATION_UNCALIBRATED, Z_ACCELERATION_UNCALIBRATED |
| AngularSpeed (from Gyroscope) |
X_ANGULAR_SPEED_RADIANS_PER_SECOND, Y_ANGULAR_SPEED_RADIANS_PER_SECOND, Z_ANGULAR_SPEED_RADIANS_PER_SECOND |
| AngularSpeedCalibrated | X_ANGULAR_SPEED_RADIANS_PER_SECOND_CALIBRATED, Y_ANGULAR_SPEED_RADIANS_PER_SECOND_CALIBRATED, Z_ANGULAR_SPEED_RADIANS_PER_SECOND_CALIBRATED, X_DRIFT_ RADIANS_PER_SECOND_CALIBRATED, Y_DRIFT_ RADIANS_PER_SECOND_CALIBRATED, Z_DRIFT_ RADIANS_PER_SECOND_CALIBRATED |
| AngularSpeedUncalibrated X_ | X_ANGULAR_SPEED_RADIANS_PER_SECOND_UNCALIBRATED, Y_ANGULAR_SPEED_RADIANS_PER_SECOND_UNCALIBRATED, Z_ANGULAR_SPEED_RADIANS_PER_SECOND_UNCALIBRATED, X_DRIFT_ RADIANS_PER_SECOND_UNCALIBRATED, Y_DRIFT_ RADIANS_PER_SECOND_UNCALIBRATED, Z_DRIFT_ RADIANS_PER_SECOND_UNCALIBRATED |
| Location | ACCURACY, LONGITUDE, LATITUDE, RADIUS_METERS, X_VELOCITY_METERS_PER_SECOND, Y_VELOCITY_METERS_PER_SECOND, Z_VELOCITY_METERS_PER_SECOND |
| Magneticfield | X_MAGNETIC_MICRO_TESLA, Y_MAGNETIC_MICRO_TESLA, Z_MAGNETIC_MICRO_TESLA, X_MAGNETIC_BIAS_MICRO_TESLA, Y_MAGNETIC_BIAS_MICRO_TESLA, Z_MAGNETIC_BIAS_MICRO_TESLA |
| MagneticfieldUncalibrated | X_MAGNETIC_MICRO_TESLA, Y_MAGNETIC_MICRO_TESLA, Z_MAGNETIC_MICRO_TESLA |
| Steps | STEP_COUNT, STEPS_PER_MINUTE |
| AccelerationMagnitude | MAGNITUDE, SAMPLE_COUNTS |
| Light | LIGHT_LUX |
| AtmosphericPressure | PRESSURE_HPA |
| Proximity | DISTANCE_CENTIMETERS |
| HeartRate | HEART_RATE_BEATS_PER_MINUTE, HEART_RATE_INTERBEAT_INTERVAL_MILLISECONDS |
| GalvanicSkinResponse | ? |
| Gravity | X_GRAVITY_METERS_PER_SECOND_SQUARED, Y_GRAVITY_METERS_PER_SECOND_SQUARED, Z_GRAVITY_METERS_PER_SECOND_SQUARED |
| LinearAcceleration | X_LINEAR_ACCELERATION_METERS_PER_SECOND_SQUARED, Y_LINEAR_ACCELERATION_METERS_PER_SECOND_SQUARED, Z_LINEAR_ACCELERATION_METERS_PER_SECOND_SQUARED |
| Rotation | X_ROTATION_QUATERNION, Y_ROTATION_QUATERNION, Z_ROTATION_QUATERNION, ACCURACY_RADIANS |
| Orentation | AZIMUTH_ANGLE PITCH_ANGLE ROLL_ANGLE |
| Humidity | HUMIDITY_PERCENT |
| Temperature | TEMPERATURE_CELCIUS |
| Network | SWITCH_NETWORK_TYPE, DATA_USAGE_APP, DATA_USAGE_TOTAL |
| WifiWirelessSignalStrength | WIFI_SENSOR_UNIQUE_ID, WIFI_RECEIVED_SIGNAL_STRENGTH_INDICATOR |
| BluetoothWirelessSignalStrength | BLUETOOTH_SENSOR_UNIQUE_ID, BLUETOOTH_RECEIVED_SIGNAL_STRENGTH_INDICATOR |
| PhoneCommunication | CALL_INCOMMING_OR_OUTGOING, SMS_INCOMMING_OR_OUTGOING, PHONE_NUMBER |
| Transportation | TRANSPORTATION_METHOD, ACCURACY_PERCENTAGE |
| Battery | BATTERY_LEVEL, BATTERY_CHARGING |
Data directory structure
The toplevel directory structure for data storage follows this convention, where all names include only alphanumeric characters and “-” (text following the “//” are comments):
- [StudyName] // Name of study in camelcase
- [ParticipantID1] // All data for participant ID1 is under this directory. A good structure for ParticipantIDs would be “Participant_001”, “Participant_002”, etc. or something similar.
- [ParticipantID2] // All data for participant ID2 is under this directory.
- [ParticipantIDn] // All data for participant IDn is under this directory.
- OriginalRaw // Raw data files from each sensor in the original manufacturer’s format are stored here, untouched. This is useful in case an error is found in a converter or some other type of unexpected problem is discovered.
- MasterSynced // This directory stores the fully synchronized dataset with no
additional processing or computed data files. This is the raw data collected from
the field but converted into the mHealth format and fully synchronized. These
data should never be deleted.
- [YYYY] // 4digit year
- [MM] // 2digit month. January is “01” and December is “12”.
- [DD] // 2digit day. “01”-” 31”.
- [HH] // 2digit
hour in format HR, where
Midnight1AM
is the “00” hour, 6AM7AM
is the “06”
hour, and 11PMMidnight
is the “23” hour. All
sensor data from high sampling rate sensors and
most data from low sampling rate sensors are
stored in the hour directories. Data file naming
conventions provide clues to the data file content
and prevent naming collisions.
Three types of data files are stored in these hour
directories: sensor data (*.sensor.csv.gz),
annotation data (*.annotation.csv.gz”), and event
data (*.event.csv.gz).
Only original data are contained in this directory.
Metadata computed from these data are placed in
the Metadata directory.
- [SensorTypeDataTypeVersionInfo].[ Senso rID].[YYYY][ MM][ DD][ hh][ mm][ ss][ mmm ][ P/M][hhmm].sensor.csv.gz // Compressed, CSV sensor data from this particular sensor, where the time is the time the first line of data was written. The SensorType and SensorID and VersionInfo together uniquely identify the sensor. The content of these files is described below.
- [OntologyID].[AnnotatorID].[YYYY][ MM][ D D][ hh][ mm][ ss][ mmm][ P/M][hhmm].annot ation.csv.gz // Compressed, CSV annotation data, where the OntologyID and AnnotatorID are projectspecific and combine to uniquely identify the type of data contained within the file. The time is the time the first line of data was written. The content of these files is described below.
- [EventType].[EventID].[YYYY][ MM][ DD][ h h][ mm][ ss][ mmm][ P/M][hhmm].event.csv. gz // Compressed, CSV event data, where the EventType and EventID are projectspecific and combine to uniquely identify the type of data contained within the file. The time is the time the first line of data was written. The content of these files is described below.
- … // Other raw data, annotation, or event data files
- [HH] // 2digit
hour in format HR, where
Midnight1AM
is the “00” hour, 6AM7AM
is the “06”
hour, and 11PMMidnight
is the “23” hour. All
sensor data from high sampling rate sensors and
most data from low sampling rate sensors are
stored in the hour directories. Data file naming
conventions provide clues to the data file content
and prevent naming collisions.
Three types of data files are stored in these hour
directories: sensor data (*.sensor.csv.gz),
annotation data (*.annotation.csv.gz”), and event
data (*.event.csv.gz).
Only original data are contained in this directory.
Metadata computed from these data are placed in
the Metadata directory.
- [DD] // 2digit day. “01”-” 31”.
- [MM] // 2digit month. January is “01” and December is “12”.
- [YYYY] // 4digit year
- Subject.csv // Data on this particular subject that never changes.
- [SensorType].[SensorID].annotation.csv.gz // Data on how the SensorType + SensorID sensor is placed/worn that may change over time // Participantspecific data computed by a system from the data contained within MasterSynced. This would include all computed summary data, all computed features, etc.
- MetaData[
TaskName1] // This label should describe the data contained within, which is data computed
from MasterSynced. The structure of this directory mirrors the structure of
MasterSynced and can include copies of the data that have been manipulated by
algorithms. These should be data that could be automatically regenerated from
MasterSynced if necessary.
- [YYYY] // 4digit year
- [MM] // 2digit month.
- [DD] // 2digit day.
- [HH] // 2digit
hour. Only data that can be
(re)computed from MasterSynced are
stored here.
- [AlgorithmType].[AlgorithmID].[YYYY ][ MM][ DD][ hh][ mm][ ss][ mmm][ P /M][hhmm].feature.csv.gz // Computed data. AlgorithmType and AlgorithmID should be unique and descriptive. Otherwise, the format is identical to the event data file described above.
- [OntologyID].[AnnotatorID].[YYYY][ MM][ DD][ hh][ mm][ ss][ mmm][ P/ M][hhmm].annotation.csv.gz
- … // Other feature data
- [HH] // 2digit
hour. Only data that can be
(re)computed from MasterSynced are
stored here.
- [DD] // 2digit day.
- [MM] // 2digit month.
- [YYYY] // 4digit year
- MetaData[ TaskName2] // More metadata (e.g., classification output).
- Sessions.csv // Information about sessions that will not change.
- Sensors.csv // Information about sensors that will not change.
- Annotators.csv // Information about all annotators.
- Ontology.[OntologyID1].csv // Information about the [OntologyID1] ontology.
- Ontology.[OntologyID2].csv // Information about the [OntologyID2] ontology.
- MetadataCrossParticipant // Data computed across participants for certain sessions,
recorded by time in the study (versus absolute date)
- [SessionName1] // A session that must be defined in the Sessions.csv.gz file
- Year[Number] // Year index (Number>0). E.g., “Year1”, “Year2”, ...
- Month[Number] // Month index (Number>0). E.g., “Month1”,
“Month11”, “Month12”
- [SessionName1].[YYYY][ MM][ DD][ hh][ mm][ ss][ mmm][ P/M][hhmm].feature.csv.gz // Monthlevel data computed from original raw data or metadata
- Week[Number] // Week in study index (Number>0), E.g.,
“Week1”, “Week3”, “Week11”, where 7 days are a week.
- [SessionName1].[YYYY][ MM][ DD][ hh][ mm][ ss][ mmm][ P/M][hhmm].feature.csv.gz // Weeklevel data
- Day[Number] // Day in study index (Number>0).
E.g., “Day1”, “Day23”, “Day1043”
- [SessionName1].[YYYY][ MM][ DD][ hh][ m m][ ss][ mmm][ P/M][hhmm].feature.csv.gz // Daylevel data
- Month[Number] // Month index (Number>0). E.g., “Month1”,
“Month11”, “Month12”
- Year[Number] // Year index (Number>0). E.g., “Year1”, “Year2”, ...
- [SessionName1] // A session that must be defined in the Sessions.csv.gz file
The above directory format segregates data logically as follows:
- [StudyName] . Contains all information related to a specific study.
- [ParticipantID] . Contains all information related to a specific participant within that study.
- OriginalRaw . Contains all the original raw files output during the study from various devices for a particular participant. Files in this directory should never be deleted to preserve the original, raw, untouched data.
- MasterSynced . Contains the master copy of the original data, synchronized, in the mHealth format. Once the data have been cleaned and synchronized, any transformation done to these original data files should create new files in the appropriate unique subdirectory(s) in the Metadata directory.
- Metadata . This directory contains metadata created when processing the MasterSynced data, broken into Metadata “TaskName” directories. These may include fully or partially transformed data or algorithm outputs that can be subsequently used as the source of data for later tasks/visualization and can be deleted or modified easily without any impact on the OriginalRaw data or the MasterSynced data. Each metadata task contains all information/data related to a specific analysis, algorithm, and/or transformation on a set of original data of a specific participant’s data. This analysis, algorithm, and/or transformation can be anything ranging from simple timeshifted transformations of the original data to creating sessionspecific data sets, which can then be transformed further. For example, a researcher may want to run an algorithm to find the average number of ambulatory steps a specific participant takes in an hour. In this case, a [MetadataTask] could be named “ AverageStepsPerHour ”. These “task” directories should maintain a directory structure identical to ParticipantID’s MasterSynced directory structure where the synchronized raw data is stored.
- MetadataCrossParticipant . Contains all information/data related to any type of analysis, algorithm, and/or transformation done on multiple participants’ data. For example, a researcher may want to calculate the average number of steps taken in Day1, Day2, etc. for a particular study session. In this case, the “task” subdirectory could be named “ AverageStepsPerHour ”. In these directories, data are organized by day, month, and yearinstudy.
- [YearNumber], [MonthNumber], [WeekNumber], [DayNumber] . These directories represent the number of year/month/week/day of a particular session of the study. For example, a researcher may want to run a crossparticipant session (named “Session1”) of a certain study (named “Study1”) for one week. The data files for this session should be stored in this directory structure: Study1/MetadataCrossParticipant/Session1/Year1/Month1/Week1/[Day1 Day7], where [Day1 Day7] represents 7 subdirectories under Week1 for each day in the session. Another example could be a session of a study being run on multiple participants for 3 years, in which case the data files should be stored in this directory structure: [StudyName]/MetadataCrossParticipant/[SessionName]/[Year1 Year3].


Ruminants: Sheep, Goats, Dairy, Beef, Alpacas, Llamas and Game Animals (excluding Zebra)
In essence this group of animals consume plant material only, but like pigs and poultry, they benefit tremendously when proteins of animal origin like fishmeal, meat meal, etc. are included in their diet. Offer at least two roughages, two grains and/or their by-products, two protein sources plus the macro-minerals calcium, phosphorus, magnesium, potassium and salt. Molasses up to 8% is often included to combat dustiness and enhance palatability.
Horses: All Horses, Zebra and Giraffe
Offer at least two roughages, two grains and/or their by-products, two protein sources plus the macro-minerals calcium, phosphorus, magnesium, potassium and salt. Horses love oats. They thrive on it, both grain and hay. Alfalfa hay is an excellent roughage for horses, but avoid feeding mouldy hay. Up to 10% fish meal or meat meal will greatly greatly reduce the supplementation of synthetic amino acids and other micro-nutrients. Never include urea, biuret and the two ionosphores commonly used in ruminant feeds, viz. monensin sodium (Rumensin) and lasalocid (Bovatec), as these are toxic to horses. Molasses up to 8% is often included to combat dustiness and to enhance palatability.
Pigs
Virtually all grains and/or their by-products and protein sources from both plant and animal origin are suitable ingredients. Good quality roughage such as alfalfa hay up to 20% maximum can be offered, but is not essential. Always offer the macro-minerals calcium, phosphorus, magnesium, potassium and salt. Molasses up to 8% is often included to combat dustiness and to enhance palatability.
Poultry: Chickens, Broilers, Turkeys, Ostriches, Emus, Pheasants, Ducks, Geese and Quail
Virtually all grains and/or their by-products and protein sources from both plant and animal origin are suitable ingredients, but limit fish meal to 5% maximum in broiler and egg producing rations for obvious reasons. Good quality roughage such as alfalfa hay u p to 20% maximum can be offered, but is not essential. Always offer the five macro-minerals calcium, phosphorus, magnesium, potassium and salt. Molasses up to 8% is often included to combat dustiness and to enhance palatability.
Pigeons
Ingredients to include in feed mixes for pigeons should be of plant origin only. In pelleted pigeon rations you can offer virtually any of the grains and/or their by-products plus any of the protein sources of plant origin. Where pigeon fanciers prefer whole seed mixes, it is important to include protein rich seeds such as pea seeds, lentils, lupines and beans together with whole grains such as wheat, barley, sorghum, sweet corn, naked oats etc. To ensure that pigeon receive the micro nutrient portion of the ration containing the essential vitamins, amino acids and trace minerals, dampen the seeds with a two parts water and one part molasses solution, sprinkle the powdered supplement and mix thoroughly. In both pelleted and whole seed mixes, always offer the five macro-minerals calcium, phosphorus, magnesium, potassium and salt plus a rich source of linoleic acid such as found in canola oil, safflower oil, palm oil, palm kernel oil or sunflower oil.
Cats and Dogs
As cats and dogs are not herbivorous animals, their rations do not call for any roughages to be included in any of the formulations. Grains low in fibre and limited inclusions (up to 10%) of the more fibrous grains such as oats and barley are standard procedures. Two important ingredients to consider here are oats grain (naked) and whey powder (dried). Animal protein sources such as fishmeal, boneless meat meals, either red meat, swine or poultry by-products are essential ingredients, with cats preferring relatively more fish and dogs relatively more meat. Of the plant protein sources, either peanut oilcake meal or whole cottonseed (delinted) should always be offered for inclusion in both the cat and dog rations as they also contain two other essential nutrients that these animals need, viz. linoleic acid and arachidonic acid. Cats and dogs also have relatively high requirements for fat in their diet and including an oil such as as palm oil or palm kernel oil or a soft fat such as beef tallow is highly recommended. The latter is a rich source of arachidonic acid, while the former two are rich in linoleic acid. And lastly, the five macro-minerals calcium, phosphorus, magnesium, potassium and salt should always be included.
Fish: Shrimp (Carnivorous and Omnivorous), Channel Catfish, Tilapia, Striped Bass and Hybrid Bass, Rainbow Trout, Pacific and Atlantic Salmon
When selecting feedstuffs for fish and shrimp it is important to differentiate between the carnivorous and omnivorous species. The first point to note is that although omnivores consume plant material, they are not herbivores, meaning that dry roughages and the like are never included as possible ingredients of the diet. The second point to note is that the omnivorous species of both groups need proteins, fats and many other nutrients, some of which are supplied by plant materials and others of which are supplied by materials of animal origin. On the other hand, the carnivous species of both shrimp and fish which require the bulk of their nutrients to be supplied by materials of animal origin such as fish meal, blood meal, casein, whey (dried), meat and carcass meal (red meat, poultry and swine (the bone-free by-product), but are not adversely affected by small amounts of grains and seeds containing a relatively low fibre content, such as millet, pea seeds, lentils, soybeans and soybean oilcake meal, rice grouts, hull-less barley and bakery waste. Needless to say that all the all above-mentioned feedstuffs are typical ingredients used in the feeds of omnivorous fish and shrimp. Two other essential ingredients needed is an oil of plant origin such as palm oil or palm kernel oil, as they are rich in linoleic acid and in arachidonic acid, and an oil of animal origin such as herring oil, which is again rich in cholesterol. (Note: Fish diets call for a fixed ratio of animal fat to plant fat, hence the importance of offering both sources for formulations). Lastly, the five macro-minerals calcium, phosphorus, magnesium, potassium and salt should always be included.
Rabbits
Rabbits are monogastric herbivores, like the horse. They have no rumen. In essence they consume plant material only, but like pigs and poultry, they benefit tremendously when proteins of animal origin like fishmeal, meat meal, etc. are included in their diet; they need all the essential amino acids for maximum performance in growth and reproduction. When formulating, include at least two roughages, two grains and/or their by-products, two protein sources plus the macro-minerals calcium, phosphorus, magnesium, potassium and salt. Up to 10% fismeal or meat meal will greatly greatly reduce the supplementation of synthetic amino acids and other micro-nutrients. Never include urea, biuret and the ionosphere growth stimulants commonly used in ruminant feeds, viz. monensin sodium (Rumensin) and lasalocid (Bovatec), as these are toxic to rabbits. Molasses up to 8% is often included to combat dustiness and to enhance palatability.


Firefighter and father of 3 dies rescuing crew members at 4-alarm blaze
A Massachusetts firefighter and father of three died while rescuing members of his crew at the scene of a 4-alarm blaze overnight, officials said.
The massive fire in Worcester, about 45 miles west of Boston, was reported just before 1 a.m. on Wednesday.
Lt. Jason Menard, a member of the Worcester Fire Department since 2010, died rescuing the other members of his crew, officials said.
Menard's family had planned to be leaving for a trip to Disney, said Michael Papagni, president of the local firefighters' union.
"They're now instead planning a hero's send off," Papagni told reporters Wednesday morning.
Menard and the other firefighters were working to rescue a resident and baby when they became trapped by heavy fire conditions, Worcester Fire Chief Michael Lavoie said.
Menard "heroically and selflessly saved his crew, helping a probationary firefighter to the stairs and then returning to rescue another trapped firefighter, assisting him out the window," Lavoie said at a news conference.
Fire conditions then overtook the third floor and Menard "was unable to escape," Lavoie said.
The high winds and brutally cold temperature made it difficult for the fallen lieutenant to be rescued, officials said.
Three other firefighters were injured while battling the blaze. One remains in the hospital in serious but stable condition and the other two firefighters have been released.
Menard leaves behind his wife, three children and parents, the department said.
"He had a true passion for the job and he'll be missed," Papagni added.


Please log in
Invalid username and password.
You have been logged out.
Username
Password
Log in
© 2019


{% load static %}
Wall of fame
Trailing Planner
Home
Hall of Fame
1st
{{ first.name }}
{{ first.km_ran }} km
2nd
{{ second.name }}
{{ second.km_ran }} km
3rd
{{ third.name }}
{{ third.km_ran }} km
Overview


Survey Form
Let us know how we can improve freeCodeCamp
Name:
Email:
Age:
Which option best describes your current role?
Student
Full time job
Full time learner
Prefer not to say
Other
How likely is that you would recommend freeCodeCamp to a friend?
Definitely
Maybe
Not sure
Things that should be improved in the future (Check all that apply):
Front-end Projects
Back-end Projects
Data Visualization
Challenges
Open Source Community
Gitter Help Rooms
Videos
City Meetups
Wiki
Forum
Additional Courses
Any Comments or Suggestions?
Write your comments here
Submit


--- layout: post title: Ruby, Day 3 date: 2011-05-17 17:02:00.000000000 +02:00 categories: [] tags: - Ruby - Seven Languages in Seven Weeks status: publish type: post published: true meta: {} author: login: admin email<EMAIL_ADDRESS>display_name: Philippe first_name: Philippe last_name: Vlérick excerpt: !ruby/object:Hpricot::Doc options: {} ---
Last day on Ruby!
Retrospectively, I didn’t knew Ruby before (and I still don’t know much about it, admittedly), but it’s been fun.
I’m not a big fan after what I saw. I still find it a bit messy, but that’s maybe because I’m not used to it enough. The “you can rewrite anything and change basic behavior” is very nice, but I seriously wonder how many times it has bitten back developers. If someone rewrites one of the basic methods in a big codebase, I can only imagine the consequences, if you are luck enough to see them right away…
However, I enjoyed scripting with Ruby very much, and it was a good brainteaser to try to find the effective way of doing those things in a language I completely ignored so far.
Anyway, here is my last homework!
So, the goal here is to modify a class that reads CSV files and add an each method that will perform a block on a CsvRow object, object that is to be written. This object should have its method_missing overwritten so that you can access columns as if they were methods:
module ActsAsCsv
def self.included(base)
base.extend ClassMethods
end
module ClassMethods
def acts_as_csv
include InstanceMethods
end
end
module InstanceMethods
def read
@csv_contents = []
filename = self.class.to_s.downcase + '.csv'
file = File.new(filename)
@headers = file.gets.chomp.split(', ')
file.each do |row|
@csv_contents << row.chomp.split(', ')
end
end
attr_accessor :headers, :csv_contents
def initialize
read
end
def each(&block)
@csv_contents.each { |line| block.call CsvRow.new(@headers, line) }
end
end
end
class RubyCsv # no inheritance! You can mix it in
include ActsAsCsv
acts_as_csv
end
class CsvRow
attr_accessor :headings, :values
def initialize(headings, values)
@headings = headings
@values = Hash[headings.zip(values).map { |e| [e[0], e[1]] }]
end
def method_missing(name, *args)
col = name.to_s
@values[col]
end
end
csv = RubyCsv.new
csv.each { |row| puts row.two }


The Psychic Game
I'm thinking of a letter. Can you guess what it is?
Instructions
The rules for this game are as follows:
I am only thinking of a letter. Numbers or other characters will not be accepted as guesses.
I will list all of your previous guesses.
You have 7 chances to guess correctly or it's game over.
You have
7
guesses left.
Wins:
0
Losses:
0
Your previous guesses are:
The letter I'm thinking of is:
Hidden


🐰 Status
Available
Knock if the door is closed, and come in!
Can't find me? Try the #attendance channel.


| fkGraphics reference pages | |
define_roi
synopsis
define named regions of interest
syntax
regions=DEFINE_ROI(parm1,val1,...)
description
regions=DEFINE_ROI(parm1,val1,...) This function will present a gui in
which rectangles can be drawn to define named regions of interest. Valid
options are:
- image
- video image (default=[])
- imagesize
- 2x2 matrix with x and y size of image (default=[1 size(image,2); 1 size(image,1)])
- regions
- regions structure array, with fields 'name' and 'position'
| javacommandline | Toolbox page | icircle |


Hi I'm Daisy! A lively cat that loves to climb everywhere. I demand snuggles! I can has home?
Buster's the name and fetch is the game! I'm a family man and super friendly!
This is Scooter! I'm a bit shy but still full of love!


AFTER LIFE (Japanese with subtitles) A review by Mark R. Leeper in bullet-list form from the Toronto Internation Film Festival
CAPSULE: The recently dead must each choose the most memorable moment of their lives to have them filmed. Once this process is complete they can continue on to heaven. The film combines documentary footage with interviews with dramatic storytelling. A little slow at times, but worthwhile over all. Rating: 6 (0 to 10), high +1 (-4 to +4)
- Directed by Hirokazu Kore-Eda. - When one dies, according to the premise of this film, each person must choose the best moment of his life to have it recreated on film, then to live it for eternity. One gets a week complete with advisors to get this accomplished. This is the story of one week in this odd purgatory. - The building used for this purpose seems to be some sort of old school building. It is one much in needing of a repainting. There is a staff of advisors, many with their own problems, trying to help the dead in their task by counseling them on what moment to choose and then helping them to get it filmed. - Much of the film is real documentary footage of people choosing and talking about the most significant moment in their lives. Actors hired for the film and when possible they talked about moments from their lives. Only the actors who had scripted key moments were those who were needed for the story. This use of interview material reminiscent of some Aardman animated films. - Not clear why the moments chosen by the dead had to be filmed by them except that the director had the facilities. Only one or two moments are seen being filmed.
Mark R. Leeper<EMAIL_ADDRESS>Copyright 1998 Mark R. Leeper
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


Dotnet New
dotnet new sln //New solution file
dotnet new console //New console application
dotnet new classlib //New class library
dotnet new mvc //ASP.NET Core Web App (Model-View-Controller)
dotnew new xunit //xunit test project
dotnet new -l //Get the list of available templates
Dotnet sln
dotnet sln list //List all projects in a solution file
dotnet sln todo.sln add todo-app/todo-app.csproj //Add a c# project to a solution
dotnet sln todo.sln remove todo-app/todo-app.csproj //Remove a C# project from a solution
dotnet sln todo.sln add **/*.csproj //Add multiple C# projects to a solution using a globbing pattern
Dotnet add
dotnet add package Newtonsoft.Json //Add Newtonsoft.Json NuGet package to a project
dotnet add reference lib1/lib1.csproj lib2/lib2.csproj //Add multiple project references to the project in the current directory
dotnet add app/app.csproj reference **/*.csproj //Add multiple project references using a globbing pattern on Linux/Unix
Dotnet build
dotnet build //Build a project and all of its dependencies
dotnet build --configuration Release //Build a project and its dependencies using Release configuration
dotnet build --runtime ubuntu.16.04-x64 //Build a project and its dependencies for a specific runtime (in this example, Ubuntu 16.04)
Dotnet run
dotnet run //Run the project in the current directory
dotnet run --project ./projects/proj1/proj1.csproj //Run the specified project
dotnet myapp.dll //Run a framework-dependent app named myapp.dll
Dotnet clean
dotnet clean //Clean the output of a project
dotnet clean --configuration Release //Clean a project built using the Release configuration
Only the outputs created during the build are cleaned. Both intermediate (obj) and final output (bin) folders are cleaned.
Dotnet publish
dotnet publish //Publish the project in the current directory
dotnet publish ~/projects/app1/app1.csproj //Publish the application using the specified project file
The dotnet publish command's output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution.
Dotnet ef
dotnet ef migrations add //Add a new migration
dotnet ef migrations list //List available migrations
dotnet ef migrations remove //Remove the last migration
dotnet ef migrations script //Generate a SQL script from migrations
dotnet ef database update //Update the database to a specified migration
dotnet ef database drop //Drop the database
dotnet ef dbcontext list //List available DbContext types
dotnet ef dbcontext info //Get information about a DbContext type
dotnet ef dbcontext scaffold //Scaffolds a DbContext and entity types for a database
Dotnet pack
dotnet pack //Build the project and create NuGet packages
dotnet pack --no-build --output nupkgs //Pack the project in the current directory into the nupkgs folder and skip the build step
dotnet pack /p:PackageVersion=2.1.0 //Set the package version to 2.1.0 with the PackageVersion MSBuild property
Dotnet nuget
dotnet nuget locals -l all //Display the paths of all the local cache directories
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a //Push foo.nupkg to the default push source, specifying an API key
dotnet nuget delete Microsoft.AspNetCore.Mvc 1.0 --non-interactive //Delete version 1.0 of package Microsoft.AspNetCore.Mvc, not prompting user for credentials or other input
Dotnet remove
dotnet remove package Newtonsoft.Json //Remove Newtonsoft.Json NuGet package from a project in the current directory
dotnet remove reference lib/lib.csproj //Remove a project reference from the current project
dotnet remove app/app.csproj reference **/*.csproj //Remove multiple project references using a glob pattern on Unix/Linux
etc.
dotnet help //Show more detailed documentation online for the command
dotnet migrate //Migrate a Preview 2 .NET Core project to a .NET Core SDK 1.0 project
dotnet msbuild //Provides access to a fully functional MSBuild
dotnet test //Run the tests in the project in the current directory
dotnet list reference //List the project references for the project in the current directory
Environment Variables
DOTNET_PACKAGES
The primary package cache.
DOTNET_SERVICING
Specifies the location of the servicing index to use by the shared host when loading the runtime.
DOTNET_CLI_TELEMETRY_OPTOUT
Specifies whether data about the .NET Core tools usage is collected and sent to Microsoft.
DOTNET_MULTILEVEL_LOOKUP
Specifies whether .NET Core runtime, shared framework, or SDK are resolved from the global location.
DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX
Disables minor version roll forward. For more information, see Roll forward.


An Introduction to Arduino
20 Jan, 2018
You must have thought about your automatic wash machine as to how it took inputs by just making you press a few buttons, and then perform the tasks accordingly. We have seen something like this in our computers. So then deriving an analogy we can say that a small computer is embedded into the wash machine which is in fact true, we do use a small computer called as microcontroller.
Microcontrollers are basically small computers which include a processor core, memory, and programmable input/output. Microcontrollers are designed for embedded use. Microcontrollers though originally programmed only in assembly language, now also include various high-level programming languages, such as C, Python and JavaScript. general purpose languages.
There are many types of microcontroller architecture like ARM, ATMEL AVR, INTEL 8051.
What is Arduino?
Now to use a microcontroller you will have to develop a board, one such type is Arduino.
As defined on its website, Arduino is an open-source electronics platform based on easy-to-use hardware and software. They can read inputs – light on a sensor, a finger on a button, or a Twitter message – and turn it into an output – activating a motor, turning on an LED, publishing something online as desired. To do this we need to use the Arduino programming language (based on Wiring) and the arduino software(IDE), based on Processing.
The advantage of using Arduino are that it is in expensive, cross-platform,open-source and extensible software and hardware. There is an awesome community for arduino. The tutorials provided by the community and the various projects and blog posts make the ride of learning arduino easy and so it has become an useful utility for beginners.
There are many types of arduino boards which have different technical utilities.
Arduino IDE:
The current version of the Arduino IDE is 1.8.10 and is compatible with Windows, Linux and Mac OS. The arduino IDE can be easily installed from the website of arduino.
Example 1: How to blink a LED
There are many example codes in the arduino IDE itself. The following is for blinking an LED which is analogous to the regular “hello world” program.
In the arduino UNO board there is an led at pin 13 which will be used here. These pins varies for different arduino boards.
Sketch:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Now before uploading this code onto the Arduino you need to set the type of board you are using and your USB port where you will be attaching your Arduino, this can be done in the tools menu. Then compile it and upload it on to the board using the icons given.
Example 2: How to interface an LCD with Arduino:
There is an LCD library in Arduino which can be used to interface an LCD Screen (compatible with Hitachi HD44780 driver) with it. The LCD can be used to display various messages as required.
Hardware Required:
-
Arduino or Genuino Board
-
LCD Screen (compatible with Hitachi HD44780 driver)
-
pin headers to solder to the LCD display pins
-
10k ohm potentiometer
-
220 ohm resistor
-
hook-up wires
-
breadboard
Circuit:
To wire your LCD screen to your board, connect the following pins:
-
LCD RS pin to digital pin 12
-
LCD Enable pin to digital pin 11
-
LCD D4 pin to digital pin 5
-
LCD D5 pin to digital pin 4
-
LCD D6 pin to digital pin 3
-
LCD D7 pin to digital pin 2
Sketch:
// include the library code:
#include
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print(“hello, world!”);
}
void loop() {
// Turn off the display:
lcd.noDisplay();
delay(500);
// Turn on the display:
lcd.display();
delay(500);
}
The arduino website can be checked for various other functions of the LCD library.
Example 3: How to sweep the shaft of servo motor:
The servo motor is used to control the speed, position and acceleration of the servo motor. Here we will be using the arduino to sweep the shaft of a RC back and forth across 180 degrees.
This example makes use of the Arduino servo library.
Hardware Required:
-
Arduino or Genuino Board
-
Servo Motor
-
wires
Circuit:
Sketch:
#include
Servo myservo;// create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos);// tell servo to go to position in variable ‘pos’
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable ‘pos’
delay(15); // waits 15ms for the servo to reach the position
}
}
After this verify and upload the sketch onto the board. For more functions of the servo library , you can visit the arduino website.


{% extends "lifeflow/editor/base.html" %} {% block body %}
Click on the tags to associate with this article.
Create a new tag.
Delete unnecessary tags.


Toggle navigation
Quiz Demo
Portfolio
This is quiz demo app. This app demonstrates only frontend programming. App written in JavaScript with JQuery library.
Toggle navigation
Quiz
Questions
Starting screen of app
Start
Previous
Next


|
Assimp
5.0.1, master @ cd42b955
|
Definition of in-memory structures for the Half-Life 1 MDL file format. More...
Classes | |
| struct | Assimp::MDL::HalfLife::AnimEvent_HL1 |
| Data structure for an animation event in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::AnimValue_HL1 |
| Data structure for an animation frame in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::AnimValueOffset_HL1 |
| Data structure to hold offsets (one per motion type) to the first animation frame value for a single bone in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::Attachment_HL1 |
| Data structure for an attachment in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::Bodypart_HL1 |
| Data structure for a bodypart in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::Bone_HL1 |
| Data structure for a bone in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::BoneController_HL1 |
| Data structure for a bone controller in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::Header_HL1 |
| Data structure for the HL1 MDL file header. More... | |
| struct | Assimp::MDL::HalfLife::Hitbox_HL1 |
| Data structure for a hitbox in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::Mesh_HL1 |
| Data structure for a mesh in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::Model_HL1 |
| Data structure for a model in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::SequenceDesc_HL1 |
| Data structure for a sequence description in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::SequenceGroup_HL1 |
| Data structure for a sequence group in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::SequenceHeader_HL1 |
| Data structure for the file header of a demand loaded HL1 MDL sequence group file. More... | |
| struct | Assimp::MDL::HalfLife::Texture_HL1 |
| Data structure for a texture in HL1 MDL files. More... | |
| struct | Assimp::MDL::HalfLife::Trivert |
| Data structure for a trivert in HL1 MDL files. More... | |
Namespaces | |
| Assimp | |
| Helper structures for the Collada loader. | |
| Assimp::MDL | |
| Assimp::MDL::HalfLife | |
Macros | |
| #define | AI_MDL_HL1_MAX_ATTACHMENTS 512 |
| #define | AI_MDL_HL1_MAX_BODYPARTS 32 |
| #define | AI_MDL_HL1_MAX_BONE_CONTROLLERS 8 |
| #define | AI_MDL_HL1_MAX_BONES 128 |
| #define | AI_MDL_HL1_MAX_EVENTS 1024 |
| #define | AI_MDL_HL1_MAX_MESHES 256 |
| #define | AI_MDL_HL1_MAX_MODELS 32 |
| #define | AI_MDL_HL1_MAX_SEQUENCE_GROUPS 32 |
| #define | AI_MDL_HL1_MAX_SEQUENCES 2048 |
| #define | AI_MDL_HL1_MAX_SKIN_FAMILIES 100 |
| #define | AI_MDL_HL1_MAX_TEXTURES 100 |
| #define | AI_MDL_HL1_MAX_TRIANGLES 20000 |
| #define | AI_MDL_HL1_MAX_VERTICES 2048 |
| #define | AI_MDL_HL1_STUDIO_NF_ADDITIVE 0x0020 |
| #define | AI_MDL_HL1_STUDIO_NF_CHROME 0x0002 |
| #define | AI_MDL_HL1_STUDIO_NF_FLATSHADE 0x0001 |
| #define | AI_MDL_HL1_STUDIO_NF_MASKED 0x0040 |
| #define | AI_MDL_HL1_VERSION 10 |
Typedefs | |
| using | Assimp::MDL::HalfLife::vec3_t = float[3] |
Enumerations | |
| enum | Assimp::MDL::HalfLife::SequenceBlendMode_HL1 { Assimp::MDL::HalfLife::NoBlend = 1 , Assimp::MDL::HalfLife::TwoWayBlending = 2 , Assimp::MDL::HalfLife::FourWayBlending = 4 } |
| The type of blending for a sequence. More... | |
Variables | |
| Assimp::MDL::HalfLife::Header_HL1 | Assimp::MDL::HalfLife::PACK_STRUCT |
Definition of in-memory structures for the Half-Life 1 MDL file format.
| #define AI_MDL_HL1_MAX_ATTACHMENTS 512 |
| #define AI_MDL_HL1_MAX_BODYPARTS 32 |
| #define AI_MDL_HL1_MAX_BONE_CONTROLLERS 8 |
| #define AI_MDL_HL1_MAX_BONES 128 |
| #define AI_MDL_HL1_MAX_EVENTS 1024 |
| #define AI_MDL_HL1_MAX_MESHES 256 |
| #define AI_MDL_HL1_MAX_MODELS 32 |
| #define AI_MDL_HL1_MAX_SEQUENCE_GROUPS 32 |
| #define AI_MDL_HL1_MAX_SEQUENCES 2048 |
| #define AI_MDL_HL1_MAX_SKIN_FAMILIES 100 |
| #define AI_MDL_HL1_MAX_TEXTURES 100 |
| #define AI_MDL_HL1_MAX_TRIANGLES 20000 |
| #define AI_MDL_HL1_MAX_VERTICES 2048 |
| #define AI_MDL_HL1_STUDIO_NF_ADDITIVE 0x0020 |
| #define AI_MDL_HL1_STUDIO_NF_CHROME 0x0002 |
| #define AI_MDL_HL1_STUDIO_NF_FLATSHADE 0x0001 |
| #define AI_MDL_HL1_STUDIO_NF_MASKED 0x0040 |
| #define AI_MDL_HL1_VERSION 10 |


|
NANO103 BSP V3.01.003
The Board Support Package for Nano103 Series
|
Macros | |
| #define | I2C_SET_CONTROL_REG(i2c, u8Ctrl) |
| This macro sets the I2C control register at one time. More... | |
| #define | I2C_START(i2c) |
| This macro only set START bit to the control register of I2C module. More... | |
| #define | I2C_STOP(i2c) |
| This macro only set STOP bit to the control register of I2C module. More... | |
| #define | I2C_WAIT_READY(i2c) |
| This macro will return when I2C module is ready and flag is cleared. More... | |
| #define | I2C_GET_DATA(i2c) |
| This macro returns the data stored in data register of I2C module. More... | |
| #define | I2C_SET_DATA(i2c, u8Data) |
| This macro writes the data to data register of I2C module. More... | |
| #define | I2C_GET_STATUS(i2c) |
| This macro returns the status of I2C module. More... | |
| #define | I2C_GET_TIMEOUT_FLAG(i2c) |
| This macro returns timeout flag. More... | |
| #define | I2C_CLEAR_TIMEOUT_FLAG(i2c) |
| This macro clears timeout flag. More... | |
| #define | I2C_GET_WAKEUP_FLAG(i2c) |
| This macro returns wakeup flag. More... | |
| #define | I2C_GET_WAKEUP_ACK_DONE_FLAG(i2c) |
| This macro returns acknowledge status after waking up. More... | |
| #define | I2C_CLEAR_WAKEUP_FLAG(i2c) |
| This macro clears wakeup flag. More... | |
| #define | I2C_CLEAR_WAKEUP_ACK_DONE_FLAG(i2c) |
| This macro clears acknowledge status after waking up. And also release SCK pin after clearing this flag. More... | |
| #define | I2C_DISABLE_FIFO(i2c) |
| This macro disables the FIFO function. More... | |
| #define | I2C_ENABLE_FIFO(i2c) |
| This macro enables the FIFO function. More... | |
| #define | I2C_DISABLE_CLOCK_STRETCH(i2c) |
| This macro disables clock stretch function. More... | |
| #define | I2C_ENABLE_CLOCK_STRETCH(i2c) |
| This macro enables clock stretch function. More... | |
| #define | I2C_DISABLE_OVERRUN_INT(i2c) |
| This macro disables over-run interrupt. More... | |
| #define | I2C_ENABLE_OVERRUN_INT(i2c) |
| This macro enables over-run interrupt. More... | |
| #define | I2C_ENABLE_UNDERRUN_INT(i2c) |
| This macro enables under-run interrupt. More... | |
| #define | I2C_DISABLE_UNDERRUN_INT(i2c) |
| This macro disables under-run interrupt. More... | |
| #define | I2C_GET_BUS_FREE_FLAG(i2c) |
| This macro returns I2C bus status flag. More... | |
| #define | I2C_GET_WAKEUP_RW_FLAG(i2c) |
| This macro returns wakeup read/write flag. After system wake up, this bit indicates that the master wants to read or write in R/W bit of I2C data. More... | |
| #define | I2C_DISABLE_DATAMODE(i2c) |
| This macro disables the data mode. More... | |
| #define | I2C_ENABLE_DATAMODE(i2c) |
| This macro enables the data mode. More... | |
| #define | I2C_SET_DATAMODE_WRITE(i2c) |
| This macro sets write direction of data mode for master. More... | |
| #define | I2C_SET_DATAMODE_READ(i2c) |
| This macro sets read direction of data mode for slave. More... | |
Functions | |
| uint32_t | I2C_Open (I2C_T *i2c, uint32_t u32BusClock) |
| This function make I2C module be ready and set the wanted bus clock. More... | |
| void | I2C_Close (I2C_T *i2c) |
| This function closes the I2C module. More... | |
| void | I2C_ClearTimeoutFlag (I2C_T *i2c) |
| This function clears the timeout flag. More... | |
| void | I2C_Trigger (I2C_T *i2c, uint8_t u8Start, uint8_t u8Stop, uint8_t u8Si, uint8_t u8Ack) |
| This function sets the control bit of the I2C module. More... | |
| void | I2C_DisableInt (I2C_T *i2c) |
| This function disables the interrupt of I2C module. More... | |
| void | I2C_EnableInt (I2C_T *i2c) |
| This function enables the interrupt (EI bit) of I2C module. More... | |
| uint32_t | I2C_GetBusClockFreq (I2C_T *i2c) |
| This function returns the real bus clock of I2C module. More... | |
| uint32_t | I2C_SetBusClockFreq (I2C_T *i2c, uint32_t u32BusClock) |
| This function sets bus frequency of I2C module. More... | |
| uint32_t | I2C_GetIntFlag (I2C_T *i2c) |
| This function gets the interrupt flag of I2C module. More... | |
| void | I2C_ClearIntFlag (I2C_T *i2c) |
| This function clears the interrupt flag of I2C module. More... | |
| uint32_t | I2C_GetStatus (I2C_T *i2c) |
| This function returns the status of I2C module. More... | |
| uint32_t | I2C_GetData (I2C_T *i2c) |
| This function returns the data stored in data register of I2C module. More... | |
| void | I2C_SetData (I2C_T *i2c, uint8_t u8Data) |
| This function writes the data to data register of I2C module. More... | |
| void | I2C_SetSlaveAddr (I2C_T *i2c, uint8_t u8SlaveNo, uint8_t u8SlaveAddr, uint8_t u8GCMode) |
| Configure slave address and enable GC mode. More... | |
| void | I2C_SetSlaveAddrMask (I2C_T *i2c, uint8_t u8SlaveNo, uint8_t u8SlaveAddrMask) |
| Configure the mask of slave address. The corresponding address bit is "Don't Care". More... | |
| void | I2C_EnableTimeout (I2C_T *i2c, uint8_t u8LongTimeout) |
| This function enables timeout function and configures DIV4 function to support long timeout. More... | |
| void | I2C_DisableTimeout (I2C_T *i2c) |
| This function disables timeout function. More... | |
| void | I2C_EnableWakeup (I2C_T *i2c) |
| This function enables the wakeup function of I2C module. More... | |
| void | I2C_DisableWakeup (I2C_T *i2c) |
| This function disables the wakeup function of I2C module. More... | |
| #define I2C_CLEAR_TIMEOUT_FLAG | ( | i2c | ) |
| #define I2C_CLEAR_WAKEUP_ACK_DONE_FLAG | ( | i2c | ) |
| #define I2C_CLEAR_WAKEUP_FLAG | ( | i2c | ) |
| #define I2C_DISABLE_CLOCK_STRETCH | ( | i2c | ) |
| #define I2C_DISABLE_DATAMODE | ( | i2c | ) |
| #define I2C_DISABLE_FIFO | ( | i2c | ) |
| #define I2C_DISABLE_OVERRUN_INT | ( | i2c | ) |
| #define I2C_DISABLE_UNDERRUN_INT | ( | i2c | ) |
| #define I2C_ENABLE_CLOCK_STRETCH | ( | i2c | ) |
| #define I2C_ENABLE_DATAMODE | ( | i2c | ) |
| #define I2C_ENABLE_FIFO | ( | i2c | ) |
| #define I2C_ENABLE_OVERRUN_INT | ( | i2c | ) |
| #define I2C_ENABLE_UNDERRUN_INT | ( | i2c | ) |
| #define I2C_GET_BUS_FREE_FLAG | ( | i2c | ) |
| #define I2C_GET_DATA | ( | i2c | ) |
| #define I2C_GET_STATUS | ( | i2c | ) |
| #define I2C_GET_TIMEOUT_FLAG | ( | i2c | ) |
| #define I2C_GET_WAKEUP_ACK_DONE_FLAG | ( | i2c | ) |
| #define I2C_GET_WAKEUP_FLAG | ( | i2c | ) |
| #define I2C_GET_WAKEUP_RW_FLAG | ( | i2c | ) |
| #define I2C_SET_CONTROL_REG | ( | i2c, | |
| u8Ctrl | |||
| ) |
| #define I2C_SET_DATA | ( | i2c, | |
| u8Data | |||
| ) |
| #define I2C_SET_DATAMODE_READ | ( | i2c | ) |
| #define I2C_SET_DATAMODE_WRITE | ( | i2c | ) |
| #define I2C_START | ( | i2c | ) |
| #define I2C_STOP | ( | i2c | ) |
| #define I2C_WAIT_READY | ( | i2c | ) |
| void I2C_ClearIntFlag | ( | I2C_T * | i2c | ) |
| void I2C_ClearTimeoutFlag | ( | I2C_T * | i2c | ) |
| void I2C_Close | ( | I2C_T * | i2c | ) |
| void I2C_DisableInt | ( | I2C_T * | i2c | ) |
| void I2C_DisableTimeout | ( | I2C_T * | i2c | ) |
| void I2C_DisableWakeup | ( | I2C_T * | i2c | ) |
| void I2C_EnableInt | ( | I2C_T * | i2c | ) |
| void I2C_EnableTimeout | ( | I2C_T * | i2c, |
| uint8_t | u8LongTimeout | ||
| ) |
| void I2C_EnableWakeup | ( | I2C_T * | i2c | ) |
| uint32_t I2C_GetBusClockFreq | ( | I2C_T * | i2c | ) |
| uint32_t I2C_GetData | ( | I2C_T * | i2c | ) |
| uint32_t I2C_GetIntFlag | ( | I2C_T * | i2c | ) |
| uint32_t I2C_GetStatus | ( | I2C_T * | i2c | ) |
| uint32_t I2C_Open | ( | I2C_T * | i2c, |
| uint32_t | u32BusClock | ||
| ) |
| uint32_t I2C_SetBusClockFreq | ( | I2C_T * | i2c, |
| uint32_t | u32BusClock | ||
| ) |
This function sets bus frequency of I2C module.
| [in] | i2c | is the base address of I2C module. |
| [in] | u32BusClock | is the target bus speed of I2C module. |
Definition at line 146 of file i2c.c.
| void I2C_SetData | ( | I2C_T * | i2c, |
| uint8_t | u8Data | ||
| ) |
| void I2C_SetSlaveAddr | ( | I2C_T * | i2c, |
| uint8_t | u8SlaveNo, | ||
| uint8_t | u8SlaveAddr, | ||
| uint8_t | u8GCMode | ||
| ) |
Configure slave address and enable GC mode.
| [in] | i2c | is the base address of I2C module. |
| [in] | u8SlaveNo | is the set number of salve address. |
| [in] | u8SlaveAddr | is the slave address. |
| [in] | u8GCMode | GC mode enable or not. Valid values are: |
| void I2C_SetSlaveAddrMask | ( | I2C_T * | i2c, |
| uint8_t | u8SlaveNo, | ||
| uint8_t | u8SlaveAddrMask | ||
| ) |
| void I2C_Trigger | ( | I2C_T * | i2c, |
| uint8_t | u8Start, | ||
| uint8_t | u8Stop, | ||
| uint8_t | u8Si, | ||
| uint8_t | u8Ack | ||
| ) |
This function sets the control bit of the I2C module.
| [in] | i2c | is the base address of I2C module. |
| [in] | u8Start | sets START bit to I2C module. |
| [in] | u8Stop | sets STOP bit to I2C module. |
| [in] | u8Si | sets SI bit to I2C module. |
| [in] | u8Ack | sets ACK bit to I2C module. |


West Branch Area School District The West Branch Area School District currently has 700+ laptops and desktops running CorvOS.
Peel Schools The Peel District School Board has over 2000+ CorvOS laptops and desktops donated through the RCT Program.
Want your school or orginzation on the list?


{{records.followers}}Followers {{records.following}}Following {{records.public_repos}}Public Repos
Github Profile
{{repo.name}}
{{repo.description}}


- Whether in your e-mail or Internet browser, never click on links or open attachments of dubious origin.
- Think before clicking
- Verify that the sites you access begin with HTTPS//
- 90% of cyberattacks start with phishing, a computer crime consisting of the mass distribution of e-mail messages with links to fake banking or other websites, with requests to update the personal data of customers.
Use strong passwords
- Ideally, your password should consist of various types of characters, such as letters (lowercase and uppercase), numbers and punctuation marks.
- Avoid the use of names, dates and document numbers.
- Do not disclose your password, do not write it down and do not use the same password for different logins as if someone finds it for one account, they will be able to access all the others.
- 90% of cyberattacks start with phishing, a computer crime consisting of the mass distribution of e-mail m update the personal data of customers.
Lock the device when you are away
- Never abandon your device without locking it, whether it be your computer, phone or tablet.
- Set an automatic device lock time. In this way, even if you forget to do it, the device will lock by itself after said time period (for example, 30 seconds)
- Leaving the device unlocked may allow important information to be stolen by third parties
Do not connect unkown devices
- Be careful what devices you connect to your computer. Viruses can be spread using infected USB sticks, external drives or cell phones.
- Similarly, do not connect your USB stick or external drive to devices that you do not know or which are used by many people.
Carry out regular backups
- Save the most important information to an external device. In this way, if anything happens to your computer or the device that has your data, you'll have a backup of what you need.


We buy networks!
- iterate next-generation e-markets
- benchmark vertical bandwidth
- implement intuitive web-readiness
- embrace enterprise methodologies
- repurpose frictionless users
- harness collaborative e-services
- architect robust mindshare
- recontextualize global metrics
- brand granular schemas
- drive B2C methodologies
- matrix visionary models
- utilize holistic systems
- morph enterprise e-tailers
- cultivate B2B relationships
- recontextualize magnetic initiatives


SLEEPWALKERS A film review by Rick J. Rauser Copyright 1992 Rick J. Rauser
I know, I know. Stephen King on the screen = two hour groans. But there *were* exceptions: THE SHINING. MAXIMUM OVERDRIVE (no flames! I know everyone hated it but me!). MISERY. PET SEMATARY. And considering the fact that SLEEPWALKERS was written "expressly for the screen" I had hopes. High hopes. They came a-tumblin' down.
What makes this film such an abysmal failure are two main weaknesses: (1) It is a *stupid* film. (2) Nothing in the film is ever explained to the audience (gee, this is sounding like BASIC INSTINCT all over again).
Before I begin to sound like an unintelligent reviewer, let me explain.  It's that simple. SLEEPWALKERS is a silly story. Without giving away anything that happens (though I really should to prevent anyone from seeing this piece of garbage) let me give you a few tidbits: savage cat-people called "sleepwalkers" (we don't know why) come into town.  There are two sleepwalkers in the film, a mother and son. They have an incestuous relationship. (We don't know why and don't *want* to know. This is typical King-esque grotesqueness ... usually effective. But this time it doesn't wash).
The son is infatuated with a cute high school girl (staring at this girl is the only thing I salvaged out of the two hours...that and seeing Mark Hamill in a short scene in the beginning of the movie) and tries to kill her. Does he succeed? Gee, take your best guess.
SLEEPWALKERS is agonizingly cliched. We have scary Sixties "horror" music every time one of the sleepwalkers appears on screen (I keep cursing CAPE FEAR for reviving that style of score) and the film bombards us with ridiculous dialogue such as:
Mother Sleepwalker: Do you love me? Son Sleepwalker: Of course. Mother Sleepwalker: Are you going to get her? (the virgin girl) Son Sleepwalker: Tomorrow. Mother Sleepwalker: (licking her lips). Good. I'm SOOO hungry.
The problem is that Stephen King expects us to take this tripe *seriously*. As a spoof on horror films this would work fine. But the audience laughs nervously and/or with embarrassment as they realize that this is intended as a bona fide horror movie. Scenes such as the one above are actually suppose to *scare& us. Trust me, they don't.
This film slips into absurdity with the sleepwalkers' fear of cats. Cats are drawn to the sleepwalkers until by the end of the film there are about one hundred cats lounging around their home and yard (again we have no explanation for this and by this time we don't want one). This is supposed to be eerie, to be scary. The cats are supposed to be a premonition of doom, a symbol of bizarre cosmic justice (remember the cats in PET SEMATARY and CAT'S EYE?). The problem is that real cats are much less scary than the hissing demonic felines portrayed in the movie poster. MUCH less. Each time the audience saw this swarm of cats at the sleepwalkers' home, we laughed. It just looked funny and cute. When the cats attacked the sleepwalkers, jumping at them screaming MEEEEOWWW! (this happens throughout the film) we laughed even harder. It looked like something from an Archie comic or a bad sitcom. There was nothing scary about it.
How's this for intelligent dialogue? Son sleepwalker in his trans am offers a ride home to beautiful high school girl. He jumps in the car without opening the door.
Girl: You know, some people use doors (smiling). Boy: Do they? I've heard that. Girl: Have you? (smiling).
Mere words cannot describe how bad the acting in this film is and how unbelievable the characters are. SLEEPWALKERS is a study in bad acting, bad characterization, and *bad* dialogue, things that King is a master at in his novels. Why does it translate so badly to the screen? I wish I knew.
I almost forgot to mention: the sleepwalkers can alter their appearance as well as their surroundings (they can turn invisible and change a car from a Mustang to a Trans Am). Again, *this is never explained*.
Aside from the horrible acting, I think that this is SLEEPWALKERS' main flaw. It makes no sense. Point 2: We are given so many little clues and hints and suggestions about these strange creatures with their strange powers and incestuous relationship (yes, we actually see mother and son in bed) yet we are never told about their origins, their background, their history ... it's like the last half of the film was chopped out.
Stephen King has a very short cameo which is quite humorous (this time the humor is intentional) and as I said earlier, Mark Hamill is in the first five minutes of this film as a Sheriff in the town the sleepwalkers were last in. It's neat seeing Luke Skywalker. It's also nice looking at the high school girl almost killed by the sleepwalkers. Horrible acting aside, she has a beautiful smile.
In the above paragraph I outlined the good things about this film. Everything else is bad. Score another turkey for Stephen King. On a scale of 1 to 10, I would have no choice but to give SLEEPWALKERS a 0. It is boring, confusing, laughable, *un*-scary, and decidedly *un*-interesting. I can say with all honesty that this film has no redeeming qualities whatsoever. Not only was I kicking and screaming when the credits rolled for the loss of my eight dollars, but I also felt cheated of two hours of my life, two hours I will never get back.
In short, SLEEPWALKERS is a horrible disappointment. It's one of those films that is so bad the viewer is amazed. Did the producers actually think this film would be scary? Did they think people would like it?
I can say with all honesty that having suffered through this film, I cannot imagine the answer to that question being yes.
-- Richard J. Rauser<EMAIL_ADDRESS>.
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


Many delights await you here at Crackers Central:
The Gospel According To Microsoft Learn Microsoft's 10 Immutable Laws of Security, and how false they are
Download the EvilEditor Caplet! Most powerful editor ever! Written By an Anonymous Fiend who wants to put the SubSeven Trojan on your machine!
The E Language in a Walnut. Classic text about the only known technology for defeating Evil!


|
(no image)
{{ prize.name }}
|
{{ prize.description }}
Expires:
{{ prize.expires }}
Points: {{ prize.purchasePoints }}
Huh. That's not supposed to happen. |


--- layout: page title: About header-img: "img/about-bg.png" ---
Opera singer turned interior designer turned web developer!


Contains the values of the HTTP status codes.
The HttpStatusCode enumeration contains the values of the HTTP status codes defined in RFC 2616
for HTTP 1.1.
| Enumerator |
|---|
| Continue |
Equivalent to status code 100.
Indicates that the client should continue with its request.
|
| SwitchingProtocols |
Equivalent to status code 101.
Indicates that the server is switching the HTTP version or protocol on the connection.
|
| OK |
Equivalent to status code 200.
Indicates that the client's request has succeeded.
|
| Created |
Equivalent to status code 201.
Indicates that the client's request has been fulfilled and resulted in a new resource being created.
|
| Accepted |
Equivalent to status code 202.
Indicates that the client's request has been accepted for processing, but the processing hasn't been completed.
|
| NonAuthoritativeInformation |
Equivalent to status code 203.
Indicates that the returned metainformation is from a local or a third-party copy instead of the origin server.
|
| NoContent |
Equivalent to status code 204.
Indicates that the server has fulfilled the client's request but doesn't need to return an entity-body.
|
| ResetContent |
Equivalent to status code 205.
Indicates that the server has fulfilled the client's request, and the user agent should reset the document view which caused the request to be sent.
|
| PartialContent |
Equivalent to status code 206.
Indicates that the server has fulfilled the partial GET request for the resource.
|
| MultipleChoices |
Equivalent to status code 300. Indicates that the requested resource corresponds to any of multiple representations.
MultipleChoices is a synonym for Ambiguous.
|
| Ambiguous |
Equivalent to status code 300. Indicates that the requested resource corresponds to any of multiple representations.
Ambiguous is a synonym for MultipleChoices.
|
| MovedPermanently |
Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI and any future references to this resource should use one of the returned URIs.
MovedPermanently is a synonym for Moved.
|
| Moved |
Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI and any future references to this resource should use one of the returned URIs.
Moved is a synonym for MovedPermanently.
|
| Found |
Equivalent to status code 302. Indicates that the requested resource is located temporarily under a different URI.
Found is a synonym for Redirect.
|
| Redirect |
Equivalent to status code 302. Indicates that the requested resource is located temporarily under a different URI.
Redirect is a synonym for Found.
|
| SeeOther |
Equivalent to status code 303. Indicates that the response to the request can be found under a different URI and should be retrieved using a GET method on that resource.
SeeOther is a synonym for RedirectMethod.
|
| RedirectMethod |
Equivalent to status code 303. Indicates that the response to the request can be found under a different URI and should be retrieved using a GET method on that resource.
RedirectMethod is a synonym for SeeOther.
|
| NotModified |
Equivalent to status code 304.
Indicates that the client has performed a conditional GET request and access is allowed, but the document hasn't been modified.
|
| UseProxy |
Equivalent to status code 305.
Indicates that the requested resource must be accessed through the proxy given by the Location field.
|
| Unused |
Equivalent to status code 306.
This status code was used in a previous version of the specification, is no longer used, and is reserved for future use.
|
| TemporaryRedirect |
Equivalent to status code 307. Indicates that the requested resource is located temporarily under a different URI.
TemporaryRedirect is a synonym for RedirectKeepVerb.
|
| RedirectKeepVerb |
Equivalent to status code 307. Indicates that the requested resource is located temporarily under a different URI.
RedirectKeepVerb is a synonym for TemporaryRedirect.
|
| BadRequest |
Equivalent to status code 400.
Indicates that the client's request couldn't be understood by the server due to malformed syntax.
|
| Unauthorized |
Equivalent to status code 401.
Indicates that the client's request requires user authentication.
|
| PaymentRequired |
Equivalent to status code 402.
This status code is reserved for future use.
|
| Forbidden |
Equivalent to status code 403.
Indicates that the server understood the client's request but is refusing to fulfill it.
|
| NotFound |
Equivalent to status code 404.
Indicates that the server hasn't found anything matching the request URI.
|
| MethodNotAllowed |
Equivalent to status code 405.
Indicates that the method specified in the request line isn't allowed for the resource identified by the request URI.
|
| NotAcceptable |
Equivalent to status code 406.
Indicates that the server doesn't have the appropriate resource to respond to the Accept headers in the client's request.
|
| ProxyAuthenticationRequired |
Equivalent to status code 407.
Indicates that the client must first authenticate itself with the proxy.
|
| RequestTimeout |
Equivalent to status code 408.
Indicates that the client didn't produce a request within the time that the server was prepared to wait.
|
| Conflict |
Equivalent to status code 409.
Indicates that the client's request couldn't be completed due to a conflict on the server.
|
| Gone |
Equivalent to status code 410.
Indicates that the requested resource is no longer available at the server and no forwarding address is known.
|
| LengthRequired |
Equivalent to status code 411.
Indicates that the server refuses to accept the client's request without a defined Content-Length.
|
| PreconditionFailed |
Equivalent to status code 412.
Indicates that the precondition given in one or more of the request headers evaluated to false when it was tested on the server.
|
| RequestEntityTooLarge |
Equivalent to status code 413.
Indicates that the entity of the client's request is larger than the server is willing or able to process.
|
| RequestUriTooLong |
Equivalent to status code 414.
Indicates that the request URI is longer than the server is willing to interpret.
|
| UnsupportedMediaType |
Equivalent to status code 415.
Indicates that the entity of the client's request is in a format not supported by the requested resource for the requested method.
|
| RequestedRangeNotSatisfiable |
Equivalent to status code 416.
Indicates that none of the range specifier values in a Range request header overlap the current extent of the selected resource.
|
| ExpectationFailed |
Equivalent to status code 417.
Indicates that the expectation given in an Expect request header couldn't be met by the server.
|
| InternalServerError |
Equivalent to status code 500.
Indicates that the server encountered an unexpected condition which prevented it from fulfilling the client's request.
|
| NotImplemented |
Equivalent to status code 501.
Indicates that the server doesn't support the functionality required to fulfill the client's request.
|
| BadGateway |
Equivalent to status code 502.
Indicates that a gateway or proxy server received an invalid response from the upstream server.
|
| ServiceUnavailable |
Equivalent to status code 503.
Indicates that the server is currently unable to handle the client's request due to a temporary overloading or maintenance of the server.
|
| GatewayTimeout |
Equivalent to status code 504.
Indicates that a gateway or proxy server didn't receive a timely response from the upstream server or some other auxiliary server.
|
| HttpVersionNotSupported |
Equivalent to status code 505.
Indicates that the server doesn't support the HTTP version used in the client's request.
|


A simple idea.
Support local hospital clinicians who are working in war-like conditions due to COVID-19, and support local restaurants who are really hurting at the moment.
We're bringing the same ideas from the Frontline Foods program to Perth, Australia as #PerthHospitalMeals.
Goals of the program
- Feed our clinicians who are stressed, tired, and generally don’t have time in this environment to make and bring their own food.
- Make the process simple and efficient for hospitals.
- Employ restaurants and their teams during this really difficult time.
How can I help?
If you're a restaurant and can make 50 or more self-serve meals for less than $20/meal - please get in touch!
If you'd like to donate, you can do so below. Every dollar donated goes to buying meals for hospital clinicians.
-
Our first delivery from Juanita's!
We've partnered with Juanita's in Subiaco, and delivered another 50 meals to RPH ICU. They served up a middle eastern style curry of chickpeas and mushrooms with a herb yoghurt.
-
Anthony Princi, owner of Bivouac, interviewed on ABC Radio
Listen now 📻 -
Delivered another 50 meals from Bivouac to Royal Perth Hospital ICU
Thanks to generous donations from the Perth community, we delivered another 50 meals from Bivouac to RPH ICU. This week, Bivouac's chefs provided Mulligatawny and Minestrone soup — healthy, hearty and warming comfort food for the hospital staff.
If you'd like to, you can follow us on Instagram for more photos and updates. -
Official announcement of the Perth Hospital Meals program
-
Pilot delivery of 50 meals to Royal Perth Hospital ICU
Together with our first restaurant partner, Bivouac, we funded and delivered 50 meals to the Intensive Care Unit at Royal Perth Hospital. Meals were specially prepared and properly chilled, so hospital staff could heat them up throughout their shifts. Delivered under strict health & safety instructions, the meals consisted of 25 beef tagine with couscous and 25 chermoula buttered zucchini with red rice (vegetarian).
-
Website launch, first donations in!
Inspired by US-based Frontline Foods, Perth Hospital Meals is a grassroots program that delivers ready-made meals from local restaurants to frontline hospital workers battling the COVID-19 crisis.


--- layout: newsstory title: STILL WAITING match: ---
The long and tedious build up to the season continues. We've beaten our squatters Causeway United 4-0, lost to Kiddy 1-0, tried out a few triallists and generally made a reasonably good impression . Not long to go now.
I've finally managed to type in the full fixture list - if you haven't already seen it, the obvious highlight is the last game visit to the seaside at Margate .
I'm sort of on holiday so apologies for the even patchier service than usual, although normal service should be resumed by the time we play Dorchester on the 14th.


GT RoboCup SSL
Soccer software, robot firmware
Inc Directory Reference
Directory dependency graph for Inc:
Directories
directory
modules
directory
motion-control
directory
radio
Files
file
iodefs.h
[code]
file
MicroPackets.hpp
[code]
robot
control
Inc
Generated on Wed Feb 5 2020 12:43:15 for GT RoboCup SSL by
1.8.13


Potentially infinite trees
Consider the following definition :
Set Implicit Arguments.
(* potentialy infinite trees with internal nodes labeled with type A *)
CoInductive LTree (A : Set) : Set :=
LLeaf : LTree A
| LBin : A -> (LTree A) -> (LTree A) -> LTree A.
Define the following predicates and functions :
- (is_LLeaf t) is a proposition meaning
"t is a leaf".
- (L_root t) returns the label of the root of t
(if exists)
- (L_left_son t) returns the left son of t
(if exists)
- (L_right_son t) returns the right son of t (if exists)
- (L_subtree p t) returns the subtree of t at path
p (if exists)
- (LTree_label p t) returns the label at path
p (if exists)
Solution
Follow this link


--- layout: post title: Dynamically adding methods to a Rails model date: '2011-01-24T13:24:36-05:00' tags: - JustMigrated - cancan - rails - ruby tumblr_url: http://sortedaffairs.tumblr.com/post/49113600546/40821094 ---
I’ve been using CanCan for implementing role-based access in my rails app and it’s been great so far. I had created a separate convenience method in the User model for testing each possible user role, e.g.
def admin? self.role == 'admin' end
This was great and allowed me to do a simple user.admin?
to test for role membership. After changing my roles around a few times I wanted a way to avoid the tedium of creating/editing those methods. I began experimenting with Ruby’s powerful class manipulation abilities and came up with this:
It dynamically adds all those methods based on a simple list of possible roles. I’ve only been using Ruby for a short while and the ease with which I was able to accomplish such a feat was pretty impressive. Score one for Ruby.


Poor Economics data
Sorry, this browser is unsupported
Living on
$1 / day
$2 / day
$2-4 / day
$6-10 / day


HTML web storage; better than cookies.
Unlike cookies, the storage limit is far larger (at least 5MB) and information is never transferred to the server.
HTML web storage provides two objects for storing data on the client:
- window.localStorage - stores data with no expiration date
- window.sessionStorage - stores data for one session (data is lost when the browser tab is closed).
Note: Name/value pairs are always stored as strings.
Test DIV


B_epoch_to_J¶
-
Astronomy.
B_epoch_to_J
(ra50, dec50, format=None)¶ Convert B1950 coordinates to J2000
This is a convenience to avoid having to format angles before calling the coordinate conversion routine. The need often comes up when an operator asks for coordinates in J2000 or decimal format.
Examples
Example
Basic:
In [1]: import Astronomy as A In [2]: A.B_epoch_to_J('''00h02m29.056400s''', '''54d11'43.187000"''', 'decimal') Out[2]: (0.084544, 54.4736) In [3]: A.B_epoch_to_J('''00h02m29.056400s''', '''54d11'43.187000"''', 'formatted') Out[3]: [u'00h05m04.359s', u'+54d28m25.056s'] In [4]: A.B_epoch_to_J('''00h02m29.056400s''', '''54d11'43.187000"''') Out[4]: ([0, 5, 4.359], [54, 28, 25.056])
Compare to the VLA Calibrator List:
J2000 A 00h05m04.363531s 54d28'24.926230" B1950 A 00h02m29.056400s 54d11'43.187000"
Example
Crossing the midnight boundary:
In [8]: A.B_epoch_to_J('''23h58m34.865400s''', '''18d57'51.753000"''') Out[8]: ([0, 1, 8.6169], [19, 14, 33.9321])
Compare to the VLA Calibrator List:
J2000 A 00h01m08.621563s 19d14'33.801860" B1950 A 23h58m34.865400s 18d57'51.753000"
Example
Negative declination:
In [10]: A.B_epoch_to_J('''00h00m48.4200s''', '''-17d43'54.000"''', 'formatted') Out[10]: [u'00h03m21.9921s', u'-17d27m11.6511s']
- :param ra50string
For example: ‘00h02m29.056400s’
- :param dec50string
For example : ‘’’54d11’43.187000”’’’
- :param formatstring
‘decimal’, ‘formatted’, None
- Returns
tuple of strings See notes for details.


Testing for XST
If TRACE verb allowed then httpOnly cookies can be extracted from TRACE response body
nc www.victim.com 80
TRACE / HTTP/1.1
<blank line>


AppBakerZ Pvt. Ltd. is an organization which believes in the dignity of work. The beliefs are well translated into practice. This is why we receive fruitful results at the end. Here is a brief picture of what we do. This is why we receive fruitful results at the end.
(15-MONTHS)
(6-MONTHS)
(6-MONTHS)
(6-MONTHS)
(6-MONTHS)
BINARY OR HEXADECIMAL INSTRUCTIONS
3-MONTHS PROGRAMMONGODB,EXPRESS,ANGULAR AND NODE
3-MONTHS PROGRAMEMBED HTML5 APPS INSIDE A NATIVE APP
3-MONTHS PROGRAMEMBED HTML5 APPS INSIDE A NATIVE APP
3-MONTHS PROGRAMEMBED HTML5 APPS INSIDE A NATIVE APP
3-MONTHS PROGRAMEMBED HTML5 APPS INSIDE A NATIVE APP
3-MONTHS PROGRAMPROVIDING CERTIFIED COURSES FOR BETTER FUTURE
9 Months


iPad Experiment
Ok, so I’ve had the iPad for a while now and it’s been a great help to me for work. Just being able to mark up PDF papers (I read a lot of academic papers and the ability to highlight corrections etc in my thesis drafts is fantastic), keep a copy of my notes beside my Macbook screen and be a small, easy to use, portable device I can easily carry around, easier than my MBP is terrific.
This past weekend I visited Leeds and managed to use the iPad as my main method of working/browsing the web/connecting to people and it performed pretty damn well.
However, tomorrow I’m going to try and last the day using only the iPad, based on an article I mentioned earlier last year (I swapped my MacBook for an iPad+Linode ). So tomorrow, I’ll be attmepting to work solely from my iPad. Well, maybe note quite solely, I’ll be using the equipment below.
Equipment
-
iPad 2 (16GB wifi model)
-
Logitech Tablet Keyboard
-
Mac Mini (running at home – connectable via VNC)
-
Headphones and iPad Stylus
Based on that equipment, I should be covered for everything I need. I’ll be using iPad native apps where possible – ideally I’d like to minimise the use of the VNC connection as I know that isn’t an option if I don’t have a network connection (either where I am or if my home network craps out!)
Either way, I’ll be posting tomorrow (or Saturday) on how it goes!


The Internet of Things (IoT) is a system of interrelated computing devices, mechanical and digital machines, objects, animals or people that are provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.
A thing, in the Internet of Things, can be a person with a heart monitor implant, a farm animal with a biochip transponder, an automobile that has built-in sensors to alert the driver when tire pressure is low -- or any other natural or man-made object that can be assigned an IP address and provided with the ability to transfer data over a network.
IoT has evolved from the convergence of wireless technologies, micro-electromechanical systems (MEMS), microservices and the Internet. The convergence has helped tear down the silo walls between operational technology (OT) and information technology (IT), allowing unstructured machine-generated data to be analyzed for insights that will drive improvements.
Kevin Ashton, cofounder and executive director of the Auto-ID Center at MIT, first mentioned the Internet of Things in a presentation he made to Procter & Gamble in 1999. Here’s how Ashton explains the potential of the Internet of Things:
“Today computers -- and, therefore, the Internet -- are almost wholly dependent on human beings for information. Nearly all of the roughly 50 petabytes (a petabyte is 1,024 terabytes) of data available on the Internet were first captured and created by human beings by typing, pressing a record button, taking a digital picture or scanning a bar code.
The problem is, people have limited time, attention and accuracy -- all of which means they are not very good at capturing data about things in the real world. If we had computers that knew everything there was to know about things -- using data they gathered without any help from us -- we would be able to track and count everything and greatly reduce waste, loss and cost. We would know when things needed replacing, repairing or recalling and whether they were fresh or past their best.”
Here's Microsoft's vision for Internet of Things.
IPv6’s huge increase in address space is an important factor in the development of the Internet of Things. According to Steve Leibson, who identifies himself as “occasional docent at the Computer History Museum,” the address space expansion means that we could “assign an IPV6 address to every atom on the surface of the earth, and still have enough addresses left to do another 100+ earths.” In other words, humans could easily assign an IP address to every "thing" on the planet. An increase in the number of smart nodes, as well as the amount of upstream data the nodes generate, is expected to raise new concerns about data privacy, data sovereignty and security.
Practical applications of IoT technology can be found in many industries today, including precision agriculture, building management, healthcare, energy and transportation.
You can get involved by making projects using Arduino.
You can get involved with projects using Raspberry Pi.
Check out what the future has for us in Internet of Things.


What is Project Genesis?
Project Genesis is a css framework meant to be the the starting points for your projects.

Made with SASS
Project Genesis is modular through the use of SASS. Can add your own own modules or remove modules you don't need.
Responsive
Responsive through the use of a grid system.
More about Project Genesis
Project Genesis is currently being worked and consitently being updated to make the current features functional and more are being added. I'm working on are functional. That being said my plans for this framework is to make it easy to understand while being functional, Although I recommend using the sass version of this framework, I'll also provide a css download link.
GithubDownload