|
|
Batch Files- Passing parameters
|
Passing parameters between batch files and command line applications (scripted in PHP or Perl) is relatively easy. Passing parameters from the parent application to a child application you can use either environment variables or include parameters in the command line that runs the application. Passing parameters from a child to a parent either use an intermediary file or use the batch command "FOR /F" to process the output text from the child.
This page covers the above and provides examples that can be used in Uniform Server batch files.
Background
A parent process passes its environment to a child process. A child inherits only a copy (snapshot of the current environment) of the parents environment. This means a child cannot change the original environment.
Although a child process can access and change inherited environment variables, it requires a mechanism to pass any changes back to the parent. Writing new or modified variables to a file is one solution. A parent reads this file and makes changes as required.
An alternative is for the child to output variables to the standard stream (for example print or echo uses the standard stream to output to the screen), allow the parent to intercept and process this data. Sound complicated however the command FOR /F has this functionality built in hence is easy to implement.
Passing variables to a child
This example demonstrates passing by environment variables and program (application) parameters. Although only one environment variable and one program parameter is used in the demonstration you are not limited to the number you can pass to an application.
In folder UniServerZ create two new files named testp1.bat and testp1.php with the following content:
|
Comments
Code outside the two test lines are the reference template batch script.
rem #------Test code -----------
rem #----End test code ---------
A) The batch command "set var1=school1" sets the environment vailable var1 to value of school1.
The php script testp1.php is run with parameter school2
Test
Run the batch file by double clicking on file test1p.bat, a command window opens.
- Confirm the php script outputs and displays the environment varialble (school1).
- Confirm the php script outputs and displays the parameter (school2).
Note 1: The output from the PHP script is displayed but not captured hence
cannot be used in the batch file. This will be resolved later using FOR /F command.
Note 2: The PHP script is relatively short and can be run directly as a one liner
from the batch file removing the need for a script:
Replace the following line:
%US_PHP_EXE% -n -f testp1.php school2
With this line:
%US_PHP_EXE% -n -r "print(getenv('var1') . PHP_EOL . $argv[1] . PHP_EOL);" school2
|
|
testp1.bat
@echo off
rem ### working directory current folder
pushd %~dp0
rem ### set variables
set HOME=%cd%
set US_ROOTF=%HOME%
set US_ROOTF=%US_ROOTF:\=/%
set US_PHP_EXE=%HOME%\core\php54\php.exe
rem #------Test code -----------
rem ### Set environment variable var1
rem ### Run PHP script with parameter school2
echo Test A)
set var1=school1
%US_PHP_EXE% -n -f testp1.php school2
rem #----End test code ---------
rem ### restore original working directory
popd
pause
testp1.php
<?php
$a = getenv('var1'); // Get environment variable
print ($a . PHP_EOL); // Output this variable
$b = $argv[1]; // Get argument1
print ($b . PHP_EOL); // Output argument1
?>
|
FOR /F overview
The FOR command has many options fortunately only the /F option is required to extract variables/parameters from an application.
There are three command line formats for this option as follows:
|
Note: The following definitions:-
tokens: Are strings separated by delimiters. They are strings you are trying to match. Example tokens shown in green.
delims: A character/s separating tokens. Example delimiters shown in red.
|
token space delimited token
more tokens,comma delimited,12Z
123=ABC,mixed#delimiters
|
|
filenameset is one or more file names. Each file is opened, read, and processed before going on to the next file in filenameset.
Processing consists of reading the file one line at a time and then breaking the line up into individual items of data or 'tokens'. The DO command is then executed with the parameter(s) set to the token(s) found.
By default, /F passes the first blank separated token from each line of each file. Blank lines are skipped.
|
FOR /F ["options"] %%variable IN (filenameset) DO command [command-parameters]
|
|
LiteralString A string of text will be treated just like a single line of input from a command.
Processing of a LiteralString consists of breaking the line up into individual items of data or 'tokens'. The DO command is then executed with the parameter(s) set to the token(s) found.
The string must be enclosed in double quotes.
|
FOR /F ["options"] %%variable IN ("LiteralString") DO command [command-parameters]
|
|
command The named command along with any parameters is executed. Processing of a command consists of reading the output from the command one line at a time and then breaking the line up into individual items of data or 'tokens'. The DO command is then executed with the parameter(s) set to the token(s) found.
|
FOR /F ["options"] %%variable IN ('command') DO command [command-parameters]
|
You can override the default parsing behavior by specifying the optional options parameter. This is a quoted string that contains one or more keywords to specify different parsing options. The keywords are:
| Keyword | Description |
| eol=c | Specifies an end of line comment character (just one character) default ";" |
| skip=n | Specifies the number of lines to skip at the beginning of the file. |
| delims=xxx | Specifies a delimiter set. This replaces the default delimiter set of space and tab. |
| tokens=x,y,m-n | Specifies which tokens from each line are to be passed to the for body for each iteration. As a result, additional variable names are allocated. The m-n form is a range, specifying the mth through the nth tokens. If the last character in the tokens= string is an asterisk (*), an additional variable is allocated and receives the remaining text on the line after the last token that is parsed. |
| usebackq | Specifies that you can use quotation marks to quote file names in filenameset, a back quoted string is executed as a command, and a single quoted string is a literal string command. |
FOR /F Passing LiteralString
String processing for the three FOR /F command line formats filenameset, LiteralString and command are identical. This section provides examples using the LiteralString format primarily because you can see the text is being processed and requires only a single file making it easier to experiment with the format command options.
In folder UniServerZ create a new file named testp2.bat:
|
Comments
Each test section A) to G) have the following structure:
- Character identification, followed by a short description.
- Display the command line used.
- Display result expected.
- Actual FOR /F command line run, displays results using the captured tokens.
Note 1: The echo format ..%%A..%%B..%%C.. outputs assigned variables %%A, %%B and %%C enclosed between two full stops on either side. These full stops are included for testing apart from visually separating thevariables they allow you to see any unexpected characters captured.
Note 2: Variables in a FOR /F command require a starting character for example (%%A) from this starting point additional letters are assigned in sequence as required by the FOR command. A variable is created for each token captured and assigned the tokens value. If you specify a variable in the DO section that has not been created and assigned a value its name is output instead.
Note 3: The LiteralString format requires a string to be enclosed in quotes. You can use environment variables again these must be enclosed in quotes.
Note 4: In the ["options"] section you can place the options in any order however it is recommend you place delims at the end because it make specifying a space easier for example "tokens=1* delims=, "
Test
Run the batch file by double clicking on file test2p.bat, a command window opens.
- Confirm Expected: and Result: are identical.
|
|
testp2.bat
@echo off
rem ### working directory current folder
pushd %~dp0
rem ### set variables
set HOME=%cd%
set US_ROOTF=%HOME%
set US_ROOTF=%US_ROOTF:\=/%
set US_PHP_EXE=%HOME%\core\php54\php.exe
rem #------Test code -----------
echo A) No token specified defaults to 1 hence only %%%%A assigned
echo FOR /F %%%%A IN ("123 456 xyz") DO echo Result: ..%%%%A..%%%%B..%%%%C..
echo Expected ..123..%%B..%%C..
FOR /F %%A IN ("123 456 xyz") DO echo Result: ..%%A..%%B..%%C..
echo.
echo B) Token 1 and 3 specified. Each match is assigned
echo the next letter in sequence starting from A then B etc.
echo note %%%%C is never assigned because only two tokens specified
echo FOR /F "tokens=1,3" %%%%A IN ("aaa bbb ccc") DO echo Result: ..%%%%A..%%%%B..%%%%C..
echo Expected ..aaa..ccc..%%C..
FOR /F "tokens=1,3" %%A IN ("aaa bbb ccc") DO echo Result: ..%%A..%%B..%%C..
echo.
echo C) Token 1-3 range specified. Each match is assigned
echo a letter in sequence starting from A then B then C.
echo FOR /F "tokens=1-3" %%%%A IN ("123 456 xyz") DO echo Result: ..%%%%A..%%%%B..%%%%C..
echo Expected ..123..456..xyz..
FOR /F "tokens=1-3" %%A IN ("123 456 xyz") DO echo Result: ..%%A..%%B..%%C..
echo.
echo D) Token 1-3 specified. Multi spaces are treated as a single space.
echo FOR /F "tokens=1-3" %%%%A IN ("123 456 xyz ") DO echo Result: ..%%%%A..%%%%B..%%%%C
echo Expected ..123..456..xyz..
FOR /F "tokens=1-3" %%A IN ("123 456 xyz ") DO echo Result: ..%%A..%%B..%%C..
echo.
echo E) Token 1-3 specified. delims specifies a comma and space
echo FOR /F "tokens=1-3 delims=, " %%%%A IN ("a,Z x") DO echo Result: ..%%%%A..%%%%B..%%%%C
echo Expected..a..Z..x..
FOR /F "tokens=1-3 delims=, " %%A IN ("a,Z x") DO echo Result: ..%%A..%%B..%%C..
echo.
echo F) Token 1* specified. 1 match first delim, then * match reset of line
echo FOR /F "tokens=1* delims=, " %%%%A IN ("s,z2 p") DO echo Result: ..%%%%A..%%B..%%%%C
echo Expected ..s..z2 p..%%C..
FOR /F "tokens=1* delims=, " %%A IN ("s,z2 p") DO echo Result: ..%%A..%%B..%%C..
echo.
echo G) Token 1* specified.
echo use an environment variable for the string.
set str=php54\php.exe
echo set str=\php54\php.exe
echo FOR /F "tokens=1* delims=\" %%A IN ("%str%") DO echo Result: ..%%A..%%B..
echo Expected ..php54..php.exe..
FOR /F "tokens=1-3 delims=\" %%A IN ("%str%") DO echo Result: ..%%A..%%B..
echo.
rem #----End test code ---------
rem ### restore original working directory
popd
pause
|
FOR /F Passing filenameset -1
Extracting a single parameter as the first line of a file such as the MySQL password is achieved using either the SET command with redirection operator or using the FOR /F command with filenameset format. For comparison an example of both is shown. Folders (ssl and www) can be protected with allowed user names and password pairs contained in a file. A users password can be extracted with a FOR /F command.
In folder UniServerZ create a new file named testp3.bat:
|
Comments
Extract MySQL password using SET command:
A) The SET command with the /p parameter waits for user input. This input is provided from a file using the redirection < operator. A single line of text from the file sets the named environment variable.
- set /p variable_name=<full_path_of_text_file
Extract MySQL password using FOR command:
B) Alternative to the above is to use a FOR /F command general format as follows:
- FOR /F %%G IN (full_path_of_text_file) DO set variable_name=%%G
No options specified, default are used. Assign the first token and assign it to variable.
Extract password from name/password file:
Using the FOR /F command a specific name can be targeted and the password extracted. We do not have a file to use, for this example we create a name:password file pwd_file.txt using the redirection operator. File content shown below:
mike:abc123
john:abc124
fred:abc125
D) The following code extracts the password for john:
FOR /F "tokens=1,2 delims=:" %%G IN (pwd_file.txt) DO (
IF %%G==john echo Result: Johns password=%%H)
- The for loop reads each line intern.
- Delims=: splits a line at every occurrence of : creating tokens.
- These tokens are assigned to variables, user name assigned to %%G and password to %%H
- The variable %%G is tested using the IF command, if the variable is equal to string john the vaiable %%H (password) is echoed to the screen. If no match the next line is read.
Test
Run the batch file by double clicking on file test3p.bat, a command window opens.
- Confirm Expected: and Result: are identical.
|
|
testp3.bat
@echo off
rem ### working directory current folder
pushd %~dp0
rem ### set variables
set HOME=%cd%
set US_ROOTF=%HOME%
set US_ROOTF=%US_ROOTF:\=/%
set US_PHP_EXE=%HOME%\core\php54\php.exe
rem #------Test code -----------
echo A) Directely read password from file using set command
echo set /p passw=^<%%HOME%%\htpasswd\mysql\passwd.txt
echo Expected: Password=root
set /p passw=<%HOME%\htpasswd\mysql\passwd.txt
echo Result: Password=%passw%
FOR /F %%G IN (%PWD_FILE1%) DO set MYSQL_PWD2=%%G
echo.
echo B) Directely read password from file using FOR /F command
echo FOR /F %%%%G IN (%%HOME%%\htpasswd\mysql\passwd.txt) DO set passw2=%%%%G
echo Expected: Password=root
FOR /F %%G IN (%HOME%\htpasswd\mysql\passwd.txt) DO set passw2=%%G
echo Result: Password=%passw2%
rem ### Create name:password pairs in a test file
echo mike:abc123 > pwd_file.txt
echo john:abc124 >> pwd_file.txt
echo fred:abc125 >> pwd_file.txt
echo.
echo C) Display contents of file using FOR /F command
echo FOR /F "tokens=1,2 delims=:" %%%%G IN (pwd_file.txt) DO echo %%%%G %%%%H
echo Expected:
echo mike abc123
echo john abc124
echo fred abc125
echo Result:
FOR /F "tokens=1,2 delims=:" %%G IN (pwd_file.txt) DO echo %%G %%H
echo.
echo D) From the above file extract password for john
echo FOR /F "tokens=1,2 delims=:" %%%%G IN (pwd_file.txt) DO (
echo IF %%%%G==john echo Result: Johns password=%%%%H)
echo Expected: Johns password=abc124
FOR /F "tokens=1,2 delims=:" %%G IN (pwd_file.txt) DO (
IF %%G==john echo Result: Johns password=%%H)
echo.
rem #----End test code ---------
rem ### restore original working directory
popd
pause
|
FOR /F Passing filenameset -2
This page is about passing parameters between scripts. For completeness this section covers passing parameters using an intermediary file. The Uniform Server saves user configuration data to a file, this file can be considered an intermediary file. Data in this file is extracted using the FOR /F command with the filenameset format.
In folder UniServerZ create a new file named testp4.bat:
|
Comments
Display all lines that will be processed:
A) Before writing code you can preview all lines that will be processed with the following command line:
FOR /F "tokens=*" %%A IN (file_path) DO echo %%A
It uses the * operator to match all text on a line. The end of line character default is ; this matches the user configuration line comments. However files such as Apache and MySQL use character #. You can change this default behaviour using the eol parameter for example:
FOR /F "tokens=* eol=#" %%A IN (file_path) DO echo %%A
Extract user configuration parameters:
Each line in the user configuration file has the following format:
parameter=value
B) Using the FOR /F command we can extract one or more parameters from this file. For example extract parameters PHP_SELECT and PHP_INI_SELECT then set corresponding environment variables.
FOR /F "TOKENS=1,2 delims==" %%A IN (%US_USER_INI%) DO (
If %%A==PHP_SELECT Set PHP_SELECT=%%B
If %%A==PHP_INI_SELECT Set PHP_INI_SELECT=%%B
)
echo Result: PHP_SELECT = %PHP_SELECT%
echo Result: PHP_INI_SELECT = %PHP_INI_SELECT%
Test
Run the batch file by double clicking on file test4p.bat, a command window opens.
- Confirm Expected: and Result: are identical.
|
testp4.bat
@echo off
rem ### working directory current folder
pushd %~dp0
rem ### set variables
set HOME=%cd%
set US_ROOTF=%HOME%
set US_ROOTF=%US_ROOTF:\=/%
set US_PHP_EXE=%HOME%\core\php54\php.exe
set US_USER_INI=%HOME%\home\us_config\us_user.ini
rem #------Test code -----------
echo A) Read lines from config file that will be processed
echo FOR /F %%%%G IN (%%HOME%%\htpasswd\mysql\passwd.txt) DO echo %%%%A
echo.
echo #------ Lines that will be processed ------------
FOR /F "tokens=*" %%A IN (%US_USER_INI%) DO echo %%A
echo #---- End lines that will be processed ----------
echo.
echo B) Read parameters PHP_SELECT and PHP_INI_SELECT and set environment variables.
echo FOR /F "TOKENS=1,2 delims==" %%%%A IN (%%US_USER_INI%%) DO (
echo If %%%%A==PHP_SELECT Set PHP_SELECT=%%%%B
echo If %%%%A==PHP_INI_SELECT Set PHP_INI_SELECT=%%%%B
echo )
echo echo PHP_SELECT = %%PHP_SELECT%%
echo echo PHP_INI_SELECT = %%PHP_INI_SELECT%%
echo.
echo Expected: PHP_SELECT = php54
echo Expected: PHP_INI_SELECT = php_production.ini
FOR /F "TOKENS=1,2 delims==" %%A IN (%US_USER_INI%) DO (
If %%A==PHP_SELECT Set PHP_SELECT=%%B
If %%A==PHP_INI_SELECT Set PHP_INI_SELECT=%%B
)
echo Result: PHP_SELECT = %PHP_SELECT%
echo Result: PHP_INI_SELECT = %PHP_INI_SELECT%
echo.
rem #----End test code ---------
rem ### restore original working directory
popd
pause
|
FOR /F Passing command
The FOR /F with command format, allows you to run a command line script and capture its output to memory. When the script terminates memory content is read and is processed line-by-line. This allows you to pass parameters from a child process to the parents process. Following examples provide an introduction to its capability.
In folder UniServerZ create a new file named testp5.bat:
|
Comments
Run batch command - display all lines:
A) Before writing code you can preview all lines that will be processed. The following example code uses the dir command with parameters htpasswd /b /s:
FOR /F "tokens=*" %%A IN ('dir htpasswd /b /s') DO echo %%A
Note 1: The command name and parameters are enclosed in single quotes.
Note 2: If the command line becomes too long you can use the alternative format:
FOR /F "tokens=*" %%A IN (
'dir htpasswd /b /s'
) DO echo %%A
Run PHP code directely - display all lines:
B) Before writing code you can preview all lines that will be processed. This example runs PHP code directely using the following format:
FOR /F "tokens=*" %%A IN (
'php.exe -n -r "print('name=fred'.PHP_EOL.'address=myspace');"'
) DO echo %%A
This outputs the following two lines:
name=fred
address=myspace
Run PHP code - extract and assign variables:
C) This example shows how to split the above lines, extract each parameter and assign result to environment variables:
FOR /F "tokens=1,2 delims==" %%A IN (
'php.exe -n -r "print('name=fred'.PHP_EOL.'address=myspace');"'
) DO (
If %%A==name Set name=%%B
If %%A==address Set address=%%B
)
echo Result: Name is %name% and address is %address%
The PHP code is run and the lines processed. Each line is split into tokens at the equals character using delims==. The tokens are assigned to variables A%% and B%% using tokens=1,2. These assigned variables are used to create and set the environment variable. Finally the environment variable are displayed using echo.
Test
Run the batch file by double clicking on file test5p.bat, a command window opens.
- A) and B) Confirm "Lines that will be processed" blocks are displayed.
- C) Confirm Expected: and Result: are identical.
|
testp5.bat
@echo off
rem ### working directory current folder
pushd %~dp0
rem ### set variables
set HOME=%cd%
set US_ROOTF=%HOME%
set US_ROOTF=%US_ROOTF:\=/%
rem ### Get PHP version selected
set CFGF=%HOME%\home\us_config\us_user.ini
FOR /F "TOKENS=1,2 delims==" %%A IN (%CFGF%) DO (
If %%A==PHP_SELECT Set PHP_SELECT=%%B
)
rem ### Set path to php.exe
set Path=%HOME%\core\%PHP_SELECT%;%Path%
rem #------Test code -----------
echo A) Run batch command - display all lines
echo FOR /F %%%%G IN ('dir htpasswd /b /s') DO echo %%%%A
echo.
echo #------ Lines that will be processed ------------
FOR /F "tokens=*" %%A IN ('dir htpasswd /b /s') DO echo %%A
echo #---- End lines that will be processed ----------
echo.
echo B) Run PHP code directely - display all lines
echo FOR /F "tokens=*" %&&%A IN (
echo 'php.exe -n -r "print('name fred'.PHP_EOL.'address myspace');"'
echo ) DO echo %%%%A
echo.
echo #------ Lines that will be processed ------------
FOR /F "tokens=*" %%A IN (
'php.exe -n -r "print('name=fred'.PHP_EOL.'address=myspace');"'
) DO echo %%A
echo #---- End lines that will be processed ----------
echo.
echo c) Run PHP code - extract and assign variables
echo FOR /F "tokens=1,2 delims==" %%%%A IN (
echo 'php.exe -n -r "print('name=fred'.PHP_EOL.'address=myspace');"'
echo ) DO (
echo If %%%%A==name Set name=%%%%B
echo If %%%%A==address Set address=%%%%B
echo )
echo Result: Name is %%name%% and address is %%address%%
echo.
echo Expected: Name is fred and address is myspace
FOR /F "tokens=1,2 delims==" %%A IN (
'php.exe -n -r "print('name=fred'.PHP_EOL.'address=myspace');"'
) DO (
If %%A==name Set name=%%B
If %%A==address Set address=%%B
)
echo Result: Name is %name% and address is %address%
echo.
rem #----End test code ---------
rem ### restore original working directory
popd
pause
|
Note: Generally your PHP code would be run from a script see PHP CLI for detals. You would replace the following line:
'php.exe -n -r "print('name=fred'.PHP_EOL.'address=myspace');"'
With one of the following options:
'php test1.php'
'php -n test1.php'
'php -c core\php54\my_cli.ini test1.php'
Note: You must enclose the command in single quotes.
Perl passing parameters
Perl is another powerful scripting language that you can run as CLI from a batch file, additional information see Perl CLI page. Passing parameters is similar to PHP. This section provides an example using the above techniques to pass environment variables and parameters between a batch file and a Perl script.
Uniform server is portable, it does not make any changes to a host PC configuration. This means the path to the Perl interpretor is undefined and must be added to the environment path before a Perl script is run from a batch file.
In folder UniServerZ create two new files named testp6.bat and testp6.pl with the following content:
|
Comments
Code outside the two test lines are the reference template batch script.
rem #------Test code -----------
rem #----End test code ---------
Common environment variables are initially set.
set HOME=%cd%
set PERL_PATH=%HOME%\core\perl\bin
set PERL_EXE=%HOME%\core\perl\bin\perl.exe
IF NOT EXIST %PERL_EXE% (echo Perl not installed! & goto END)
set Path=%PERL_PATH%;%Path%
If the Perl executable does not exits it is assumed the Perl module has not been installed and a error message is displayed before exiting. If the executable exists the path to Perl binaries is added to the environment path variable.
Test code
Two environment variables perl_var1 and perl_var2 are created, the Perl script will modify these and return new values. These variables can be existing variables.
rem -- Set environment vars for Perl script
set perl_var1=pvar1
set perl_var2=pvar2
The Perl script is run using the following line, note two parameters pvar3 and pvar4 are passed on the command line. Raw output from the script is displayed.
perl test6.pl pvar3 pvar4
A For /F loop runs the Perl script a second time. No output displayed, instead output is captured and processed by the For /F loop, which extracts and sets the two variables perl_var1 and perl_var2.
FOR /F "tokens=1,2 delims==" %%A IN (
'perl test6.pl pvar3 pvar4'
) DO (
If %%A==perl_var1 Set perl_var1=%%B
If %%A==perl_var2 Set perl_var2=%%B
)
Finally the two variables are displayed (echoed) allowing you to confirm variables have been changed.
echo perl_var1=%perl_var1%
echo perl_var2=%perl_var2%
Test
Run the batch file by double clicking on file test6p.bat, a command window opens. Confirm the above is displayed.
|
|
testp6.bat
@echo off
rem ### working directory current folder
pushd %~dp0
rem ### set variables
set HOME=%cd%
set PERL_PATH=%HOME%\core\perl\bin
set PERL_EXE=%HOME%\core\perl\bin\perl.exe
IF NOT EXIST %PERL_EXE% (echo Perl not installed! & goto END)
set Path=%PERL_PATH%;%Path%
rem #------Test code -----------
rem -- Set environment vars for Perl script
set perl_var1=pvar1
set perl_var2=pvar2
rem -- run script with parameters
rem -- display output from script
perl test6.pl pvar3 pvar4
echo.
echo Script is run for second time however this run uses
echo a FOR /F loop to extract and set variables perl_var1 and perl_var2
echo.
FOR /F "tokens=1,2 delims==" %%A IN (
'perl test6.pl pvar3 pvar4'
) DO (
If %%A==perl_var1 Set perl_var1=%%B
If %%A==perl_var2 Set perl_var2=%%B
)
echo Display values that were updated by script:
echo.
echo perl_var1=%perl_var1%
echo perl_var2=%perl_var2%
echo.
rem #----End test code ---------
:END
rem ### restore original working directory
popd
pause
testp6.pl
print "--------- Output from Perl script ----------\n";
print "Environment variable perl_var1 =".$ENV{"perl_var1"}."\n";
print "Environment variable perl_var2 =".$ENV{"perl_var2"}."\n";
print "Parameter 1 passed by commandline="."@ARGV[0]\n";
print "Parameter 2 passed by commandline="."@ARGV[1]\n";
print "Change and return Environment variables\n";
print "perl_var1=pvar1xxxxx\n";
print "perl_var2=pvar2zzzzz\n";
print "------- End output from Perl script ---------\n";
|
--oOo--
|


{% extends "base.html" %} {% load staticfiles %} {% block title %}
You searched for: {{ query }}
No blogs matched your search criteria.


| I l@ve RuBoard |
Let's start with the obvious first question: why should we care about modules? The short answer is that they provide an easy way to organize components into a system. But from an abstract perspective, modules have at least three roles:
As we saw in Chapter 1, modules let us save code in files permanently.[1] Unlike code you type at the Python interactive prompt (which goes away when you exit Python), code in module files is persistent—it can be reloaded and rerun as many times as needed. More to the point, modules are a place to define names (called attributes) that may be referenced by external clients.
[1] Until you delete the module file, at least.
Modules are also the highest-level program organization unit in Python. As we'll see, everything "lives" in a module; code you execute and some objects you create are always implicitly enclosed by a module. Because of that, modules are a natural tool for grouping system components.
From a functional perspective, modules also come in handy for implementing components shared across a system, and hence only require a single copy. For instance, if you need to provide a global data structure that's used by more than one function, you can code it in a module that's imported by many clients.
| I l@ve RuBoard |


About Me
Since graduating Humber College’s, Acting for Film and Television Program I have been, with great excitement, venturing out into the beautiful world of acting. Over the past several years, I have continued to hone my craft as an actor, having had the blessings and incredible experiences of being on stage, on-set and in a recording studio.
I am so grateful to have had the experiences of working with great companies, such as, A Company of Fools and Shakespeare In Action. Select stage credits include A Midsummer Night's Dream & Twelfth Night (A Company of Fools), A Midsummer Night's Dream (Shakespeare In Action), and Hamlet(s) (Skipping Stones Theatre).
Voice-over credits include: Bubble’s Hotel and Hailey and the Hero Hearts, directed by Dee Shipley (Epic Story Media); Barbie Ride’N’Style and Fashion Fun for Everyone (Mattel); and Elinor Wonders Why (PBS).


Click me the first time, to install the TLS certificate for the WebSocket endpoint.
Then start the TLS echo client, which connects to the WebSocket endpoint via secure WS.


Next: fopencookie, Previous: fmemopen, Up: Stdio [Contents][Index]
fopen
—open a fileSynopsis
#include <stdio.h> FILE *fopen(const char *file, const char *mode); FILE *_fopen_r(struct _reent *reent, const char *file, const char *mode);
Description
fopen
initializes the data structures needed to read or write a
file. Specify the file’s name as the string at file, and the kind
of access you need to the file with the string at mode.
The alternate function _fopen_r
is a reentrant version.
The extra argument reent is a pointer to a reentrancy structure.
Three fundamental kinds of access are available: read, write, and append.
*mode
must begin with one of the three characters ‘r
’,
‘w
’, or ‘a
’, to select one of these:
r
Open the file for reading; the operation will fail if the file does not exist, or if the host system does not permit you to read it.
w
Open the file for writing from the beginning of the file: effectively, this always creates a new file. If the file whose name you specified already existed, its old contents are discarded.
a
Open the file for appending data, that is writing from the end of
file. When you open a file this way, all data always goes to the
current end of file; you cannot change this using fseek
.
Some host systems distinguish between “binary” and “text” files.
Such systems may perform data transformations on data written to, or
read from, files opened as “text”.
If your system is one of these, then you can append a ‘b
’ to any
of the three modes above, to specify that you are opening the file as
a binary file (the default is to open the file as a text file).
‘rb
’, then, means “read binary”; ‘wb
’, “write binary”; and
‘ab
’, “append binary”.
To make C programs more portable, the ‘b
’ is accepted on all
systems, whether or not it makes a difference.
Finally, you might need to both read and write from the same file.
You can also append a ‘+
’ to any of the three modes, to permit
this. (If you want to append both ‘b
’ and ‘+
’, you can do it
in either order: for example, "rb+"
means the same thing as
"r+b"
when used as a mode string.)
Use "r+"
(or "rb+"
) to permit reading and writing anywhere in
an existing file, without discarding any data; "w+"
(or "wb+"
)
to create a new file (or begin by discarding all data from an old one)
that permits reading and writing anywhere in it; and "a+"
(or
"ab+"
) to permit reading anywhere in an existing file, but writing
only at the end.
Returns
fopen
returns a file pointer which you can use for other file
operations, unless the file you requested could not be opened; in that
situation, the result is NULL
. If the reason for failure was an
invalid string at mode, errno
is set to EINVAL
.
Portability
fopen
is required by ANSI C.
Supporting OS subroutines required: close
, fstat
, isatty
,
lseek
, open
, read
, sbrk
, write
.
Next: fopencookie, Previous: fmemopen, Up: Stdio [Contents][Index]


--- layout: post status: publish published: true title: Cloud and their performance author: display_name: vishvendra login: vishvendra email<EMAIL_ADDRESS>url: '' author_login: vishvendra author_email<EMAIL_ADDRESS>wordpress_id: 238 wordpress_url: http://www.vishvendrasingh.com/?p=238 date: '2016-07-04 09:32:07 +0530' date_gmt: '2016-07-04 09:32:07 +0530' categories: - cloud - Common tags: - Cloud - performance comments: [] ---
Tests performed
wget -O /dev/null http://speedtest.ams01.softlayer.com/downloads/test500.zip
wget http://speedtest.ams01.softlayer.com/downloads/test500.zip
sysbench --test=cpu --cpu-max-prime=20000 run
speedtest_cli.py
total number of events:10000
dual core(8GB RAM, 2 CORE)-
total task execution time 63.2625
scaleway-ARM(2GB RAM, 4 CORE)
total task execution time 685.4 time
33MB/s network speed with wget
30MB/s write speed wget
scaleway-ATOM CLOUD
ATOM DEDICATED(8GB RAM, 4 CORE)
total task execution time 45.8
111MB/s network speed with wget
107MB/s write speed wget
amazon(60GB RAM, 32 CORE)-
total task execution time 27.5
37.6MB/s network speed with wget
28.4MB/s write speed wget
digitalocean(2 GB Memory / 40 GB Disk / BLR1 - Ubuntu 16.04 x64 )-
total task execution time 38.1
19.1MB/s network speed with wget
17.1MB/s write speed wget


Charles Leclerc was angry at himself for "stupid" qualifying error
by Matt BeerCharles Leclerc has said his Ferrari Formula 1 car was fast enough to top Brazilian Grand Prix qualifying and only a "stupid" mistake on his part prevented it.
Pole position would not have been possible for Leclerc at Interlagos because he was carrying a 10-place grid penalty for a change of internal combustion engine necessitated by his Austin practice oil leak.
He ended up fourth fastest in Q3, so will start 14th.
But he was convinced he could have topped the session so he could "only be angry" with himself for the result.
"I'm very disappointed about my lap in Q3. The first timed lap I think was good enough for pole, or second but very close," said Leclerc.
"I did a big mistake in the last corner which cost me three or four tenths so it's completely my fault and I need to learn from this.
"The team did a great job, I think the car was there to to fight for pole at least and I didn't do the job in the car so I'm disappointed."
He described his strategy for race day as "full attack mode".
Having got through to Q3 on medium tyres while all the other top team drivers used softs, Leclerc can at least start the race on an alternative strategy.
"We'll be starting on a harder compound than the top 10 so hopefully we can take advantage of that and come back through," he said.
"Only time will tell but I will give it everything. I'll try to be as aggressive as I can in the first few laps, which will be very important, and then hopefully the pace will help us to come back further up in the standings."


I'm Jeff and I'm a developer. Here's my body of work, please have a look
"One turns back and submits to fate, changes one's attitude and finds peace in perseverance"
This site was requested for the swedish tourist bureau to highlight new and exciting tourism activities in the wake of the SARS-CO-2 pandemic to drum up revenue.
languages used:
This site was site designed to reference cookie recipes from food blogs Serious Eats and Recipes.com and to display a random cookie recipe.
languages used:
I'm a Portland OR based programmer.
I've worn several powerful hats during my lifetime. I've been a technician with the USDA working with a department studying the uses of parasitic insects as a pesticide alternative. I've been a Krav Maga practitioner for almost a decade teaching people from all walks of life how to be safer and to defend themselves. Then I became an acupuncturist, and spent time in places like Nepal, as well as Portland, working as health care provider to underserved communities
Today I come to you as a developer.
I decided to jump into the world of development once I realized it most aligned with my lifestyle. I want to have the ability to travel and potentially live in other parts of the world and I think coding and tech is the best way to go about it
When not coding here's a list of a couple of my favorite activities:
Here's my top 3 favorite travel destinations:


| DOSE: T+ 0:00 |
40 mg |
oral |
4-Acetoxy-DiPT |
(powder / crystals) |
| T+ 3:45 |
2 hits |
oral |
LSD |
(liquid) |
6:20 pm
This is the oddest tryptamine I've seen -- a purpleblue, almost gooey substance. I weigh out 40mg.
6:30 gulp
6:45 first twinges; sticky throat, stuffed up nose. Yup, its a tryptamine. Wait a few more minutes and then eat 2 slices of pizza, hoping its not too soon after ingestion to affect the outcome.
7:00 teaching firebuilding to child.
7:10 My heart just bloomed. It felt as though it swelled to larger than normal and then unfolded itself and blossomed within me.
7:30 Heart racing. Jelly limbs. Very pleasant feeling. Sort of jovial -- not the spasms of laughter of LSD, but a satisfying all-over body smile.
Suddenly realizing I forgot to check my stock of smokes before launching, I wonder about driving to the store and interacting with the clerk. I do a few mind/body checks (typing to check my manual dexterity [wpm was noticably higher without errors], a few math problems in my head, and a few vision tests like shaking my head rapidly with eyes open and then trying to snap to focus. Everything checked out, so I hopped in the truck and headed out. Noted the only visual difference the entire evening on my way to the store - depth perception seemed 'deeper'. The entire excursion went very well and I was back home in a matter of minutes.
8:00 Full bore. Marvelous. Clarity of thought, although there's a bit of spaceyness to it. Moments where my whole body quivers like jello forcing me to lay down briefly... feelings very similar to significant doses of psilocybin, but not so intense as to make me question my physical existence. Feel very confident serving as ground control for Jetsam's second high dose LSD experience as I drip 4 drops on her tongue.
9:00 Still going strong, but starting to wane physically. Thoughts are a bit scattered, ADD-like. Consider doing something else, but can't consider it long enough to decide what. Watching Jetsam from a distance and occasionally holding her hand feels glowey.
Get the children well settled for the night (so I think) and lay on the futon with Jetsam. Sensuality overtakes us both and soon we're nekkid and writhing. It wasn't like MDMA where everything is tingly and feels just incredible; it was more like swirling our minds and bodies together. Of note to me was the indefatigable nature of my erection; very un-tryptamine-like, in my experience. Viagra's got nothin' on this stuff. ;) Orgasm was delayed and when it arrived, it came surging in like a tidal wave, completely particalizing my body and sparking an amazing kaliedascope in my mind. Wow!
10:00 Getting sleepy, but my mind is still going strong. Definitely nowhere near baseline. Familiar tryptamine post-peak bowel rumblings and gas passing.
A friend and I had planned on meeting over the net and taking LSD simultaneously across the country from one another. There were some roadblocks, but just after 10, we agreed we were ready. Around 10:15, I consume 2 hits of fine acid. I'm interested to see how the effects are different due to the 4-acetoxy-dipt.
Sometime in this hour, one of the children experiences a major bowel movement in his sleep, requiring a diaper change involving waaay too many wipes. Given Jetsam's state, I volunteered. Let's just say the times I've dealt with bloody injuries while zooming were distinctly more pleasant than that diaper change.
11:00 Found it very difficult to discern the difference between the 2 substances. The LSD is definitely coming on, but there are no G-forces or additional jelly limbs or jitters; just a very smooth transition into a similar but somewhat different space. At the 45 minute point, I would normally be in no condition to sleep, but I felt I could about that time if I decided to.
Spend time going back and forth from talking/sprawling with Jetsam to the computer room and IRC. Feel the need to defecate and find that I have diahhrea also (not uncommon for me on tryptamines). Get what I can out without any trauma and continue on my way.
12:00 midnight OK, I'm feeling the acid now. No sleep for awhile, it seems. I find that wondrous deep thought space that acid induces and enjoy several deep conversations over IRC with friends. Topics turn to relationships and I spend the next several hours discussing what it means to be with someone for years.
Another round of diahhrea, less pleasant than the first. Ugh. Child also still agitated, so my time was busied with trying to relax, trying to get the kid to sleep, chatting on IRC, and shitting.
1:00 Excellent talks with Jetsam and IRC people. The two substances combine to create a wonderfully thoughtful headspace. Body starting to shut down, but my mind is still highly active.
2:00 Continued talks and more splaying on the futon. Child finally falls asleep around 2:30 and we both seem to start sinking shortly thereafter.
 Sleep isn't found until after almost 2 hours of tryptamine hypnosis (which I enjoy).
Awake with the children just before 8am and feel surprisingly OK. The day after L for me is usually blah and ughy feeling, especially after only 3 hours sleep, but I feel warm and open and alive. My body is tired, but my emotional state is wonderful. I felt like talking openly and candidly with Jetsam and the kids and doing so was wonderful; something we don't do often enough together.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


About the GRE revised General Test
One Test for Graduate and Business School. More Opportunities for Success.
Getting an advanced degree can create many opportunities. In fact, recent data from the Bureau of Labor Statistics and The Organisation for Economic Co-operation and Development (PDF) illustrates how education pays in higher earnings and lower unemployment rates.
Whether you are planning to go to graduate school or business school — or just exploring your options — you are taking an important step toward your future. It is a smart move to show schools your best and with the GRE® revised General Test, you can! That's the Power of Confidence — only with the GRE revised General Test.
The GRE revised General Test gives you the Power of Confidence to help you do your best. With the GRE revised General Test, you decide which scores to send to schools. If you feel you didn't do your best on test day, that's okay. You can retake the test and then send only the scores you want schools to see. It's all part of the ScoreSelect® option, only available with GRE tests.
The GRE revised General Test features question types that closely reflect the kind of thinking you'll do in graduate or business school.
- Verbal Reasoning — Measures your ability to analyze and evaluate written material and synthesize information obtained from it, analyze relationships among component parts of sentences and recognize relationships among words and concepts.
- Quantitative Reasoning — Measures problem-solving ability using basic concepts of arithmetic, algebra, geometry and data analysis.
- Analytical Writing — Measures critical thinking and analytical writing skills, specifically your ability to articulate and support complex ideas clearly and effectively.
Learn more about the content and structure of the GRE revised General Test.
Who Takes It?
Prospective graduate and business school applicants from all around the world who are interested in pursuing a master's, MBA, specialized master's in business or doctoral degree take the GRE revised General Test. Applicants come from varying educational and cultural backgrounds and the GRE revised General Test provides schools with a common measure for comparing candidates' qualifications.
GRE scores are used by admissions or fellowship panels to supplement your undergraduate records, recommendation letters and other qualifications for graduate-level study.
When and Where Do People Take It?
The GRE revised General Test is available at more than 1,000 test centers in more than 160 countries. In most regions of the world, the computer-delivered test is available on a continuous basis throughout the year. In Mainland China, Hong Kong, Taiwan and Korea, the computer-delivered test is available one to three times per month. In areas of the world where computer-delivered testing is not available, the paper-delivered test is available up to three times a year in October, November and February.


Maruti Suzuki India sees a hike in October sales by 4.5 per cent to 1,53,435 units
by Team ODMaruti Suzuki India has witnessed a hike in October 2019 sales. The company has sold 1,44,277 units domestically which is 4.5 per cent higher as compared to the corresponding sales figure of 1,38,100 from last year. The export sales have also seen an increase of 5.7 per cent at 9,158 units exported this month in correspondence to 8,666 units exported in October 2018.
The hatchbacks; Alto, S-Presso and the previous generation WagonR has seen a decline of 13 per cent - from 32,835 unit sales October last year to 28,537 unit sales October this year. Meanwhile, the segment with Celerio, current-generation WagonR, Ignis, Swift, Baleno, Dzire have a ramped-up sales number of 15.9 per cent. From 64,789 units in October 2018 to 75,094 units in 2019.
While the compact segment grew, the Ciaz took a toll in sales by dropping down 39.1 per cent. 3,892 units last year to 2,371 units this year. The utility segment, too, has seen a hike of 11.3 per cent; from 20,764 units to 23,108 units from the corresponding months. The utility segment includes the Gypsy (now discontinued), Ertiga, XL6, Vitara Brezza and the S-Cross.
Maruti Suzuki launched the S-Presso micro SUV in the month of September and the XL6 MPV was introduced in the month of August. Both the newly launched products are in the segment where Maruti Suzuki has seen an increase in sales.
Maruti Suzuki S-Presso ranges between Rs 3.69 and 4.91 lakh ex-showroom, while the XL6 has a price bracket of Rs 9.79 - 11.46 lakh, ex-showroom.
Also read,
Maruti Suzuki Ertiga scores three stars in 2019 Global NCAP crash test
Maruti Suzuki India sells over two lakh BSVI vehicles in six months
Maruti Suzuki S-Presso First Drive Review


Ever since I found out about the no-sql databases and since they became very popular lately, I wanted to write a blog post about my favourite one: Redis.
What I love so much about it is its simple API. In my honest opinion, one of the very best API’s that I’ve found so far.
Also, since it’s a lightweight and fast key-value store, it’s specially useful for speeding up slow processes on your system. If things go slow, you should always consider using Redis, if it applies, it will speed things up.
The Ruby gem redis is as easy to use as redis API. Here’s a quick look of it’s usage on Rails. Where there’s an AR Ranking model, which stores in a sorted set a list of albums to easily get the top [n] albums.
1 2 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Besides keeping track of sorted elements in a fast way, there are also many other useful ways in which redis could be used. Here’s a list of them with a few interesting related resources:
- Caching resources (in XML or JSON), LRU caching.
- Having data which automatically expires. Another excellent feature needed for LRU caching.
- Queues. Highly used by the resque gem
- Keeping highly variable counters (page views, thumbs up, etc). Here’s a Flask snippet.
- Working with large sets of data (where you don’t want repeated elements).
Enjoy!


owens-minor
Businessmodel of Owens & Minor
Customer Segments
Owens and Minor provides distribution, kitting, outsourced resource management and consulting services to thousands of customers operating within the healthcare sector. These customers principally include integrated health networks, multi-facility networks of healthcare providers that offer a broad spectrum of healthcare services to a particular market or markets, as well as smaller, independent hospitals in the US.
The Company also serves various other healthcare providers – including surgery centres, physicians’s practices, and smaller networks of hospitals that have joined together to negotiate terms – as well as certain units of the US federal government and various pharmaceutical and biotechnology companies. Owens and Minor additionally serves a range of group purchasing organisations within the medical sector, including leading companies Novation, MedAssets, Premier, and HealthTrust Purchasing Group, with which it has multi-year distribution contracts.
Owens and Minor’s principal market is its native US, which accounted for more than 95% of the Company’s revenue in 2015. The Company also serves customers across the UK, Germany, France, and other European countries.
Value Propositions
Owens and Minor provides value to its customers in the following ways:
- The breadth and quality of its products portfolio, with the Company offering an extensive range of distribution products and services tailored to the needs of each clients, as well as providing ancillary services such as supplier management, analytics, and inventory management;
- Its expansive distribution infrastructure, with the Company operating a network of warehouses, distribution centres, vehicles, and equipment across the US and Europe, enabling it to serve customers quickly and efficiently;
- Its custom delivery services, with the Company offering customised delivery methods and delivery schedules to customers, in order to increase the efficiency of its customers in receiving and storing products;
- Its international reach, with the Company serving customers not only in its domestic market, but also across Europe, notably in the UK, Germany, and France ### Channels
Owens and Minor operates a website at www.owens-minor.com, through which it provides information to customers on its products, services, and locations. The Company also provides various online tools and portals to its customers that are available via its website, including its web-based product information and online ordering tool OM Direct, its online donor tissue tracking platform, and its analytics platform Wisdom Gold. These channels require a customer login.
Owens and Minor makes its sales through its dedicated in-house sales teams, which are organised by geographic region. The Company takes responsibility for the majority of its distribution services, operating a network of distribution centres and equipment, as well as its own fleet of delivery vehicles and delivery personnel.
This includes 42 distribution centres across the US, which are strategically located to efficiently serve customers, and two kitting facilities for the production of custom and minor procedure kits and trays, as well as 22 logistics centres and one kitting facility in 11 European countries, including Belgium, Czech Republic, Denmark, France, Germany, Ireland, Netherlands, Slovakia, Spain, Switzerland and the United Kingdom.
In some cases, Owens and Minor utilises the services of third-party distribution and delivery service providers to support its own operations.
Customer Relationships
Owens and Minor provides a range of self-service offerings through its website. This includes an online ordering portal through which customers are able to place orders and schedule deliveries, a tissue tracking platform through which hospitals can track the delivery of donor tissue, and an analytics platform through which customers can access data on its supply chain, all without interacting with members of the Owens and Minor sales and support teams.
The Company’s sales staff work closely with its customers, often agreeing long-term distribution contracts and arranging customised delivery solutions. Owens and Minor has independent relationships with most of its hospital customers through separate contractual commitments that may or may not be based on terms of agreement with the group purchasing organisations. The Company seeks to establish lasting relationships with its customers.
Owens and Minor offers support to its existing and prospective customers through its website, which publishes contact details for the Company’s general enquiries service and head office. The Company also operates social media accounts, including with Facebook and LinkedIn, through which it is able to interact with customers directly.
Key Activities
Owens and Minor operates as an international healthcare services company, providing supply chain services to customers within the healthcare and medical manufacturing sectors, and distributing medical supplies and devices across the US and Europe.
The Company organises its activities into two operating segments: Domestic, which comprises the Company’s medical supply logistics operations across the US; and International, which comprises the operations of the Company’s European units Movianto and ArcRoyal, which provide procurement, inventory management, delivery and sourcing services to the European healthcare market. Owens and Minor’s customers primarily include hospitals, integrated healthcare systems, group purchasing organisations.
Key Partners
Owens and Minor works alongside a number of third party companies and organisations in order to provide its customers with the highest-quality service. These partners include:
- Supplier and Vendor Partners, comprising suppliers of various medical products, devices, and equipment that the Company distributes to the healthcare sector, and suppliers of various services that support or supplement the Company’s logistics activities;
- Technology and Software Partners, comprising a range of integration and development partners that provide technology solutions to support the Company’s operations and provide assistance in developing and maintaining its online platforms; and
- Distribution and Delivery Partners, comprising a range of third party delivery, distribution, and logistics providers that support and extend the Company’s own distribution activities. Owens and Minor has a number of branded supplier partners, including 3M Health Care, Kimberly-Clark, Covidien-Mallinckrodt, Cardinal, and ConvaTec. The Company has also recently partnered with Dell Services to align its IT strategy.
Key Resources
Owens and Minor’s key resources are its supply chain and product portfolio, its online portals and IT infrastructure, its distribution and logistics infrastructure, its sales channels, its partnerships, and its personnel.
Owens and Minor owns and leases a number of properties across the US and Europe that are key to its distribution activities. This includes 42 distribution centres – all but one of which are leased from third-parties, as well as office and warehouse space and two kitting centres, across the US. The Company also leases offices in China and Malaysia. The Company also leases 19 and owns three logistics centres across Europe, owns one kitting facility, and operates seven transport depots, of which six are leased.
Cost Structure
Owens and Minor incurs costs in relation to the procurement of supplies and the management of its supply chain, the development and maintenance of its online platforms, the maintenance of its IT and communications infrastructure, the operation of its logistics infrastructure – including fuel costs associated with its fleet of vehicles, the management of its partnerships, and the retention of its personnel.
In 2015 Owens and Minor recorded cost of goods sold in the amount of $8.56 billion, including the cost of the products and all costs incurred for shipments of products from manufacturers to its distribution centres. The Company’s selling, general, and administrative expenses – including labour and warehousing costs associated with its distribution and logistics services, as well as shipping and handling costs- totaled $933.60 million for the year.
Revenue Streams
Owens and Minor generates revenue through the distribution and sale of various medical products and devices, as well as through the provision of various ancillary services, such as customised kitting solutions. The Company’s portfolio of medical and surgical supplies includes branded products purchased in large volume from manufacturers, as well as its own proprietary private-label products, which are internally sourced.
In 2015 Owens and Minor generated annual net revenue of $9.77 billion, up on the $9.44 billion recorded by the Company in 2014. Of this revenue, $9.36 billion was recorded by the Company’s Domestic segment, with international operations accounting for around 5% of net revenue.


:a meat market
:slaughterhouse
:a place of mass slaughter or bloodshed the battlefield became a shambles
:a scene or a state of great destruction :wreckage the city was a shambles after the bombing
:a scene or a state of great disorder or confusion an economy in shambles
:great confusion :mess


This is a Matching Game used to test your memory retention abilities
The game consists of:
- ♦ A game board with 16 cards - 8 matching pairs of cards
- ♦ A game status indicator which consists of :
- ⋄ A rating indicator - A list of stars which indicates your rating based on the number of your moves.
- ⋄ A move counter - Indicates the number of moves you've made.
- ⋄ A timer - Indicates the total number of time you take to match all cards.
- ⋄ A restart button.
- ♦ A larger restart button.
When the page loads the game starts.
All the 8 pairs of cards i.e 16 cards are flashed
How to play:
- • Click on a black square to reveal the card
- • Click on a second black square to reveal the card
- a. If the two cards match, the cards stay revealed.
- b. If there is no match, the cards are hidden and you can click another pair.
- • You can click either of the restart buttons ↻ or Restart ↻ at any point in time to start all over.
- • When you have correctly matched all 8 pairs of cards, the game ends and your total game time, total number of moves and rating will be displayed.
- • You can click the Play Again in the modal that pops up to start a new game.


Created by Team NASHsploration
Chuck Bryant, Amy Flatt, Nathan Hood,
Jeremy Ideus, Aaron Johnson, John Liu,
Kaili Liu, Everitt Perry, Lee Perry,
Jason Pullias, Randy Russell, Richmond Watkins
To Our Hack4Change Organizers
Amber Adams, William Golden, Andrew McElroy,
Jacques Woodcock, and Brendon Wovchko


+++ title = "Lercara" lat = 37.748457 lon = 13.602790 +++
Lercara is a small town, located amidst the endless farmlands of the hilly countryside, just inland from the north coast of Sicily. I spent one night camping in a field not far from Lercara, and passed through the town on my bike the next day.


| DOSE: T+ 0:00 |
1 tablet |
oral |
Piperazines |
(pill / tablet) |
| T+ 5:30 |
80 mg |
|
MDMA |
(powder / crystals) |
FOAF and his lady spent tuesday from 10.30 am to 2.00 am at home having fun with approx 180 mg MDMA crystal each, plus numerous joints made with medium quality hashish. They're both experienced users of MDMA, which they use either to enhance erotic adventures together, or when they're playing gigs-both being musicians. FOAF is a long term moderate to heavy cannabis user. Neither have any history of mental illness.
Wednesday morning they were both pretty tired, and aware that they'd not eaten enough during tuesday-FOAF estimates that he'd consumed no more than 1000 calories. After a late lunch of beans on toast at 3.30 pm, they decided to try BZP/TFMPP party pills for the first time, to see if they were indeed an acceptable MDMA substitute.
They'd procured a tub of Enjoi efx party pills from New Zealand. The tub cost just under £10 for 5 capsules, of 450mg each. The label claimed 100mg BZP and an unspecified amount of TFMPP, and vitamins C, B3 and B6 in each capsule. Apart from feeling a bit tired, they were both in a good frame of mind, physically comfortable, and being at home, were in happy familiar surroundings. Having read of some of the side effects of BZP they were feeling slightly cautious.
At 4.30 pm they took one capsule each
T+15 mins FOAF could feel a very mild rush coming on
T+20 mins FOAF began to feel queasy-his lady had noticed no effect
T+30 mins - both feeling queasy, and both slightly speedy, with a noticeable 'metallic' taste in the mouth
T+1 hour - both feeling quite speedy now-surprised at the strength, but both feeling rather nauseous, which really spoils the speediness. FOAF notices his neck muscles tightening and makes conscious effort to loosen them as he suffers from spinal arthritis.
T+2 hours - the speediness would be quite nice if it weren't for the nausea and the generally metallic feeling throughout one's body-a harsh and very 'chemical' feeling headache tries to start, and comes and goes. Mouth feels dry and fouled up.
T+3 hours - still nauseous, find that physical exertion sadly makes it worse. FOAF picks up a musical instrument and has a play-notices easy high speed playing ability, much like cocaine or speed-after 10 minutes is feeling too nauseous to carry on. 3 hours is the time that the label says to take another capsule if required-no way!
T+4 hours - still nauseous -both a bit disappointed and feel that it's been an endurance-nausea, muscle tension, peripheral headache. Both ate more beans on toast at this time-quite difficult, but feel a bit better for it.
T+5 hours - no change-still both feel fragile. Notice time has passed quickly. Listen to music, and notice no enhancement of listening pleasure. Also notice no enhancement of physical/sexual feelings-just want to feel better.
T+5 hours 30 - the nausea is now only spasmodic. Both decide to take approx 80mg MDMA crystal - he sub-lingually, her orally.
T+6 hours -both coming up on the MDMA-feels SO much nicer-a much more embracing feeling-still occasional queasiness, but both feeling a lot better-very tired though.
T+9 hours - have had sex a couple of times, but the BZP/TFMPP has made it impossible to climax-they don't usually have too much trouble on MDMA crystal. Still suffering from occasional nausea waves and very tired indeed.
T+10 hours - decide to go to bed-both feel a bit wired but are so tired that they fall asleep quite easily.
T+18 hours -the morning after... both exhausted and still feeling queasy!
T+22 hours - still feel quite fragile and drained.
Conclusion
A powerful stimulant, which would have been ok were it not for the negative side effects. Might be ok for taking before going out to play a gig, but it would need to be when one was fully rested and fully nourished. As a replacement for MDMA it's a non starter. It has none of the warmth of MDMA, very little empathic quality, and is much more akin to speed or dexys-only more coarse, harsh and physically draining.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Ocala events
-
tank 250 touring scooter assembly instructions
Peers & Hilton, RG9 - Estate agents and letting agents - Zoopla
Zoopla > Smarter Property Search > Profile of Peers & Hilton, RG9 Estate and Letting Agents on Zoopla. View details of Peers & Hilton's location, listed .
http://www.zoopla.co.uk/find-agents/branch/peers-and-hilton-henley-on-thames-5896/Oxfordshire Estate Agents - Peers and Hilton
Peers and Hilton are your local Estate Agent in Oxfordshire. Members of our .
http://www.peersandhilton.com/oxfordshire_estateagent.htmlPeers & Hilton, Henley-On-Thames | Estate Agents - Yell
Find Peers & Hilton in Henley-On-Thames on Yell. Get directions or leave a review about this business.
http://www.yell.com/b/Peers+and+Hilton-Estate+Agents-henleyonthames-RG91UR-788226/
noz to noz x series kennels Upcoming events in Ocala
- Sponsored event
ground transportation newark nj to brooklyn
Apr 6 - Dance It Studio
advanced laser center at sunset stoney creek king street family doctor
bag of water flys Hottest Tickets
-
Apr 11where did fxcop come from
Amway Center -
Apr 28somers ct girls lacrosse
Amway Center -
Jun 25how to teach on online course
Bob Carr Performing Arts Center -
Mar 30in session web tru tv program
Amway Center -
Aug 27spunky angels melanie peachyforum
Amway Center -
Jun 21adjusting 2005 dodge caravan headlights
Amway Center -
Sep 13state track scoring michigan
Francis Field -
Mar 17dicks sporting goods department store
St Augustine Amphitheatre -
Oct 8san diego exhaust hoods
Amway Center -
May 4newcastle amsterdam cheap flights
Bob Carr Performing Arts Center
Ocala's best venues
-
Peers & Hilton, RG9 - Property to rent from Peers & Hilton estate ...
Results 1 - 13 of 13 . Zoopla > Smarter Property Search > Peers & Hilton, RG9 - Property to rent from Peers & Hilton, RG9 and property listings from all RG9 estate .
http://www.zoopla.co.uk/to-rent/branch/peers-and-hilton-henley-on-thames-5896/ -
Find 2 bedroom houses for sale in Henley-On-Thames ... - Rightmove
. floorplan and brochure · Save property · Contact agent · Upgrade listing. Marketed by Peers & Hilton, Henley on Thames. Telephone: 01491 411066 Local call .
http://www.rightmove.co.uk/property-for-sale/Henley-On-Thames/2-bed-houses.html -
Find bungalows for sale in Henley-On-Thames ... - Rightmove
. floorplan and brochure · Save property · Contact agent · Upgrade listing. Marketed by Peers & Hilton, Henley on Thames. Telephone: 01491 411066 Local call .
http://www.rightmove.co.uk/property-for-sale/Henley-On-Thames/bungalows.htmlwhy was the european formed
98 people's favorite
-
Berkshire Estate Agents - Peers and Hilton
Peers and Hilton are your local Estate Agent in Berkshire. Members of our .
http://www.peersandhilton.com/berkshire_estateagent.html -
Property for sale in Henley-On-Thames - Flats ... - Rightmove
Contact details and properties from Peers & Hilton, Henley on Thames . 5 bedroom house for sale Northfield End, Henley-On-Thames, Oxfordshire, RG9 .
http://www.rightmove.co.uk/property-for-sale/Henley-On-Thames.html


Cabinet Chamber
candidate one
i believe am fit for this government office because my current CV for the following reasons: this and that.
candidate two
i believe am fit for this government office because my current CV for the following reasons: this and that.
candidate three
i believe am fit for this government office because my current CV for the following reasons: this and that.
Investigation Bureau
candidate one
i believe am fit for this government office because my current CV for the following reasons: this and that.
candidate two
i believe am fit for this government office because my current CV for the following reasons: this and that.
candidate three
i believe am fit for this government office because my current CV for the following reasons: this and that.


Static Properties
Member Properties
- applies to type:
object
synonyms:
arbitrary
Accept unknown key names when no validator for unknown keys can be found.
- applies to type:
object
,array
synonyms:
forAll
,every
,forEvery
Every child or element of the document my by validated by this Likeness.
Validate if any one of an Array of Likenesses validates. When transforming, the first Likeness to complete the transform successfully is used.
Any Array of possible values. Validating documents must exactly match one of these values.
Indicate that all functional constraints on this Likeness are dedicated async Functions. Forces the entire ancestor chain to use asynchronous execution mode exclusively.
If a fixed child name begins with a period, this property is used to insulate it from the operator namespace.
A non-functional constraint provided to support the JSON Schema specification.
- applies to type:
number
,integer
synonyms:
lessThan
,lt
Exclusive maximum value.
- applies to type:
number
,integer
synonyms:
greaterThan
,gt
Exclusive minimum value.
- applies to type:
object
,array
synonyms:
thereExists
For each element in this constraint, at least one child or element of the document must validate. If the element likeness has a times constraint, more than one validating child or element my be required to validate the
exists
constraint.
- applies to type:
object
,array
synonyms:
extra
Children and elements not affected by any other constraint will be validated and transformed by this Likeness.
- applies to type:
object
,array
,string
synonyms:
len
,keys
,vals
,values
Validates if the string length or child or element count is exactly equal to the given value.
- applies to type:
string
synonyms:
regex
,regexp
Validates if the string matches the provided regular expression.
applies to type:
object
Child Likenesses flexibly matched to keys by regular expressions. Child matches are executed in documented order. When transforming, the first matching regular expression is used.
synonyms:
maxKeys
,maxVals
,maxValues
,lessOrEqual
,lte
The maximum value, string length or child or element count for the document.
synonyms:
minKeys
,minVals
,minValues
,greaterOrEqual
,gte
The minimum value, string length or child or element count for the document.
- applies to type:
number
,integer
synonyms:
mod
Validates if the value modulo a given value is equal to another given value. Formatted as
[ divisor, remainder ]
.
applies to type:
number
,integer
Validates if the remainder of division by the given value is exactly zero.
Validate if another Likeness does not. When transforming, the final value after all transforms have been applied must not be validated by this Likeness.
synonyms:
exactlyOne
Validate if one and only one of an Array of Likenesses validates. When transforming, every Likeness is applied. One and only one must complete successfully.
applies to type: direct children of an
object
Whether this document is required to exist on the parent document.
Recursive reference, as either a Number of levels or unix-like backref String composed of any
number of concatenated "../"
sequences. Replaces the Likeness in this position with an
ancestral likeness.
applies to type:
array
Validations and transforms for each element of the document are handled by their sister elements in this constraint. If the sequence runs out of Likenesses before the document, validations and transforms will fail unless an extras constraint is available.
Restrict the document to a specific JSON type. Acceptable values are:
"object"
"array"
"string"
"number"
"integer"
applies to type:
object
,array
Does not validate if any children or elements of the document are duplicates. When transforming, the constraint is enforced but enforcement will not cause the transform to fail.
Provide a document which all valid documents must replicate exactly.
Methods
- applies to type:
object
- synonyms:
keyTest
Manually transform the document with a Function. Affected by the async property.
Arguments
Returns
In synchronous transform mode, return the transformed value, or undefined
to drop the
document from its parent (if any).


The Boost C++ Libraries
This book is licensed under a Creative Commons License.
Many developers think about graphical user interfaces when hearing the term 'event handling': At the click of a button, the associated function is executed. The click itself is the event while the function is the corresponding event handler.
The usage of this pattern is certainly not limited to graphical user interfaces though. In general, arbitrary objects can call dedicated functions based on specific events. The Boost.Signals library introduced in this chapter provides an easy way to apply this pattern in C++.
Strictly speaking, the Boost.Function library could also be used for event handling. One crucial difference between Boost.Function and Boost.Signals, however, is the ability of Boost.Signals to associate more than one event handler with a single event. Therefore, Boost.Signals supports event-driven development much better and should be the first choice whenever events must be handled.
While the name of the library seems to be a bit misleading at first, it actually is not. Boost.Signals implements a pattern named signal to slot which is based on the concept that associated slots are executed once the corresponding signal is issued. In principle, one can substitute the words 'signal' and 'slot' with 'event' and 'event handler', respectively. However, since signals can be issued at any given time, the concept renounces events.
Consequently, Boost.Signals does not offer classes that resemble events. Instead, it provides a class named boost::signal
defined in boost/signal.hpp
. This header file is actually the only one required knowing since it will include dependent header files automatically.
Boost.Signals defines additional classes residing in the boost::signals namespace. Since boost::signal
is the most commonly used class, it actually resides in the namespace boost instead.
#include <boost/signal.hpp> #include <iostream> void func() { std::cout << "Hello, world!" << std::endl; } int main() { boost::signal<void ()> s; s.connect(func); s(); }
boost::signal
is actually implemented as a template function expecting the signature of a function, used as the event handler, as its template parameter. In the example, only functions with a signature of void ()
can be associated with the signal s successfully.
The function func()
is associated with the signal s using the connect()
method. Since func()
conforms to the required void ()
signature, the association is successfully established. func()
is therefore called whenever the signal s is triggered.
The signal is triggered by calling s just like a regular function. The signature of this function corresponds to the one passed as the template parameter: The brackets are empty since void ()
does not expect any parameters.
Calling s results in a trigger which in turn executes the func()
function - previously associated using connect()
- accordingly.
The same example can also be realized using Boost.Function instead.
#include <boost/function.hpp> #include <iostream> void func() { std::cout << "Hello, world!" << std::endl; } int main() { boost::function<void ()> f; f = func; f(); }
Similar to the previous example, func()
is associated with f. Once called, func()
is executed accordingly. While Boost.Function is limited to these scenarios, Boost.Signals offers far more variety such as associating multiple functions with a particular signal as shown in the following example.
#include <boost/signal.hpp> #include <iostream> void func1() { std::cout << "Hello" << std::flush; } void func2() { std::cout << ", world!" << std::endl; } int main() { boost::signal<void ()> s; s.connect(func1); s.connect(func2); s(); }
boost::signal
allows assigning multiple functions to a particular signal by calling the connect()
method repeatedly. Whenever the signal is triggered, the functions are executed in the order they have been previously associated using connect()
.
Alternatively, the order can be explicitly specified using an overloaded version of the connect()
method that expects a value of type int
as an additional parameter.
#include <boost/signal.hpp> #include <iostream> void func1() { std::cout << "Hello" << std::flush; } void func2() { std::cout << ", world!" << std::endl; } int main() { boost::signal<void ()> s; s.connect(1, func2); s.connect(0, func1); s(); }
As with the previous example, func1()
is executed before func2()
.
To release an associated function with a given signal, the disconnect()
method is used.
#include <boost/signal.hpp> #include <iostream> void func1() { std::cout << "Hello" << std::endl; } void func2() { std::cout << ", world!" << std::endl; } int main() { boost::signal<void ()> s; s.connect(func1); s.connect(func2); s.disconnect(func2); s(); }
This example only prints Hello
since the association with func2()
has been released prior to triggering the signal.
Besides connect()
and disconnect()
, boost::signal
offers only a few additional methods.
#include <boost/signal.hpp> #include <iostream> void func1() { std::cout << "Hello" << std::flush; } void func2() { std::cout << ", world!" << std::endl; } int main() { boost::signal<void ()> s; s.connect(func1); s.connect(func2); std::cout << s.num_slots() << std::endl; if (!s.empty()) s(); s.disconnect_all_slots(); }
num_slots()
returns the number of associated functions. If no function is associated, num_slots()
returns 0 accordingly. In this particular case, the empty()
method can be used instead. The disconnect_all_slots()
method actually does exactly what its name expresses: It releases all existing associations.
After seeing how functions are associated with signals as well as understanding what happens once a signal is triggered, one question actually remains: What happens to the return values of these functions? The following example answers this question.
#include <boost/signal.hpp> #include <iostream> int func1() { return 1; } int func2() { return 2; } int main() { boost::signal<int ()> s; s.connect(func1); s.connect(func2); std::cout << s() << std::endl; }
Both func1()
and func2()
now have a return value of type int
. s processes both return values and writes them to the standard output stream somehow. However, what happens exactly?
The above example will actually write 2
to the standard output stream. Both return values were correctly accepted by s but were ignored except for the last one. By default, only the last return value of all associated functions is actually returned.
It is possible to customize a signal so that the individual return values are processed accordingly. For that purpose, a so-called combiner must be passed to boost::signal
as the second parameter.
#include <boost/signal.hpp> #include <iostream> #include <algorithm> int func1() { return 1; } int func2() { return 2; } template <typename T> struct min_element { typedef T result_type; template <typename InputIterator> T operator()(InputIterator first, InputIterator last) const { return *std::min_element(first, last); } }; int main() { boost::signal<int (), min_element<int> > s; s.connect(func1); s.connect(func2); std::cout << s() << std::endl; }
A combiner is a class overloading the operator()()
operator. This operator is automatically called with two iterators pointing to all return values for a particular signal. The example uses the standard C++ algorithm std::min_element()
to determine and return the smallest value.
Unfortunately, it is not possible to pass an algorithm such as std::min_element()
directly to boost::signal
as a template parameter. boost::signal
expects that the combiner defines a type called result_type
that denotes the type of the value returned by the operator()()
operator. Since this type is omitted by the standard C++ algorithms, an error is issued during compilation accordingly.
Instead analyzing return values, a combiner can also save them.
#include <boost/signal.hpp> #include <iostream> #include <vector> #include <algorithm> int func1() { return 1; } int func2() { return 2; } template <typename T> struct min_element { typedef T result_type; template <typename InputIterator> T operator()(InputIterator first, InputIterator last) const { return T(first, last); } }; int main() { boost::signal<int (), min_element<std::vector<int> > > s; s.connect(func1); s.connect(func2); std::vector<int> v = s(); std::cout << *std::min_element(v.begin(), v.end()) << std::endl; }
The example saves all the return values in a vector which in turn is returned by s()
.
Functions can be managed with the aid of the connect()
and disconnect()
methods provided by boost::signal
. Due to connect()
returning a value of type boost::signals::connection
, they can be managed differently as well.
#include <boost/signal.hpp> #include <iostream> void func() { std::cout << "Hello, world!" << std::endl; } int main() { boost::signal<void ()> s; boost::signals::connection c = s.connect(func); s(); c.disconnect(); }
The disconnect()
method of boost::signal
requires a function pointer being passed which can be avoided by calling the disconnect()
method on the boost::signals::connection
object directly.
In addition to the disconnect()
method, boost::signals::connection
also provides methods such as block()
and unblock()
.
#include <boost/signal.hpp> #include <iostream> void func() { std::cout << "Hello, world!" << std::endl; } int main() { boost::signal<void ()> s; boost::signals::connection c = s.connect(func); c.block(); s(); c.unblock(); s(); }
The above program executes func()
exactly once. Even though the signal s is triggered twice, func()
is not called for the first trigger since the connection c has actually been blocked by a call to block()
. Since unblock()
is called before the second trigger, func()
is now executed correctly.
Besides boost::signals::connection
, a class named boost::signals::scoped_connection
is offered that releases the connection during destruction automatically.
#include <boost/signal.hpp> #include <iostream> void func() { std::cout << "Hello, world!" << std::endl; } int main() { boost::signal<void ()> s; { boost::signals::scoped_connection c = s.connect(func); } s(); }
Since the connection object c is destroyed before the signal is triggered, func()
is not being called.
boost::signals::scoped_connection
is actually derived from boost::signals::connection
and thus offers the same methods. The only difference is the automatic release of the connection during destruction of boost::signals::scoped_connection
.
While boost::signals::scoped_connection
certainly makes it easier to automatically release connections, objects of this type still need to be managed. It would be nice if connections could be automatically released in other cases as well without having the need to actually manage these objects.
#include <boost/signal.hpp> #include <boost/bind.hpp> #include <iostream> #include <memory> class world { public: void hello() const { std::cout << "Hello, world!" << std::endl; } }; int main() { boost::signal<void ()> s; { std::auto_ptr<world> w(new world()); s.connect(boost::bind(&world::hello, w.get())); } std::cout << s.num_slots() << std::endl; s(); }
The above program associates the method of an object with a signal by using Boost.Bind. The object is destroyed before the signal is triggered which creates an issue. Opposed to passing the actual object w, only a pointer has been passed to boost::bind()
instead. By the time s()
is actually called, the object referenced by the pointer does no longer exist.
It is possible to modify the program so that the connection is automatically released once the object w is destroyed.
#include <boost/signal.hpp> #include <boost/bind.hpp> #include <iostream> #include <memory> class world : public boost::signals::trackable { public: void hello() const { std::cout << "Hello, world!" << std::endl; } }; int main() { boost::signal<void ()> s; { std::auto_ptr<world> w(new world()); s.connect(boost::bind(&world::hello, w.get())); } std::cout << s.num_slots() << std::endl; s(); }
If executed now, num_slots()
actually returns 0
to make sure that no method is tried to be called on an already destroyed object. The only change necessary was to derive the world
class from boost::signals::trackable
. Whenever pointers to objects instead of object copies are used to associate functions with signals, boost::signals::trackable
can simplify the management of the connections considerably.
You can buy solutions to all exercises in this book as a ZIP file.
Create a program by defining a class named button
which represents a clickable button within a graphical user interface. Add two methods add_handler()
and remove_handler()
, both expecting a function name as a parameter, to the class. If a click()
method is called, the registered functions should be executed sequentially.
Test your code by creating an instance of the button
class and writing a message to the standard output stream from within the event handler. Call the click()
function to simulate a mouse click on the button.
Copyright © 2008-2010 Boris Schäling


NIF Objects | Compound Types | Enum Types | Basic Types | File Versions
| Number | Name | Description |
|---|---|---|
| 0x00000001 | SWSF1_UNKNOWN0 | Unknown |
| 0x00000002 | SWSF1_Bypass_Refraction_Map | Bypasses refraction map when set to 1 |
| 0x00000004 | SWSF1_Water_Toggle | Main water Layer on/off |
| 0x00000008 | SWSF1_UNKNOWN3 | Unknown |
| 0x00000010 | SWSF1_UNKNOWN4 | Unknown |
| 0x00000020 | SWSF1_UNKNOWN5 | Unknown |
| 0x00000040 | SWSF1_Highlight_Layer_Toggle | Reflection layer 2 on/off. (is this scene reflection?) |
| 0x00000080 | SWSF1_Enabled | Water layer on/off |


ScoreKeeper Plugin
Easily keep track of your players scores locally on the device in a persistent manner.
Get the Plugin
If you don't already have it, get the ScoreKeeper plugin from the Corona Marketplace.
Load the Plugin
Load the plugin by adding an entry to the plugins table of build.settings file:
settings = { plugins = { ["plugin.scorekeeper"] = { publisherId = "com.develephant" }, }, }
Initialize the Plugin
See the API documentation for details on initializing the plugin in your code.


--- layout: page title: About permalink: /about/ main_image_path: main_image_caption: frontpage: false homepage_description_markdown: Short home page description frontpagetitle: About archive: false images: - image_path: image_title: image_description: _options: main_image_path: width: 1200 height: 1200 resize_style: contain mime_type: image/jpeg _comments: title: Page title permalink: Be careful editing this main_image_path: Image used to represent your page archive: Not used yet! frontpage: Show this page on the homepage homepage_description_markdown: Text used on homepage if shown frontpagetitle: Alternative title for home page use images: Add and edit images here ---
Coaching
children, young people, young adults, their supporters
Leading development & delivery
multi-stakeholder projects
Navigating cross-boundary projects
public sector
Supporting charities
organisational development tasks & projects
Enabling practitioners & professionals
through Coaching & Mentoring
to support you or your organisation to reach it goals
Your commission does not have to be big for us to work together!
Includes:
In my spare time I'm a proud NHS Community Volunteer #Covid19


{% csrf_token %}
{{ form.as_p }}
Already have a account?
Login
First name
Last name
Email
@
Agree to terms and conditions
Submit


CASH BAIL RECEIPT
(Section 122, C.P.C.)
Received from {{ single_record.criminal }}
the sum of Kenya Shillings {{ single_record.sum }}/-. The aforesaid
person being accused on a charge of {{ single_record.crime }}.
C.F No .......... and being required to appear before
{{ single_record.court_name }} at {{ single_record.court_time }} on {{ single_record.court_date }} to answer to
the said charge or in default forfeit the sum deposited


Start using our app today
Set of tools to seamlessly manage projects during their entire life cycleFree Version
$ 0 /month
Who is this for?
Free version for students and regular users
- Time Tracking
- Resource Planning
- Integrations
- Task Management
- Reporting
- Invoicing
Free Version
$ 0 / month
Who is this for?
Free version for students and regular users
- Time Tracking
- Resource Planning
- Integrations
- Task Management
- Reporting
- Invoicing
Free Version
$ 0 / month
Who is this for?
Free version for students and regular users
- Time Tracking
- Resource Planning
- Integrations
- Task Management
- Reporting
- Invoicing


I have been actively working on version 2 since June 2019. The first public preview will be available in November 2019. The main themes of version 2:
Preview 1 will have these limitations:
SpectNet IDE encapsulates the tools you need to develop Z80 Programs for the ZX Spectrum 48K, 128+, and +3E. It integrates with Visual Studio 2017 and 2019 IDE, including the free Community editions.
In Visual Studio, you can create ZX Spectrum projects. SpectNetIde provides two project types out of the box.
You can use the ZX Spectrum Code Discovery Project to analyze, examine, and debug the Z80 code of the ROM, games, and other applications. Also, you can create your own Z80 assembly programs with the built-in assembler.
The ZX Scripting Console App allows you to write C# applications to create scripts that control the ZX Spectrum virtual machine. This project type can be used to understand how games run (e.g. equip them with "eternal life"), and automate tasks that help you peep into the code that could not be solved otherwise.
The built-in ZX Spectrum Emulator allows you to run a virtual machine just like the original hardware. It not only ensures high-fidelity operation of the selected ZX Spectrum model; you can pause the machine any time to start debugging.
The emulator allows you to save and restore the paused state of the virtual machine, moreover, you can store these files as a part of your project.
The built-in Z80 Disassembler has many unique features that only SpectNetIDE provides. It not only turns binary code into Z80 disassembly, but it allows you to annotate the code.
You can define labels and symbols as well as tail or prefix comments. To separate code and data, you can mark segments of the binary as a byte or a word array or a memory area to ignore.
The SpectNetIDE disassembler understands ZX Spectrum specific code, such as the byte code following the RST $08 and RST $28 instructions, and generates the output accordingly.
The disassembler understands the extended Z80 instruction set of ZX Spectrum Next, and — of course — handles all undocumented Z80 operations. The IDE comes with annotated ROMs for each model, including ZX Spectrum 48K, +128, and +3E.
Creating and analyzing code is in the heart of SpectNetIDE. The environment provides many tools to examine the running code, the state of the CPU, the ULA, and the memory.
When stepping through code, you can immediately get information about the number of T-cycles spent between to stops, as well as the clock cycles wasted for contended memory access.
With the help of the Disassembly tool window, you can set up simple breakpoints, and even define conditions to pause the execution flow.
The Memory tool window allows you to have a real-time view of the memory, highlighting the addresses pointed by one of the 16-bit Z80 register pairs.
To examine the running code, you can define and show watch expressions that combine the state of registers, flags, and memory locations into display values that tell you what the program does.
SpectNetIde provides you a robust Z80 assembler with many useful features.
You can set up breakpoint in the source code. When the execution flow reaches one of them, the corresponding source code is displayed. The Debug, Pause, Step-Into, Step-Over, and Step-Out commands are available with source code, too.
You can export the Z80 assembly code into .TZX and .TAP code files that can be immediately LOADed into ZX Spectrum — with optional auto start support.


COMMENTS
Comments in RC BASIC have to be on a separate
line from executable code. To make a comment you would use a single
quote.  COMMENTS MUST BE ON SEPARATE LINES FROM CODE
In the above example the first line is correct. It
starts the line with a comment. The second line however attempts to
add a comment to a line that already has code on it. That line will
not compile.


HW1 - Part 2
CSE 134B - Summer 2017
1. Button and script test
2. Form and Input tests
Using text fields, form, fieldset, radio buttons and checkboxes
Enter the text you want to display, and select some options
3. Object test
Embedding our team page as an object
Embedding a video as an object
4. TextArea, Iframe and Hyperlink tag test
- Current Pages
- index.html
- tagtest.html
- soundboard-part1a.html
- soundboard-part1b.html
Main Page
5. Additional Fieldset and Input Test
6. List elements - li, ol, ul, dl, dd, dt tests
Chocolate Cake Ingredients:
- 3/4 cups butter or margarine, softened.
- 3 eggs.
- 2 cups sugar.
- 2 cups flour.
- 3/4 cup unsweetened cocoa powder.
- 1 teaspoon baking soda.
- 3/4 teaspoon baking powder.
- 2 teaspoon vanilla.
Reasons to eat cake
- Tastes awesome
- Do you need any more reasons
There are different types of cakes - here are some examples
- Layer cakes
- Black Forest
- Red Velvet
- Vanilla Bean
- Pound Cakes
- Sponge Cakes
- Angel Food cake
- Lemon Drizzle
7. ins and del Test
We cheated did not cheat on this homework!
8. Section, header, img and picture Test
GIF:
PNG:
JPG:
WEBP:
SVG:
Picture test: