sprintf
(PHP 4, PHP 5, PHP 7)
sprintf — Return a formatted string
说明
string sprintf ( string $format [, mixed $args [, mixed $... ]] )
Returns a string produced according to the formatting string format.
参数
format
The format string is composed of zero or more directives: ordinary
characters (excluding %) that are copied directly to the result, and
conversion specifications, each of which results in fetching its own
parameter. This applies to both sprintf() and printf().
Each conversion specification consists of a percent sign (%), followed by
one or more of these elements, in order:
1. An optional sign specifier that forces a sign (- or +) to be used on a
number. By default, only the - sign is used on a number if it's
negative. This specifier forces positive numbers to have the + sign
attached as well, and was added in PHP 4.3.0.
2. An optional padding specifier that says what character will be used for
padding the results to the right string size. This may be a space
character or a 0 (zero character). The default is to pad with spaces.
An alternate padding character can be specified by prefixing it with a
single quote ('). See the examples below.
3. An optional alignment specifier that says if the result should be
left-justified or right-justified. The default is right-justified; a -
character here will make it left-justified.
4. An optional number, a width specifier that says how many characters
(minimum) this conversion should result in.
5. An optional precision specifier in the form of a period (.) followed by
an optional decimal digit string that says how many decimal digits
should be displayed for floating-point numbers. When using this
specifier on a string, it acts as a cutoff point, setting a maximum
character limit to the string. Additionally, the character to use when
padding a number may optionally be specified between the period and the
digit.
6. A type specifier that says what type the argument data should be
treated as. Possible types:
☆ % - a literal percent character. No argument is required.
☆ b - the argument is treated as an integer, and presented as a
binary number.
☆ c - the argument is treated as an integer, and presented as the
character with that ASCII value.
☆ d - the argument is treated as an integer, and presented as a
(signed) decimal number.
☆ e - the argument is treated as scientific notation (e.g. 1.2e+2).
The precision specifier stands for the number of digits after the
decimal point since PHP 5.2.1. In earlier versions, it was taken as
number of significant digits (one less).
☆ E - like %e but uses uppercase letter (e.g. 1.2E+2).
☆ f - the argument is treated as a float, and presented as a
floating-point number (locale aware).
☆ F - the argument is treated as a float, and presented as a
floating-point number (non-locale aware). Available since PHP
4.3.10 and PHP 5.0.3.
☆ g - shorter of %e and %f.
☆ G - shorter of %E and %f.
☆ o - the argument is treated as an integer, and presented as an
octal number.
☆ s - the argument is treated as and presented as a string.
☆ u - the argument is treated as an integer, and presented as an
unsigned decimal number.
☆ x - the argument is treated as an integer and presented as a
hexadecimal number (with lowercase letters).
☆ X - the argument is treated as an integer and presented as a
hexadecimal number (with uppercase letters).
Variables will be co-erced to a suitable type for the specifier:
Type Handling
Type Specifiers
string s
integer d, u, c, o, x, X, b
double g, G, e, E, f, F
Warning
Attempting to use a combination of the string and width specifiers with
character sets that require more than one byte per character may result in
unexpected results
The format string supports argument numbering/swapping. Here is an example:
Example #1 Argument swapping
This will output "There are 5 monkeys in the tree". But imagine we are
creating a format string in a separate file, commonly because we would like
to internationalize it and we rewrite it as:
Example #2 Argument swapping
We now have a problem. The order of the placeholders in the format string
does not match the order of the arguments in the code. We would like to
leave the code as is and simply indicate in the format string which
arguments the placeholders refer to. We would write the format string like
this instead:
Example #3 Argument swapping
An added benefit here is that you can repeat the placeholders without
adding more arguments in the code. For example:
Example #4 Argument swapping
When using argument swapping, the n$ position specifier must come
immediately after the percent sign (%), before any other specifiers, as
shown in the example below.
Example #5 Specifying padding character
以上例程会输出：
......123
000000123
Example #6 Position specifier with other specifiers
以上例程会输出：
The tree contains 0005 monkeys
Note:
Attempting to use a position specifier greater than PHP_INT_MAX will
result in sprintf() generating warnings.
Warning
The c type specifier ignores padding and width
args
...
返回值
Returns a string produced according to the formatting string format.
范例
Example #7 printf(): various examples
以上例程会输出：
%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'
Example #8 printf(): string specifiers
以上例程会输出：
[monkey]
[ monkey]
[monkey ]
[0000monkey]
[####monkey]
[many monke]
Example #9 sprintf(): zero-padded integers
Example #10 sprintf(): formatting currency
Example #11 sprintf(): scientific notation
参见
• printf() - 输出格式化字符串
• sscanf() - 根据指定格式解析输入的字符
• fscanf() - 从文件中格式化输入
• vsprintf() - 返回格式化字符串
• number_format() - 以千位分隔符方式格式化一个数字
• date() - 格式化一个本地时间／日期
User Contributed Notes 57 notes
===============================================================================
1. A plus sign ('+') means put a '+' before positive numbers while a minus
sign ('-') means left justify. The documentation incorrectly states that they
are interchangeable. They produce unique results that can be combined:
outputs:
| +1| -1|
|1 |-1 |
|+1 |-1 |
2. Padding with a '0' is different than padding with other characters. Zeros
will only be added at the front of a number, after any sign. Other characters
will be added before the sign, or after the number:
outputs:
|-002|
|::-2|
|-2::|
|-2 |
|-211|
|-2 |
===============================================================================
Here is how to print a floating point number with 16 significant digits
regardless of magnitude:
This works more reliably than doing something like sprintf('%.15F', $value) as
the latter may cut off significant digits for very small numbers, or prints
bogus digits (meaning extra digits beyond what can reliably be represented in a
floating point number) for very large numbers.
===============================================================================
Using argument swapping in sprintf() with gettext: Let's say you've written the
following script:
Now you run xgettext in order to generate a .po file. The .po file will then
look like this:
#: file.php:9
#, ycp-format
msgid "The %2\\$s contains %1\\$d monkeys"
msgstr ""
Notice how an extra backslash has been added by xgettext.
Once you've translated the string, you must remove all backslashes from the ID
string as well as the translation, so the po file will look like this:
#: file.php:9
#, ycp-format
msgid "The %2$s contains %1$d monkeys"
msgstr "Der er %1$d aber i %2$s"
Now run msgfmt to generate the .mo file, restart Apache to remove the gettext
cache if necessary, and you're off.
===============================================================================
With printf() and sprintf() functions, escape character is not backslash '\'
but rather '%'.
Ie. to print '%' character you need to escape it with itself:
===============================================================================
There are already some comments on using sprintf to force leading leading zeros
but the examples only include integers. I needed leading zeros on floating
point numbers and was surprised that it didn't work as expected.
Example:
This will result in 01. However, trying the same for a float with precision
doesn't work:
Yields 1.00.
 To get the desired result, one needs to add the
precision (2) and the length of the decimal seperator "." (1). So the correct
pattern would be
Output: 01.00
Please see http://stackoverflow.com/a/28739819/413531 for a more detailed
explanation.
===============================================================================
I created this function a while back to save on having to combine
mysql_real_escape_string onto all the params passed into a sprintf. it works
literally the same as the sprintf other than that it doesn't require you to
escape your inputs. Hope its of some use to people
Regards
Jay
Jaygilford.com
===============================================================================
I had a nightmare trying to find the two's complement of a 32 bit number.
I got this from http://www.webmasterworld.com/forum88/13334.htm (credit where
credit is due... =P )
Quote: ...find out the 2's complement of any number, which is -(pow(2, n) - N)
where n is the number of bits and N is the number for which to find out its 2's
complement.
This worked magic for me... previously I was trying to use
sprintf ("%b",$32BitDecimal);
But it always returned<PHONE_NUMBER>0000000000000 when the $32BitDecimal value got
above 2,000,000,000.
This -(pow(2, n) - N)
Worked remarkably well and was very accurate.
Hope this helps someone fighting with two's complement in PHP.
===============================================================================
Note that when using the argument swapping, you MUST number every argument,
otherwise sprintf gets confused. This only happens if you use number arguments
first, then switch to a non-numbered, and then back to a numbered one.
===============================================================================
A more complete and working version of mb_sprintf and mb_vsprintf. It should
work with any "ASCII preserving" encoding such as UTF-8 and all the ISO-8859
charsets. It handles sign, padding, alignment, width and precision. Argument
swapping is not handled.
0 && mb_strlen($arg,$encoding) > $precision)
$arg = mb_substr($precision,0,$precision,$encoding);
}
// define padding
if ($size > 0) {
$arglen = mb_strlen($arg, $encoding);
if ($arglen < $size) {
if($filler==='')
$filler = ' ';
if ($align == '-')
$padding_post = str_repeat($filler, $size - $arglen);
else
$padding_pre = str_repeat($filler, $size - $arglen);
}
}
// escape % and pass it forward
$newformat .= $padding_pre . str_replace('%', '%%', $arg) .
$padding_post;
}
else {
// another type, pass forward
$newformat .= "%$sign$filler$align$size$precision$type";
$newargv[] = array_shift($argv);
}
$format = strval($post);
}
// Convert new format back from UTF-8 to the original encoding
$newformat = mb_convert_encoding($newformat, $encoding, 'UTF-8');
return vsprintf($newformat, $newargv);
}
}
?>
===============================================================================
When you're using Google translator, you have to 'escape' the 'conversion
specifications' by putting around them.
Like this:
$0';
$sString = preg_replace($sPatern, $sEscapeString, $sString);
}
// Compose data array (English to Dutch)
$aData = array(
'v' => '1.0',
'q' => $sString,
'langpair' => 'en|nl',
);
// Initialize connection
$rService = curl_init();
// Connection settings
curl_setopt($rService, CURLOPT_URL, 'http://ajax.googleapis.com/ajax/
services/language/translate');
curl_setopt($rService, CURLOPT_RETURNTRANSFER, true);
curl_setopt($rService, CURLOPT_POSTFIELDS, $aData);
// Execute request
$sResponse = curl_exec($rService);
// Close connection
curl_close($rService);
// Extract text from JSON response
$oResponse = json_decode($sResponse);
if (isset($oResponse->responseData->translatedText))
{
$sTranslation = $oResponse->responseData->translatedText;
}
else
{
// If some error occured, use the original string
$sTranslation = $sString;
}
// Replace "notranslate" tags
if ($bEscapeParams)
{
$sEscapePatern = '/([^<]*)<\/span>/';
$sTranslation = preg_replace($sEscapePatern, '$1', $sTranslation);
}
// Return result
return $sTranslation;
}
?>
Thanks to MelTraX for defining the RegExp!
===============================================================================
Just a reminder for beginners : example 6 'printf("[%10s]\n", $s);' only
works (that is, shows out the spaces) if you put the html '' tags (
head-scraping time saver ;-).
===============================================================================
I couldn't find what should be a WARNING in the documentation above, that if
you have more specifiers than variables to match them sprintf returns NOTHING.
This fact, IMHO, should also be noted under return values.
===============================================================================
Note:
If you want to use % in sprintf, you have to "quote" it like %%.
Example:
echo sprintf("Green => %d%%'", 50);
Output:
Green => 50%
===============================================================================
To jrust at rustyparts.com, note that if you're using a double-quoted string
and *don't* escape the dollar sign with a backslash, $s and $d will be
interpreted as variable references. The backslash isn't part of the format
specifier itself but you do need to include it when you write the format string
(unless you use single quotes).
===============================================================================
To make<EMAIL_ADDRESS>excellent function work on signed numbers you
must change the first line to:
$e = floor(log10(abs($x)));
===============================================================================
If you use argument numbering, then format specifications with the same number
get the same argument; this can save repeating the argument in the function
call.
===============================================================================
Was looking for a assoc way of using sprintf but couldnt find one, probably
wasnt looking hard enough so came up with this. Very very simple indeed...
0)
{
foreach ($vars as $k => $v)
{
$str = str_replace($char . $k, $v, $str);
}
}
return $str;
}
echo sprintf2('Hello %your_name my name is %my_name! I am %my_age, how old are
you? I like %object!', array(
'your_name' => 'Ben',
'my_name' => 'Matt',
'my_age' => '21',
'object' => 'food'
));
// Hello Ben my name is Matt! I am 21, how old are you? I like food!
?>
Looks nice anyway :)
===============================================================================
I needed a piece of code similar to the one Matt posted below, on the 10th of
March, 2008. However, I wasn't completely satisfied with Matt's code (sorry,
Matt! No offense intended!), because
1) I don't like to initialize variables when it's not really needed, and
2) it contains two bugs.
What are the bugs?
First, Matt's code tests for count($vars) > 0, but if $var == "Hello world!",
then count($var) == 1, but the foreach() will crash because $var has to be an
array. So instead, my code tests for is_array($var).
Second, if a key in $vars is a prefix of any of the later keys in the array
(like 'object' is the beginning of 'objective') then the str_replace messes
things up. This is no big deal if your keys are hard-coded and you can make
sure the keys don't interfere, but in my code the keys are variable. So I
decided to first sort the array on a decreasing length of the key.
$v)
{
$str = str_replace($char . $k, $v, $str);
}
}
return $str;
}
echo sprintf2( 'Hello %your_name, my name is %my_name! I am %my_age, how old
are you? I like %object and I want to %objective_in_life!'
, array( 'your_name' => 'Matt'
, 'my_name' => 'Jim'
, 'my_age' => 'old'
, 'object' => 'women'
, 'objective_in_life' => 'write code'
)
);
?>
If possible, and if you're willing, you can also embed the key fields in the
text between percent-signs, rather than prefixing the keys with one. Sorting
is no longer necessary, and the execution time is less than half of the code
above:
$v)
{
$tmp[$char . $k . $char] = $v;
}
return str_replace(array_keys($tmp), array_values($tmp), $str);
}
echo sprintf3( 'Hello %your_name%, my name is %my_name%! I am %my_age%, how old
are you? I like %object% and I want to %objective_in_life%!'
, array( 'your_name' => 'Matt'
, 'my_name' => 'Jim'
, 'my_age' => 'old'
, 'object' => 'women'
, 'objective_in_life' => 'write code'
)
);
?>
If you're willing to embed the keys in the text, you may also be willing to
embed the keys themselves in percent signs, thus shaving off another 30% of the
execution time:
'Matt'
, '%my_name%' => 'Jim'
, '%my_age%' => 'old'
, '%object%' => 'women'
, '%objective_in_life%' => 'write code'
)
);
?>
Of course, by now the sprintf function is no longer something you'd want to
write to mum and dad about...
===============================================================================
In the examples, is being shown printf, but it should say sprintf, which is the
function being explained... just a simple edition mistake.
===============================================================================
Using sprintf to force leading leading zeros
foreach (range(1, 10) as $v) {echo "
tag_".sprintf("%02d",$v);}
displays
tag_01
tag_02
tag_03
.. etc
===============================================================================
Be careful if you use the %f modifier to round decimal numbers as it (starting
from 4.3.10) will no longer produce a float number if you set certain locales,
so you can't accumulate the result. For example:
setlocale(LC_ALL, 'es_ES');
echo(sprintf("%.2f", 13.332) + sprintf("%.2f", 14.446))
gives 27 instead of 27.78, so use %F instead.
===============================================================================
@ henke dot andersson at comhem dot se: Use vprintf()/vsprintf() for that.
===============================================================================
And continuing on the same theme of a key-based sprintf...
I'm roughly (I can see a couple cases where it comes out wierd) copying the
syntax of Python's string formatting with a dictionary. The improvement over
the several past attempts is that this one still respects all of the formating
options, as you can see in my example.
And the error handling is really crappy (just an echo). I just threw this
together so do with it what you will. =]
42));
?>
Cheers!
===============================================================================
/**
This function returns a formated string with the legnth you specify
@string holds the string which you want to format
@len holds the length you want to format
**/
function formatString($string, $len)
{
if (strlen($string) < $len)
{
$addchar=($len - strlen($string)) ;
for ($i = 0; $i < $addchar; $i++)
{
$string=sprintf("$string%s", "0");
}
}
if (strlen($string) > $len)
{
$string=substr($string,0,$len);
}
return $string;
}
===============================================================================
To add to other notes below about floating point problems, I noted that %f and
%F will apparently output a maximum precision of 6 as a default so you have to
specify 1.15f (eg) if you need more.
In my case, the input (from MySQL) was a string with 15 digits of precision
that was displayed with 6. Likely what happens is that the rounding occurs in
the conversion to a float before it is displayed. Displaying it as 1.15f (or in
my case, %s) shows the correct number.
===============================================================================
If you use the default padding specifier (a space) and then print it to HTML,
you will notice that HTML does not display the multiple spaces correctly. This
is because any sequence of white-space is treated as a single space.
To overcome this, I wrote a simple function that replaces all the spaces in the
string returned by sprintf() with the character entity reference " " to
achieve non-breaking space in strings returned by sprintf()
The above example will output:
The 15 monkeys are attacking the [ zoo]!
===============================================================================
If you want to convert a decimal (integer) number into constant length binary
number in lets say 9 bits, use this:
$binary = sprintf('%08b', $number );
for example:
would output 111111111
And 2 would output 00000010
I know the leading zeros are useful to me, perhaps they are to someone else
too.
===============================================================================
Just to elaborate on downright's point about different meanings for %f, it
appears the behavior changed significantly as of 4.3.7, rather than just being
different on different platforms. Previously, the width specifier gave the
number of characters allowed BEFORE the decimal. Now, the width specifier gives
the TOTAL number of characters. (This is in line with the semantics of printf()
in other languages.) See bugs #28633 and #29286 for more details.
===============================================================================
Encoding and decoding IP adress to format: 1A2B3C4D (mysql column: char(8) )
===============================================================================
Note that in PHP5 (.1.4 for me) sprintf will not use the __toString function of
an object.
l=$l;
}
public function __toString()
{
return $this->l;
}
}
echo new pr('This works!!'); //This will display 'This works!!'
echo sprintf(new pr('This doesnt')); // will display 'Object'
?>
Be careful with that!
===============================================================================
trying to fix the multibyte non-compliance of sprintf, I came to that :
1)
$filler = substr($filler, 1) ;
while(!is_string($arg = array_shift($argv)))
$newargv[] = $arg ;
$pos = strpos($format, $string_format) ;
$format = substr($format, 0, $pos)
. ($size ? str_repeat($filler, $size-strlen($arg)) : '')
. str_replace('%', '%%', $arg)
. substr($format, $pos+strlen($string_format))
;
}
return vsprintf($format, $newargv) ;
}
?>
handle with care :
1. that function was designed mostly for utf-8. i guess it won't work with any
static mb encoding.
2. my configuration sets the mbstring.func_overload configuration directive to
7, so you may wish to replace substr, strlen, etc. with mb_* equivalents.
3. since preg_* doesn't complies with mb strings, I used a '.+' in the regexp
to symbolize an escaped filler character. That means, %'xy5s pattern will
match, unfortunately. It is recomended to remove the '+', unless you are
intending to use an mb char as filler.
4. the filler fills at left, and only at left.
5. I couldn't succeed with a preg_replace thing : the problem was to use the
differents lengths of the string arguements in the same replacement, string or
callback. That's why the code is much longuer than I expected.
6. The pattern wil not match any %1\$s thing... just was too complicated for
me.
7. Although it has been tested, and works fine within the limits above, this is
much more a draft than a end-user function. I would enjoy any improvment.
The test code below shows possibilities, and explains the problem that occures
with an mb string argument in sprintf.
===============================================================================
Note that when using a sign specifier, the number zero is considered positive
and a "+" sign will be prepended to it.
===============================================================================
$format = 'There are %1$d monkeys in the %s and %s ';
printf($format, 100, 'Chennai', 'Bangalore');
Expecting to output
"There are 100 monkeys in the Chennai and bangalore"
But, this will output
"There are 100 monkeys in the 100 and Chennai"
Because, the second and Third specifiers takes 1rst and 2nd arguments. Because
it is not assigned with any arguments.
===============================================================================
In response to Anonymous, who claimed that:
printf("[%s]\n", str_pad('Hello', 20));
and
printf("[%-20s]\n", 'Hello');
are the same thing: you've missed the point.
They're only the same when the amount of padding is a known constant. When its
a variable (or an expression), its often much more convenient to be able to
write:
printf("[%-*s]\n", 3*$n+2, "Hello");
than what you have to go through now, which is either:
$t = 3*$n+2;
printf("[%-{$t}s]\n","Hello");
or
printf("[%s]\n", str_pad('Hello', 3*$n+2));
===============================================================================
Here is an example how alignment, padding and precision specifier can be used
to print formatted list of items:
===============================================================================
Here's a clean, working version of functions to allow using named arguments
instead of numeric ones. ex: instead of sprintf('%1$s', 'Joe');, we can use
sprintf('%name$s', array('name' => 'Joe'));. I've provided 2 different
versions: the first uses the php-like syntax (ex: %name$s), while the second
uses the python syntax (ex: %(name)s).
'1st',
* 'second'=> '2nd'
* ));
*
* @param string $format sprintf format string, with any number of named
arguments
* @param array $args array of [ 'arg_name' => 'arg value', ... ] replacements
to be made
* @return string|false result of sprintf call, or bool false on error
*/
function sprintfn ($format, array $args = array()) {
// map of argument names to their corresponding sprintf numeric argument
value
$arg_nums = array_slice(array_flip(array_keys(array(0 => 0) + $args)), 1);
// find the next named argument. each search starts at the end of the
previous replacement.
for ($pos = 0; preg_match('/(?<=%)([a-zA-Z_]\w*)(?=\$)/', $format, $match,
PREG_OFFSET_CAPTURE, $pos);) {
$arg_pos = $match[0][1];
$arg_len = strlen($match[0][0]);
$arg_key = $match[1][0];
// programmer did not supply a value for the named argument found in
the format string
if (! array_key_exists($arg_key, $arg_nums)) {
user_error("sprintfn(): Missing argument '${arg_key}'",
E_USER_WARNING);
return false;
}
// replace the named argument with the corresponding numeric one
$format = substr_replace($format, $replace = $arg_nums[$arg_key],
$arg_pos, $arg_len);
$pos = $arg_pos + strlen($replace); // skip to end of replacement for
next iteration
}
return vsprintf($format, array_values($args));
}
/**
* version of sprintf for cases where named arguments are desired (python
syntax)
*
* with sprintf: sprintf('second: %2$s ; first: %1$s', '1st', '2nd');
*
* with sprintfn: sprintfn('second: %(second)s ; first: %(first)s', array(
* 'first' => '1st',
* 'second'=> '2nd'
* ));
*
* @param string $format sprintf format string, with any number of named
arguments
* @param array $args array of [ 'arg_name' => 'arg value', ... ] replacements
to be made
* @return string|false result of sprintf call, or bool false on error
*/
function sprintfn ($format, array $args = array()) {
// map of argument names to their corresponding sprintf numeric argument
value
$arg_nums = array_slice(array_flip(array_keys(array(0 => 0) + $args)), 1);
// find the next named argument. each search starts at the end of the
previous replacement.
for ($pos = 0; preg_match('/(?<=%)\(([a-zA-Z_]\w*)\)/', $format, $match,
PREG_OFFSET_CAPTURE, $pos);) {
$arg_pos = $match[0][1];
$arg_len = strlen($match[0][0]);
$arg_key = $match[1][0];
// programmer did not supply a value for the named argument found in
the format string
if (! array_key_exists($arg_key, $arg_nums)) {
user_error("sprintfn(): Missing argument '${arg_key}'",
E_USER_WARNING);
return false;
}
// replace the named argument with the corresponding numeric one
$format = substr_replace($format, $replace = $arg_nums[$arg_key] . '$',
$arg_pos, $arg_len);
$pos = $arg_pos + strlen($replace); // skip to end of replacement for
next iteration
}
return vsprintf($format, array_values($args));
}
?>
===============================================================================
You also can use sprintf to convert integers that represent RGB color to
hexadecimal RGB color.
===============================================================================
Fix for sprintfn function for named arguments (http://php.net/manual/en/
function.sprintf.php#94608):
Change the first line from:
$arg_nums = array_slice(array_flip(array_keys(array(0 => 0) + $args)), 1);
to:
$arg_nums = array_keys($args);
array_unshift($arg_nums, 0);
$arg_nums = array_flip(array_slice($arg_nums, 1, NULL, true));
===============================================================================
php printf and sprintf not seems to support star "*" formatting.
here is an example:
printf("%*d\n",3,5);
this will print just "d" instead of "5"
===============================================================================
In the last example of Example#6, there is an error regarding the output.
printf("[%10.10s]\n", $t); // left-justification but with a cutoff of 10
characters
This outputs right-justified.
In order to output left-justified:
printf("[%-10.10s]\n", $t);
===============================================================================
There is a minor issue in a code of mb_vsprintf function from viktor at textalk
dot com.
In "truncate $arg" section the following line:
$arg = mb_substr($precision,0,$precision,$encoding);
needs to be replaced with:
$arg = mb_substr($arg,0,$precision,$encoding);
===============================================================================
If you want to center align some text using the printf or sprintf functions,
you can just use the following:
function center_text($word){
$tot_width = 30;
$symbol = "-";
$middle = round($tot_width/2);
$length_word = strlen($word);
$middle_word = round($length_word / 2);
$last_position = $middle + $middle_word;
$number_of_spaces = $middle - $middle_word;
$result = sprintf("%'{$symbol}{$last_position}s", $word);
for ($i = 0; $i < $number_of_spaces; $i++){
$result .= "$symbol";
}
return $result;
}
$string = "This is some text";
print center_text($string);
off course you can modify the function to use more arguments.
===============================================================================
Mind that it doesn't allow you to use a array as multiple arguments like this:
===============================================================================
When using sprintf with padding, it's important to note that specifying the
length of your padding does not restrict the length of your output.
For example:
$var = 'test';
$output sprintf("%03s", $var);
print $output;
Produces:
test
NOT:
est
This may seem intuitive for working with numbers, but not neccesarily when
working with strings.
===============================================================================
A really working one:
===============================================================================
If you want to format a phonenumber with spaces, use chunk_split() which splits
a string into smaller chunks. It's much simpler than using sprintf.
$phone = "12345678";
chunk_split ($phone, 2);
will return 12 34 56 78
===============================================================================
An error in my last example:
$b = sprintf("%30.s", $a);
will only add enough spaces before $a to pad the spaces + strlen($a) to 30
places.
My method of centering fixed text in a 72 character width space is:
$a = "Some string here";
$lwidth = 36; // 72/2
$b = sprintf("%".($lwidth + round(strlen($a)/2)).".s", $a);
===============================================================================
It is worth noting that "%5.2f" will result in a string 8 characters long (5
then the '.' then 2), not 5 characters as you might expect.
===============================================================================
If you are going to create a counter which uses _symbols_ before actual digits
(see, f.e., SpyLog.com counters - they are filling space with "." before, so
the count like 12345 looks like "........12345"), you can use the following:
$txt = "Abracadabra"; // actual string
$fit = 16; // how many digits to use
$fill = "."; // what to fill
$digits = sprintf ("%'{$fill}{$fit}s", $txt);
Paul (a.k.a. Mr.Prolix)
===============================================================================
Little note about sprintf and its ilk.
if you attempt something like
$string = "dingy%sflem%dwombat";
$nbr = 5;
$name = "voudras";
$msg = sprintf("%d $string %s", $nbr, $name);
sprintf will complain about a lack in the number of arguments, this would be
because of the %'s in the actual string. This can be a great benifit, but is
also rather confusing if you dont realize this feature, and are passing
questionable variables to sprintf (for, say perhaps logging). One way around
this is using
ereg_replace("%","%%", $string); before
sending it off to sprintf. This is actually how i came across this as a problem
- i had realized some time ago that i would have to test my $string for
%'s, but when running the %->%% replacement on a very large serialized object,
my application timed out.
My solution was to use
sprintf("%d %s %s", $nbr, $string, $name);
but, there was a reason i originally had done this the other way - i suppose
i'll find out soon enough
===============================================================================
Example: use sprintf to zero fill
===============================================================================
Rounding seems a little inconsistent, so beware:
$ php -a
php> print round(1.0*20*1.175/100,2);
0.24
php > print sprintf("%.2f",1.0*20*1.175/100);
0.23
php > print sprintf("%.0f",1.0*20*1.175);
24
I get round this by doing the round first, then doing the sprintf.
===============================================================================
It's very comfortible for long Sql queries:
But if you have a short query, then it would be much faster to append your data
by using `.`.
===============================================================================
sprintf("SELECT * FROM event WHERE event_date >= NOW() and event_id =%d %s
GROUP BY event_id ",filter())
function filter($condition=''){
global $keyword;
if(!empty($keyword)){
$condition =" AND event_name LIKE '%$keyword%'";
}
return $condition;
}
===============================================================================
Note that the documentation is unclear about the details of the sign specifier.
First of all, the character for this is "+".
Also note that the following does NOT print "+00.00" as you might expect:
The sign is included in the width. This can't be solved by increasing the
width:
This will put the padding 0 before the sign.
Here is a possible solution:
===============================================================================
To convert / use / implement 64-bit signed 2's complement Long type values in
PHP code, use the following code
// requires bcmath
/* java 64-bit long: The long data type is a 64-bit signed two's complement
integer. It has a minimum value of -9,223,372,036,854,775,808 and a maximum
value of 9,223,372,036,854,775,807 (inclusive). Use this data type when you
need a range of values wider than those provided by int.
*/
bcscale(0);
$num = substr($data,0,8) // 8 binary bytes from file
$long = bcadd(bcmul(unpack('N',substr($num,0,4))[1],bcpow(2,32)),unpack
('N',substr($num,4,4))[1]);
if(unpack('N',substr($num,4,4))[1] & 0x80000000)
$long = bcadd($long,pow(2,32));
var_dump($long);
// now you can use $long as 64-bit signed long value by using bcmath functions
// do not use php math funcs, they cant handle 64-bit long integer values
// use bcadd bcsub etc from bcmath functions freely
Hope this helps people handling 64-bit long values retrieved from other
languages like java, etc


Notebooks
Story: Jackal clouds
Jackal clouds
Title
Jackal clouds
Collection
Summary
Clouds. Preparations to be made for the coming rain; the springbok to be watched for, etc. (L VIII.-23. 8018-8029). Jackal clouds are rain-clouds and are black. The people prepare their houses for a downpour, the men bringing bushes and the women 'making nice' the house so that they will not get wet.
Comments
1) p.8017v: |han≠kass'o saw this happen; what the husband and wife say to each other, 2) p.8018v: |xam names for clouds, 3) p.8019v: (26 November 1878) on clouds (called 'rain's hair' or !kuagen and !kuita), 4) This story is found in Book VIII-23
Contributors
|han≠kass'o (Klein Jantje) (VIII)
Date
25 November 1878 (started)
Categories
The Rain and Rain's water, History (personal), Custom and daily life
Keywords
rain (that turns back) , rain (and the appearance of the 'jackal cloud') , rain (rain–clouds and 'jackal' clouds) , rain (its clouds are called 'rain's hair') , rain (the names of clouds) , rain (that returns to the northeast) , rain (that brings the cold) , rain (people prepare their houses for) , rain (clouds that herald and bring) , rain (the season of) , rain (and the coming of springbok) , clouds (rain–clouds) , clouds (are called 'rain's hair' when red) , clouds (what people call the different) , clouds (are called 'jackal' when black) , clouds (that lie in the south) , clouds (that herald and bring rain) , clouds (the colours of) , clouds (where they lie) , jackal cloud (rain–clouds) , jackal cloud (in the south) , jackal cloud (the appearance of means rain) , jackal cloud (brings the cold) , jackal cloud (wets the people) , jackal cloud (the people prepare for rain when they see it) , jackal cloud (is black) , jackal cloud (the rain 'lays them down' as it returns to the northeast) , jackal cloud (people must 'make nice the house' when they see) , jackal cloud (and the coming of springbok) , names (of different clouds) , names ('jackal' clouds) , springbok (watching for 'jackal' clouds and the rain which brings) , house ('making nice' the) , house (the appearance of jackal clouds heralds the coming of rain)
Story Pages
8018-8020


The Real Steel robot arms were some of the most fun pieces to design of the whole system. We wanted to keep the mass of the arm as close to the axis of rotation as possible - the more balanced the arms were, the faster the motors could turn them.
To simplify the design of the complicated sensor and motor interfaces, we created a single top-level sketch of the entire robot system and derived sketches for each of the subsystems. This approach to design is a common parametric technique that allows upstream design changes without breaking everything downstream. We were able to iterate on the width of the robot's shoulders and shoulder angles while the final pieces remained relatively the same. The benefits of this approach came to fruition when we modified the arm dimensions and mass in the final sprint by changing just a few numbers and reprinting all the pieces.
We were particularly careful to keep the mass and size of the arm to a minimum. We gave special consideration to the placement of the servo and kept the center of mass as close to the shaft axis of rotation as possible. This gave the arm a fairly low mass moment of angular inertia. We used a simple linkage to transfer the servo's torque to the elbow which kept the weight down and allowed us to get a simple torque multiplier in with little effort. By maintaining a low profile on the arm components, the robot had a greater range of motion and could move fast enough for real-time movements.
We were also careful to design with failure in mind. At the major interfaces, we chose to separate the single part into two parts fastened together. Specifically for the arm, the hub that connected it to the driving motor was removable from the primary arm component. We happened to print the dimensions improperly a few times before getting the design dialed in, and the separation between hub and arm was vital to keep the iteration time as fas as possible.


Join the numbers and get to the 2048 tile!
New GameHow to play: Use your arrow keys to move the tiles. When two tiles with the same number touch, they merge into one!
Note: This site is the official version of Trusty48.
Created by Charlie Coleman. Based on 1024 by Veewo Studio and conceptually similar to Threes by Asher Vollmer.


Cancel upload


Hello there, awesome person!
Youtube. This is a link to
Youtube
Coursera. This is a link to
Coursera
Github. This is a link to
Github


In this interactive article we would like to introduce results of BRFSS survey conducted by CDC for the past 2 decades.
Raw data can be found here
Obesity is on the rise
Correlations Discovered between Obesity and Poverty, Age, Income, Healthcare and Smoking
Interesting insight:
- Positive correlation between Obesity and Poverty. Southern states tend to have the highest rates of obesity, poverty.
Insights about obesity in Michigan
Click of the any category to analyse obesity rate in Michigan with respect to that class. Explore!
Some insights:
- Age group of 45-54 years are most obese in Michigan while 18-24 years are the least obese.
- Income group of $15,000-$24,999 is most obese and they are showing increasing trend in the past 3 years. Highest income group category i.e $50,000 is the least obese.
- Race effects the obesity, Black ethinity group are most obese, while Asians are least obese group, they are showing decreasing trend in obesity.
- Guess what!!! College graduates tend to be less obese in Michigan, while post Higher Secondary educated group are the most obese.
- Ladies are more obese than gentlemen in Michigan and their obesity rate is in increasing trend.


Sweet Free Stuff
///////////////////////////////////////////
Free Bohemian Guitar Picks
Posted: 07 Oct 2015 08:15 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Free Bohemian Guitar Picks
The post Free Bohemian Guitar Picks appeared first on SweetFreeStuff.com.
///////////////////////////////////////////
Free Slice of Pizza at Villa Fresh Italian Kitchen on 10/13
Posted: 07 Oct 2015 07:36 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Free Slice of Pizza at Villa Fresh Italian Kitchen on 10/13
The post Free Slice of Pizza at Villa Fresh Italian Kitchen on 10/13
appeared first on SweetFreeStuff.com.
///////////////////////////////////////////
Free 2015 Grizzly Outdoor Corp Membership Kit
Posted: 07 Oct 2015 05:31 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Login or register then click explore the corps and complete the form. Free
2015 Grizzly Outdoor Corp Membership Kit
The post Free 2015 Grizzly Outdoor Corp Membership Kit appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Divine Anti-Aging Skin Cream at LOccitane
Posted: 06 Oct 2015 07:10 PM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Fill out the form to get a coupon redeemable at any LOccitane store. Free
Divine Anti-Aging Skin Cream at L’Occitane
The post Free Divine Anti-Aging Skin Cream at L’Occitane appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Crock Pot Seasoning Mix
Posted: 06 Oct 2015 12:38 PM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Click the link in the post to get a coupon good for a FREE Crock Pot
Seasoning Mix
The post Free Crock Pot Seasoning Mix appeared first on SweetFreeStuff.com.


Gecode::CPProfiler::Message Class Reference
Message for the CP Profiler. More...
#include <message.hpp>
Public Member Functions | |
| bool | isNode (void) const |
| bool | isDone (void) const |
| bool | isStart (void) const |
| bool | isRestart (void) const |
| NodeUID | nodeUID (void) const |
| void | set_nodeUID (const NodeUID &n) |
| NodeUID | parentUID (void) const |
| void | set_parentUID (const NodeUID &p) |
| int32_t | alt (void) const |
| void | set_alt (int32_t alt) |
| int32_t | kids (void) const |
| void | set_kids (int32_t kids) |
| NodeStatus | status (void) const |
| void | set_status (NodeStatus status) |
| void | set_label (const std::string &label) |
| void | set_info (const std::string &info) |
| void | set_nogood (const std::string &nogood) |
| void | set_version (int32_t v) |
| bool | has_version (void) const |
| int32_t | version (void) const |
| bool | has_label (void) const |
| const std::string & | label () const |
| bool | has_nogood (void) const |
| const std::string & | nogood (void) const |
| bool | has_info (void) const |
| const std::string & | info (void) const |
| void | set_type (MsgType type) |
| MsgType | type (void) const |
| void | reset (void) |
Protected Attributes | |
| MsgType | _type |
| NodeUID | _node |
| NodeUID | _parent |
| int32_t | _alt |
| int32_t | _kids |
| NodeStatus | _status |
| std::string | _label |
| std::string | _nogood |
| std::string | _info |
| int32_t | _version |
Detailed Description
Message for the CP Profiler.
Definition at line 124 of file message.hpp.
Member Function Documentation
| bool Gecode::CPProfiler::Message::isNode | ( | void | ) | const [inline] |
Definition at line 147 of file message.hpp.
| bool Gecode::CPProfiler::Message::isDone | ( | void | ) | const [inline] |
Definition at line 148 of file message.hpp.
| bool Gecode::CPProfiler::Message::isStart | ( | void | ) | const [inline] |
Definition at line 149 of file message.hpp.
| bool Gecode::CPProfiler::Message::isRestart | ( | void | ) | const [inline] |
Definition at line 150 of file message.hpp.
| NodeUID Gecode::CPProfiler::Message::nodeUID | ( | void | ) | const [inline] |
Definition at line 152 of file message.hpp.
| void Gecode::CPProfiler::Message::set_nodeUID | ( | const NodeUID & | n | ) | [inline] |
Definition at line 153 of file message.hpp.
| NodeUID Gecode::CPProfiler::Message::parentUID | ( | void | ) | const [inline] |
Definition at line 155 of file message.hpp.
| void Gecode::CPProfiler::Message::set_parentUID | ( | const NodeUID & | p | ) | [inline] |
Definition at line 156 of file message.hpp.
| int32_t Gecode::CPProfiler::Message::alt | ( | void | ) | const [inline] |
Definition at line 158 of file message.hpp.
| void Gecode::CPProfiler::Message::set_alt | ( | int32_t | alt | ) | [inline] |
Definition at line 159 of file message.hpp.
| int32_t Gecode::CPProfiler::Message::kids | ( | void | ) | const [inline] |
Definition at line 161 of file message.hpp.
| void Gecode::CPProfiler::Message::set_kids | ( | int32_t | kids | ) | [inline] |
Definition at line 162 of file message.hpp.
| NodeStatus Gecode::CPProfiler::Message::status | ( | void | ) | const [inline] |
Definition at line 164 of file message.hpp.
| void Gecode::CPProfiler::Message::set_status | ( | NodeStatus | status | ) | [inline] |
Definition at line 165 of file message.hpp.
| void Gecode::CPProfiler::Message::set_label | ( | const std::string & | label | ) | [inline] |
Definition at line 167 of file message.hpp.
| void Gecode::CPProfiler::Message::set_info | ( | const std::string & | info | ) | [inline] |
Definition at line 172 of file message.hpp.
| void Gecode::CPProfiler::Message::set_nogood | ( | const std::string & | nogood | ) | [inline] |
Definition at line 177 of file message.hpp.
| void Gecode::CPProfiler::Message::set_version | ( | int32_t | v | ) | [inline] |
Definition at line 182 of file message.hpp.
| bool Gecode::CPProfiler::Message::has_version | ( | void | ) | const [inline] |
Definition at line 187 of file message.hpp.
| int32_t Gecode::CPProfiler::Message::version | ( | void | ) | const [inline] |
Definition at line 188 of file message.hpp.
| bool Gecode::CPProfiler::Message::has_label | ( | void | ) | const [inline] |
Definition at line 190 of file message.hpp.
| const std::string& Gecode::CPProfiler::Message::label | ( | ) | const [inline] |
Definition at line 191 of file message.hpp.
| bool Gecode::CPProfiler::Message::has_nogood | ( | void | ) | const [inline] |
Definition at line 193 of file message.hpp.
| const std::string& Gecode::CPProfiler::Message::nogood | ( | void | ) | const [inline] |
Definition at line 194 of file message.hpp.
| bool Gecode::CPProfiler::Message::has_info | ( | void | ) | const [inline] |
Definition at line 197 of file message.hpp.
| const std::string& Gecode::CPProfiler::Message::info | ( | void | ) | const [inline] |
Definition at line 198 of file message.hpp.
| void Gecode::CPProfiler::Message::set_type | ( | MsgType | type | ) | [inline] |
Definition at line 200 of file message.hpp.
| MsgType Gecode::CPProfiler::Message::type | ( | void | ) | const [inline] |
Definition at line 201 of file message.hpp.
| void Gecode::CPProfiler::Message::reset | ( | void | ) | [inline] |
Definition at line 203 of file message.hpp.
Member Data Documentation
MsgType Gecode::CPProfiler::Message::_type [protected] |
Definition at line 126 of file message.hpp.
NodeUID Gecode::CPProfiler::Message::_node [protected] |
Definition at line 128 of file message.hpp.
NodeUID Gecode::CPProfiler::Message::_parent [protected] |
Definition at line 129 of file message.hpp.
int32_t Gecode::CPProfiler::Message::_alt [protected] |
Definition at line 130 of file message.hpp.
int32_t Gecode::CPProfiler::Message::_kids [protected] |
Definition at line 131 of file message.hpp.
NodeStatus Gecode::CPProfiler::Message::_status [protected] |
Definition at line 132 of file message.hpp.
std::string Gecode::CPProfiler::Message::_label [protected] |
Definition at line 134 of file message.hpp.
std::string Gecode::CPProfiler::Message::_nogood [protected] |
Definition at line 137 of file message.hpp.
std::string Gecode::CPProfiler::Message::_info [protected] |
Definition at line 140 of file message.hpp.
int32_t Gecode::CPProfiler::Message::_version [protected] |
Definition at line 143 of file message.hpp.
The documentation for this class was generated from the following file:
- gecode/search/cpprofiler/message.hpp


| 26 May 1883 |
Peter Kurten born, Cologne-Mulheim. |
| 1894 |
Family moves to Dusseldorf. |
| 1899 |
Assaults a girl, Grafenberger. |
| 25 May 1913 |
Murders and molests Kristine Klein, age 10. |
| Jul 1913 |
Murders Gertrud Franken. |
| 9 Feb 1929 |
Body of Rosa Ohliger found in Dusseldorf, stabbed 13 times including in the vagina. |
| 21 Aug 1929 |
Three people in suburb of Lierenfeld stabbed independently of each other. |
| 23 Aug 1929 |
Murders five-year-old Gertrude Hamacher and fourteen-year-old Louise Lenzenand at the fairgrounds in Flehe. |
| Sep 1929 |
Ida Reuter raped and murdered. |
| 12 Oct 1929 |
Elizabeth Dorrier murdered. |
| 7 Nov 1929 |
Gertrude Albermann stabbed to death, later found after a newspaper receives a map to her corpse. |
| 14 May 1930 |
Assaults a young woman, Maria Budlick, but lets her go after she claims to not remember the way to Kurten's house (on Mettmanner Strasse.) Budlick goes the the police and shows them Kurten's house. |
| 21 May 1930 |
Maria Budlick and the police visit Kurten. |
| 23 May 1930 |
Kurten confesses to his wife. |
| 24 May 1930 |
Kurten's wife turns him into the police. |
| 14 Apr 1931 |
Trial begins. Kurten is convicted of nine murders and seven attempted murders. |
| 2 Jul 1931 |
Peter Kurten executed by guillotine at Klingepultz Prison, Cologne. |


Software Engineer with more than 5 years of experience in software development. Open source contributor and member @ OpenFaaS project. Involved in architecture design and development of projects from scratch. Interested in Scalability, Serverless, Containers, and Machine learning.
Designed architecture for applications considering performance and scalability. Been part of design and development for projects like MSS(Managed Security Services), Cache-Prewarm, LoE Calculator, GSS API Efficiency. Helped team in educating and migrating applications to Akamai Internal PaaS. Mentored Junior developers in the team.
Ported a Python/Django application to Golang which processes 15 Million messages in a day. Developed a CLI tool in Golang which is used by 1000+ users across the organization. Developed a workflow approval application in Python/Django which is used by thousands of users across the organization. Wrote a CLI tool in Golang to interact with internal build and release system from the command line.
Developed a scalable backend system using Python and Django. Worked on wallet, card and core transaction processing platform of Happay. Managed production infrastructure on AWS and deployment of code from development/QA to production. Setup ELK stack for logging and real-time debugging of application in production.
Received 3 months of training in Data Warehousing and Business Intelligence. Developed two dashboards for sales and planning using QlikView. Developed QlikView extensions using HTML, CSS, and JavaScript. Trained in Informatica and Big Data technologies like Hadoop, Hive, Pig.
DGPA: 8.73
Percentage: 72%
OpenFaaS - OpenFaas is a serverless framework for Docker and Kubernetes.
An active contributor and member of OpenFaaS project.
Speaker and CO-Organizer at OpenFaaS Bangalore meetup group.
I have spoken about Serverless and OpenFaaS at meetup groups like Kubernetes Bangalore and Microsoft Developer group.
Apart from being a software engineer, I like to explore new places and food.
I love watching movies and television shows, and I spend a large amount of my free time exploring the latest technology and writing the technical blog.


Experiencing problems?
It's probably our fault...
Feel free to call, text, or email us at any time.
Dan "The Wolf" Crowther can be reached at<PHONE_NUMBER>
Or via email


Blog Posts
- 12 Jul 2016 » Awesome Hacking
A collection of awesome lists for hackers, pentesters & security researchers.
- 02 Mar 2016 » CloudBot
CloudBot is a simple, fast, expandable open-source Python IRC Bot!
- 18 Feb 2016 » ProxyChains
ProxyChains is a UNIX program, that hooks network-related libc functions in dynamically linked programs via a preloaded DLL and redirects the connections through SOCKS4a/5 or HTTP proxies.
- 18 Feb 2016 » Hack with Github
More details about the author(s) and the motto of the blog.
- 18 Feb 2016 » License
More information on the license of the blog.


{% extends "layout.html" %} {% block page_title %} Publish government data {% endblock %} {% block proposition_header %} {% include "includes/propositional_navigation_service.html" %} {% endblock %} {% block header_class %} with-proposition {% endblock %} {% block content %} {% include "includes/phase_banner_alpha.html" %} {% include "includes/side-navigation.html" %} Land Registry Settings Changes you make here will take effect immediately What would you like to change? Title Titles should be 128 characters or less, including spaces. Description The description should describe what your organisation is responsible for. Land Registry safeguards land and property ownership worth more than £4 trillion, including more than £1 trillion of mortgages. The Land Register contains more than 24 million titles, which show evidence of ownership, covering more than 83% of the land mass. {% endblock %}
Changes you make here will take effect immediately


No Samples found in any of the active Spots. Add a new Sample from the Samples Page within a Spot.
-
Spot: {{ vm.getSpotName(sample.spotId) }}
Sample Specific ID/Name: {{ sample.sample_id_name }}
Oriented Sample: {{ sample.oriented_sample }}
Sample Description: {{ sample.description }}
Material Type: {{ vm.getLabel(sample.material_type) }}
Main Sampling Purpose: {{ vm.getLabel(sample.main_sampling_purpose) }}


Incremental Quest v.1
1 Journey = 2.5% global price reduction
Journey Points
0
idle jp gained0
overkillPoints to next Journey complete
Level
0
xp neededGotta do quests!!
Clicks per Second: 0
0
jp gained
Multipliers Gained:
0
0
skippedDisplay
Options
Quests Completed
Fame
Horses
Idle Purchases
Auto-buy
Cost:
Quests
Value: auto-buy threshold
Next Value:
If a building's cost is below the threshold, it will automatically be bought
Next Value:
If a building's cost is below the threshold, it will automatically be bought
+
Sleep Walking
Cost:
Quests
Value: Journey Points per tick
Next Value: JP/s
Next Value: JP/s
+
Sleep Training
Cost:
Quests
Value: Sleep Walking
Next Value:
Also gives .1% stronger sleep walking
Next Value:
Also gives .1% stronger sleep walking
Sleep Montage
Cost:
Quests
Value: Sleep Training
Next Value:
Also gives 3% stronger sleep walking
Next Value:
Also gives 3% stronger sleep walking
Basic
EXP
Travel
Mana
Weapons
Luck
Look Closer
Cost:
Quests
Value: Journey Points per click
Next Value:
Next Value:
Walk Faster
Cost:
Quests
Value: % reduced quest completion time
Next Value: %
Next Value: %
Breathe Better
Cost:
Quests
Value: x to Journey Point gain
Next Value: x
Next Value: x
Carry More Stuff
Cost:
Quests
Value: quests per journey
Next Value:
Next Value:
Combo
Cost:
Quests
Value: x JP Multiplier per idle tick until Journey Completion
Next Value: x
Improved by Level
Next Value: x
Improved by Level
Memory Lessons
Cost:
Quests
Value: Exp Needed to Level /
Next Value: /
Next Value: /
Combat Lessons
Cost:
Quests
Value: x Multiplier to Look Closer and Breathe Better
Next Value: x
Improved by Level
Next Value: x
Improved by Level
Overkill
Cost:
Quests
Value: x to initial extra JP on Journey Completion
Next Value:
Improved by Level
Next Value:
Improved by Level
Exotic Destinations
Cost:
Quests
Value: % chance to travel one extra time and gain a reward multiplier
Next Value: %
Gives JP + JP * Multiplier / 2
Extra chances carry over
Next Value: %
Gives JP + JP * Multiplier / 2
Extra chances carry over
Shortcuts
Cost:
Quests
Value: % chance to skip a travel time
Next Value: %
Extra skips carry over
Next Value: %
Extra skips carry over
Wild Horses
Cost:
Quests
Value: % chance extra per idle tick to find a horse until a horse is found
Next Value: %
Current Chance to find a horse:
Horses skip all travelling
Next Value: %
Current Chance to find a horse:
Horses skip all travelling
1
5
50%
100%
Seek Guidance
Unlock new tabs
Cost:
 Quests
EXP
Travel
Better Idle Advantages
New system: EXP and Levels
EXP gain is (Idle JP Gain)^.5
New system: EXP and Levels
EXP gain is (Idle JP Gain)^.5
You idiot! You haven't been learning anything on your journeys!
Better Manual Advantages
New system: Travelling
5 steps (initally) before Travel Completion, 10x JP
New system: Travelling
5 steps (initally) before Travel Completion, 10x JP
What do you mean you've been inside this whole time?
Requires EXP
Well Rounded Bonuses
New system: Mana and Spells
Start with one spell, gain more later
... Spells are a thing, you know.
Requires Travel
Stronger Manual Advantages
New system: Critical Hits when questing
You're really going to go questing in that?
Requires All
Chance Based Advantages
New system: ???
Created by:
Stop_Sign


| DOSE: |
0.75 oz |
oral |
Nutmeg |
(ground / crushed) |
While i was at summer camp i was looking for a natural high. My roomate and i bought a grinder full of nutmeg. it had a little more than an ounce in it. We mixed it into a pasta salad and mashed potatoes, it tasted absolutely awful. my roomate couldn't handle it so after like 10 bites she threw up.  I felt pretty sick for about 2 hours, and then i started to feel like my head was really light. My pupils were huge and my eyes were so red they were almost pink. They wouldnt open all the way either. The walls looked like they were made out of putty and looked really bendable. then the edges looked almost wavy. i fell asleep about 6 hours after taking the nutmeg.
when i woke up the next morning i could barely open my eyes, they felt dry and sore. i felt like i was walking on air all the next day and colors looked brighter. things that werent moving had a swaying sensation, and things sounded warped. Everthing was absolutely beautiful. I stayed high till i went to bed the next night. the second day was better cuz i didnt have any sickness, just a feeling of peace and mellowness. i started to come down a few hours before i went to bed the second night. i was wasted a total of 30 hours. I was deadly tired for about a day and felt a little light headed. i slept about 35 hours over the next three days. it was worth the nasty taste.
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.


There are 11 air quality monitoring stations in the Central Interior Air Zone that were active from 2019 to 2021. These stations were operated by Industry (3 stations), and the Ministry of Environment and Climate Change Strategy (ENV) (8 stations).
| Station | Operator | Monitors |
|---|---|---|
| Burns Lake | ENV | PM2.5 |
| Houston | ENV | PM2.5 |
| Prince George-CBC Transmitter | Industry | SO2 |
| Prince George-Jail | Industry | SO2 |
| Prince George-Marsulex Acid Plant | Industry | SO2 |
| Prince George-Plaza 400 | ENV | PM2.5,O3,NO2,SO2 |
| Quesnel | ENV | PM2.5,O3,NO2,SO2 |
| Smithers | ENV | PM2.5,O3,NO2 |
| Valemount | ENV | PM2.5 |
| Vanderhoof | ENV | PM2.5 |
| Williams Lake | ENV | PM2.5,O3,NO2,SO2 |
The Central Interior has 4 locations where the Air Quality Health Index (AQHI) are reported. AQHI is a communication tool used to report the health impacts of poor air quality. It is calculated from the measured levels of fine particulate matter(PM2.5), ground-level ozone(O3), and nitrogen dioxide(NO2).
| AQHI Locations |
|---|
| Prince George |
| Quesnel |
| Smithers |
| Williams Lake |


Issue 5262
: Show @charset rules inside CSS panel
Steps to reproduce
Open Firebug
Switch to the
CSS
panel
Select
issue5262.html
from the Location Menu
Expected result
@charset "UTF-8";
should be listed inside the panel


[gecode-users] Layout change on Gecode web pages
Guido Tack
tack at ps.uni-sb.de
Wed Oct 14 16:17:35 CEST 2009
Hi everyone,
we changed the layout of our web pages to something that hopefully
works better on more browsers and screen resolutions. Additionally,
we will from now on post news about Gecode more regularly, on the
front page as well as our new dedicated news page (http://www.gecode.org/news.html
). You can even subscribe to the news feed with RSS :-)
If you have anything that you think should be put in our news section,
please let us know!
Cheers,
Guido
More information about the gecode-users
mailing list


PokeSim!
Please Wait...
Choose a Pokemon to battle
test text
Choose this Pokemon!
Choose your first Pokemon!
HP:
ATK:
DEF:
SP. ATK:
SP. DEF:
compPkmnName
playerPkmnName
Attack
Sp. Attack
Switch
Run
play_arrow
Restart?


At AIE we had a game jam and each team was given a randomly selected theme, the team I was in got Spectral Mafia Jam. We spent two and a half days working on the game from scratch in Unity using C#.
Spectral Marfia Jam is a 1-2 player twin stick shooter where you are at a abandoned mansion to eradicate the ghost marfia that is haunting the place.
Player controls and movement
The players have a CharacterController component that I move and rotate using the sticks on a Xbox controller. You can see XInputDotNet for Microsoft Xbox controller.
Game juice
I added the code to create and destroy ParticleSystems.
I programed the aim line by raycasting from the gun to set the positions of the LineRenderer component.
Bullets and jars
I worked with Rigidbodies, Colliders, and collision layers so that the bullets would act as required.
Enemy Spawning
When the attached collider is triggered the enemys are spawned at the children transforms of the GameObject that the spawn script is attached to.
Player Movement Code Snippet
void Movement() { // Make the player fall cc.Move(new Vector3(0, -fallSpeed * Time.deltaTime, 0)); Vector3 moveDirection = Vector3.zero; Vector3 lookDirection = Vector3.zero; bool sprint = true; // If this player is using mouse and keyboard controls if (useKeyboardControls) { // PC Movement if (Input.GetKey(KeyCode.W)) moveDirection.z++; if (Input.GetKey(KeyCode.S)) moveDirection.z--; if (Input.GetKey(KeyCode.D)) moveDirection.x++; if (Input.GetKey(KeyCode.A)) moveDirection.x--; // Sprint if left shift is down sprint = Input.GetKey(KeyCode.LeftShift); // Raycast to find the look direction Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Plane plane = new Plane(Vector3.up, transform.position); float enter; // If the ray hit if (plane.Raycast(ray, out enter)) { // Get the point in the ray that hit the plane Vector3 hitPos = ray.GetPoint(enter); // Set the look direction from the player to that position lookDirection = hitPos - transform.position; lookDirection.y = 0; } // Can't shoot when sprinting, look in the direction of movement if (sprint == true) { lookDirection = moveDirection; canShoot = false; } } else // Else this player is using controller input { Vector3 leftStickDirection = Vector3.zero; // Left stick movement leftStickDirection.x = XCI.GetAxis(XboxAxis.LeftStickX, controllerNumber); leftStickDirection.z = XCI.GetAxis(XboxAxis.LeftStickY, controllerNumber); // Make sure the movement is normalized leftStickDirection = leftStickDirection.normalized; // Set the move direction to the left stick moveDirection = leftStickDirection; // Set the look direction to the left stick lookDirection = leftStickDirection; // Right stick Vector3 rightStickDirection = Vector3.zero; rightStickDirection.x = XCI.GetAxis(XboxAxis.RightStickX, controllerNumber); rightStickDirection.z = XCI.GetAxis(XboxAxis.RightStickY, controllerNumber); // Prioritize right stick for rotation if (rightStickDirection.x != 0 || rightStickDirection.z != 0) { lookDirection = rightStickDirection; // Don't sprint if this player is aiming with the right stick sprint = false; } } // Make sure they are only direction with no magnitude moveDirection = moveDirection.normalized; lookDirection = lookDirection.normalized; // Lerp the current looking direction to the desired direction bodyRotation = Vector3.Lerp(bodyRotation, lookDirection, rotateSpeed * Time.deltaTime); // Rotate the player transform.LookAt(transform.position + bodyRotation); // Move the player, use sprint speed if this player is sprinting cc.Move(moveDirection * (sprint ? sprintSpeed : moveSpeed) * Time.deltaTime); }


Module: Aws::SSMIncidents::Types
Instance Attribute Summary
-
#add_region_action ⇒ Types::AddRegionAction
rw
Details about the Amazon Web Services Region that you're adding to the replication set.
-
#after ⇒ Time
rw
After the specified timestamp.
-
#arn ⇒ String
rw
The Amazon
Resource
Name (ARN) of the related item, if the related item is an Amazon resource. -
#before ⇒ Time
rw
Before the specified timestamp.
-
#chatbot_sns ⇒ Array<String>
rw
The Amazon
::Aws::SNS
targets that Chatbot uses to notify the chat channel of updates to an incident. -
#delete_region_action ⇒ Types::DeleteRegionAction
rw
Details about the Amazon Web Services Region that you're deleting to the replication set.
-
#empty ⇒ Types::EmptyChatChannel
rw
Used to remove the chat channel from an incident record or response plan.
-
#equals ⇒ Types::AttributeValueList
rw
The value is equal to the provided string or integer.
-
#integer_values ⇒ Array<Integer>
rw
The list of integer values that the filter matches.
-
#item_to_add ⇒ Types::RelatedItem
rw
Details about the related item you're adding.
-
#item_to_remove ⇒ Types::ItemIdentifier
rw
Details about the related item you're deleting.
-
#metric_definition ⇒ String
rw
The metric definition, if the related item is a metric in Amazon CloudWatch.
-
#pager_duty_configuration ⇒ Types::PagerDutyConfiguration
rw
Information about the PagerDuty service where the response plan creates an incident.
-
#pager_duty_incident_detail ⇒ Types::PagerDutyIncidentDetail
rw
Details about an incident that is associated with a PagerDuty incident.
-
#related_item_id ⇒ String
rw
The ID of a
RelatedItem
referenced in aTimelineEvent
. -
#resource ⇒ String
rw
The Amazon
Resource
Name (ARN) of an Amazon Web Services resource referenced in aTimelineEvent
. -
#sns_topic_arn ⇒ String
rw
The Amazon
Resource
Name (ARN) of the::Aws::SNS
topic. -
#ssm_automation ⇒ Types::SsmAutomation
rw
The Systems Manager automation document to start as the runbook at the beginning of the incident.
-
#ssm_execution_arn ⇒ String
rw
The Amazon
Resource
Name (ARN) of the automation process. -
#string_values ⇒ Array<String>
rw
The list of string values that the filter matches.
-
#url ⇒ String
rw
The URL, if the related item is a non-Amazon Web Services resource.
-
#variable ⇒ String
rw
Variable dynamic parameters.
Instance Attribute Details
#add_region_action ⇒ Types::AddRegionAction (rw)
Details about the Amazon Web Services Region that you're adding to the replication set.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 2205
class UpdateReplicationSetAction < Struct.new( :add_region_action, :delete_region_action, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class AddRegionAction < UpdateReplicationSetAction; end class DeleteRegionAction < UpdateReplicationSetAction; end class Unknown < UpdateReplicationSetAction; end end
#after ⇒ Time
(rw)
After the specified timestamp.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 174
class Condition < Struct.new( :after, :before, :equals, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class After < Condition; end class Before < Condition; end class Equals < Condition; end class Unknown < Condition; end end
#arn ⇒ String
(rw)
The Amazon Resource
Name (ARN) of the related item, if the related
item is an Amazon resource.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 1109
class ItemValue < Struct.new( :arn, :metric_definition, :pager_duty_incident_detail, :url, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class Arn < ItemValue; end class MetricDefinition < ItemValue; end class PagerDutyIncidentDetail < ItemValue; end class Url < ItemValue; end class Unknown < ItemValue; end end
#before ⇒ Time
(rw)
Before the specified timestamp
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 174
class Condition < Struct.new( :after, :before, :equals, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class After < Condition; end class Before < Condition; end class Equals < Condition; end class Unknown < Condition; end end
#chatbot_sns ⇒ Array
<String
> (rw)
The Amazon ::Aws::SNS
targets that Chatbot uses to notify the chat channel
of updates to an incident. You can also make updates to the incident
through the chat channel by using the Amazon SNS topics.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 139
class ChatChannel < Struct.new( :chatbot_sns, :empty, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class ChatbotSns < ChatChannel; end class Empty < ChatChannel; end class Unknown < ChatChannel; end end
#delete_region_action ⇒ Types::DeleteRegionAction (rw)
Details about the Amazon Web Services Region that you're deleting to the replication set.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 2205
class UpdateReplicationSetAction < Struct.new( :add_region_action, :delete_region_action, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class AddRegionAction < UpdateReplicationSetAction; end class DeleteRegionAction < UpdateReplicationSetAction; end class Unknown < UpdateReplicationSetAction; end end
#empty ⇒ Types::EmptyChatChannel (rw)
Used to remove the chat channel from an incident record or response plan.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 139
class ChatChannel < Struct.new( :chatbot_sns, :empty, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class ChatbotSns < ChatChannel; end class Empty < ChatChannel; end class Unknown < ChatChannel; end end
#equals ⇒ Types::AttributeValueList (rw)
The value is equal to the provided string or integer.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 174
class Condition < Struct.new( :after, :before, :equals, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class After < Condition; end class Before < Condition; end class Equals < Condition; end class Unknown < Condition; end end
#integer_values ⇒ Array
<Integer
> (rw)
The list of integer values that the filter matches.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 85
class AttributeValueList < Struct.new( :integer_values, :string_values, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class IntegerValues < AttributeValueList; end class StringValues < AttributeValueList; end class Unknown < AttributeValueList; end end
#item_to_add ⇒ Types::RelatedItem (rw)
Details about the related item you're adding.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 1604
class RelatedItemsUpdate < Struct.new( :item_to_add, :item_to_remove, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class ItemToAdd < RelatedItemsUpdate; end class ItemToRemove < RelatedItemsUpdate; end class Unknown < RelatedItemsUpdate; end end
#item_to_remove ⇒ Types::ItemIdentifier (rw)
Details about the related item you're deleting.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 1604
class RelatedItemsUpdate < Struct.new( :item_to_add, :item_to_remove, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class ItemToAdd < RelatedItemsUpdate; end class ItemToRemove < RelatedItemsUpdate; end class Unknown < RelatedItemsUpdate; end end
#metric_definition ⇒ String
(rw)
The metric definition, if the related item is a metric in Amazon
::Aws::CloudWatch
.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 1109
class ItemValue < Struct.new( :arn, :metric_definition, :pager_duty_incident_detail, :url, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class Arn < ItemValue; end class MetricDefinition < ItemValue; end class PagerDutyIncidentDetail < ItemValue; end class Url < ItemValue; end class Unknown < ItemValue; end end
#pager_duty_configuration ⇒ Types::PagerDutyConfiguration (rw)
Information about the PagerDuty service where the response plan creates an incident.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 1038
class Integration < Struct.new( :pager_duty_configuration, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class PagerDutyConfiguration < Integration; end class Unknown < Integration; end end
#pager_duty_incident_detail ⇒ Types::PagerDutyIncidentDetail (rw)
Details about an incident that is associated with a PagerDuty incident.

# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 559
class EventReference < Struct.new( :, :resource, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class RelatedItemId < EventReference; end class Resource < EventReference; end class Unknown < EventReference; end end
#sns_topic_arn ⇒ String
(rw)
The Amazon Resource
Name (ARN) of the ::Aws::SNS
topic.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 1402
class NotificationTargetItem < Struct.new( :sns_topic_arn, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class SnsTopicArn < NotificationTargetItem; end class Unknown < NotificationTargetItem; end end
#ssm_automation ⇒ Types::SsmAutomation (rw)
The Systems Manager automation document to start as the runbook at the beginning of the incident.
#ssm_execution_arn ⇒ String
(rw)
The Amazon Resource
Name (ARN) of the automation process.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 109
class AutomationExecution < Struct.new( :ssm_execution_arn, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class SsmExecutionArn < AutomationExecution; end class Unknown < AutomationExecution; end end
#string_values ⇒ Array
<String
> (rw)
The list of string values that the filter matches.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 85
class AttributeValueList < Struct.new( :integer_values, :string_values, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class IntegerValues < AttributeValueList; end class StringValues < AttributeValueList; end class Unknown < AttributeValueList; end end
#url ⇒ String
(rw)
The URL, if the related item is a non-Amazon Web Services resource.
 A parameter value is determined when an incident is created.
# File 'gems/aws-sdk-ssmincidents/lib/aws-sdk-ssmincidents/types.rb', line 520
class DynamicSsmParameterValue < Struct.new( :variable, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class Variable < DynamicSsmParameterValue; end class Unknown < DynamicSsmParameterValue; end end


HTTP data for testing web and mobile applications.
Text files
Each of the file implies how many ASCII data ('d'
characters will get served upon clicking.
Each of the file implies how many ASCII data ('b'
characters will get served upon clicking.


Sign Up for Mana Lightning-fast academic solutions just for you. Select your role Student Tutor Faculty Other Create Account Have an account? Log In


Change Log
4.2.0
Enhancements
- Use @ngInject, update ngAnnotate.
- Use iconBaseClass for default icon classes and add defaultIconClassPrefix to specify a prefix (e.g. fa, glyphicon).
Chores
- Remove jQuery dependency.
- Visually polish up the doc site.
Fixes
- Allow a navbar brand image to be displayed if there is no text.
4.1.2
Fixes
- Use correct variables in navbar brand directive.
4.1.1
Fixes
- Do not interpolate navClass variable in sidebar ng-class directive.
4.1.0
Enhancements
- Add navClass argument to menu directives which sets the ng-class attribute of the top-level nav element of the directive.
Chores
- Remove unneeded comments from sidebar directive.
- Add logo to docs.
- Move examples link to project details section.
- Flesh out and refactor build process for docs.
Fixes
- Adding a deep watch to trigger a digest when a new menu item is added.
- Fix bootstrap sass path in docs build task.
4.0.0
Enhancements
- Add framework-agnostic menu directive called eeh-navigation-menu.
- Make search input available when sidebar is collapsed.
- Move sidebar related variables from core service into sidebar directive.
- Remove some unneeded internal variables in core nav service.
- Add ng-click directive to navbar brand directive.
- Refactor navbar brand template into a directive.
- Made nested sidebar items available when sidebar is collapsed.
- Refactor location of active menu item directive.
- Recursively determine active status of nested menu items.
- Made search input compatible with navbar.
- Refactor search input template into a separate directive.
- Replace sidebarMenuItem(s) with menuItem(s) and menuItemTree methods and refactor.
- Replace navbarMenuItem(s) with menuItem(s) and menuItemTree methods.
- Set default icon base class to "glyphicon".
- Set nested child sidebar menu items to be active if they have an active state.
- Made "system" icons configurable.
- Made font library (mostly) configurable.
- Made sidebar-nav a derivation of navbar-nav
- Set the default value of topOffset, in sidebar directive, if it isn't defined.
- Refactor sidebar style and remove borders.
- Make sidebar's topOffset property configurable.
- Use bootstrap-sass package to create theme.
Chores
- Remove deprecated files.
- Refactor core file location.
- Add some demo content.
- Upgrade angular-bootstrap to latest version.
- Set nav version in demo.
Fixes
- Re-add fix for navbar padding issue.
3.3.0
Enhancements
- Decouple navbar and sidebar directives.
- Make active menu item directive recursively scan children to determine active status of parent.
- Transform menu-item-content template into a directive
Chores
- Copy dist into docs for dev.
- Begin DRYing out directives.
- Depend on state change event rather than watching $location.
3.2.1
Fixes
- Use ngAnnotate to make minified lib functional.
3.2.0
Enhancements
- Contextually hide the sidebar.
Chores
- Remove hack that made angular-translate optional.
- Add build status badge to readme.
- Use newest version of component in demo.
- Remove old docs.
- Add some unit tests.
- Don't concat spec files into dist files.
- Add MenuItem as global in spec to satisfy jshint.
- Remove unused service from demo controller.
- Update test config
- Tweak doc style for readability
- Update language translation doc.
- Upgrade angular-translate.
3.1.0
Enhancements
- Exposed target attribute for links.
Chores
3.0.3
Fixes
- Apply style to .navbar-top-links.
3.0.2
Fixes
- Increment version number.
3.0.1
Chores
- Locally for couscous theme.
- Use bower for demo.
- Move icon doc under optional-features.
- Add eeh-navigation directive explanation in "Getting Started" doc.
Fixes
- Fix margin issue that caused the whole page to be too wide
- Fix doc format issue.
- Use responsive utility classes to hide menu items at small screen sizes.
- Fix demo url.
3.0.0
Enhancements
- Throw an exception if non-existing menu item is accessed.
2.7.3
Fixes
- Make navbar toggle 'active' when a child is 'active'.
2.7.2
Chores
2.7.1
Chores
Fixes
- Hide parent navbar items that do not have visible children.
- Fix jsHint issue.
2.7.0
Enhancements
- Add active class to navbar menu items with state.
2.6.0
Enhancements
- Pull heavy navbar items to the right, and light navbar items to the left.
- Add css map.
2.5.0
Enhancements
- Add support for image and links in navbar brand.
2.4.0
Enhancements
- Add programmatic API for sidebar collapse menu item.
Fixes
- Correct search input documentation.
2.3.0
Enhancements
- Implement and document search feature.
- Move ng-click to search button from search input.
- Order navbar menu items according to their weight.
Chores
2.2.0
Enhancements
- Add advanced configuration.
- Add support for menu translation.
- Replace hard-coded icon class with iconClass variable.
Chores
- Refactor demo.
- Document translation feature
- Expand "accessing menu item" doc
- Refine doc style and layout.
Fixes
- Fix doc footer
- Fix typo in docs.
2.1.0
Enhancements
- Allow menu items to be retrieved.
Fixes
- Re-render menu when menu items change.
2.0.1
Chores
- Add a MenuItem class and factor out functions from directive.
2.0.0
Enhancements
- Add ability to weight menu items (heavier items sink).
- Flatten navbar item configuration.
Chores
- Separate js into multiple files and add prefix to lib files.
- Refactor navigation service.
- Lint on release, not build to make dev faster.
- Modularize Sass.
1.3.0
Enhancements
- Add preliminary support for sidebar text collapse.
- Hide children of menu items when text is collapsed.
- Add search input.
Chores
1.2.0
Enhancements
- Vertically center sidebar collapse icon.
- Add href support.
- Add an isVisible menu item property.
Chores
- Update README.md.
- Add dev task and update description.
- Move demo into main repo.
- Update doc style.
Fixes
- Fix left border of transcluded content.
1.1.3
Fixes
1.1.2
Chores
- Update README.md.
- Add empty dep list.
- Automate template registration.
Fixes
- Fix version before release.
1.1.1
Fixes
- Use ng-transclude as an attribute.
1.1.0
Enhancements
- Rework nav collapse and add page-wrapper resize.
- Add page wrapper class style.
1.0.2
Fixes
- Cache template inline for now
- Fix typo
- Add FontAwesome as a dep
1.0.1
Fixes


As I begin an Earth history research group at the University of Victoria (where I start as an assistant professor in April 2017), I plan on creating an active field program to build stories about the co-evolution of Earth's surface chemistry, climate and the biosphere. Potential field projects include (but are not limited to!):
• Neoproterozoic successions of the southern and central Canadian Cordillera.
To date, no integrated stratigraphic-geochemical study has been undertaken on the late Proterozoic strata
of British Columbia, represented by the ≤ 9 km thick Windermere Supergroup.
Of particular interest to me, given my previous work in South Australia, are the putatively Ediacaran carbonates that outcrop between Jasper
and the Yukon border.
• Devonian to Carboniferous carbonates of the Rocky Mountain Front Ranges
Spectacular exposures of kilometers-thick carbonates of Middle Devonian to Early Carboniferous
strata exist all along the Alberta-British Columbia border in the Front Ranges of the Canadian Cordillera.
Significant Earth history events that occur in this interval include the Frasnian-Famennian mass extinction
and Hangenberg biotic crisis, during which Earth's ability to export and bury carbonate rock seems
to have been profoundly hindered. The resulting effects on seawater chemistry have never been explored
in this region of Laurentia.
• Time-scale geochronology of the Ordovician-Silurian boundary
Nearly 3 km of shallowly-buried Upper Ordovician to Lower Silurian strata are preserved in the Anticosti
Basin in eastern Canada. Previous and preliminary work have documented numerous ash fall that are
extremely promising targets for U-Pb dating via CA-ID-TIMS. This work will involve collaboration with David Jones and
the Princeton Radiogenic Isotopes Lab
to establish a rigorous age model for Anticosti, and use it to further
our understanding of the profound climatic and biospheric changes that occur across the Ordovician-Silurian
boundary, including the Hirnantian glaciation and isotope excursion and the end-Ordovician mass-extinction.
All of these projects will involve field campaigns coupled to laboratory work at the University of Victoria to develop isotopic (δ13C, δ18O) and elemental datasets (e.g., Mg, Mn, Fe, Sr, Mo, U, V concentrations in our studied carbonates). These analyses will be performed in my lab and in the ICP-MS facility at the University of Victoria. A welcome (and encouraged!) addition to any field and lab-based endeavor will be large scale data synthesis and analysis, designed to broaden the impact and scope of these more targeted, sample-based endeavors. These efforts are possible through combining resources such as Macrostrat and GeoDeepDive. Projects that could complement any field campaign include:
• Recent work has invoked the importance of authigenic carbonate (defined as carbonate formed in-situ
at or near the sediment-water interface) in the ancient carbon cycle. Through a combination of text-mining and
data synthesis, can we quantify the described abundance of these types of carbonate across geological time?
• More broadly, how has the sedimentologic nature of sedimentary carbonates (i.e. the occurence of stromatolites, ooids,
molar teeth) changed over geologic time, and what does this tell us about evolving seawater chemistry?
Of couse, the idea I am most excited about pursing is YOURS! Ideas that come from students often form the basis for the best projects. So if you are interested in Earth history research from a sedimentary and geochemical perspective, and these styles of ideas are of interest to you, please contact me!


{% extends "base.html" %} {% import "macros/element.html" as Element %} {% block sidebar %} {% endblock %} {% block inner_content %}
Legal aid can help pay for legal advice.
This service will check that your problem is covered by legal aid.
You’ll only get guidance on whether or not you might qualify for legal aid – you won’t get a final decision until you speak to an adviser.
{% endcall %}This service can’t help if you’ve been charged with a crime – ask your solicitor or barrister about criminal legal aid.
If you’re looking for family mediation, you can also find a local mediator.
{% call Element.alert() %}Legal aid is different in Scotland and Northern Ireland.
{% endcall %} {% endblock %}


2 Kings 3:3
Nevertheless he cleaved unto the sins of Jeroboam the son of Nebat, which made Israel to sin; he departed not therefrom.


We are looking for a responsible custodian to maintain and protect our facilities. The external and internal appearance of a building reflects on the occupants. It is important for a custodian, or janitor, to be careful and thorough in working, cleaning a...
The duties and responsibilities of the Before/After Care Attendant will be to encourage the healthy intellectual and psychological growth of the children in our facilities. You will supervise them while also motivating them to use their mental capacities ...
The duties and responsibilities of the School Secretary will include assumption of the duty of clerical and administrative support in order to optimize workflow procedures in the office. You will assist colleagues and executives by supporting them with pl...
The duties and responsibilities of the School Administrator is to manage all administrative tasks in our school. As a School Administrator, you’ll need to wear many different hats; the planner, the problem-solver, the educator and the counselor being a fe...
We are looking for a committed Teacher to complement our qualified workforce of educators. You will be responsible for preparing and implementing a full educational teaching plan according to the school’s requirements. It will be fundamental to provide kn...
The duties and responsibilities of the Teacher Assistant vary depending on the level of education. The Teacher Assistant is responsible for the overall supervision and daily class functionality as well as supporting the emotional wellbeing of the students...


Module: Qpid::Proton::Util
- Defined in:
- lib/util/deprecation.rb,
lib/util/version.rb,
lib/util/wrapper.rb,
lib/util/error_handler.rb
Overview
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


1.Harry Had A Sports Car
2.Sports Car
3.Sports Car
4.Harry Had A Sports Car
Harry Had A Sports Car
5.Which is very fast


I am a sophomore at Boise State University and I play for their varsity Rocket League team. This picture of us is when we went to Las Vegas for the Mountain West Esports Showdown and won the Rocket League championship that took place there against UNLV.


1)
It was a entertaining movie.
Yes
No
2)
Peter ate a banana.
Yes
No
3)
A orange is the citrus fruit.
Yes
No
4)
We flew on a airplane to London.
Yes
No
5)
Please put the letter in an envelope.
Yes
No
6)
Jim and Janet are searching for a Easter eggs.
Yes
No
7)
An apricot is a very nutritive fruit.
Yes
No
8)
The Sahara Desert is the biggest desert in world.
Yes
No


I use Twitter predominantly to keep up with my other tech-saavy friends and colleagues. One trend I notice among this crowd is their (our?) continuing tendency to blog about The Next Big Thing in technology, as if its mere conception will vastly improve the lives of its users. We're not talking about a new cancer treatment, an anti-aging medication, an abundant energy source. Nope, we're talking about some new app that plugs into your Twitters to make it talk to your Instagrams and ensure your Facebooks are kept in sync.
Technology is beautiful. It allows us to move at speeds unimaginable a century ago, communicate with almost anyone the world over instantly, and cure or prevent once pandemic-scale diseases. Talking about technology is healthy; it creates a diverse, useful community, without which we could not evolve our efforts. But I, like so many of my colleagues, have fallen to the plight of the Great Meta: Spending time (your valuable, precious, short lifetime) encouraging and criticizing current technology trends in an effort to be the coolest kid on the Internet. This practice is downright absurd, and should be banished from the face of the Internet for the good of humanity. Create and use technology to enrich your life, and let that be that. You're not making the world a better place by creating a new social network platform, no matter how much that sweet VC money fools you into thinking so.