| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Chapter 33. ECPG - Embedded SQL in C | Next |
ecpg can be run in a so-called Informix compatibility mode. If this mode is active, it tries to behave as if it were the Informix precompiler for Informix E/SQL. Generally spoken this will allow you to use the dollar sign instead of the EXEC SQL primitive to introduce embedded SQL commands.:
$int j = 3; $CONNECT TO :dbname; $CREATE TABLE test(i INT PRIMARY KEY, j INT); $INSERT INTO test(i, j) VALUES (7, :j); $COMMIT;
There are two compatibility modes: INFORMIX, INFORMIX_SE
When linking programs that use this compatibility mode, remember to link against libcompat that is shipped with ECPG.
Besides the previously explained syntactic sugar, the Informix compatibility mode ports some functions for input, output and transformation of data as well as embedded SQL statements known from E/SQL to ECPG.
Informix compatibility mode is closely connected to the pgtypeslib library of ECPG. pgtypeslib maps SQL data types to data types within the C host program and most of the additional functions of the Informix compatibility mode allow you to operate on those C host program types. Note however that the extent of the compatibility is limited. It does not try to copy Informix behavior; it allows you to do more or less the same operations and gives you functions that have the same name and the same basic behavior but it is no drop-in replacement if you are using Informix at the moment. Moreover, some of the data types are different. For example, PostgreSQL's datetime and interval types do not know about ranges like for example YEAR TO MINUTE so you won't find support in ECPG for that either.
The Informix-special "string" pseudo-type for storing right-trimmed character string data is now supported in Informix-mode without using typedef. In fact, in Informix-mode, ECPG refuses to process source files that contain typedef sometype string;
EXEC SQL BEGIN DECLARE SECTION; string userid; /* this variable will contain trimmed data */ EXEC SQL END DECLARE SECTION; EXEC SQL FETCH MYCUR INTO :userid;
This statement closes the current connection. In fact, this is a synonym for ECPG's DISCONNECT CURRENT.:
$CLOSE DATABASE; /* close the current connection */ EXEC SQL CLOSE DATABASE;
Due to the differences how ECPG works compared to Informix's ESQL/C (i.e. which steps are purely grammar transformations and which steps rely on the underlying run-time library) there is no FREE cursor_name statement in ECPG. This is because in ECPG, DECLARE CURSOR doesn't translate to a function call into the run-time library that uses to the cursor name. This means that there's no run-time bookkeeping of SQL cursors in the ECPG run-time library, only in the PostgreSQL server.
FREE statement_name is a synonym for DEALLOCATE PREPARE statement_name.
Informix-compatible mode supports a different structure than the one described in Section 33.9.2. See below:
struct sqlvar_compat { short sqltype; int sqllen; char *sqldata; short *sqlind; char *sqlname; char *sqlformat; short sqlitype; short sqlilen; char *sqlidata; int sqlxid; char *sqltypename; short sqltypelen; short sqlownerlen; short sqlsourcetype; char *sqlownername; int sqlsourceid; char *sqlilongdata; int sqlflags; void *sqlreserved; }; struct sqlda_compat { short sqld; struct sqlvar_compat *sqlvar; char desc_name[19]; short desc_occ; struct sqlda_compat *desc_next; void *reserved; }; typedef struct sqlvar_compat sqlvar_t; typedef struct sqlda_compat sqlda_t;
The global properties are:
The number of fields in the SQLDA descriptor.
Pointer to the per-field properties.
Unused, filled with zero-bytes.
Size of the allocated structure.
Pointer to the next SQLDA structure if the result set contains more than one record.
Unused pointer, contains NULL. Kept for Informix-compatibility.
The per-field properties are below, they are stored in the sqlvar array:
Type of the field. Constants are in sqltypes.h
Length of the field data.
Pointer to the field data. The pointer is of char * type, the data pointed by it is in a binary format. Example:
int intval; switch (sqldata->sqlvar[i].sqltype) { case SQLINTEGER: intval = *(int *)sqldata->sqlvar[i].sqldata; break; ... }
Pointer to the NULL indicator. If returned by DESCRIBE or FETCH then it's always a valid pointer. If used as input for EXECUTE ... USING sqlda; then NULL-pointer value means that the value for this field is non-NULL. Otherwise a valid pointer and sqlitype has to be properly set. Example:
if (*(int2 *)sqldata->sqlvar[i].sqlind != 0) printf("value is NULL\n");
Name of the field. 0-terminated string.
Reserved in Informix, value of PQfformat()
for the field.
Type of the NULL indicator data. It's always SQLSMINT when returning data from the server. When the SQLDA is used for a parametrized query, the data is treated according to the set type.
Length of the NULL indicator data.
Extended type of the field, result of PQftype()
.
Unused.
It equals to sqldata if sqllen is larger than 32KB.
Example:
EXEC SQL INCLUDE sqlda.h; sqlda_t *sqlda; /* This doesn't need to be under embedded DECLARE SECTION */ EXEC SQL BEGIN DECLARE SECTION; char *prep_stmt = "select * from table1"; int i; EXEC SQL END DECLARE SECTION; ... EXEC SQL PREPARE mystmt FROM :prep_stmt; EXEC SQL DESCRIBE mystmt INTO sqlda; printf("# of fields: %d\n", sqlda->sqld); for (i = 0; i < sqlda->sqld; i++) printf("field %d: \"%s\"\n", sqlda->sqlvar[i]->sqlname); EXEC SQL DECLARE mycursor CURSOR FOR mystmt; EXEC SQL OPEN mycursor; EXEC SQL WHENEVER NOT FOUND GOTO out; while (1) { EXEC SQL FETCH mycursor USING sqlda; } EXEC SQL CLOSE mycursor; free(sqlda); /* The main structure is all to be free(), * sqlda and sqlda->sqlvar is in one allocated area */
For more information, see the sqlda.h header and the src/interfaces/ecpg/test/compat_informix/sqlda.pgc regression test.
decadd
Add two decimal type values.
int decadd(decimal *arg1, decimal *arg2, decimal *sum);
The function receives a pointer to the first operand of type decimal (arg1), a pointer to the second operand of type decimal (arg2) and a pointer to a value of type decimal that will contain the sum (sum). On success, the function returns 0. ECPG_INFORMIX_NUM_OVERFLOW is returned in case of overflow and ECPG_INFORMIX_NUM_UNDERFLOW in case of underflow. -1 is returned for other failures and errno is set to the respective errno number of the pgtypeslib.
deccmp
Compare two variables of type decimal.
int deccmp(decimal *arg1, decimal *arg2);
The function receives a pointer to the first decimal value (arg1), a pointer to the second decimal value (arg2) and returns an integer value that indicates which is the bigger value.
1, if the value that arg1 points to is bigger than the value that var2 points to
-1, if the value that arg1 points to is smaller than the value that arg2 points to
0, if the value that arg1 points to and the value that arg2 points to are equal
deccopy
Copy a decimal value.
void deccopy(decimal *src, decimal *target);
The function receives a pointer to the decimal value that should be copied as the first argument (src) and a pointer to the target structure of type decimal (target) as the second argument.
deccvasc
Convert a value from its ASCII representation into a decimal type.
int deccvasc(char *cp, int len, decimal *np);
The function receives a pointer to string that contains the string representation of the number to be converted (cp) as well as its length len. np is a pointer to the decimal value that saves the result of the operation.
Valid formats are for example: -2, .794, +3.44, 592.49E07 or -32.84e-4.
The function returns 0 on success. If overflow or underflow occurred, ECPG_INFORMIX_NUM_OVERFLOW or ECPG_INFORMIX_NUM_UNDERFLOW is returned. If the ASCII representation could not be parsed, ECPG_INFORMIX_BAD_NUMERIC is returned or ECPG_INFORMIX_BAD_EXPONENT if this problem occurred while parsing the exponent.
deccvdbl
Convert a value of type double to a value of type decimal.
int deccvdbl(double dbl, decimal *np);
The function receives the variable of type double that should be converted as its first argument (dbl). As the second argument (np), the function receives a pointer to the decimal variable that should hold the result of the operation.
The function returns 0 on success and a negative value if the conversion failed.
deccvint
Convert a value of type int to a value of type decimal.
int deccvint(int in, decimal *np);
The function receives the variable of type int that should be converted as its first argument (in). As the second argument (np), the function receives a pointer to the decimal variable that should hold the result of the operation.
The function returns 0 on success and a negative value if the conversion failed.
deccvlong
Convert a value of type long to a value of type decimal.
int deccvlong(long lng, decimal *np);
The function receives the variable of type long that should be converted as its first argument (lng). As the second argument (np), the function receives a pointer to the decimal variable that should hold the result of the operation.
The function returns 0 on success and a negative value if the conversion failed.
decdiv
Divide two variables of type decimal.
int decdiv(decimal *n1, decimal *n2, decimal *result);
The function receives pointers to the variables that are the first (n1) and the second (n2) operands and calculates n1/n2. result is a pointer to the variable that should hold the result of the operation.
On success, 0 is returned and a negative value if the division fails. If overflow or underflow occurred, the function returns ECPG_INFORMIX_NUM_OVERFLOW or ECPG_INFORMIX_NUM_UNDERFLOW respectively. If an attempt to divide by zero is observed, the function returns ECPG_INFORMIX_DIVIDE_ZERO.
decmul
Multiply two decimal values.
int decmul(decimal *n1, decimal *n2, decimal *result);
The function receives pointers to the variables that are the first (n1) and the second (n2) operands and calculates n1*n2. result is a pointer to the variable that should hold the result of the operation.
On success, 0 is returned and a negative value if the multiplication fails. If overflow or underflow occurred, the function returns ECPG_INFORMIX_NUM_OVERFLOW or ECPG_INFORMIX_NUM_UNDERFLOW respectively.
decsub
Subtract one decimal value from another.
int decsub(decimal *n1, decimal *n2, decimal *result);
The function receives pointers to the variables that are the first (n1) and the second (n2) operands and calculates n1-n2. result is a pointer to the variable that should hold the result of the operation.
On success, 0 is returned and a negative value if the subtraction fails. If overflow or underflow occurred, the function returns ECPG_INFORMIX_NUM_OVERFLOW or ECPG_INFORMIX_NUM_UNDERFLOW respectively.
dectoasc
Convert a variable of type decimal to its ASCII representation in a C char* string.
int dectoasc(decimal *np, char *cp, int len, int right)
The function receives a pointer to a variable of type decimal (np) that it converts to its textual representation. cp is the buffer that should hold the result of the operation. The parameter right specifies, how many digits right of the decimal point should be included in the output. The result will be rounded to this number of decimal digits. Setting right to -1 indicates that all available decimal digits should be included in the output. If the length of the output buffer, which is indicated by len is not sufficient to hold the textual representation including the trailing NUL character, only a single * character is stored in the result and -1 is returned.
The function returns either -1 if the buffer cp was too small or ECPG_INFORMIX_OUT_OF_MEMORY if memory was exhausted.
dectodbl
Convert a variable of type decimal to a double.
int dectodbl(decimal *np, double *dblp);
The function receives a pointer to the decimal value to convert (np) and a pointer to the double variable that should hold the result of the operation (dblp).
On success, 0 is returned and a negative value if the conversion failed.
dectoint
Convert a variable to type decimal to an integer.
int dectoint(decimal *np, int *ip);
The function receives a pointer to the decimal value to convert (np) and a pointer to the integer variable that should hold the result of the operation (ip).
On success, 0 is returned and a negative value if the conversion failed. If an overflow occurred, ECPG_INFORMIX_NUM_OVERFLOW is returned.
Note that the ECPG implementation differs from the Informix implementation. Informix limits an integer to the range from -32767 to 32767, while the limits in the ECPG implementation depend on the architecture (-INT_MAX .. INT_MAX).
dectolong
Convert a variable to type decimal to a long integer.
int dectolong(decimal *np, long *lngp);
The function receives a pointer to the decimal value to convert (np) and a pointer to the long variable that should hold the result of the operation (lngp).
On success, 0 is returned and a negative value if the conversion failed. If an overflow occurred, ECPG_INFORMIX_NUM_OVERFLOW is returned.
Note that the ECPG implementation differs from the Informix implementation. Informix limits a long integer to the range from -2,147,483,647 to 2,147,483,647, while the limits in the ECPG implementation depend on the architecture (-LONG_MAX .. LONG_MAX).
rdatestr
Converts a date to a C char* string.
int rdatestr(date d, char *str);
The function receives two arguments, the first one is the date to convert (d and the second one is a pointer to the target string. The output format is always yyyy-mm-dd, so you need to allocate at least 11 bytes (including the NUL-terminator) for the string.
The function returns 0 on success and a negative value in case of error.
Note that ECPG's implementation differs from the Informix implementation. In Informix the format can be influenced by setting environment variables. In ECPG however, you cannot change the output format.
rstrdate
Parse the textual representation of a date.
int rstrdate(char *str, date *d);
The function receives the textual representation of the date to convert
(str) and a pointer to a variable of type date
(d). This function does not allow you to specify a format
mask. It uses the default format mask of Informix which is
mm/dd/yyyy. Internally, this function is implemented by
means of rdefmtdate
. Therefore, rstrdate
is
not faster and if you have the choice you should opt for
rdefmtdate
which allows you to specify the format mask
explicitly.
The function returns the same values as rdefmtdate
.
rtoday
Get the current date.
void rtoday(date *d);
The function receives a pointer to a date variable (d) that it sets to the current date.
Internally this function uses the PGTYPESdate_today
function.
rjulmdy
Extract the values for the day, the month and the year from a variable of type date.
int rjulmdy(date d, short mdy[3]);
The function receives the date d and a pointer to an array of 3 short integer values mdy. The variable name indicates the sequential order: mdy[0] will be set to contain the number of the month, mdy[1] will be set to the value of the day and mdy[2] will contain the year.
The function always returns 0 at the moment.
Internally the function uses the PGTYPESdate_julmdy
function.
rdefmtdate
Use a format mask to convert a character string to a value of type date.
int rdefmtdate(date *d, char *fmt, char *str);
The function receives a pointer to the date value that should hold the result of the operation (d), the format mask to use for parsing the date (fmt) and the C char* string containing the textual representation of the date (str). The textual representation is expected to match the format mask. However you do not need to have a 1:1 mapping of the string to the format mask. The function only analyzes the sequential order and looks for the literals yy or yyyy that indicate the position of the year, mm to indicate the position of the month and dd to indicate the position of the day.
The function returns the following values:
0 - The function terminated successfully.
ECPG_INFORMIX_ENOSHORTDATE - The date does not contain delimiters between day, month and year. In this case the input string must be exactly 6 or 8 bytes long but isn't.
ECPG_INFORMIX_ENOTDMY - The format string did not correctly indicate the sequential order of year, month and day.
ECPG_INFORMIX_BAD_DAY - The input string does not contain a valid day.
ECPG_INFORMIX_BAD_MONTH - The input string does not contain a valid month.
ECPG_INFORMIX_BAD_YEAR - The input string does not contain a valid year.
Internally this function is implemented to use the PGTYPESdate_defmt_asc
function. See the reference there for a
table of example input.
rfmtdate
Convert a variable of type date to its textual representation using a format mask.
int rfmtdate(date d, char *fmt, char *str);
The function receives the date to convert (d), the format mask (fmt) and the string that will hold the textual representation of the date (str).
On success, 0 is returned and a negative value if an error occurred.
Internally this function uses the PGTYPESdate_fmt_asc
function, see the reference there for examples.
rmdyjul
Create a date value from an array of 3 short integers that specify the day, the month and the year of the date.
int rmdyjul(short mdy[3], date *d);
The function receives the array of the 3 short integers (mdy) and a pointer to a variable of type date that should hold the result of the operation.
Currently the function returns always 0.
Internally the function is implemented to use the function PGTYPESdate_mdyjul
.
rdayofweek
Return a number representing the day of the week for a date value.
int rdayofweek(date d);
The function receives the date variable d as its only argument and returns an integer that indicates the day of the week for this date.
0 - Sunday
1 - Monday
2 - Tuesday
3 - Wednesday
4 - Thursday
5 - Friday
6 - Saturday
Internally the function is implemented to use the function PGTYPESdate_dayofweek
.
dtcurrent
Retrieve the current timestamp.
void dtcurrent(timestamp *ts);
The function retrieves the current timestamp and saves it into the timestamp variable that ts points to.
dtcvasc
Parses a timestamp from its textual representation into a timestamp variable.
int dtcvasc(char *str, timestamp *ts);
The function receives the string to parse (str) and a pointer to the timestamp variable that should hold the result of the operation (ts).
The function returns 0 on success and a negative value in case of error.
Internally this function uses the PGTYPEStimestamp_from_asc
function. See the reference there
for a table with example inputs.
dtcvfmtasc
Parses a timestamp from its textual representation using a format mask into a timestamp variable.
dtcvfmtasc(char *inbuf, char *fmtstr, timestamp *dtvalue)
The function receives the string to parse (inbuf), the format mask to use (fmtstr) and a pointer to the timestamp variable that should hold the result of the operation (dtvalue).
This function is implemented by means of the PGTYPEStimestamp_defmt_asc
function. See the documentation
there for a list of format specifiers that can be used.
The function returns 0 on success and a negative value in case of error.
dtsub
Subtract one timestamp from another and return a variable of type interval.
int dtsub(timestamp *ts1, timestamp *ts2, interval *iv);
The function will subtract the timestamp variable that ts2 points to from the timestamp variable that ts1 points to and will store the result in the interval variable that iv points to.
Upon success, the function returns 0 and a negative value if an error occurred.
dttoasc
Convert a timestamp variable to a C char* string.
int dttoasc(timestamp *ts, char *output);
The function receives a pointer to the timestamp variable to convert (ts) and the string that should hold the result of the operation output). It converts ts to its textual representation according to the SQL standard, which is be YYYY-MM-DD HH:MM:SS.
Upon success, the function returns 0 and a negative value if an error occurred.
dttofmtasc
Convert a timestamp variable to a C char* using a format mask.
int dttofmtasc(timestamp *ts, char *output, int str_len, char *fmtstr);
The function receives a pointer to the timestamp to convert as its first argument (ts), a pointer to the output buffer (output), the maximal length that has been allocated for the output buffer (str_len) and the format mask to use for the conversion (fmtstr).
Upon success, the function returns 0 and a negative value if an error occurred.
Internally, this function uses the PGTYPEStimestamp_fmt_asc
function. See the reference there for
information on what format mask specifiers can be used.
intoasc
Convert an interval variable to a C char* string.
int intoasc(interval *i, char *str);
The function receives a pointer to the interval variable to convert (i) and the string that should hold the result of the operation str). It converts i to its textual representation according to the SQL standard, which is be YYYY-MM-DD HH:MM:SS.
Upon success, the function returns 0 and a negative value if an error occurred.
rfmtlong
Convert a long integer value to its textual representation using a format mask.
int rfmtlong(long lng_val, char *fmt, char *outbuf);
The function receives the long value lng_val, the format mask fmt and a pointer to the output buffer outbuf. It converts the long value according to the format mask to its textual representation.
The format mask can be composed of the following format specifying characters:
* (asterisk) - if this position would be blank otherwise, fill it with an asterisk.
& (ampersand) - if this position would be blank otherwise, fill it with a zero.
# - turn leading zeroes into blanks.
< - left-justify the number in the string.
, (comma) - group numbers of four or more digits into groups of three digits separated by a comma.
. (period) - this character separates the whole-number part of the number from the fractional part.
- (minus) - the minus sign appears if the number is a negative value.
+ (plus) - the plus sign appears if the number is a positive value.
( - this replaces the minus sign in front of the negative number. The minus sign will not appear.
) - this character replaces the minus and is printed behind the negative value.
$ - the currency symbol.
rupshift
Convert a string to upper case.
void rupshift(char *str);
The function receives a pointer to the string and transforms every lower case character to upper case.
byleng
Return the number of characters in a string without counting trailing blanks.
int byleng(char *str, int len);
The function expects a fixed-length string as its first argument (str) and its length as its second argument (len). It returns the number of significant characters, that is the length of the string without trailing blanks.
ldchar
Copy a fixed-length string into a null-terminated string.
void ldchar(char *src, int len, char *dest);
The function receives the fixed-length string to copy (src), its length (len) and a pointer to the destination memory (dest). Note that you need to reserve at least len+1 bytes for the string that dest points to. The function copies at most len bytes to the new location (less if the source string has trailing blanks) and adds the null-terminator.
rgetmsg
int rgetmsg(int msgnum, char *s, int maxsize);
This function exists but is not implemented at the moment!
rtypalign
int rtypalign(int offset, int type);
This function exists but is not implemented at the moment!
rtypmsize
int rtypmsize(int type, int len);
This function exists but is not implemented at the moment!
rtypwidth
int rtypwidth(int sqltype, int sqllen);
This function exists but is not implemented at the moment!
rsetnull
Set a variable to NULL.
int rsetnull(int t, char *ptr);
The function receives an integer that indicates the type of the variable and a pointer to the variable itself that is casted to a C char* pointer.
The following types exist:
CCHARTYPE - For a variable of type char or char*
CSHORTTYPE - For a variable of type short int
CINTTYPE - For a variable of type int
CBOOLTYPE - For a variable of type boolean
CFLOATTYPE - For a variable of type float
CLONGTYPE - For a variable of type long
CDOUBLETYPE - For a variable of type double
CDECIMALTYPE - For a variable of type decimal
CDATETYPE - For a variable of type date
CDTIMETYPE - For a variable of type timestamp
Here is an example of a call to this function:
$char c[] = "abc "; $short s = 17; $int i = -74874; rsetnull(CCHARTYPE, (char *) c); rsetnull(CSHORTTYPE, (char *) &s); rsetnull(CINTTYPE, (char *) &i);
risnull
Test if a variable is NULL.
int risnull(int t, char *ptr);
The function receives the type of the variable to test (t)
as well a pointer to this variable (ptr). Note that the
latter needs to be casted to a char*. See the function rsetnull
for a list of possible variable types.
Here is an example of how to use this function:
$char c[] = "abc "; $short s = 17; $int i = -74874; risnull(CCHARTYPE, (char *) c); risnull(CSHORTTYPE, (char *) &s); risnull(CINTTYPE, (char *) &i);
Note that all constants here describe errors and all of them are defined to represent negative values. In the descriptions of the different constants you can also find the value that the constants represent in the current implementation. However you should not rely on this number. You can however rely on the fact all of them are defined to represent negative values.
Functions return this value if an overflow occurred in a calculation. Internally it is defined to -1200 (the Informix definition).
Functions return this value if an underflow occurred in a calculation. Internally it is defined to -1201 (the Informix definition).
Functions return this value if an attempt to divide by zero is observed. Internally it is defined to -1202 (the Informix definition).
Functions return this value if a bad value for a year was found while parsing a date. Internally it is defined to -1204 (the Informix definition).
Functions return this value if a bad value for a month was found while parsing a date. Internally it is defined to -1205 (the Informix definition).
Functions return this value if a bad value for a day was found while parsing a date. Internally it is defined to -1206 (the Informix definition).
Functions return this value if a parsing routine needs a short date representation but did not get the date string in the right length. Internally it is defined to -1209 (the Informix definition).
Functions return this value if an error occurred during date formatting. Internally it is defined to -1210 (the Informix definition).
Functions return this value if memory was exhausted during their operation. Internally it is defined to -1211 (the Informix definition).
Functions return this value if a parsing routine was supposed to get a format mask (like mmddyy) but not all fields were listed correctly. Internally it is defined to -1212 (the Informix definition).
Functions return this value either if a parsing routine cannot parse the textual representation for a numeric value because it contains errors or if a routine cannot complete a calculation involving numeric variables because at least one of the numeric variables is invalid. Internally it is defined to -1213 (the Informix definition).
Functions return this value if Internally it is defined to -1216 (the Informix definition).
Functions return this value if Internally it is defined to -1218 (the Informix definition).
Functions return this value if Internally it is defined to -1264 (the Informix definition).


Hello World
Physics Button
Bouncing Scene
Proton Based Particles
Floating Text in 3D
User scripting
Walking
nofix: using public/blox/cherry_tree.js
note: fixed by shim blox-examples/; relocated js with ../art/ to art/


index.js Class
Item Index
Methods
autoFill
()
the method to autofill the parcels with the vehicles
callback
()
Boolean
the method create the initial map overlay of parcels updates the selection of parcels
Returns:
returns true on the success of an updated parcel
calRoute
-
profile
-
planedParcels
-
vehicles
-
anchor
-
callback
the method to calculate the routes based on the input args
Parameters:
Returns:
the callback event of the calculated route
clearAll
()
the method to remove all the routes
createParcelMarker
-
parcel
the method to create the parcel markers
Parameters:
-
parcel
Parcelparcels that exist
geocodeParcel
()
Parcel
the method to geocode the parcels
Returns:
returns the geocoded parcel
hide
()
the method to hide all the route layers
onFilterParcels
()
the method to flter all the parcels by vehicle or time windows
onHorizonChanged
()
the method to filter based on horizon change
onSelect
()
This is executed when you select the parcels on the map
planClusterRoutes
()
the method to execute the clustered route result
planRoute
-
vehicle
the method to plan routes
Parameters:
-
vehicle
VehicleThe vehicle used in planning the route
planRoutes
()
the method to execute the planned routes with spinner.js to show loading
plotRoute
-
route
the method to plot the routes
Parameters:
-
route
Routethe route formed by the algorithm
saveRoute
-
route
the method to save the routes
Parameters:
-
route
Routethe route formed by the algorithm
setStatus
-
status
This is executed when you select the parcels on the map
Parameters:
-
status
Stringthe delivery status of the parcel
time
()
the method to provide the time


Enjoy a beautiful cup of tea. Purchase a flower tea bulb and then pour boiling water into a cup. Fascinate yourself and watch the bulb shape into a flower.
30-40mins


 This is
// actually kinda desirable for testing though because
// we should be able to handle it either way.
try:
wait_for_job(processor_job, ProcessorJob, start_time)
except:
pass
// The processor job that had a missing file will have
// recreated its DownloaderJob, which means there should now be two.
downloader_jobs = DownloaderJob.objects.all().order_by("-id")
self.assertEqual(downloader_jobs.count(), 2)
// However DownloaderJobs don"t get queued immediately, so
After Change
// One of the calls to wait_for_job will fail if the
// job aborts before it we selected all the
// processor jobs.
processor_job = wait_for_job(processor_job, ProcessorJob, timezone.now())
if processor_job.success:
successful_processor_jobs.append(processor_job)


BY PROF. EDWIN JAHIEL
THE SNAPPER (UK, 1993) *** 1/2 Directed by Stephen Frears. Screenplay by Roddy Doyle, from his novel. Photography, Oliver Stapleton. Production design, Mark Geraghty. Editing, Mick Audsley. Cast: Tina Kellegher, Colm Meany, Ruth McCabe, Colm O'Byrne, Pat Laffan. A Miramax release. 90 min. Not rated. (If so, R for language).
At the 1993 Cannes Film Festival, "The Snapper" came as a relaxing break from often long, sometimes solemn --albeit good-- big films. A "small" movie made for BBC-TV, it was an instant crowd-and-critics pleaser and confirmed the saying that often "less is more."
The 1991 film "The Commitments", about young working-class Dubliners who form a band that plays older soul music, had been scripted by schoolteacher Roddy Doyle from his own novel, the first of his Barrytown (a fictional Dublin area) trilogy. The other two books were "The Snapper" and "The Van." Published soon after "Snapper-the-novie" came out, Doyle's "Paddy Clarke Ha Ha Ha" also got much attention. The writer is no longer a teacher, but his loquacious texts and scripts continue to educate us about the gifts of the Irish, including the gift of gab.
"The Snapper" gets down to brass tacks while you're still trying to settle in your seat. In the Curley home, 20-year old Sharon (Tina Kellegher), a supermarket clerk, the senior of six children, still unmarried, announces to her parents with no preamble that she's going to have a snapper (Irish for baby, kid, squirt). What would usually call for horrified or moralistic reactions, or turn into high drama, falls on exceptionally tolerant and sympathetic ears.
Although Sharon stubbornly refuses to reveal who the father is, there is no pressure, no coercion from Dad Dessie (Colm Meany) and Mom Kay (RuthMcCabe). Right away they close protective ranks around Sharon. Within minutes Dessie states that he needs a drink to recover from the shock ... and invites Sharon to join him at the pub.
The Curleys are a high-spirited, tightly-knit family. They live piled up in a small semi-detached house but put up with the congestion through patience, humor and bits of eccentricity. When Junior Sister practices baton-twirling in a garish, cardboard uniform, Dad asks her about her white beard. "Shaving foam" replies the child. "Ah" says Dessie, and lets it go at that.
Dad's life seems to be one of trips between home and pub, with endless talk in both. He imbibes generously with his companions, all regulars. Sharon and her girlfriends also have their table there. In times when, especially in North America, younger and older people hardly ever mix, it is wonderful, heart-warming to see different generations coming together!
Sharon and her pals come all tarted up in heavy makeup, coiffures and outfits that are presumably sexy in the eyes of the males of their social class. Their entertaining gossip is, of course, mostly about men. Jolly, caustic comments are delivered with gales of laughter, whinnies and giggles. It is a perfect reproduction of a certain milieu.
Without missing a beat, Sharon announces her pregnancy to her companions, as Dad does to his. Everyone understands and sympathizes. Language-consciousness being a quintessentially Irish trait --and treasure -- the pubsters turn everything into a maelstrom of words generally enhanced by expletives. In their mouths, the latter are not four-letter vulgarities but linguistic elements of style.
Not that the locals' vocabulary lacks standards. "Uterus" shocks Dessie; Sharon ridicules the maternity nurse for asking about her menstrual history ("why couldn't she say period?") and for saying "movements" instead of you-know-what.
Sharon has fleeting moments of despondence, but her plain, potatoish face mostly reflects an indomitable joie de vivre. For good reason too. Greater Dublin must have half a million inhabitants, but the Curleys are the particular citizens of a few hundred square meters where everyone knows everyone else -- and initially almost all are friendly to Sharon.
When, however, the father of the snapper is tentatively revealed ( I will not point him out and spoil your discovery) there is an abrupt reversal of fortune. Sharon loses the outsiders' support, is mocked and called names. As a red herring, she concocts a story in surreally absurd terms about a one-night stand with a Spanish sailor. Few are inclined to believe it, but a least the tall tale adds more humor to the situation.
All backing is not lost though. Sharon's best friend, the stalwart Jackie, stands by her and laughter goes on during outrageous moments. Dad, becoming increasingly closer to his pregnant daughter, shows far much more interest in the coming snapper than in the six previous deliveries by his sweet, wise and pretty wife.
The Curley household being bare of print materials -- even newspapers-- Dessie goes out and gets one book, about chilbirth.
 Those were bigger, fairly complicated, sometimes glossy and/or wild pictures. "The Snapper" on the other hand is a return to the incisive simplicity and the making of forceful points with concision that were found in the many Frears BBC-TV movies--excellent but unknown in the U.S.A.
As in most Frears telefilms, "The Snapper" sets up a plain, even simplistic milieu, zooms in on, and milks its colorful authenticity. With upbeat whimsy and humor, the director says a great deal about the people , their distinctive culture and life-views.
Cultivated, higher-class spectators may feel some depression or snobbery vis-a-vis the simple-minded Curleys and their friends, but the film's vibrant buoyancy sees to it that natural simplicity will overcome raised eyebrows.
The most un-intellectual "Snapper" is full of funny stuff. It goes non-stop through daily events and quirks, idiosyncrasies and affections, keeps adding good touches. Among them, the sad-sack yet comical none-too-bright fellow who had impregnated Sharon. He goes from utter insensitivity to maudliness --then becomes a pariah himself.
Dessie's evolution is a joy to behold. It is hard to realize that he is the same Colm Meany who plays O'Brien in" Star Trek, The Next Generation" and in" Deep Space Nine," which, pace the Trekkies, do not exactly strain expressivity.
" Le mauvais gout mene au crime" (Stendhal)
Edwin Jahiel's movie reviews are at http://www.prairienet.org/ejahiel
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


| Profile Infomation | |
|---|---|
| Name | Mark Otto |
| @email.com | |
| Address | Address |
| Skills | Skills Description |
| Tasks Looking For | Tasks looking for... |
| Profile Infomation | |
|---|---|
| Name | Mark Otto |
| @email.com | |
| Address | Address |
| Skills | Skills Description |
| Tasks Looking For | Tasks looking for... |


WayOut
Home
Products
Services
Contact
Username
Password
Nationality
Choose your country
India
America
China
Feedback
Submit your Feedback
WayOut
at WayOut we value our customers feedback and consider them in making our product as friendly as possible


Control your child usage of the internet. Update the configuration below.
Make sure that the mitmproxy tool is running.
Session Info:
Time elapsed since start of session: :
Websites visited So far in this session:
{% for ip, sites in websites_visited.items() %}


 -.-
If that wasn't enough to get you scared off; then come try our modpack called Horrified Creative Kittens.. I guarantee you'll be horrified by some of these creatures other than the ocelots, if they aren't hiding from these creatures themselves!
Guild Wars 2
The social game that brings everyone together: whether it be dying constantly in the Heart of Thorns expansion, forgetting you have an endurance bar when flying hitting the ground for 124K hp (and glitched into the ground).. there will always be that one person (or group) laughing at you before running over to revive you
Join us in our duty to protect Tyria.... or become a master crafter that stays hidden from danger.


This poster is an updated lift version with the stronger social distancing guidelines and limits the amount of people in the lift to two. A4 Landscape format.
Suited for apartments/businesses with elevators. This poster communicates social distancing when waiting for elevators, a maximum of 4 people per lift and to not use hands when touching the elevator buttons to avoid spread. (A4 landscape format)
This poster is designed for children in Kinder and Primary School to help teach them different ways to say hello to their friends without hugging. (A4)
This poster helps kids to understand how to sanitise their hands. Position next to a hand sanitising station for better understanding. Perfect for kids who have little skills in reading. (A4 portrait)
This sign communicates that visitors with symptoms of Covid, those that have been in contact with someone who may have the virus or those that have travelled back from another country should not enter the building.


Methods
(static) parse(definition, optionsnullable)
Parses command line arguments using a bossy definition object.
See README.md for the format of a definition object.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
definition |
Object | A bossy definition object that provides the command line options. | |
options |
Object |
<nullable> |
An optional configuration object that accepts a key "argv" for customized argv array value. If not provided defaults to process.argv. |
Returns:
the parsed process.argv for arguments provided. If there is an error then the
return value will be an instanceof Error.
(static) usage(definition, usagenullable, optionsnullable)
Formats a bossy definition object for display in the console.
See README.md for the format of a definition object.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
definition |
Object | A bossy definition object that provides the command line options. | |
usage |
string |
<nullable> |
A messeage to be displayed at the beginning. |
options |
Object |
<nullable> |
An optional configuration object that accpet a field "colors", which etermines if colors are enabled when formatting usage. Defaults to whatever TTY supports. |
Returns:
the parsed process.argv for arguments provided. If there is an error then the
return value will be an instanceof Error.


Rethrottle APIedit
Rethrottle Requestedit
A RethrottleRequest
can be used to change the current throttling on a running
reindex, update-by-query or delete-by-query task or to disable throttling of
the task entirely. It requires the task Id of the task to change.
In its simplest form, you can use it to disable throttling of a running task using the following:
By providing a requestsPerSecond
argument, the request will change the
existing task throttling to the specified value:
The rethrottling request can be executed by using one of the three appropriate methods depending on whether a reindex, update-by-query or delete-by-query task should be rethrottled:
Asynchronous Executionedit
The asynchronous execution of a rethrottle request requires both the RethrottleRequest
instance and an ActionListener
instance to be passed to the asynchronous
method:
client.reindexRethrottleAsync(request, RequestOptions.DEFAULT, listener); client.updateByQueryRethrottleAsync(request, RequestOptions.DEFAULT, listener); client.deleteByQueryRethrottleAsync(request, RequestOptions.DEFAULT, listener);
|
Execute reindex rethrottling asynchronously |
|
|
The same for update-by-query |
|
|
The same for delete-by-query |
The asynchronous method does not block and returns immediately.
Once it is completed the ActionListener
is called back using the onResponse
method
if the execution successfully completed or using the onFailure
method if
it failed. A typical listener looks like this:
Rethrottle Responseedit
Rethrottling returns the task that has been rethrottled in the form of a
ListTasksResponse
. The structure of this response object is described in detail
in this section.


This message was sent through Contact Us form at the frontpage of http://target.monimus.com:4000/
Name: [[message.name]]
Email: [[message.email]]
Message:
[[message.message]]
This message was sent to you because you're registered as a global admin at http://target.monimus.com:4000/


Peter Naughton with more horses to add to your My Stable tracker including Miah Grace
by Peter NaughtonPeter Naughton has a tip for Navan this weekend and also looks back on a couple of his Notebook runners in this week's update.
Notebook horse Rockpoint ran a fine race when a close second to classy Wholestone in the extended 3m novices' chase at Cheltenham on Saturday.
True, the winner idled on the run-in but Rockpoint had found a second wind having hit a flat spot coming down the hill. This strong stayer raced prominently until the 11th but was detached in fifth before making strong headway approaching two-out.
He stayed on well after the last but was always being held by Wholestone. I'd love to see Rockpoint fitted with headgear, cheekpieces might be sufficient. In addition, his confidence could increase after this second run back from a wind operation.
Fellow 'Notebooker' Pop Rockstar travelled well for a long way before tiring markedly up the hill at the end of a gruelling extended 3m3f on the same card.
This was a step up in trip for the seven-year-old but connections hoped he would be a Welsh National candidate, so I was surprised to see his run peter out in the final stages.
Keep with this fine gelding because he will drop a couple of pounds in the handicap and had been moving like a well treated horse before the extreme distance caught him out. Still exciting.
Across the card, Miah Grace ran into a very smart winner when second to favourite Big Bad Bear in the Introductory Hurdle at Wetherby.
Jedd O'Keeffe's four-year-old deserves credit for giving the well fancied year-older winner a tough time throughout the final two furlongs and can surely win races.
Leading the field, the mare hit the second and was headed by the gelding two-out but chased Big Bad Bear all the way to the line and has a fine attitude, despite hanging right near the line.
Miah Grace had previously impressed at Hexham on her hurdling debut when returning from a lay-off and will continue to do well, especially against her own gender.
Look out for a big run from Bigbadandbeautiful in the mares' Listed bumper at Navan on Sunday.
Gordon Elliot's classy mare beat her own gender in a similar race at Gowran on last month's reappearance.
This was a strong event and many impressed in the paddock, including Jamie Codd's mount.
Held up towards rear, she was still well behind at halfway but made headway going well to chase the leaders on the outer over three-out.
She improved again to lead on the near side entering the final furlong and stayed on strongly for a comfortable success.
An easy winner at Clonmel 141 days earlier, she had run a cracker behind very classy Santa Rossa in a Grade Two at Leopardstown in February and I can't wait to see her over hurdles.
Connections pinpointed Sunday's race after her Gowran victory and although she shows very little on the gallops at home, Bigbadandbeautiful could be the best mare in Elliot's stable.


Ours is a small start up made up of like-minded individuals who felt that there was a severe need for applications that could change the lives of students in today's world. We felt that students, whether graduating out of high school or university, needed a direction.
Our company has devised a wide range of applications which has helped students all over the world.
Since its foundation, our company has helped thousands of students understand the importance that their hobbies and interests have in shaping their career. With us, you can truly shape your future.


Hello {{currentUser.username}}
Add question {{#if hasQuestions}}You have {{questions}} questions to Answer.
{{else}}You have no questions to answer... yet! ;)
{{/if}} {{else}}Hello, please log in to start playing.
{{/if}} {{> userlist}} {{#if users}}Registered users:
| username | Questions published | Total questions answered | Questions corrected answered |
|---|
{{randomQuestion.question}}
{{randomQuestion.answer1}}
{{randomQuestion.answer2}}
{{randomQuestion.answer3}}
{{randomQuestion.answer4}}


Interface: CC2420Fifo
interface CC2420Fifo
HAL abstraction for accessing the FIFO registers of a ChipCon
CC2420 radio.
- Author:
-
Jonathan Hui<EMAIL_ADDRESS>- Version:
-
$Revision: 1.2 $ $Date: 2008-06-03 04:43:03 $
Commands
command cc2420_status_t beginRead(uint8_t *data, uint8_t length)
command error_t continueRead(uint8_t *data, uint8_t length)
command cc2420_status_t write(uint8_t *data, uint8_t length)
Events
event void readDone(uint8_t *data, uint8_t length, error_t error)
event void writeDone(uint8_t *data, uint8_t length, error_t error)
Commands - Details
beginRead
command cc2420_status_t beginRead(uint8_t *data, uint8_t length)
- Parameters:
-
data
- a pointer to the receive buffer.
-
length
- number of bytes to read.
- Returns:
-
status byte returned when sending the last address byte
of the SPI transaction.
continueRead
command error_t continueRead(uint8_t *data, uint8_t length)
- Parameters:
-
data
- a pointer to the receive buffer.
-
length
- number of bytes to read.
- Returns:
-
SUCCESS always.
write
command cc2420_status_t write(uint8_t *data, uint8_t length)
- Parameters:
-
data
- a pointer to the send buffer.
-
length
- number of bytes to write.
- Returns:
-
status byte returned when sending the last address byte
of the SPI transaction.
Events - Details
readDone
event void readDone(uint8_t *data, uint8_t length, error_t error)
- Parameters:
-
data
- a pointer to the receive buffer.
-
length
- number of bytes read.
-
error
- notification of how the operation went
writeDone
event void writeDone(uint8_t *data, uint8_t length, error_t error)
- Parameters:
-
data
- a pointer to the send buffer.
-
length
- number of bytes written.
-
error
- notification of how the operation went


|
BitMagic-C++
|
Class for decoding data from memory buffer. More...
#include <encoding.h>
Public Member Functions | |
| decoder_little_endian (const unsigned char *buf) | |
| bm::short_t | get_16 () |
| bm::word_t | get_32 () |
| void | get_32 (bm::word_t *w, unsigned count) |
| bool | get_32_OR (bm::word_t *w, unsigned count) |
| void | get_32_AND (bm::word_t *w, unsigned count) |
| void | get_16 (bm::short_t *s, unsigned count) |
| Public Member Functions inherited from bm::decoder_base | |
| decoder_base (const unsigned char *buf) | |
| unsigned char | get_8 () |
| Reads character from the decoding buffer. More... | |
| unsigned | size () const |
| Returns size of the current decoding stream. More... | |
| void | seek (int delta) |
| change current position More... | |
| void | memcpy (unsigned char *dst, size_t count) |
| read bytes from the decode buffer More... | |
| const unsigned char * | get_pos () const |
| Return current buffer pointer. More... | |
Additional Inherited Members | |
| Protected Attributes inherited from bm::decoder_base | |
| const unsigned char * | buf_ |
| const unsigned char * | start_ |
Class for decoding data from memory buffer.
Properly handles aligment issues with integer data types. Converts data to little endian architecture (presumed it was encoded as big endian)
Definition at line 137 of file encoding.h.
|
inline |
Definition at line 992 of file encoding.h.
References BMFORCEINLINE.
| BMFORCEINLINE bm::short_t bm::decoder_little_endian::get_16 | ( | ) |
Definition at line 998 of file encoding.h.
References BMFORCEINLINE, and bm::decoder_base::buf_.
|
inline |
Definition at line 1073 of file encoding.h.
References bm::decoder_base::buf_, and bm::decoder_base::seek().
| BMFORCEINLINE bm::word_t bm::decoder_little_endian::get_32 | ( | ) |
Definition at line 1008 of file encoding.h.
References bm::decoder_base::buf_.
Referenced by get_32_AND(), and get_32_OR().
|
inline |
Definition at line 1017 of file encoding.h.
References bm::decoder_base::buf_, and bm::decoder_base::seek().
|
inline |
Definition at line 1060 of file encoding.h.
References get_32().
|
inline |
Definition at line 1038 of file encoding.h.
References get_32(), and bm::decoder_base::seek().


- generateSolution() - Method in class Test.Main
-
A method that solves the given Line Balaning Problem and displays it into a
table
- generation - Variable in class Test.Chromosome
-
An int variable that stores the chromosome's generation
- generationCounter - Variable in class Test.Main
-
An int variable used to identify a chromosome's birth generation
- generator - Variable in class Test.Chromosome
-
A Random variable used to create random results
- getCellEditorValue() - Method in class Test.Solution
-
- getChildPercent() - Method in class Test.LBPParameters
-
Getter for the variable childPercent
- getCompTime() - Method in class Test.Chromosome
-
Getter for the chromosome's total computational time
- getCycleTime() - Method in class Test.LBPParameters
-
Getter for the variable cycleTime
- getFocusBorder() - Method in class Test.Solution
-
Getter of the button's foreground color when the cell has focus
- getIterations() - Method in class Test.LBPParameters
-
Getter for the variable iterations
- getMaxTime(double) - Method in class Test.Task
-
- getMinNumOfWS() - Method in class Test.Main
-
A method to calculate the minimum number of workstations in a Line Balancing
Problems
- getMnemonic() - Method in class Test.Solution
-
Getter of the button's mnemonic
- getMutationsPercent() - Method in class Test.LBPParameters
-
Getter for the variable mutationsPercent
- getNewChromosome() - Method in class Test.Main
-
- getNumChromosomes() - Method in class Test.LBPParameters
-
Getter for the variable numChromosomes
- getPrecedences() - Method in class Test.Task
-
Getter for the task'sprecedence
- getPreservedPercent() - Method in class Test.LBPParameters
-
Getter for the variable preservedPercent
- getProbability() - Method in class Test.LBPParameters
-
Getter for the variable probability
- getSelected() - Method in class Test.Chromosome
-
Getter that returns a String array containing the chromosome's coded solution
- getSmoothness() - Method in class Test.Chromosome
-
Getter for the chromosome's smoothness value
- getSolution() - Method in class Test.Chromosome
-
Getter that returns a List containing the tasks assigned to each workstation
- getStdDev() - Method in class Test.Task
-
Getter for the task's time's standard deviation
- getTableCellEditorComponent(JTable, Object, boolean, int, int) - Method in class Test.Solution
-
- getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int) - Method in class Test.Solution
-
- getTaskNum() - Method in class Test.Task
-
Getter for the task's identifying number
- getTime() - Method in class Test.Task
-
Getter for the task's mean completion time


--- layout: post title: What I wish I knew before starting my technical writing career... date: 2015-01-06 09:38:29.000000000 -08:00 categories: - technical-writing tags: [] status: draft type: post published: false ---
Hi Katharine, congrats on starting a program in tech comm. If you want, I can create a collaborative post on my site (idratherbewriting.com) titled "What I wish I knew before starting my technical writing career..." and ask people to contribute. I would open by excerpting your question (anonymously). That might make for an interesting angle.
For me, if I were restarting, I would have maybe specialized in API documentation from the start. But I can elaborate more in the post.
Hi Tom,
I hope you had a good holiday. I am starting school on Thursday as a Technical Writing student! I am very excited (and nervous) and have been listening to your podcasts/reading your blog in preparation for this new world I'll be hopefully entering into. I have a background in journalism, and enjoy writing and technology - but don't really have the language down at all (thus enrolling in this program.) If you have any advice for a newbie such as myself, please feel free to share :) Other than that, please keep up the great work on your blog - I really appreciate it.
Thank you,
Katharine
PS - I wanted to ask you - I have interest in using my powers for good, and would love to learn that there is a place for technical writing within the non-profit sector. In your experience, do you see that being a possibility?
Thanks again. Cheers!


Client-Soundboard
This soundboard is a Project that lets you stream audio to your Virtual Audio Cable/Voicemeeter input.
Currently in early Pre-Release and really messy. Join the Discord for help
It supports:
- Youtube links
- Youtube search
- Vimeo links
- Soundcloud links
- Bandcamp links
- Direct links to files
It's based on Lavaplayer.
Installation
Head over to Releases and grab the latest stable. The installer will install it for you.
Make sure Voicemeeter Banana is installed, Here is a small Guide on how to set it up correctly (also found on my discord ;)
In the soundboard, the output will automatically be set to Voicemeeter. If not, the dropdown to choose is below the Skip and Stop buttons.
If Voicemeeter Inputs do not appear, you do not have Voicemeeter installed! check the Requirements section below for links!
You may also want to build it yourself (for whatever reason) I wish you luck on your journey of installing Java 8 and getting baffled by how retarded JavaFX is.
Planned Features
- History of played links
- More detailed UI
Requirements
-
Java 8 (most definitely probably Java 8) Most people probably have this version installed anyways,
to check which version you have type
java -version
in the command line (Windows key + R, type cmd and press enter) - Virtual Audio Cable or Voicemeeter I recommend Voicemeeter Banana.
- Currently only on Windows. I will look into cross platform distribution
Special Thanks
- SoundPad CEO for making me pay for something that i have to manually download files to


Type Function Library display.* Return value DisplayObject Revision Current Public Release (2013.2076) Keywords screenshot, capture screen, save screen See also display.save()
display.captureBounds()
display.captureScreen()
This function is the same as display.save(), but it returns a display object instead of saving to a file by default. You can optionally save the capture to the device's photo library (but this is not the default action—you must explicitly tell it to do so when calling the function).
display.capture()
can be thought of as a hybrid between display.save() and display.captureScreen().
If you need to capture a display object at application launch (i.e. when main.lua is executed to initialize the app) you must call display.capture within a timer.performWithDelay call. A delay of 100ms is recommended. for Example:
local myObject1 = display.newRect( 50, 50, 100, 150 )
local function captureWithDelay()
local capture = display.capture( myObject1 )
end
timer.performWithDelay( 100, captureWithDelay )
When saving to the photo album on Android, you must set the following permission in the "build.settings" file.
settings =
{
android =
{
usesPermissions =
{
"android.permission.WRITE_EXTERNAL_STORAGE",
},
},
}
Saves screen capture images as JPEG files to the current user's desktop.
Saves screen capture images as PNG files to the "My Pictures\Corona Simulator" directory.
DisplayObject. The variable that references the display object to save.
Table. Table with keys that represent specific options. See Formats for options below.
options
Boolean. If true
, then it adds the image to your device’s photo album (PNG file). (For Android devices, you must set the permission level as shown in the Gotchas section above.)
Boolean. If true
, then the image ISN'T cropped to the size of the screen of the device.
display.capture( displayObject [, saveToPhotoLibrary ] )
DisplayObject. The variable that references the display object to save.
Boolean. If true
, then it adds the image to your device’s photo album (PNG file). (For Android devices, you must set the permission level as shown in the Gotchas section above.)
local myObject1 = display.newRect( 50, 50, 100, 150 ) -- Create a rectangle object
local myObject2 = display.newCircle( 100, 300, 50 ) -- Create a circle object
local g = display.newGroup()
g:insert(myObject1)
g:insert(myObject2)
-- save the entire group as a new display object
local combined = display.capture( g )
-- position the new display object
combined.x, combined.y = 100, 100
-- remove it
combined:removeSelf()
combined = nil


PLANET SICK-BOY: http://www.sick-boy.com
A bored housewife is the focus of this film. And if that doesn't give you any indication of the overall boringness of the movie, then read on. Diane Lane (Murder at 1600) stars as Pearl Kantrowitz, a seemingly happy wife and mother of two – until the family takes its annual trek from New York City to Woodbridge for summer vacation. Here, Pearl realizes that she missed out on too much of her life by becoming knocked up at the early age of 17.
So instead of turning to valium like all of the other hausfraus, she starts screwing the traveling blouse salesman (Viggo Mortensen, A Perfect Murder) that occasionally pops into the shanty vacation town to peddle wares to the stranded women. She doesn't learn his name until later. And because the film is set in the summer of 1969, the filmmakers have Pearl and the Blouse Man make love with the requisite nostalgic backdrops – Woodstock and the moon landing.
Pearl gives no thought to the fact that her hard-working television repairman husband (Liev Schreiber, Scream) gave up things in his life, too. Or to her kids, Alison and Daniel (Anna Paquin and Bobby Boriello). Or to her fortune-telling mother-in-law (Tovah Feldshuh, Law & Order) who keeps Pearl's affair from her own son. Or even to the poor fools that have to watch this film.
The anemic script is blandly directed by Tony Goldwyn (the bad guy in Ghost) but is more of a showcase for some very fine acting. The best parts, however, are actually from an unseen actress – Julie Kavner is the uncredited voice of the resorts social director that can often be heard announcing to the yenta vacationers `The knish man is on the premises.' (1:45 – R for nudity, sex and adult language)
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


{% extends "base.html" %} {% load widget_tweaks styled_fields %} {% block head_title %} Add result {% endblock %} {% block content %}
Results added by you are only visible in analysis groups created by you.


--- layout: page title: "projects" date: 2012-01-20 20:44 comments: false sharing: true footer: true ---
Sending files to the server, and pushing files to the client should be as easy as possible. Delivery.js uses Node.js and Socket.IO to make it easy to push files to the client, or send them to the server. Files can be pushed to the client as text (utf8) or base64 (for images and binary files). Delivery.js was featured on episode 32 of the JavaScript Show.
Delivery.js on Github
I decided to redo an old sorting visualization demo in JavaScript, HTML5 and CSS3 to sharpen my skills.
The animation is done via jQuery, to help visuazlize bubble sort and quicksort.
View JavaScript/HTML Sorting Demo
After going to a Toronto Blue Jays game on 80's night, I noticed that all of the player's
pictures on the jumbo tron looked like computer images from the 1980's. I decided it would be
cool to create a JavaScript application that could create the same effect. The application is
extremely easy to use, just drag and drop an image into the app and it will convert it for
you!
View 8bitafy
pyiTunes is a small Python library that parses iTune's Library.xml file. This allows a user to programatically,
explore their iTunes library.
Read more about it and see it on Github


public interface ConnectivitySuccessVerifier
| Modifier and Type | Method and Description |
|---|---|
boolean |
hasSucceded(edu.biu.scapi.comm.EstablishedConnections estCon,
java.util.List<Party> originalListOfParties)
This function gets the information about the established connections as input and the original list of parties, then it runs a certain algorithm
(determined by the implementing class), and it returns true or false according to the level of connectivity checked by the implementing algorithm.
|
boolean hasSucceded(edu.biu.scapi.comm.EstablishedConnections estCon, java.util.List<Party> originalListOfParties)
estCon
- the actual established connectionsoriginalListOfParties
- the original list of parties to connect to


Evidence points to upcoming 6.3" Samsung Galaxy Note 3
Is there a Samsung Galaxy Note 3 around the corner? And does it have a 6.3in screen? There's new evidence to suggest that the answer to both of these questions is “yes”.
The Samsung Galaxy S4 smartphone launched recently, and with it a microsite talking up accessories and the like. One of these accessories is a Nintendo-esque gamepad that connects to the S4 via Bluetooth. So far, so what. Well, there's one detail in the product description that catches the eye: it mentions support for 4" to 6.3" screen sizes.
Samsung doesn't currently make a device with a 6.3" screen, but the mention of it suggests that one is definitely coming. And with smartphone screens getting larger, we can only see the Note range going the same way. The current model, the Note 2, has a 5.5" screen, and a 6.3" for its successor seems totally plausible.


--- notes: | Change an element width depending on predefined breakpoints. This use a mobile-first approach — it use breakpoints defined as `min-width` only — and therefor cover all upper resolutions. ---


A key method of avoiding function cycles (and thus recovering decidability) is to model a system by relations rather than functions.
This may seem counter-intuitive since mathematically a function is a special case of a relation. But the difference for Ivy's purposes occurs when considering the SMT solver's task of instantiating quantifiers.
Specifically, if a program has a type t
with at least one instance i:t
and a function f(X:t):t
-- an example of a trivial "function cycle" consisting of a function from t
to t
-- then any time an SMT solver wants to instantiate some logical variable such as V:t
by plugging in "all possible ground terms", it can't: the set is infinite: i
, f(i)
, f(f(i))
, f(f(f(i)))
, etc. To instantiate quantifiers over such possibly-infinite types, an SMT solver would have to use some more complicated (and fallible) strategy. Ivy wants to remain in FAU so that the SMT solver can use the simpler instantiation strategy.
To do so, consider what happens if the program is rewritten to remove f
and introduce some relation r(X:t,Y:t)
in its place. Even if the relation models the exact same function (say: r(P,Q)
is true for each Q
that was the value of f(P)
), and the relation is used the same way the function was in the program, from the perspective of instantiating a quantifier V:t
an SMT solver is now back to a finite vocabulary: V:t
can only take on i
(or whatever other declared individuals exist in type t
, such as j
). The points where the relation r(X:t,Y:t)
is true no longer figure into quantifier instantiation for V:t
.
Example:
Suppose we have the following functions recording a bijective key-value map:
type key
type val
function valof(K:key):val
function keyof(V:val):key
action add_key(k:key, v:val) = {
valof(k) := v;
keyof(v) := k;
require forall V:val . valof(keyof(V)) = V
}
export add_key
The postcondition has a function cycle for V:val
, causing the following error:
Isolate this:
error: The verification condition is not in the fragment FAU.
The following terms may generate an infinite sequence of instantiations:
t.ivy: line 7: new_valof(new_keyof(V)) = V
However, an equivalent formulation that uses relations:
type key
type val
relation valof(K:key,V:val)
relation keyof(V:val,K:key)
action add_key(k:key, v:val) = {
valof(k,v) := true;
keyof(v,k) := true;
require forall V:val, K:key . keyof(V,K) -> valof(K,V)
}
export add_key
Stays within FAU and verifies successfully:
Isolate this:
The following action implementations are present:
t.ivy: line 7: implementation of add_key
The following program assertions are treated as assumptions:
in action add_key when called from the environment:
t.ivy: line 10: assumption
OK
As a bonus, the relational formulation requires fewer relations -- the keyof
relation is redundant, as there is no image or preimage "directionality" to a relation as there is to a function.


This Month
Meeting April 17, 2012 from 11:30am - 12:30pm at the <div> in Edmond, OK. Lunch will be provided!
Something for Everyone
Over the past few months, we’ve covered a variety of topics. We’ve seen javascript on the server, in the browser and even in your favorite image editor. This month, we are going to cover a topic that is important to anyone using javascript, no matter where you are working : functions !
Conjunction Junction! What’s your function()?!
An Entire Session on functions in JavaScript. Yep, you heard right, an hour full of bad jokes, horrible puns, internet memes, and completely unrelated references to school house rock. Oh and of course JavaScript. Join us on a magical journey from beginner to advanced to WTF (Whats that Function?!?). Along the way we will make super ultimate friends with hoisting, overloading, recursion, declaration, “type”, length, arguments, invocation and more. You’ve got a fever, and the only prescription is more functions! Now… take(your.medicine);
About our Speakers
Ryan Rauh
Ryan Rauh knows some things and stuff. Come hear him talk about them!
Tasty Lunch!
Tasty lunch will be served thanks to Robert Half Technologies. These awesome folks are passionate about serving the Oklahoma City technology community and we thank them for their generous support. They’ve made it clear they want to see our usergroup succeed, which is an epic win for everyone!
usergroup.location = theDiv
With the okcCoCo undergoing change, we will be moving our meetup location to the <div> in Edmond this month. The <div> is an organization who is dedicated to supporting a grassroots usergroup movement that builds the state, and helps champion Oklahoma as a web tech hub. The div is located at 1712 S. Kelly Ave, in Edmond. We are really excited to be here this month, and offer our sincere thanks to the div for helping us.


{% extends "gauth/gauth_base.html" %} {% load feincms_tags i18n applicationcontent_tags %} {% block title %}{{ block.super }}{% trans 'Password reset token fail' %}{% endblock %} {% block breadcrumbs %} {{ block.super }}
{% blocktrans %}The password reset link was invalid, possibly because it has already been used. Please request a new password reset.{% endblocktrans %}


Diff With Original
Original Paste
[highlightedContent]
Language:
[type]
Raw
Download
[markAbuseLabel]
Reply to Paste
[highlightedContent]
Paste Replies
Paste #
[pasteId]
[posted]
Reply to Paste


word-break: keep-all
The root in the collection hierarchy.
word-break: break-all
The root interface in the collection hierarchy.


{%- include head.html -%}
{%- include navbar.html -%} {%- include home.html -%} {%- include bio.html -%} {%- include categories.html -%} {%- include contactbar.html -%}


Ever since I accidently fell into the world of automation three years ago, I've realized how much fun it is creating tools
It became evident that I was built for automation when I discovered that I could create programs that drastically
Ever since I accidently fell into the world of automation three years ago, I've realized how much fun it is creating tools
It became evident that I was built for automation when I discovered that I could create programs that drastically


This time new features related release:
Feel free to report any issues. Demo also was updated. So we are going to kill all commercial projects peace by peace and make one of the best Live Support available for free.
Developing application takes a lot of time. You can support application by donating. There is no company behind this application and it takes away my free time. Every donation matters and does not matter how small it is!


Fans accuse Lionel Messi of diving to win penalty in Argentina’s friendly vs Brazil
Lionel Messi’s rebound after Alisson saved his penalty was enough to help Argentina beat Brazil in an international friendly at the King Saud University Stadium in Saudi Arabia’s capital of Riyadh. However, many fans believe that the Argentine took a dive to win the spot-kick in the first place.
The Barcelona star was awarded the penalty after the referee spotted Brazil left-back Alex Sandro tripping him just inside the box. However, many fans have accused Messi of diving. Here are the best of reactions and the video for you to decide!


Preparation time
over 2 hours
Cooking time
1 to 2 hours
Serves
Serves 10-12
Dietary
Inspired by their travels in Eastern Europe the Hairy Bikers give cheesecake a Polish twist with vodka infused strawberries.
For the vodka strawberries, pour the vodka into a large bowl, add the sugar and vanilla bean paste. Stir in the strawberries and leave to infuse for about 4 hours.
Preheat the oven to 180C/160C Fan/Gas 4. Generously butter a deep 23cm/9in springform tin.
Meanwhile break the biscuits into crumbs in a food processor, or put them in a bag and bash with a rolling pin. Mix in the salt and cinnamon. Then add the melted butter. Stir well and pack evenly into the prepared baking tin. Bake in the oven for 10 minutes. Leave to cool.
In a bowl beat together the curd cheese, double cream, lemon juice and zest, caster sugar, vanilla bean paste, cornflour and eggs.
Drain the vodka strawberries using a sieve, reserving the vodka strawberry juice. Fold the strawberries into the cheesecake mixture.
Pour the mixture on top of the biscuit base. Cover the bottom of the baking tin with two layers of tin foil and place in a deep roasting tin. Pour in boiling water to come up to about 2cm/¾in of the cheesecake tin. Bake in the oven for 1 hour and 15 minutes, or until the cheesecake is browned in the top and cooked just solid. Set aside to cool completely, preferably overnight.
Meanwhile, in a pan heat the strawberry jam. Add half of the vodka strawberry juice, and mix together. Leave to cool. With a pastry brush paint a coating of the vokda-infused jam onto the cheesecake and stick on the halved strawberries cut-side down in a lovely pattern. Leave in the fridge until ready to serve. Serve with whipped cream.


Vertical line charts are not supported natively in RGraph however they can be achieved using the Scatter chart. With this chart you can specify the X and Y coordinates and a connecting line can be shown as in the example.
Below is the code that is necessary to achieve the vertical line chart.
<script src="RGraph.common.core.js"></script> <script src="RGraph.scatter.js"></script>Put this where you want the chart to show up:
<canvas id="cvs" width="400" height="550" style="float: right"> [No canvas support] </canvas>This is the code that generates the chart:


DMRAID
Section: Maintenance Commands (8)Updated: DMRAID TOOL
Index Return to Main Contents
NAME
dmraid - discover, configure and activate software (ATA)RAIDSYNOPSIS
dmraid{-a|--activate} {y|n|yes|no}
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-f|--format FORMAT[,FORMAT...]]
[{-P|--partchar} CHAR]
[-p|--no_partitions]
[-Z|--rm_partitions]
[--separator SEPARATOR]
[-t|--test]
[RAID-set...] dmraid
{-b|--block_devices}
[-c|--display_columns][FIELD[,FIELD...]]...
[-d|--debug]... [-v|--verbose]...
[--separator SEPARATOR]
[device-path...] dmraid
{-h|--help} dmraid
{-l|--list_formats}
[-d|--debug]... [-v|--verbose]... dmraid
{-n|--native_log}
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-f|--format FORMAT[,FORMAT...]]
[--separator SEPARATOR]
[device-path...] dmraid
{-R| --rebuild}
RAID-set
[device-path] dmraid
{-x| --remove}
[RAID-set] dmraid
-f FORMAT-handler {-C| --create} set
--type raidlevel
[--size=setsize --strip stridesize]
--disk "device-path, device-path [, device-path ...]" dmraid [ -f|--format FORMAT-handler] -S|--spare [RAID-set] -M|--media "device-path" dmraid
{-r|--raid_devices}
[-c|--display_columns][FIELD[,FIELD...]]...
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-D|--dump_metadata]
[-f|--format FORMAT[,FORMAT...]]
[--separator SEPARATOR]
[device-path...] dmraid
{-r|--raid_devices}
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-E|--erase_metadata]
[-f|--format FORMAT[,FORMAT...]]
[--separator SEPARATOR]
[device-path...] dmraid
{-s|--sets}...[a|i|active|inactive]
[-c|--display_columns][FIELD[,FIELD...]]...
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-f|--format FORMAT[,FORMAT...]]
[-g|--display_group]
[--separator SEPARATOR]
[RAID-set...] dmraid
{-V/--version}
DESCRIPTION
dmraid discovers block and software RAID devices (eg, ATARAID) by using multiple different metadata format handlers which support various formats (eg, Highpoint 37x series). It offers activating RAID sets made up by 2 or more discovered RAID devices, display properties of devices and sets (see option -l for supported metadata formats). Block device access to activated RAID sets occurs via device-mapper nodes /dev/mapper/RaidSetName. RaidSetName starts with the format name (see -l option) which can be used to access all RAID sets of a specific format easily with certain options (eg, -a below).OPTIONS
- -a, --activate {y|n} [RAID set...]
- Activates or deactivates all or particular software RAID set. In case metadata format handlers are chosen with -f , only RAID sets with such format(s) can be activated or deactivated. Useful if devices have multiple metadata signatures. When activating RAID sets, -p disables the activation of partitions on them, and -Z will make dmraid tell the kernel to remove the partitions from the disks underlying the set, ie if sda is part of the set, remove sda1, sda2, etc. This prevents applications from directly accessiong the disks bypassing dmraid. RAID set names given on command line don't need to be fully specified (eg, "dmraid -ay sil" would activate all discovered Silicon Image Medley RAID sets).
- {-b|--block_devices} [device-path...]
- List all or particular discovered block devices with their properties (size, serial number). Add -c to display block device names only and -cc for CSV column output of block device properties. See description of -c below for FIELD identifiers.
- [-d|--debug]...
- Enable debugging output. Opion can be given multiple times increasing the debug output level.
- [-c|--display_columns][FIELD[,FIELD...]]...
-
Display properties of block devices, RAID sets and devices in column(s).
Optional list specifying which FIELDs to display.
For -b:
d[evpath]|p[ath], sec[tors]|si[ze], ser[ialnumber].
For -r:
de[vpath]|p[ath], f[ormat], r[aidname], t[ype], st[atus], se[ctors]|si[ze], da[taoffset]|o[ffset].
For -s:
f[ormat], r[aidname], t[ype], sta[tus], str[ide], se[ctors]|si[ze], su[bsets], d[evices], sp[ares].
- [-f|--format FORMAT[,FORMAT...]]
- Use metadata format handler(s) to discover RAID devices. See -l for a list of supported format handler names. This is useful to select particular formats in case multiple metadata signatures are found on a device. A comma seperated list of format names can be specified which may not contain white space.
- {-h|--help}
- Display help text.
- {-i|--ignorelocking}
- Don't take out any locks. Useful in early boot where no read/write access to /var is available.
- {-l|--list_formats}
-
List all available metadata format handlers with their names and
descriptions. Supported RAID levels are listed in parenthesis:
S: Span (concatination)
0: RAID0 (stripe)
1: RAID1 (mirror)
10: RAID10 (mirror on top of stripes)
01: RAID10 (stripe on top of mirrors) Note: Intel OROM displays this as RAID10 - {-n|--native_log} [device-path...]
- Display metadata in native, vendor-specific format. In case a metadata format handler is chosen with -f only RAID devices with such format will be displayed in native format. If device-path(s) is/are given on the command line, native metadata output is restricted to those listed.
- [{-P|--partchar} CHAR]
- Use CHAR as the separator between the device name and the partition number.
- {-R| --rebuild} RAID-set [device-path]
-
Rebuild raid array after a drive has failed and a new drive is added.
For Intel chipset based systems, there are two methods in which a new drive
is added to the system.
1. Using OROM to identify a new drive
During system reboot, enter OROM and mark the new drive as the rebuild drive.
After booting to the OS, use the dmraid command to rebuild.
Example: dmraid -R raid_set 2. Using dmraid to identify a new drive
Boot to the OS and use the dmraid command with the new drive as the second parameter.
Example: dmraid -R raid_set /dev/sdc 3. Using hot spare drive
Mark a drive as hot spare using the "dmraid -f isw -S" command. Then use the dmraid command to start the rebuild.
Example: dmraid -R raid_set - {-x|--remove} [RAID-set]
- Delete one or all existing software RAID devices from the metadata.
- -f FORMAT-handler {-C|--create} --type raidlevel [--size=setsize --strip stripsize] --disk device-path, device-path [,device-path]
-
Delete one or all existing Configure a software RAID device and store the configuration data in a group of hard drive devices consisting of this array. This command requires the following options:
-f FORMAT-handler
metadata format (see "dmraid -l")
--type digit[digit...]
specify the raid level of the software RAID set.
0: raid0
1: raid1
5: raid5
01: raid01 (isw raid10)
--size: [digits[k|K|m|M|g|G][b|B]]
specify the size of the RAID set.The number is an integer followed by [kKmMgG] and/or [bB].
b: byte (default)
B: block (512 bytes)
K or K: on the base of 1024
m or M: on the base of 1024*1024
g or G: on the base of 1024*1024*1024
If this option is missing, it's set to the default value pre-configured by the vendor. Note that different vendors may apply different constraints on the granularity of the size or the minimal value.
--strip: [digits[k|K|m|M|g|G][b|B]]
specify the strip size of a RAID1, RAID5, and RAID10 RAID set (as above)
--disk: device-path[{,| }device-path...]
specify the array of the hard drives, e.g. /dev/sda.
- -f FORMAT-handler -S -M device-path
- -S -M device-path This command adds hot spare support for one or more RAID sets. 1. When used with a format handler, which supports hot spare sets (e.g. isw), a hot spare is marked to be used when rebuilding any RAID set of that format. 2. When used when specifying a RAID set, the drive is added to that RAID set and will be used only to rebuild that set. Note: If the specified name does not match an existing RAID-set, a set with the new name will be created.
- {-r|--raid_devices} [device-path...]
-
List all discovered RAID devices with format, RAID level, sectors used
and data offset into the device.
In case a metadata format handler is chosen with
-f
, only RAID devices with such format can be discovered. Useful if devices
have multiple metadata signatures.
If
-D
is added to
-r
the RAID metadata gets dumped into a subdirectory named dmraid.format_name
(eg. format_name = isw) in files named devicename.dat.
The byte offset where the metadata is located on the device is written
into files named devicename.offset and the size of the device in sectors
into files named devicename.size.
If
-E
is added to
-r
the RAID metadata on the devices gets conditionally erased.
Useful to erase old metadata after new one of different type has been
stored on a device in order to avoid discovering both. If you enter
-E
option
-D
will be enforced in order to have a fallback in case the wrong metadata
got erased.
Manual copying back onto the device is needed to recover from erasing
the wrong metadata using the dumped files devicename_formatname.dat
and devicename_formatname.offset.
Eg, to restore all *.dat files in the working directory to the respective devices:
for f in *.dat
do
dd if=$f of=/dev/${f%%.dat} \
seek=`cat ${f%%dat}offset` bs=1
done
If device-path(s) is/are given on the command line, the above actions are restricted to those listed. Add -c to display RAID device names only and -cc for CSV column output of RAID device properties. See description of -c above for FIELD identifiers. - --separator SEPARATOR
- Use SEPARATOR as a delimiter for all options taking or displaying lists.
- -s... [a|i] [RAID-set...]
- Display properties of RAID sets. Multiple RAID set names can be given on the command line which don't need to be fully specified (eg, "dmraid -s hpt" would display all discovered Highpoint RAID sets). Enter -s twice to display RAID subsets too. Add -c to display names of RAID sets only, -cc for CSV column output of RAID set properties and -ccc for inclusion of block devices in the listing. Doesn't imply -s -s to show RAID subsets (implied for group sets, e.g. isw). Add -g to include information about group RAID sets (as with Intel Software RAID) in the listing. See description of -c above for FIELD identifiers. Note: Size is given in sectors (not bytes).
- [-v|--verbose]...
- Enable verbose runtime information output. Opion can be given multiple times increasing the verbosity level.
EXAMPLES
"dmraid -l" lists all supported metadata formats with their names along with some descriptive information, eg:hpt37x : (+) Highpoint HPT37X
hpt45x : (+) Highpoint HPT45X
isw : (+) Intel Software RAID
lsi : (0) LSI Logic MegaRAID
nvidia : (+) NVidia RAID
pdc : (+) Promise FastTrack
sil : (+) Silicon Image(tm) Medley(tm)
via : (+) VIA Software RAID
dos : (+) DOS partitions on SW RAIDs
(0): Discover, (+): Discover+Activate "dmraid -ay" activates all software RAID sets discovered. "dmraid -an" deactivates all active software RAID sets which are not open (eg, mounted filesystem on them). "dmraid -ay -f pdc" (pdc looked up from "dmraid -l") activates all software RAID sets with Promise format discovered and ignores all other supported formats. "dmraid -r" discovers all software RAID devices supported on your system, eg:
/dev/dm-46: hpt45x, "hpt45x_chidjhaiaa-0", striped, ok, 320172928 sectors, data@ 0
/dev/dm-50: hpt45x, "hpt45x_chidjhaiaa-0", striped, ok, 320172928 sectors, data@ 0
/dev/dm-54: hpt45x, "hpt45x_chidjhaiaa-1", striped, ok, 320172928 sectors, data@ 0
/dev/dm-58: hpt45x, "hpt45x_chidjhaiaa-1", striped, ok, 320172928 sectors, data@ 0 "dmraid -s -s hpt45x_chidjhaiaa" displays properties of set "hpt45x_chidjhaiaa", eg:
*** Superset
name : hpt45x_chidjhaiaa
size : 640345856
stride : 128
type : raid10
status : ok
subsets: 2
dev : 4
spare : 0
---> Subset
name : hpt45x_chidjhaiaa-0
size : 640345856
stride : 128
type : stripe
status : ok
subsets: 0
dev : 2
spare : 0
---> Subset
name : hpt45x_chidjhaiaa-1
size : 640345856
stride : 128
type : stripe
status : ok
subsets: 0
dev : 2
spare : 0
"dmraid -s -ccs hpt45" displays properties in column format of all sets and subsets with hpt45* format, eg:
hpt45x_chidjhaiaa,640345856,128,raid10,ok,4,0
hpt45x_chidjhaiaa-a,640345856,128,stripe,ok,2,0
hpt45x_chidjhaiaa-b,640345856,128,stripe,ok,2,0 "dmraid -r --sep : -cpath:size" display paths and sizes in sectors for RAID devices in column format using ':' as a delimiter, eg:
/dev/dm-8:320173055
/dev/dm-12:320173055
/dev/dm-22:320173055
/dev/dm-26:320173055
/dev/dm-30:586114703
/dev/dm-34:586114703
/dev/dm-38:586114703
/dev/dm-42:586114703
/dev/dm-46:156301487
/dev/dm-50:156301487
/dev/dm-54:390624896
/dev/dm-58:390624896
/dev/dm-62:390624896
/dev/dm-66:390624896 "dmraid -f isw -C Raid0 --type 0 --strip 8k --size 20g --disk "/dev/sdb /dev/sdc"" creates an ISW volume with a name of "Raid0", 20Gig bytes in total, and 8kilo bytes strip size on two disks. "dmraid -f isw -C Test0 --type 0 --disk "/dev/sdd /dev/sde"" creates an ISW volume with the default size and strip size. "dmraid -f isw -C Test10 --type 01 --strip 128B --disk "/dev/sda /dev/sdb /dev/sdc /dev/sdd" creates a stacked RAID device, RAID10 (isw format), with a name of "Test10", 128 blocks (512bytes) strip size , and the default volume size on 4 disks. "dmraid -f isw -S -M /dev/sde" marks the device /dev/sde as a hot spare for rebuild "dmraid -R isw_djaggchdde_RAID1 /dev/sde" starts rebuild of the RAID volume on device /dev/sde
DIAGNOSTICS
dmraid returns an exit code of 0 for success or 1 for error.AUTHOR
Heinz Mauelshagen<EMAIL_ADDRESS>Index
This document was created by man2html, using the manual pages.
Time: 05:34:25 GMT, December 24, 2015


HTML5 is a W3C specification that defines the fifth major revision of the Hypertext Markup Language (HTML). One of the major changes in HTML5 is in respect to how HTML addresses Web applications. Other new features in HTML5 include specific functions for embedding graphics, audio, video, and interactive documents. New elements also allow you to define sections of your Web page using new tags such as
- < article > which defines an article
- < nav > which defines navigation links
- < source > which defines media resources, and many others.
- For example, the navigation section of your page would be enclosed in the < nav >
HTML5 may also be referred to as Web Applications 1.0. Some HTML codes can be found below.
x = 5;
y = 6;
z = x + y;
x = 5;
y = 6;
z = x + y;
- HTML is the standard markup language for creating Web pages.
- HTML stands for Hyper Text Markup Language
- HTML describes the structure of a Web page
- HTML consists of a series of elements
- HTML elements tell the browser how to display the content
- HTML elements are represented by tags
- HTML tags label pieces of content such as "heading", "paragraph", "table", and so on Browsers do not display the HTML tags, but use them to render the content of the page
One of the best (and, in my opinion, easiest) ways to get started with HTML5 is by using its new semantic elements for describing the structure of page content. Before HTML5, developers commonly use IDs and/or class names with these tags. This conveys more meaning to the developers, but unfortunately, it doesn’t help browsers derive the purpose of that markup. In HTML5, there are new semantically rich elements that can convey the purpose of the element to both developers and browsers.
- is used for content that can be grouped thematically. A can have a , as well as a . The point is that all content contained by is related.
- typically contains the headline or grouping of headlines for a page and/or s, although it can also contain other supplemental information like logos and navigational aids. Notice that I said “page and/or s.” That means you could have multiple s on a page.
- is used for content about a page and/or s, such as who wrote it, links to related information and copyrights. And, like , you could have multiple s on a page.
- is used to contain major navigation links for a page. While it isn’t a requirement, will often be contained by , which, by definition, contains navigational information.
- is used for content that is self-contained and could be consumed independent of the page as a whole, such as a blog entry. is similar to in that both contain related content. The best rule of thumb for deciding which element is appropriate for your content is to consider whether the content could be syndicated. If you could provide an Atom or RSS feed for the content, is most likely the way to go.
- indicates the portion of a page that is tangentially related to the content around it, but also separate from that content, such as a sidebar or pull-quotes. A good method for deciding whether is appropriate is to determine if your content is essential to understanding the main content of the page. If you can remove it without affecting understanding, then is the element to use.
Here are some examples of the new semantic elements in HTML5:
Content Migration is the process of moving information stored on a Web content management system (CMS), Digital asset management (DAM), Document management system (DMS), or flat HTML based system to a new system. Flat HTML content can entail HTML files, Active Server Pages (ASP), JavaServer Pages (JSP), PHP, or content stored in some type of HTML/JavaScript based system and can be either static or dynamic content.
- All the information is taken from W3Schools


Harbhajan Singh urges Sourav Ganguly to change selection panel, select Sanju Samson
Harbhajan quoted a tweet from Congress MP Shashi Tharoor, who represents Thiruvananthapuram in the Lok Sabha, to make his point.
NEW DELHI: Veteran Indian off-spinner Harbhajan Singh is hoping that BCCI President Sourav Ganguly will "change" the current selection panel and bring "strong people" on board.
The 39-year-old was reacting to wicketkeeper-batsman Sanju Samson being dropped from the Indian Twenty20 squad without getting a game in the recent home series against Bangladesh.
"I guess they r testing his heart #selectionpanelneedtobechanged need strong people there. Hope dada @SGanguly99 will do the needful," he tweeted.
Harbhajan quoted a tweet from Congress MP Shashi Tharoor, who represents Thiruvananthapuram in the Lok Sabha, to make his point.
Tharoor had expressed disappointment at the 25-year-old Kerala player not getting an opportunity.
"Very disappointed to see @IamSanjuSamson dropped without a chance. He carried the drinks for three T20Is & has been promptly discarded. Are they testing his batting or his heart?" he asked.
The current selection panel is headed by MSK Prasad, who played six Tests and 17 ODIs for India, and comprises Devang Gandhi, Jatin Pranjpe, Sarandeep Singh and Gagan Khoda.
ALSO READ | Visibility with pink ball is easier than red ball, says Sourav Ganguly
Samson has scored 112 runs from four games he played for Kerala in the ongoing Syed Mushtaq Ali Trophy National T20 Championship.
He played his only T20 International in 2015 against Zimbabwe.


Helping BAME individuals with their careers
Overture, curtains, lights. This is it, the night of nights. No more rehearsing and nursing a part, we know every part by heart! Overture, curtains, lights.
France
United Kingdom
Sunny day, sweepin' the clouds away. On my way to where the air is sweet. Can you tell me how to get, how to get to Sesame Street? Come and play, everything's A-OK. Friendly neighbors there, that's where we meet. Can you tell me how to get, how to get to Sesame Street?
- One
- Two
- Three
- Four
- Five
Important statistics
The world looks mighty good to me, cause Tootsie Rolls are all I see. Whatever it is I think I see, becomes a Tootsie Roll to me! Tootsie Roll how I love your chocolatey chew, Tootsie Roll I think I'm in love with you. Whatever it is I think I see, becomes a Tootsie Roll to me!


A Sequence of Numbers
问题描述 :
There are two kinds of operations that you will be instructed to perform:
1) Modification
– Given a non-negative number T , you need to increase the value of every number in the sequence by T . If the value of any number in the sequence is larger than 2^16 – 1 after the operation, you should divide its value by 216 and take the remainder as its value;
2) Query
– Given a non-negative number T , query how many numbers in the sequence satisfies the condition that its bitwise and result with 2^T is greater than zero.
For simplicity, all you need to do here is to output the sum ( sum < 10, 000, 000, 000 ) of the answers to all queries.
输入:
Each of the following lines is either of the format “C delta " (0<=delta) , meaning that you should increase the value of every number by delta, or “Q i " (0<=i<=15) , meaning that you should calculate the answer to the query (as explained in the problem description). Every test case ends with one character `E’ on a single line, followed by a blank line.
N = – 1 indicates the end of input file and should not be processed by your program. It is guaranteed that the total number of operations in each test case does not exceed 200,000.
输出:
Each of the following lines is either of the format “C delta " (0<=delta) , meaning that you should increase the value of every number by delta, or “Q i " (0<=i<=15) , meaning that you should calculate the answer to the query (as explained in the problem description). Every test case ends with one character `E’ on a single line, followed by a blank line.
N = – 1 indicates the end of input file and should not be processed by your program. It is guaranteed that the total number of operations in each test case does not exceed 200,000.
样例输入:
3 1 2 4 Q 1 Q 2 C 1 Q 1 Q 2 E -1
样例输出:
Case 1: 5
#include<iostream> #include<stdio.h> #include<memory.h> using namespace std; typedef __int64 ll; #define MOD 65536 int dp[20][1<<17],sum_dp[20][1<<17]; int calc_dp() { int k,vk; for(k=16;k>=2;k--) { for(vk=0;vk<(1<<k);vk++) dp[k-1][vk%(1<<(k-1))]+=dp[k][vk]; } memset(sum_dp,0,sizeof(sum_dp)); for(k=1;k<=16;k++) { sum_dp[k][0]=dp[k][0]; for(vk=1;vk<(1<<k);vk++) sum_dp[k][vk]=sum_dp[k][vk-1]+dp[k][vk]; } return 0; } int main() { int n,i,j,x,c,cc,ans,cas=0; char query[100]; int q; while(scanf("%d",&n)!=EOF) { if (n==-1) break; memset(dp,0,sizeof(dp)); for(i=1;i<=n;i++) { scanf("%d",&x); dp[16][x%MOD]++; } calc_dp(); c=0; ll ans=0; while(scanf("%s",query)!=EOF) { if (query[0]=='E') break; if (query[0]=='C') {scanf("%d",&q);c=(c+q)%MOD;} if (query[0]=='Q') { scanf("%d",&q); q++; int flag=((1<<(q-1))&c); cc=c%(1<<(q-1)); if (flag==0) { ans+=sum_dp[q][(1<<(q-1))-1]-sum_dp[q][(1<<(q-1))-cc-1]; ans+=sum_dp[q][(1<<(q-1))+(1<<(q-1))-1-cc]-sum_dp[q][(1<<(q-1))-1]; } else { ans+=sum_dp[q][(1<<(q-1))+(1<<(q-1))-1]-sum_dp[q][(1<<(q-1))+(1<<(q-1))-cc-1]; ans+=sum_dp[q][(1<<(q-1))-1-cc]; } // printf("%I64d\n",ans); } } printf("Case %d: %I64d\n",++cas,ans); } } /* 16 1 2 4 8 16 32 64 128<PHONE_NUMBER> 2048 4096 8192 16384 32768 Q 0 C 1 Q 0 */
言论自由
言论自由
言论自由
言论自由
很好的模板
真心不错，力顶作者
A的话不是不能避免冲突么？感觉出题者在考察是否考虑了冲突解决办法？
2的64次方是多少？ 这到底是在考什么啊
第15行代码，/n/n，应该改为nn
最长回文子串可以使用manacher算法，将时间复杂度降到O(n)。
第一题还是比较考验智商~
漂亮。佩服。
P.S. unsigned 应该去掉。换行符是n 不是/n
还可以稍微优化一下，
int main() {
int m,n,ai,aj,bi,bj,ak,bk;
while (scanf("%d%d",&m,&n)!=EOF) {
ai = sqrt(m-1);
bi = sqrt(n-1);
aj = (m-ai*ai-1)>>1;
bj = (n-bi*bi-1)>>1;
ak = ((ai+1)*(ai+1)-m)>>1;
bk = ((bi+1)*(bi+1)-n)>>1;
printf("%dn",abs(ai-bi)+abs(aj-bj)+abs(ak-bk));
}
}
为什么不直接用STL排序呢？
在第 18行的，while(scanf("%d %dn", &n, &c), n)，这句有错吧
printf这个函数在计算的时候是从右到左，打印是从左到右。
多谢提醒
博主的C++功底真是好
对，这里说的最长回文子序列，非子串