Class: RubyJS.String
| Defined in: | lib/corelib/string.coffee |
| Inherits: | RubyJS.Object |
Class Method Summary
- + (void) fromCharCode(obj)
- + (void) new(str = '')
- + (void) isString(obj)
- + (void) try_convert(obj)
- + (void) string_native(obj)
Instance Method Summary
- - (void) constructor(primitive = "") Constructor
- - (void) is_string()
- - (void) to_native()
- - (void) valueOf()
- - (void) toString()
- - (void) unbox()
- - (void) initialize_copy()
- - (void) clone()
- - (void) '%'(num)
- - (void) '*'(num)
- - (void) '+'(other)
- '-instance'> - (void) '<=>'(other)
- - (void) '=='(other)
- - (void) '<<'(other)
- - (void) '=~'(args...)
- - (void) capitalize() Returns a copy of str with the first character converted to uppercase and the remainder to lowercase.
- - (void) capitalize_bang() Modifies str by converting the first character to uppercase and the remainder to lowercase.
- - (void) casecmp(other) Case-insensitive version of String#<=>.
- - (void) center(length, padString = ' ') If integer is greater than the length of str, returns a new String of length integer with str centered and padded with padstr; otherwise, returns str.
- - (void) chars(block) Passes each character in str to the given block, or returns an enumerator if no block is given.
- - (void) chomp(sep = null) Returns a new String with the given record separator removed from the end of str (if present).
- - (void) chomp_bang(sep = null) Modifies str in place as described for String#chomp, returning str, or nil if no modifications were made.
- - (void) chop() Returns a new String with the last character removed.
- - (void) chr() Returns a one-character string at the beginning of the string.
- - (void) clear() Makes string empty.
- - (void) count(args...) Each other_str parameter defines a set of characters to count.
- - (void) delete(args...) Returns a copy of str with all characters in the intersection of its arguments deleted.
- - (void) delete_bang(args...) Performs a delete operation in place, returning str, or nil if str was not modified.
- - (void) downcase() Returns a copy of str with all uppercase letters replaced with their lowercase counterparts.
- - (void) downcase_bang() Downcases the contents of str, returning nil if no changes were made.
- - (void) dump() Produces a version of str with all nonprinting characters replaced by \nnn notation and all special characters escaped.
- - (void) dup()
- - (void) each_line(args...) Splits str using the supplied parameter as the record separator ($/ by default), passing each substring in turn to the supplied block.
- - (void) empty() Returns true if str has a length of zero.
- - (void) end_with(needles...) Returns true if str ends with one of the suffixes given.
- - (?) eql(other) Two strings are equal if they have the same length and content.
- - (void) get()
- - (void) set(idx, other)
- - (void) gsub(pattern, replacement) Returns a copy of str with the all occurrences of pattern substituted for the second argument.
- - (void) include(other) Returns true if str contains the given string or character.
- - (void) index(needle, offset) Returns the index of the first occurrence of the given substring or pattern (regexp) in str.
- - (void) insert(idx, other) Inserts other_str before the character at the given index, modifying str.
- - (void) inspect() Returns a printable version of str, surrounded by quote marks, with special characters escaped.
- - (void) ljust(width, padString = " ") If integer is greater than the length of str, returns a new String of length integer with str left justified and padded with padstr; otherwise, returns str.
- - (void) lstrip() Returns a copy of str with leading whitespace removed.
- - (void) lstrip_bang() Removes leading whitespace from str, returning nil if no change was made.
- - (void) match(args...) Converts pattern to a Regexp (if it isn’t already one), then invokes its match method on str.
- - (void) partition(pattern) Searches sep or pattern (regexp) in the string and returns the part before it, the match, and the part after it.
- - (void) prepend(other) Prepend the given string to str.
- - (void) replace(val) Replaces the contents and taintedness of str with the corresponding values in other_str.
- - (void) reverse() Returns a new string with the characters from str in reverse order.
- - (void) reverse_bang() Reverses str in place.
- - (void) rindex(needle, offset) Returns the index of the last occurrence of the given substring or pattern (regexp) in str.
- - (void) rjust(width, padString = " ") If integer is greater than the length of str, returns a new String of length integer with str right justified and padded with padstr; otherwise, returns str.
- - (void) rpartition(pattern) Searches sep or pattern (regexp) in the string from the end of the string, and returns the part before it, the match, and the part after it.
- - (void) rstrip() Returns a copy of str with trailing whitespace removed.
- - (void) rstrip_bang() Removes trailing whitespace from str, returning nil if no change was made.
- - (void) scan(pattern, block = null) Both forms iterate through str, matching the pattern (which may be a Regexp or a String).
- - (void) size()
- - (void) slice(index, other) Element Reference—If passed a single Fixnum, returns a substring of one character at that position.
- - (void) split(pattern = " ", limit) Divides str into substrings based on a delimiter, returning an array of these substrings.
- - (void) squeeze_bang()
- - (void) squeeze(pattern...) Builds a set of characters from the other_str parameter(s) using the procedure described for String#count.
- - (void) start_with(needles...) Returns true if str starts with one of the prefixes given.
- - (void) strip() Returns a copy of str with leading and trailing whitespace removed.
- - (?) strip_bang() Removes leading and trailing whitespace from str.
- - (void) sub(pattern, replacement) Returns a copy of str with the first occurrence of pattern substituted for the second argument.
- - (void) sub_bang(pattern, replacement) Performs the substitutions of String#sub in place, returning str, or nil if no substitutions were performed.
- - (void) succ() Returns the successor to str.
- - (void) succ_bang() Equivalent to String#succ, but modifies the receiver in place.
- - (void) swapcase() Returns a copy of str with uppercase alphabetic characters converted to lowercase and lowercase characters converted to uppercase.
- - (void) swapcase_bang() Equivalent to String#swapcase, but modifies the receiver in place, returning str, or nil if no changes were made.
- - (void) to_a()
- - (void) to_f() Returns the result of interpreting leading characters in str as a floating point number.
- - (void) to_i(base) Returns the result of interpreting leading characters in str as an integer base base (between 2 and 36).
- - (void) to_s() Returns the receiver.
- - (void) tr(from_str, to_str) Returns a copy of str with the characters in from_str replaced by the corresponding characters in #to_str.
-
- (void) tr_bang(from_str, to_str)
Translates str in place, using the same rules as
String#tr
. - - (void) tr_s() Processes a copy of str as described under String#tr, then removes duplicate characters in regions that were affected by the translation.
- - (void) upcase() Returns a copy of str with all lowercase letters replaced with their uppercase counterparts.
- - (void) upcase_bang() Upcases the contents of str, returning nil if no changes were made.
- - (void) upto(stop, exclusive, block) Iterates through successive values, starting at str and ending at other_str inclusive, passing each value in turn to the block.
Inherited Method Summary
Methods inherited from RubyJS.Object
.include, .__add_default_aliases__, #send, #respond_to, #to_enum, #tap
Class Method Details
+ (void) fromCharCode(obj)
+ (void) new(str = '')
+ (void) isString(obj)
+ (void) try_convert(obj)
+ (void) string_native(obj)
Constructor Details
- (void) constructor(primitive = "")
Instance Method Details
- (void) is_string()
- (void) to_native()
- (void) valueOf()
- (void) toString()
- (void) unbox()
- (void) initialize_copy()
- (void) clone()
- (void) '%'(num)
- (void) '*'(num)
- (void) '+'(other)
'-instance'> - (void) '<=>'(other)
- (void) '=='(other)
- (void) '<<'(other)
- (void) '=~'(args...)
- (void) capitalize()
Returns a copy of str with the first character converted to uppercase and the remainder to lowercase. Note: case conversion is effective only in ASCII region.
Examples:
R("hello").capitalize() # => "Hello"
R("HELLO").capitalize() # => "Hello"
R("äöü").capitalize() # => "äöü"
R("123ABC").capitalize() # => "123abc"
- (void) capitalize_bang()
Modifies str by converting the first character to uppercase and the remainder to lowercase. Returns nil if no changes are made. Note: case conversion is effective only in ASCII region.
Examples:
str = R('hello')
str.capitalize_bang() # => "Hello"
str # => "Hello"
Already capitalized
str = R("Already capitals")
str.capitalize_bang() # => null
str # => "Already capitals"
- (void) casecmp(other)
Case-insensitive version of String#<=>.
Examples:
R("abcdef").casecmp("abcde") #=> 1
R("aBcDeF").casecmp("abcdef") #=> 0
R("abcdef").casecmp("abcdefg") #=> -1
R("abcdef").casecmp("ABCDEF") #=> 0
- (void) center(length, padString = ' ')
If integer is greater than the length of str, returns a new String of length integer with str centered and padded with padstr; otherwise, returns str.
Examples:
R("hello").center(4) # => "hello"
R("hello").center(20) # => " hello "
R("hello").center(20, '123') # => "1231231hello12312312"
- (void) chars(block)
Passes each character in str to the given block, or returns an enumerator if no block is given.
Examples:
R("hello").each_char (c) -> R.puts(c + ' ')
# out: h e l l o
- (void) chomp(sep = null)
Returns a new String with the given record separator removed from the end of str (if present). If $/ has not been changed from the default Ruby record separator, then chomp also removes carriage return characters (that is it will remove \n, \r, and \r\n).
Examples:
R("hello").chomp() # => "hello"
R("hello\n").chomp() # => "hello"
R("hello\r\n").chomp() # => "hello"
R("hello\n\r").chomp() # => "hello\n"
R("hello\r").chomp() # => "hello"
R("hello \n there").chomp() # => "hello \n there"
R("hello").chomp("llo") # => "he"
- (void) chomp_bang(sep = null)
Modifies str in place as described for String#chomp, returning str, or nil if no modifications were made. #
- (void) chop()
Returns a new String with the last character removed. If the string ends with \r\n, both characters are removed. Applying chop to an empty string returns an empty string. String#chomp is often a safer alternative, as it leaves the string unchanged if it doesn’t end in a record separator.
Examples:
R("string\r\n").chop() # => "string"
R("string\n\r").chop() # => "string\n"
R("string\n").chop() # => "string"
R("string").chop() # => "strin"
R("x").chop().chop() # => ""
- (void) chr()
Returns a one-character string at the beginning of the string.
Examples:
a = R("hello")
a.chr() # => 'h'
- (void) clear()
Makes string empty.
Examples:
a = "abcde"
a.clear() #=> ""
- (void) count(args...)
Each other_str parameter defines a set of characters to count. The intersection of these sets defines the characters to count in str. Any other_str that starts with a caret (^) is negated. The sequence c1–c2 means all characters between c1 and c2.
Examples:
a = R("hello world")
a.count "lo" #=> 5
a.count "lo", "o" #=> 2
a.count "hello", "^l" #=> 4
a.count "ej-m" #=> 4
- (void) delete(args...)
Returns a copy of str with all characters in the intersection of its arguments deleted. Uses the same rules for building the set of characters as String#count.
Examples:
R("hello").delete "l","lo" #=> "heo"
R("hello").delete "lo" #=> "he"
R("hello").delete "aeiou", "^e" #=> "hell"
R("hello").delete "ej-m" #=> "ho"
- (void) delete_bang(args...)
Performs a delete operation in place, returning str, or nil if str was not modified.
- (void) downcase()
Returns a copy of str with all uppercase letters replaced with their lowercase counterparts. The operation is locale insensitive—only characters “A” to “Z” are affected. Note: case replacement is effective only in ASCII region.
Examples:
R("hEllO").downcase() #=> "hello"
- (void) downcase_bang()
Downcases the contents of str, returning nil if no changes were made.
- (void) dump()
Produces a version of str with all nonprinting characters replaced by \nnn notation and all special characters escaped.
- (void) dup()
- (void) each_line(args...)
Splits str using the supplied parameter as the record separator ($/ by default), passing each substring in turn to the supplied block. If a zero- length record separator is supplied, the string is split into paragraphs delimited by multiple successive newlines.
If no block is given, an enumerator is returned instead.
Examples:
print "Example one\n"
"hello\nworld".each_line {|s| p s}
print "Example two\n"
"hello\nworld".each_line('l') {|s| p s}
print "Example three\n"
"hello\n\n\nworld".each_line('') {|s| p s}
# produces:
# Example one
# "hello\n"
# "world"
# Example two
# "hel"
# "l"
# "o\nworl"
# "d"
# Example three
# "hello\n\n\n"
# "world"
- (void) empty()
Returns true if str has a length of zero.
Examples:
"hello".empty() #=> false
"".empty() #=> true
" ".empty() #=> true
- (void) end_with(needles...)
Returns true if str ends with one of the suffixes given.
- (?) eql(other)
Two strings are equal if they have the same length and content.
Examples:
R("foo").eql('foo') # => true
R("foo").eql('FOO') # => false
R("foo").eql(R('foo')) # => true
- (void) get()
- (void) set(idx, other)
- (void) gsub(pattern, replacement)
Returns a copy of str with the all occurrences of pattern substituted for the second argument. The pattern is typically a Regexp; if given as a String, any regular expression metacharacters it contains will be interpreted literally, e.g. '\d' will match a backlash followed by ‘d’, instead of a digit.
If replacement is a String it will be substituted for the matched text. It
may contain back-references to the pattern’s capture groups of the form
\d, where d is a group number, or \k
If the second argument is a Hash, and the matched text is one of its keys, the corresponding value is the replacement string.
In the block form, the current match string is passed in as a parameter, and variables such as $1, $2, $`, $&, and $' will be set appropriately. The value returned by the block will be substituted for the match on each call.
The result inherits any tainting in the original string or any supplied replacement string.
When neither a block nor a second argument is supplied, an Enumerator is returned.
TODO: add hash syntax, properly document supported features
Examples:
R("hello").gsub(%r[aeiou]/, '*') #=> "h*ll*"
R("hello").gsub(%r([aeiou])/, '<\1>') #=> "h<e>ll<o>"
R("hello").gsub(%r./) {|s| s.ord.to_s + ' '} #=> "104 101 108 108 111 "
# R("hello").gsub(%r(?<foo>[aeiou])/, '{\k<foo>}') #=> "h{e}ll{o}"
R('hello').gsub(%r[eo]/, 'e' => 3, 'o' => '*') #=> "h3ll*"
- (void) include(other)
Returns true if str contains the given string or character.
Examples:
R("hello").include "lo" #=> true
R("hello").include "ol" #=> false
R("hello").include hh #=> true
- (void) index(needle, offset)
index(regexp)
Returns the index of the first occurrence of the given substring or pattern (regexp) in str. Returns nil if not found. If the second parameter is present, it specifies the position in the string to begin the search.
Examples:
R("hello").index('e') #=> 1
R("hello").index('lo') #=> 3
R("hello").index('a') #=> nil
R("hello").index(ee) #=> 1
R("hello").index(/[aeiou]/, -3) #=> 4
- (void) insert(idx, other)
Inserts other_str before the character at the given index, modifying str. Negative indices count from the end of the string, and insert after the given character. The intent is insert aString so that it starts at the given index.
Examples:
R("abcd").insert(0, 'X') # => "Xabcd"
R("abcd").insert(3, 'X') # => "abcXd"
R("abcd").insert(4, 'X') # => "abcdX"
inserts after with negative counts
R("abcd").insert(-3, 'X') # => "abXcd"
R("abcd").insert(-1, 'X') # => "abcdX"
- (void) inspect()
Returns a printable version of str, surrounded by quote marks, with special characters escaped.
Examples:
str = "hello"
str[3] = "\b"
str.inspect #=> "\"hel\\bo\""
- (void) ljust(width, padString = " ")
If integer is greater than the length of str, returns a new String of length integer with str left justified and padded with padstr; otherwise, returns str.
Examples:
R("hello").ljust(4) #=> "hello"
R("hello").ljust(20) #=> "hello "
R("hello").ljust(20, '1234') #=> "hello123412341234123"
- (void) lstrip()
Returns a copy of str with leading whitespace removed. See also String#rstrip and String#strip.
Examples:
R(" hello ").lstrip() #=> "hello "
R("hello").lstrip() #=> "hello"
- (void) lstrip_bang()
Removes leading whitespace from str, returning nil if no change was made. See also String#rstrip! and String#strip!.
Examples:
R(" hello ").lstrip_bang() #=> "hello "
R("hello").lstrip_bang() #=> nil
- (void) match(args...)
Converts pattern to a Regexp (if it isn’t already one), then invokes its match method on str. If the second parameter is present, it specifies the position in the string to begin the search.
If a block is given, invoke the block with MatchData if match succeed, so that you can write
The return value is a value from block execution in this case.
Examples:
R('hello').match('(.)\1') #=> #<MatchData "ll" 1:"l">
R('hello').match('(.)\1')[0] #=> "ll"
R('hello').match(/(.)\1/)[0] #=> "ll"
R('hello').match('xx') #=> nil
with block:
str.match(pat) {|m| ...}
# instead of:
if m = str.match(pat)
...
end
- (void) partition(pattern)
Searches sep or pattern (regexp) in the string and returns the part before it, the match, and the part after it. If it is not found, returns two empty strings and str.
Examples:
R("hello").partition("l") # => ["he", "l", "lo"]
R("hello").partition("x") # => ["hello", "", ""]
R("hello").partition(/.l/) # => ["h", "el", "lo"]
headers
partition(sep) -> [head, sep, tail]
partition(regexp) -> [head, match, tail]
- (void) prepend(other)
Prepend the given string to str.
Examples:
a = R(“world” )
a.prepend(“hello ”) #=> “hello world”
a #=> “hello world”
- (void) replace(val)
Replaces the contents and taintedness of str with the corresponding values in other_str.
Examples:
s = R("hello") #=> "hello"
s.replace "world" #=> "world"
s.replace R("world") #=> "world"
- (void) reverse()
Returns a new string with the characters from str in reverse order.
Examples:
R("stressed").reverse() #=> "desserts"
- (void) reverse_bang()
Reverses str in place.
- (void) rindex(needle, offset)
rindex(/.../) does not add matches to R['$~'] as it should
rindex(needle, offset) does not use respond_to?(:to_int) for offset
Returns the index of the last occurrence of the given substring or pattern (regexp) in str. Returns nil if not found. If the second parameter is present, it specifies the position in the string to end the search—characters beyond this point will not be considered.
to convert it to_int.
Examples:
R("hello").rindex('e') #=> 1
R("hello").rindex('l') #=> 3
R("hello").rindex('a') #=> nil
R("hello").rindex(ee) #=> 1
R("hello").rindex(/[aeiou]/, -2) #=> 1
- (void) rjust(width, padString = " ")
If integer is greater than the length of str, returns a new String of length integer with str right justified and padded with padstr; otherwise, returns str.
Examples:
R("hello").rjust(4) #=> "hello"
R("hello").rjust(20) #=> " hello"
R("hello").rjust(20, '1234') #=> "123412341234123hello"
- (void) rpartition(pattern)
Searches sep or pattern (regexp) in the string from the end of the string, and returns the part before it, the match, and the part after it. If it is not found, returns two empty strings and str.
Examples:
R("hello").rpartition("l") #=> ["hel", "l", "o"]
R("hello").rpartition("x") #=> ["", "", "hello"]
edge cases
R("hello").rpartition("x") #=> ["", "", "hello"]
R("hello").rpartition("hello") #=> ["", "hello", ""]
todo:
R("hello").rpartition(/.l/) #=> ["he", "ll", "o"]
- (void) rstrip()
Returns a copy of str with trailing whitespace removed. See also String#lstrip and String#strip.
Examples:
R(" hello ").rstrip() #=> " hello"
R("hello").rstrip() #=> "hello"
- (void) rstrip_bang()
Removes trailing whitespace from str, returning nil if no change was made. See also String#lstrip! and String#strip!.
Examples:
R(" hello ").rstrip_bang() #=> " hello"
R("hello").rstrip_bang() #=> nil
- (void) scan(pattern, block = null)
Both forms iterate through str, matching the pattern (which may be a Regexp or a String). For each match, a result is generated and either added to the result array or passed to the block. If the pattern contains no groups, each individual result consists of the matched string, $&. If the pattern contains groups, each individual result is itself an array containing one entry per group.
Examples:
a = R("cruel world")
a.scan(/\w+/) #=> ["cruel", "world"]
a.scan(/.../) #=> ["cru", "el ", "wor"]
a.scan(/(...)/) #=> [["cru"], ["el "], ["wor"]]
a.scan(/(..)(..)/) #=> [["cr", "ue"], ["l ", "wo"]]
#And the block form:
a.scan(/\w+/, (w) -> R.puts "<<#{w}>> ")
print "\n"
a.scan(/(.)(.)/, (x,y) -> R.puts y, x )
print "\n"
# produces:
# <<cruel>> <<world>>
# rceu lowlr
- (void) size()
- (void) slice(index, other)
Element Reference—If passed a single Fixnum, returns a substring of one character at that position. If passed two Fixnum objects, returns a substring starting at the offset given by the first, and with a length given by the second. If passed a range, its beginning and end are interpreted as offsets delimiting the substring to be returned. In all three cases, if an offset is negative, it is counted from the end of str. Returns nil if the initial offset falls outside the string or the length is negative.
If a Regexp is supplied, the matching portion of str is returned. If a numeric or name parameter follows the regular expression, that component of the MatchData is returned instead. If a String is given, that string is returned if it occurs in str. In both cases, nil is returned if there is no match.
Examples:
a = R("hello there")
a.slice(1) #=> "e"
a.slice(2, 3) #=> "llo"
a.slice(R.rng(2, 3)) #=> "ll"
a.slice(-3, 2) #=> "er"
a.slice(R.rng(7, -2)) #=> "her"
a.slice(R.rng(-4, -2)) #=> "her"
a.slice(R.rng(-2, -4)) #=> ""
a.slice(R.rng(12, -1)) #=> null
a.slice(/[aeiou](.)\11//) #=> "ell"
a.slice(/[aeiou](.)\11//, 0) #=> "ell"
a.slice(/[aeiou](.)\11//, 1) #=> "l"
a.slice(/[aeiou](.)\11//, 2) #=> null
a.slice("lo") #=> "lo"
a.slice("bye") #=> null
- (void) split(pattern = " ", limit)
Divides str into substrings based on a delimiter, returning an array of these substrings.
If pattern is a String, then its contents are used as the delimiter when splitting str. If pattern is a single space, str is split on whitespace, with leading whitespace and runs of contiguous whitespace characters ignored.
If pattern is a Regexp, str is divided where the pattern matches. Whenever the pattern matches a zero-length string, str is split into individual characters. If pattern contains groups, the respective matches will be returned in the array as well.
If pattern is omitted, the value of $; is used. If $; is nil (which is the default), str is split on whitespace as if ` ‘ were specified.
If the limit parameter is omitted, trailing null fields are suppressed. If limit is a positive number, at most that number of fields will be returned (if limit is 1, the entire string is returned as the only entry in an array). If negative, there is no limit to the number of fields returned, and trailing null fields are not suppressed.
split(pattern=$;, [limit]) → anArray
Examples:
R(" now's the time").split() #=> ["now's", "the", "time"]
R(" now's the time").split(' ') #=> ["now's", "the", "time"]
R(" now's the time").split(/ /) #=> ["", "now's", "", "the", "time"]
R("1, 2.34,56, 7").split(%r{,\s*}) #=> ["1", "2.34", "56", "7"]
R("hello").split(//) #=> ["h", "e", "l", "l", "o"]
# R("hello").split(//, 3) #=> ["h", "e", "llo"]
R("hi mom").split(%r{\s*}) #=> ["h", "i", "m", "o", "m"]
R("mellow yellow").split("ello") #=> ["m", "w y", "w"]
R("1,2,,3,4,,").split(',') #=> ["1", "2", "", "3", "4"]
# R("1,2,,3,4,,").split(',', 4) #=> ["1", "2", "", "3,4,,"]
# R("1,2,,3,4,,").split(',', -4) #=> ["1", "2", "", "3", "4", "", ""]
- (void) squeeze_bang()
- (void) squeeze(pattern...)
Builds a set of characters from the other_str parameter(s) using the procedure described for String#count. Returns a new string where runs of the same character that occur in this set are replaced by a single character. If no arguments are given, all runs of identical characters are replaced by a single character.
Examples:
R("yellow moon").squeeze() #=> "yelow mon"
R(" now is the").squeeze(" ") #=> " now is the"
R("putters shoot balls").squeeze("m-z") #=> "puters shot balls"
- (void) start_with(needles...)
Returns true if str starts with one of the prefixes given.
Examples:
R("hello").start_with("hell") #=> true
# returns true if one of the prefixes matches.
R("hello").start_with("heaven", "hell") #=> true
R("hello").start_with("heaven", "paradise") #=> false
- (void) strip()
Returns a copy of str with leading and trailing whitespace removed.
Examples:
R(" hello ").strip() #=> "hello"
R("\tgoodbye\r\n").strip() #=> "goodbye"
- (?) strip_bang()
Removes leading and trailing whitespace from str. Returns nil if str was not altered.
- (void) sub(pattern, replacement)
sub does not yet add matches to R['$~'] as it should
Returns a copy of str with the first occurrence of pattern substituted for the second argument. The pattern is typically a Regexp; if given as a String, any regular expression metacharacters it contains will be interpreted literally, e.g. '\d' will match a backlash followed by ‘d’, instead of a digit.
If replacement is a String it will be substituted for the matched text. It
may contain back-references to the pattern’s capture groups of the form
\d, where d is a group number, or \k
If the second argument is a Hash, and the matched text is one of its keys, the corresponding value is the replacement string.
In the block form, the current match string is passed in as a parameter, and variables such as $1, $2, $`, $&, and $' will be set appropriately. The value returned by the block will be substituted for the match on each call.
The result inherits any tainting in the original string or any supplied replacement string.
Examples:
R("hello").sub(/[aeiou]/, '*') #=> "h*llo"
R("hello").sub(/([aeiou])/, '<\1>') #=> "h<e>llo"
R("hello").sub(/./, (s) -> s.ord.to_s() + ' ' ) #=> "104 ello"
# R("hello").sub(/(?<foo>[aeiou])/, '*\k<foo>*') #=> "h*e*llo"
- (void) sub_bang(pattern, replacement)
Performs the substitutions of String#sub in place, returning str, or nil if no substitutions were performed.
- (void) succ()
Returns the successor to str. The successor is calculated by incrementing characters starting from the rightmost alphanumeric (or the rightmost character if there are no alphanumerics) in the string. Incrementing a digit always results in another digit, and incrementing a letter results in another letter of the same case. Incrementing nonalphanumerics uses the underlying character set’s collating sequence.
If the increment generates a “carry,” the character to the left of it is incremented. This process repeats until there is no carry, adding an additional character if necessary.
@alias #next
Examples:
R("abcd").succ() #=> "abce"
R("THX1138").succ() #=> "THX1139"
R("<<koala>>").succ() #=> "<<koalb>>"
R("1999zzz").succ() #=> "2000aaa"
R("ZZZ9999").succ() #=> "AAAA0000"
R("***").succ() #=> "**+"
- (void) succ_bang()
Equivalent to String#succ, but modifies the receiver in place.
@alias #next_bang
- (void) swapcase()
Returns a copy of str with uppercase alphabetic characters converted to lowercase and lowercase characters converted to uppercase. Note: case conversion is effective only in ASCII region.
Examples:
R("Hello").swapcase() #=> "hELLO"
R("cYbEr_PuNk11").swapcase() #=> "CyBeR_pUnK11"
- (void) swapcase_bang()
Equivalent to String#swapcase, but modifies the receiver in place, returning str, or nil if no changes were made. Note: case conversion is effective only in ASCII region.
- (void) to_a()
- (void) to_f()
Returns the result of interpreting leading characters in str as a floating point number. Extraneous characters past the end of a valid number are ignored. If there is not a valid number at the start of str, 0.0 is returned. This method never raises an exception.
Examples:
R("123.45e1").to_f() #=> 1234.5
R("45.67 degrees").to_f() #=> 45.67
R("thx1138").to_f() #=> 0.0
- (void) to_i(base)
to_i(base) does not remove invalid characters:
to_i(0) does not auto-detect base
Returns the result of interpreting leading characters in str as an integer base base (between 2 and 36). Extraneous characters past the end of a valid number are ignored. If there is not a valid number at the start of str, 0 is returned. This method never raises an exception when base is valid.
- e.g: R("1012").to_i(2) should return 5, but due to 2 being invalid it retunrs 0 now.
Examples:
R("12345").to_i() #=> 12345
R("1_23_45").to_i() #=> 12345
R("99 red balloons").to_i() #=> 99
R("0a").to_i() #=> 0
R("0a").to_i(16) #=> 10
R("hello").to_i() #=> 0
R("1100101").to_i(2) #=> 101
R("1100101").to_i(8) #=> 294977
R("1100101").to_i(10) #=> 1100101
R("1100101").to_i(16) #=> 17826049
# but:
R("_12345").to_i() #=> 0
# TODO:
R("0b10101").to_i(0) #=> 21
R("0b1010134").to_i(2) #=> 21
- (void) to_s()
Returns the receiver.
- (void) tr(from_str, to_str)
Returns a copy of str with the characters in from_str replaced by the corresponding characters in #to_str. If #to_str is shorter than from_str, it is padded with its last character in order to maintain the correspondence.
R("hello").tr('el', 'ip') #=> "hippo"
R("hello").tr('aeiou', '*') #=> "h*ll*"
Both strings may use the c1-c2 notation to denote ranges of characters, and from_str may start with a ^, which denotes all characters except those listed.
R("hello").tr('a-y', 'b-z') #=> "ifmmp"
R("hello").tr('^aeiou', '*') #=> "*e**o"
- (void) tr_bang(from_str, to_str)
Translates str in place, using the same rules as String#tr
. Returns str
,
or nil
if no changes were made.
- (void) tr_s()
Processes a copy of str as described under String#tr, then removes duplicate characters in regions that were affected by the translation.
Examples:
R("hello").tr_s('l', 'r') #=> "hero"
R("hello").tr_s('el', '*') #=> "h*o"
R("hello").tr_s('el', 'hx') #=> "hhxo"
- (void) upcase()
Returns a copy of str with all lowercase letters replaced with their uppercase counterparts. The operation is locale insensitive—only characters “a” to “z” are affected. Note: case replacement is effective only in ASCII region.
Examples:
R("hEllO").upcase() #=> "HELLO"
- (void) upcase_bang()
Upcases the contents of str, returning nil if no changes were made. Note: case replacement is effective only in ASCII region.
- (void) upto(stop, exclusive, block)
Iterates through successive values, starting at str and ending at other_str inclusive, passing each value in turn to the block. The String#succ method is used to generate each value. If optional second argument exclusive is omitted or is false, the last value will be included; otherwise it will be excluded.
If no block is given, an enumerator is returned instead.
If str and other_str contains only ascii numeric characters, both are recognized as decimal numbers. In addition, the width of string (e.g. leading zeros) is handled appropriately.
Examples:
R("a8").upto("b6", (s) -> R.puts(s, ''))
# out: a8 a9 b0 b1 b2 b3 b4 b5 b6
R("9").upto("11").to_a() #=> ["9", "10", "11"]
R("25").upto("5").to_a() #=> []
R("07").upto("11").to_a() #=> ["07", "08", "09", "10", "11"]


Akan names come from a traditionalnaming system for people from country know as Ghana.A child’s name is determined by he day of their birth or the manner in which they were born.


Error: the filename is empty or filename extension is not allowed! Allowed extension are txt, log, cfg, arti and out.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.xml.dtm.DTMManager
public abstract class DTMManager
A DTMManager instance can be used to create DTM and DTMIterator objects, and manage the DTM objects in the system.
The system property that determines which Factory implementation to create is named "org.apache.xml.utils.DTMFactory". This property names a concrete subclass of the DTMFactory abstract class. If the property is not defined, a platform default is be used.
An instance of this class
Note: this class is incomplete right now. It will be pretty much modeled after javax.xml.transform.TransformerFactory in terms of its factory support.
State: In progress!!
| Field Summary | |
|---|---|
private static boolean |
debug
Temp debug code - this will be removed after we test everything |
private static java.lang.String |
defaultClassName
The default class name to use as the manager. |
private static java.lang.String |
defaultPropName
The default property name to load the manager. |
static int |
IDENT_DTM_DEFAULT
When this bitmask is ANDed with a DTM node handle number, the result is the DTM's document identity number. |
static int |
IDENT_DTM_NODE_BITS
This value, set at compile time, controls how many bits of the DTM node identifier numbers are used to identify a node within a document, and thus sets the maximum number of nodes per document. |
static int |
IDENT_MAX_DTMS
This is the maximum number of DTMs available. |
static int |
IDENT_NODE_DEFAULT
When this bitmask is ANDed with a DTM node handle number, the result is the low bits of the node's index number within that DTM. |
boolean |
m_incremental
|
boolean |
m_source_location
|
protected XMLStringFactory |
m_xsf
Factory for creating XMLString objects. |
| Constructor Summary | |
|---|---|
protected |
DTMManager()
Default constructor is protected on purpose. |
| Method Summary | |
|---|---|
abstract DTM |
createDocumentFragment()
Creates a DTM representing an empty DocumentFragment object. |
abstract DTMIterator |
createDTMIterator(int node)
Create a new DTMIterator that holds exactly one node. |
abstract DTMIterator |
createDTMIterator(int whatToShow,
DTMFilter filter,
boolean entityReferenceExpansion)
Create a new DTMIterator based only on a whatToShow
and a DTMFilter. |
abstract DTMIterator |
createDTMIterator(java.lang.Object xpathCompiler,
int pos)
Create a new DTMIterator based on an XPath
UnionExpr. |
abstract DTMIterator |
createDTMIterator(java.lang.String xpathString,
PrefixResolver presolver)
Create a new DTMIterator based on an XPath
UnionExpr. |
abstract DTM |
getDTM(int nodeHandle)
Get the instance of DTM that "owns" a node handle. |
abstract DTM |
getDTM(javax.xml.transform.Source source,
boolean unique,
DTMWSFilter whiteSpaceFilter,
boolean incremental,
boolean doIndexing)
Get an instance of a DTM, loaded with the content from the specified source. |
abstract int |
getDTMHandleFromNode(org.w3c.dom.Node node)
Given a W3C DOM node, try and return a DTM handle. |
abstract int |
getDTMIdentity(DTM dtm)
%TBD% Doc NEEDSDOC @param dtm NEEDSDOC ($objectName$) @return |
int |
getDTMIdentityMask()
%TBD% Doc NEEDSDOC ($objectName$) @return |
boolean |
getIncremental()
Get a flag indicating whether an incremental transform is desired |
int |
getNodeIdentityMask()
%TBD% Doc NEEDSDOC ($objectName$) @return |
boolean |
getSource_location()
Get a flag indicating whether the transformation phase should keep track of line and column numbers for the input source document. |
XMLStringFactory |
getXMLStringFactory()
Get the XMLStringFactory used for the DTMs. |
static DTMManager |
newInstance(XMLStringFactory xsf)
Obtain a new instance of a DTMManager . |
abstract boolean |
release(DTM dtm,
boolean shouldHardDelete)
Release a DTM either to a lru pool, or completely remove reference. |
void |
setIncremental(boolean incremental)
Set a flag indicating whether an incremental transform is desired This flag should have the same value as the FEATURE_INCREMENTAL feature which is set by the TransformerFactory.setAttribut() method before a DTMManager is created |
void |
setSource_location(boolean sourceLocation)
Set a flag indicating whether the transformation phase should keep track of line and column numbers for the input source document. |
void |
setXMLStringFactory(XMLStringFactory xsf)
Set the XMLStringFactory used for the DTMs. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final java.lang.String defaultPropName
private static java.lang.String defaultClassName
protected XMLStringFactory m_xsf
public boolean m_incremental
public boolean m_source_location
private static boolean debug
public static final int IDENT_DTM_NODE_BITS
public static final int IDENT_NODE_DEFAULT
public static final int IDENT_DTM_DEFAULT
public static final int IDENT_MAX_DTMS
| Constructor Detail |
|---|
protected DTMManager()
| Method Detail |
|---|
public XMLStringFactory getXMLStringFactory()
public void setXMLStringFactory(XMLStringFactory xsf)
xsf
- a valid XMLStringFactory object, should not be null.public static DTMManager newInstance(XMLStringFactory xsf) throws DTMConfigurationException
DTMManager
.
This static method creates a new factory instance
This method uses the following ordered lookup procedure to determine
the DTMManager
implementation class to
load:
org.apache.xml.dtm.DTMManager
system
property.
META-INF/services/org.apache.xml.dtm.DTMManager
in jars available to the runtime.
DTMManager
classname, which is
org.apache.xml.dtm.ref.DTMManagerDefault
.
DTMManager
it can use the factory to configure
and obtain parser instances.
DTMConfigurationException
- if the implementation is not available or cannot be instantiated.public abstract DTM getDTM(javax.xml.transform.Source source, boolean unique, DTMWSFilter whiteSpaceFilter, boolean incremental, boolean doIndexing)
source
- the specification of the source object, which may be null,
in which case it is assumed that node construction will take
by some other means.unique
- true if the returned DTM must be unique, probably because it
is going to be mutated.whiteSpaceFilter
- Enables filtering of whitespace nodes, and may
be null.incremental
- true if the DTM should be built incrementally, if
possible.doIndexing
- true if the caller considers it worth it to use
indexing schemes.
public abstract DTM getDTM(int nodeHandle)
nodeHandle
- the nodeHandle.
public abstract int getDTMHandleFromNode(org.w3c.dom.Node node)
node
- Non-null reference to a DOM node.
public abstract DTM createDocumentFragment()
DocumentFragment
object.
public abstract boolean release(DTM dtm, boolean shouldHardDelete)
dtm
- The DTM to be released.shouldHardDelete
- True if the DTM should be removed no matter what.
public abstract DTMIterator createDTMIterator(java.lang.Object xpathCompiler, int pos)
DTMIterator
based on an XPath
UnionExpr.
xpathCompiler
- ??? Somehow we need to pass in a subpart of the
expression. I hate to do this with strings, since the larger expression
has already been parsed.pos
- The position in the expression.
DTMIterator
.public abstract DTMIterator createDTMIterator(java.lang.String xpathString, PrefixResolver presolver)
DTMIterator
based on an XPath
UnionExpr.
xpathString
- Must be a valid string expressing a
UnionExpr.presolver
- An object that can resolve prefixes to namespace URLs.
DTMIterator
.public abstract DTMIterator createDTMIterator(int whatToShow, DTMFilter filter, boolean entityReferenceExpansion)
DTMIterator
based only on a whatToShow
and a DTMFilter. The traversal semantics are defined as the
descendant access.
Note that DTMIterators may not be an exact match to DOM NodeIterators. They are initialized and used in much the same way as a NodeIterator, but their response to document mutation is not currently defined.
whatToShow
- This flag specifies which node types may appear in
the logical view of the tree presented by the iterator. See the
description of NodeFilter
for the set of possible
SHOW_
values.These flags can be combined using
OR
.filter
- The NodeFilter
to be used with this
DTMFilter
, or null
to indicate no filter.entityReferenceExpansion
- The value of this flag determines
whether entity reference nodes are expanded.
DTMIterator
.public abstract DTMIterator createDTMIterator(int node)
DTMIterator
that holds exactly one node.
node
- The node handle that the DTMIterator will iterate to.
DTMIterator
.public boolean getIncremental()
public void setIncremental(boolean incremental)
incremental
- boolean to use to set m_incremental.public boolean getSource_location()
public void setSource_location(boolean sourceLocation)
sourceLocation
- boolean to use to set m_source_locationpublic abstract int getDTMIdentity(DTM dtm)
public int getDTMIdentityMask()
public int getNodeIdentityMask()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


y_test = np.array(y_test)
i = Input(shape=(maxlen,))
x = Embedding(max_features, 128)(i)
x = TCN(nb_filters=64,
kernel_size=6,
dilations=[1, 2, 4, 8, 16, 32, 64])(x)
x = Dropout(0.5)(x)
model = Sequential([
Embedding(max_features, 128, input_shape=(maxlen,)),
TCN(kernel_size=6, dilations=[1, 2, 4, 8, 16]),
Dense(1, activation="sigmoid")
])


QueryInterface Class
Returns an object that treats SQLite's inabilities to do certain queries.
Item Index
Methods
Methods
changeColumn
-
tableName
-
attributes
-
emitter
-
queryAndEmit
A wrapper that fixes SQLite's inability to change columns from existing tables. It will create a backup of the table, drop the table afterwards and create a new table with the same name but with a modified version of the respective column.
Parameters:
-
tableName
StringThe name of the table.
-
attributes
ObjectAn object with the attribute's name as key and it's options as value object.
-
emitter
CustomEventEmitterThe EventEmitter from outside.
-
queryAndEmit
FunctionThe function from outside that triggers some events to get triggered.
removeColumn
-
tableName
-
attributeName
-
emitter
-
queryAndEmit
A wrapper that fixes SQLite's inability to remove columns from existing tables. It will create a backup of the table, drop the table afterwards and create a new table with the same name but without the obsolete column.
Parameters:
-
tableName
StringThe name of the table.
-
attributeName
StringThe name of the attribute that we want to remove.
-
emitter
CustomEventEmitterThe EventEmitter from outside.
-
queryAndEmit
FunctionThe function from outside that triggers some events to get triggered.
renameColumn
-
tableName
-
attrNameBefore
-
attrNameAfter
-
emitter
-
queryAndEmit
A wrapper that fixes SQLite's inability to rename columns from existing tables. It will create a backup of the table, drop the table afterwards and create a new table with the same name but with a renamed version of the respective column.
Parameters:
-
tableName
StringThe name of the table.
-
attrNameBefore
StringThe name of the attribute before it was renamed.
-
attrNameAfter
StringThe name of the attribute after it was renamed.
-
emitter
CustomEventEmitterThe EventEmitter from outside.
-
queryAndEmit
FunctionThe function from outside that triggers some events to get triggered.


| Trees | Indices | Toggle frames |
|---|
event.EventDispatcher --+ | AbstractDocument
Abstract document interface used by all pyglet.text classes.
This class can be overridden to interface pyglet with a third-party document format. It may be easier to implement the document format in terms of one of the supplied concrete classes FormattedDocument or UnformattedDocument.
|
on_insert_text(start,
text)
Text was inserted into the document.
|
|
|
on_delete_text(start,
end)
Text was deleted from the document.
|
|
|
on_style_text(start,
end,
attributes)
Text character style was modified.
|
__init__(self,
text='
' )
|
|
| int |
get_paragraph_start(self,
pos)
Get the starting position of a paragraph.
|
| int |
get_paragraph_end(self,
pos)
Get the end position of a paragraph.
|
| AbstractRunIterator |
get_style_runs(self,
attribute)
Get a style iterator over the given style attribute.
|
|
get_style(self,
attribute,
position=0)
Get an attribute style at the given position.
|
|
|
get_style_range(self,
attribute,
start,
end)
Get an attribute style over the given range.
|
|
| AbstractRunIterator |
get_font_runs(self,
dpi=None)
Get a style iterator over the pyglet.font.Font instances used in
the document.
|
| pyglet.font.Font |
get_font(self,
position,
dpi=None)
Get the font instance used at the given position.
|
|
insert_text(self,
start,
text,
attributes=None)
Insert text into the document.
|
|
|
delete_text(self,
start,
end)
Delete text from the document.
|
|
|
insert_element(self,
position,
element,
attributes=None)
Insert a element into the document.
|
|
| InlineElement |
get_element(self,
position)
Get the element at a specified position.
|
|
set_style(self,
start,
end,
attributes)
Set text style of some or all of the document.
|
|
|
set_paragraph_style(self,
start,
end,
attributes)
Set the style for a range of paragraphs.
|
|
|
dispatch_event(self,
event_type,
*args)
Dispatch a single event to the attached handlers.
(Inherited from pyglet.event.EventDispatcher)
|
|
|
event(self,
*args)
Function decorator for an event handler.
(Inherited from pyglet.event.EventDispatcher)
|
|
|
pop_handlers(self)
Pop the top level of event handlers off the stack.
(Inherited from pyglet.event.EventDispatcher)
|
|
|
push_handlers(self,
*args,
**kwargs)
Push a level onto the top of the handler stack, then attach zero or
more event handlers.
(Inherited from pyglet.event.EventDispatcher)
|
|
|
register_event_type(cls,
name)
Register an event type with the dispatcher.
(Inherited from pyglet.event.EventDispatcher)
|
|
|
remove_handler(self,
name,
handler)
Remove a single event handler.
(Inherited from pyglet.event.EventDispatcher)
|
|
|
remove_handlers(self,
*args,
**kwargs)
Remove event handlers from the event stack.
(Inherited from pyglet.event.EventDispatcher)
|
|
|
set_handler(self,
name,
handler)
Attach a single event handler.
(Inherited from pyglet.event.EventDispatcher)
|
|
|
set_handlers(self,
*args,
**kwargs)
Attach one or more event handlers to the top level of the handler
stack.
(Inherited from pyglet.event.EventDispatcher)
|
| str |
text
Document text.
|
event_types =
|
Get an attribute style over the given range.
If the style varies over the range, STYLE_INDETERMINATE is returned.
Get a style iterator over the pyglet.font.Font instances used in the document.
The font instances are created on-demand by inspection of the font_name, font_size, bold and italic style attributes.
See Also: get_font_runs
Insert a element into the document.
See the InlineElement class documentation for details of usage.
Set the style for a range of paragraphs.
This is a convenience method for set_style that aligns the character range to the enclosing paragraph(s).
Document text.
For efficient incremental updates, use the insert_text and delete_text methods instead of replacing this property.
|
| Trees | Indices | Toggle frames |
|---|
| Generated by Epydoc 3.0beta1 on Sun Mar 22 20:15:41 2009 | http://epydoc.sourceforge.net |


|
CMSIS-Build
Version 0.10.0 (beta)
Tools, software frameworks, and work flows for productivity with CMSIS based projects
|
The cp_install
"cp_install.sh" script gets a list of URLs that refer to software packs in CMSIS-Pack format that should be downloaded and installed.
cp_install is called from the Bash command line with the following syntax:
Where:
cp_install
is the name of the script.
<pack-list-file>
is a text file that contains a URL list.
The cp_install
script reads a text file that contains a URL list of software packs in CMSIS-Pack format. The URL list has the following format: <url>/<vendor>
.<packname>.<version>.pack. Below is an example:
For each URL in this list the following operations are performed:
The following directories are used to store software pack. The naming conventions for directories is based on the CMSIS-Pack specification.
| Directory | Description |
|---|---|
| ${CMSIS_PACK_ROOT}/.Download | Stores the downloaded software pack |
| ${CMSIS_PACK_ROOT}/<vendor>/<packname>/<version> | Extracted content of the software pack (naming according CMSIS-Pack specification) |
$CMSIS_PACK_ROOT
must reference an existing directory with at least the file ./Web/index.pidx. The directory structure can be created with cp_init.sh: Setup Pack Directory$ cp_install.sh Simulation.cpinstall (cp_install.sh): Install Packs 0.10.0 (C) 2020 ARM info: reading file: Simulation.cpinstall dos2unix: converting file Simulation.cpinstall to Unix format... http://www.keil.com/pack/ARM.CMSIS.5.6.0.pack ######################################################################## 100.0%#=#=# ######################################################################## 100.0% info: ARM.CMSIS.5.6.0.pack installing into /c/arm/cbuild/packs/ARM/CMSIS/5.6.0 http://www.keil.com/pack/Keil.ARM_Compiler.1.6.1.pack ######################################################################## 100.0%#=#=# ######################################################################## 100.0% info: Keil.ARM_Compiler.1.6.1.pack installing into /c/arm/cbuild/packs/Keil/ARM_Compiler/1.6.1 pack installation completed successfully
| Type | Message | Action |
|---|---|---|
| ERROR | error: missing command line argument | See usage and correct argument. |
| ERROR | error: too many command line arguments | See usage and correct argument. |
| ERROR | error: $filename does not exist | See usage and correct argument. |
| ERROR | error: CMSIS_PACK_ROOT environment variable not set | Set Environment Variables. |
| ERROR | error: CMSIS_PACK_ROOT: folder does not contain package index file .Web/index.pidx | Check pack repository. |
| ERROR | error: pack download failed for $pack_url | Check internet connection and server availability. |
| ERROR | error: downloaded file $packfile is not a zip/pack file | Check list of missing packages in cpinstall file. |
| ERROR | error: unzip failed for $packfile | Check downloaded package. |
| INFO | info: pack $packfile is already downloaded | For information only. |
| INFO | info: $packfile is already installed | For information only. |
| INFO | pack installation completed successfully | For information only. |


|
|
This interactive banner ad was created for 3Dlabs to show the versatility of VRML and JavaScript in online advertising. Once optimized, the entire application, including all sounds and textures, is 12k. |
|
|
Click on your paddle and hold down the left mouse button. Serve the ball by releasing the button. The higher the paddle, the greater the angle the ball will hit the table. Drag the paddle by moving the cursor while holding the button down. The ball's direction is affected based on where it makes contact with the paddle. |


TickedOff Web Portal
Email:
Password:
Login
Forgot your Password
Forgot Password
×
Email address
After submitting please check your email for temporary password
Incorrect E-mail or password
×


--- layout: about title: About permalink: /about/ ---
I have 9+ years of experience in the field of data and analytics.


About Me
A fulltime remote DevOps Engineer with 5+ years of professional experience in DevOps, Infrastructure and Agile methodologies (Scrum/Scrumban/Kanban).
Experiences
- DevOps Engineer
- 2019 - Present · Flux7 Labs Inc.
- Deploying Microservices with AWS Fargate with complete infrastructure automation using Terraform. Deploying fast and secure CIS compliant AWS platforms for enterprises allowing them to start within 10 days. Setting up ETL data engineering automation with AWS Glue, S3, Redshift, and Cloudwatch. Deploying automated serverless nightly builds with AWS Lambda. Setting up monitoring, alarm and logging system for multi-account AWS environments.
- DevOps Engineer
- 2017 - 2019 · Expleo Group
- Building complete CI pipeline using Jenkins and GitHub. Using IaC (CloudFormation & Terraform) to build AWS infrastructure and provide software development and production platform. Creating and maintaining Ansible playbooks with multiple roles. Basic system administration and troubleshooting Red Hat based Linux systems. Worked with build automation tools such as ANT in CI pipelines.
- Test Engineer
- 2015 - 2016 · SQS India Infosystem Pvt Ltd
- Monitoring health check of application and server by Performance testing tools and Nagios. Creating and Maintaining Automation scripts used for performance testing. Testing and raising defects for improvement in average response time and better throughput of servers.
Education
- Ph.D. in Subject
- 2013 - 2018 · University of State-City
- Thesis: Effect of humans on other humans: a study of human behavior.
- M.S. in Subject
- 2013 - 2018 · University of State-City
- Thesis: Effect of humans on other humans: a study of human behavior.
- B.S. in Subject
- 2004 - 2009 · University of State-City
Publications
Journal Articles
2018. F Last, F Second, P secondary. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Journal of Field 52 (16), 9033-9044.
2018. F Last, F Second, P secondary. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Journal of Field 52 (16), 9033-9044.
Proceedings
2018. F Last, F Second, P secondary. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Journal of Field 52 (16), 9033-9044.
Projects
Skills
Skill 1, Skill 2
Skill 3
Skill 4
Hobbies
- Cooking
- Hiking
- Baking


This add-on bundle allows you to import data from the ExpressionEngine 1.x Gallery module into a P&T Assets custom field in an ExpressionEngine 2.x site. It will also take into account any usage of Solspace’s Gallery Extended module, which allowed one to relate Gallery Entries to Weblog Entries.
Requirements
This Importer add-on bundle requires that you have the following software purchased separately:
- ExpressionEngine 2.4+
- Solspace Importer 2.2+
- Solspace Gallery to Assets Importer
- Pixel & Tonic Assets 2+
Install / Update
- Before attempting any of this, it is strongly recommended that you backup your site, and test this on a staging server.
- Within the download package, copy the importer.datatype.gallery folder into your sites ./system/expressionengine/third_party/importer/datatypes/ directory.
- Within the download package, copy the importer.content_type.assets folder into your sites ./system/expressionengine/third_party/importer/content_types/ directory.
Setup
You can import data from the ExpressionEngine 1.x Gallery module into a P&T Assets custom field in an ExpressionEngine 2.x site. It will also take into account any usage of Solspace's Gallery Extended module, which allowed one to relate Gallery Entries to Weblog Entries. The process requires a bit of set up to successfully import both the Gallery Entries and relate them to any Channel Entries. Please follow these steps:
- Copy all ExpressionEngine 1.x Gallery image directories over to your EE 2.x site. As each Gallery could have its own directory, insure you bring them all over.
- Go into these directories and delete any and all thumb or medium images. They are no longer needed.
- Set up these Gallery directories as ExpressionEngine Upload Directories if they are not already.
- Go into the Assets module and index those Upload Directories so Assets can load all of the metadata for the images.
- Create a new Channel for the Gallery Entries to be imported into and insure to give it an Assets custom field.
- If you were using the Gallery Extended module to relate gallery entries to EE 1.x Weblog entries, create an Assets custom channel field in the applicable ExpressionEngine 2.x channel for those weblog entries.
- As this is a complicated procedure, we recommend backing up your DB at this step.
- Go into Importer and set up a profile importing EE 1.x Gallery Entries into Assets. Follow the instructions and then import. During import, Importer will then go through all gallery entries and attempt to find the image in the Assets directories indexed in Step #4. If the gallery entries are related to a Weblog Entry (using Gallery Extended), it will search Expressionengine for that entry (to insure the entry from ExpressionEngine 1.x still exists in ExpressionEngine 2.x) and assign that Asset image to the Asset custom field for the related entry.
- In your templates, you will now have to use the Assets custom field tags for displaying your images.
- If you wish to have multiple image sizes, we recommended that you use one of the image resizing + caching plugins found on devot-ee.


11-year-old boy dies after being hit by car in Hanover
An 11-year-old boy died as a result of injuries he received when he was hit by a motor car along the Sandy Bay main road in Hanover on Thursday.
He has been identified as Damaine Simpson, otherwise called ‘Junior’ of Bogue Hill, St James.
The Sandy Bay Police report that about 3:30 p.m., Damaine was crossing the roadway when he was hit by a motor vehicle that was travelling towards Lucea.
He sustained injuries and was taken to hospital where he was pronounced dead.
The driver of the motor vehicle was warned for prosecution.
His vehicle was also seized.


Welcome to Pet Service Center
Where you can provide the best to your pet
Our Pet Care Services
Puppy Sitting
Helping your new pup to be a good boy or girl isn’t always easy, but we’re here to help.
Dog Walking
Choose from a 30, 45, or 60-minute visit to give your pet their daily dose of fun-filled exercise.
Overnight Care
If you’re away for the night, we can stay the night or stop by in the evening and morning to take care of all your pet’s needs.
Pet Sitting
While you’re away we can make sure your pet has all the food, water, exercise, and, of course, attention, they deserve.
Pet Taxi
Does your pet need a lift to the groomers, vet, or dog park? We’ve got their tail covered.
Pet Medical Administration
Our team of experienced professionals can help with everything from pills to injections.
Why pet care center?
We believe finding a reliable, professional pet sitter should be easy. So we make sure every member of the PCS Family is a highly-experienced animal lover with a passion for petting and playing.


Issue #3671
This test-case is intended for Issue #3671
- CSS autocomplete globals.
Jan Odvarko<EMAIL_ADDRESS>- Open Firebug and select the HTML panel.
- Use the inspector to inspect the green element below.
- Select also the Style side panel. There should be one 'element.style' CSS rule.
- Click at the only property color.
- Remove the selection in the inline editor.
- Now when the inline editor is empty, use arrow-up to find any other property name
that contatins - character. You need about two key presses.
Inspect This Element


wTooltip.js
About
A jQuery tooltip plugin for clean and simple tooltips. Also supports
mousestop
event which more closely simulates the way the browser tooltips work by only appearing when a user actually pauses over an element.


A demo of Skeleton CSS, HINT.css tooltips, Javascript, JSON, a splash of D3.Special thanks to Astronomy Picture of the Day.


{% extends 'layout.html' %} {% block pageTitle %} How to use components - NHS.UK prototype kit {% endblock %} {% block beforeContent %} {% include "how-tos/includes/breadcrumb.html" %} {% endblock %} {% block content %}
Components are reusable parts of the user interface, like buttons, text inputs and checkboxes.
The prototype kit has 2 ways to use components. You can either use HTML or a Nunjucks macro.
You can copy the HTML or Nunjucks code from each of the components pages on the components section of the service manual.
Explore the NHS.UK digital service manual for code snippets and guidance on how to use components.
{% include "how-tos/includes/back-button.html" %}


Toggle navigation
Meilin's Shop
Home
About Us
Contact Us
Sign Up
Login
Logout
Profile
Save!
Reset Your Passward
Save!
Address Book
Add New Address
Save!


My personal experience with compassionate leadership leads to feeling happiness and joyful coming to work as subordinate not as the leader. I have also experienced not so compassionate leadership which result in resignation due to so much unhappiness. This book has some realistic points.
You will need to do this meditation with open heart and the right state of mind. I grew up with a religious background in Indonesia and we had a curriculum at school that teaches us about practising good morale, compassion, tolerance, living in a harmonious society, etc. When you were young you don't really know the real meaning of these until you experience them personally in your adult life. I did this somewhere quiet no distraction with a headphone on. The experience was pleasnt. I felt warmth in my chest and feeling peaceful. It may sound a bit exagerating but for me it really helps to take away some negative feelings and judgements towards others.
I felt a lot of sadness when I attempted doing tonglen meditation. I tried imagining others suffering I do however feel tenderness.
Status, Certainty, Autonomy, Relatedness, Fairness
I think this model will play a big role during the bootcamp.
I have to admit that I have been feeling uncertainty when during phase 0. I really hope this feeling will go away once we start the bootcamp.


|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Class Summary | |
|---|---|
| ThriftServer | ThriftServer - this class starts up a Thrift server which implements the Hbase API specified in the Hbase.thrift IDL file. |
| ThriftServer.HBaseHandler | The HBaseHandler is a glue object that connects Thrift RPC calls to the HBase client API primarily defined in the HBaseAdmin and HTable objects. |
| ThriftUtilities |
Provides an HBase Thrift service. This directory contains a Thrift interface definition file for an Hbase RPC service and a Java server implementation.
"Thrift is a software framework for scalable cross-language services development. It combines a powerful software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, and Ruby. Thrift was developed at Facebook, and we are now releasing it as open source." For additional information, see http://developers.facebook.com/thrift/. Facebook has announced their intent to migrate Thrift into Apache Incubator.
The Hbase API is defined in the
file Hbase.thrift. A server-side implementation of the API is in
org.apache.hadoop.hbase.thrift.ThriftServer
. The generated interfaces,
types, and RPC utility files are checked into SVN under the
org.apache.hadoop.hbase.thrift.generated
directory.
The files were generated by running the commands:
thrift -strict --gen java Hbase.thrift mv gen-java/org/apache/hadoop/hbase/thrift/generated . rm -rf gen-java
The 'thrift' binary is the Thrift compiler, and it is distributed as a part of the Thrift package. Additionally, specific language runtime libraries are a part of the Thrift package. A version of the Java runtime is checked into SVN under the hbase/lib directory.
To start ThriftServer, use:
./bin/hbase-daemon.sh start thrift [--port=PORT]The default port is 9090.
To stop, use:
./bin/hbase-daemon.sh stop thrift
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


{{ partial "navless_head.html" . }} {{ .Content }} Attending Not Attending Number of guests One Two Three Four An error occurred. Try again later! Thanks for your RSVP! << Back {{ partial "default_foot.html" . }}


This is a textbox but with additional functionality - the idea is that if the user presses TAB the widget will attempt to ‘complete’ what the user was typing, offering a choice of options if appropriate. The method called is auto_complete(inputch).
Of course, context is everything here. Autocomplete is therefore not useful, but is intended as something you can subclass. See the Filename and TitleFilename classes for examples.
A textbox that will attempt to ‘complete’ a filename or path entered by the user.
This is an example of the Autocomplete widget.
Control how the value of the .value attribute is displayed. Since versions of the text widgets are used in other, compound widgets (such as most of the multiline classes), this method is often overridden.
Beep and display a brief message to the user. In general, there are better ways to do this, but this is somtimes useful, for example when showing errors in Autocomplete classes.


Fire is generally carried across the area by a continuous layer of slash. Large quantities of material larger than 3 inches (7.6 cm) are present. Fires spread quickly through the fine fuels and intensity builds up more slowly as the large fuels start burning. Active flaming is sustained for long periods and a wide variety of firebrands can be generated. These contribute to spotting problems as the weather conditions become more severe. Clearcuts and heavy partial-cuts in mature and overmature stands are depicted where the slash load is dominated by the greater-than-3-inch (7.6-cm) diameter material. The total load may exceed 200 tons per acre (89.2 t/ha) but fuel less than 3 inches (7.6-cm) is generally only 10 percent of the total load. Situations where the slash still has “red” needles attached but the total load is lighter, more like model 12, can be represented because of the earlier high intensity and quicker area involvement. The fuel model is illustrated in photographs 37 and 38. Areas most commonly fitting this model are old-growth stands west of the Cascade and Sierra Nevada Mountains. More efficient utilization standards are decreasing the amount of large material left in the field.
Photo 37. West coast Douglas-fir clearcut, quality of cull high.
Photo 38. High productivity of cedar-fir stand can result in large
quantities of slash with high fire potential.


HoughCircles Finds circles in a grayscale image using the Hough transform
circles = cv.HoughCircles(image)
circles = cv.HoughCircles(..., 'OptionName', optionValue, ...)
Input
- image 8-bit, single-channel, grayscale input image.
Output
- circles Output vector of found circles. A cell-array of 3-element
floating-point vectors
{[x, y, radius], ...}
.
Options
- Method Detection method. Currently, the only implemented method is
'Gradient' (default). One of:
- Standard classical or standard Hough transform. Every line is
represented by two floating-point numbers
(rho,theta)
, where
rho
is a distance between (0,0)
point and the line, and
theta
is the angle between x-axis and the normal to the line.
Thus, the matrix must be (the created sequence will be) of
single
type with 2-channels.
- Probabilistic probabilistic Hough transform (more efficient in
case if the picture contains a few long linear segments). It
returns line segments rather than the whole line. Each segment
is represented by starting and ending points, and the matrix
must be (the created sequence will be) of the
int32
type with
4-channels.
- MultiScale multi-scale variant of the classical Hough transform.
The lines are encoded the same way as 'Standard'.
- Gradient basically 21HT, described in [Yuen90].
- DP Inverse ratio of the accumulator resolution to the image resolution.
For example, if
DP=1
, the accumulator has the same resolution as
the input image. If DP=2
, the accumulator has half as big width
and height. default 1.
- MinDist Minimum distance between the centers of the detected circles.
If the parameter is too small, multiple neighbor circles may be
falsely detected in addition to a true one. If it is too large, some
circles may be missed. default
size(image,1)/8
.
- Param1 First method-specific parameter. In case of 'Gradient', it is
the higher threshold of the two passed to the cv.Canny edge detector
(the lower one is twice smaller). default 100.
- Param2 Second method-specific parameter. In case of 'Gradient', it is
the accumulator threshold for the circle centers at the detection
stage. The smaller it is, the more false circles may be detected.
Circles, corresponding to the larger accumulator values, will be
returned first. default 100.
- MinRadius Minimum circle radius. default 0.
- MaxRadius Maximum circle radius. default 0.
The function finds circles in a grayscale image using a modification of the
Hough transform.
Note
Usually the function detects the centers of circles well. However, it may
fail to find correct radii. You can assist to the function by specifying the
radius range (MinRadius
and MaxRadius
) if you know it. Or, you may
ignore the returned radius, use only the center, and find the correct radius
using an additional procedure.
References
[Yuen90]:
HK Yuen, John Princen, John Illingworth, and Josef Kittler.
"Comparative study of hough transform methods for circle finding".
Image and Vision Computing, 8(1):71-77, 1990.


Unable to load
We were unable to load issues for the repo {{ data.owner }}/{{ data.repo }}. Message:
{{ data.err }}


Before Change
]
common_block_params = {"size": 4, "n_radial": 1, "stride": 2, "batch_norm_before_conv": False}
block_params = [
{"non_linearities": True},
{"non_linearities": True},
{"non_linearities": False},
]
assert len(block_params) + 1 == len(features)
After Change
blocks = [HighwayBlock(features[i], features[i + 1], **common_block_params, **block_params[i]) for i in range(len(block_params))]
self.sequence = torch.nn.Sequential(
*blocks,
AvgSpacial(),
torch.nn.Linear(20, 50),
torch.nn.ReLU(),
torch.nn.Linear(50, 2),
)
def forward(self, inp): // pylint: disable=W
"""
:param inp: [batch, features, x, y, z]


Westland Marathon
Maassluis NED
Race Winners
(29 runnings)
12 Apr
1997
2:13:18
2:36:51
13 Apr
1996
2:14:04
2:37:53
08 Apr
1995
2:15:40
2:33:55
19 Mar
1994
2:14:03
2:36:42
27 Mar
1993
2:13:27
2:37:12
23 May
1992
2:19:47
2:58:07
13 Apr
1991
2:15:33
2:47:36
07 Apr
1990
2:14:48
2:39:01
08 Apr
1989
2:12:22
2:46:05
09 Apr
1988
2:13:12
2:42:16
11 Apr
1987
2:13:49
2:40:35
12 Apr
1986
2:14:45
2:40:07
13 Apr
1985
2:13:20
2:41:10
07 Apr
1984
2:11:41
2:40:07
02 Apr
1983
2:13:29
3:10:38
10 Apr
1982
2:13:28
2:57:59
11 Apr
1981
2:17:06
3:06:13
12 Apr
1980
2:17:30
3:35:58
21 Apr
1979
2:19:24
3:12:20
15 Apr
1978
2:16:11
3:32:05
16 Apr
1977
2:21:40
10 Apr
1976
2:22:47
1975
---
11 May
1974
2:21:11
19 May
1973
2:18:12.8
27 May
1972
2:21:20
22 May
1971
2:25:44
23 May
1970
2:28:52
07 Jun
1969
2:32:44
Notes: 1969 was the inaugural year. The races for 1993-97 started in Naaldwijk.
25 May
2014
2:35:11
Erwin Harmes (NED)
3:19:59
Angeli deKoning (NED)
1998-2013
---
not held
---
not held
Vladimir Tonchinski (BLR)
Mieke Pullen (NED)
Tadesse Woldemeskle (ETH)
Linda Milo (BEL)
Ronny Ligneel (BEL)
Simona Staicu (ROM)
Peter Fleming (SCO)
Zinaida Semyonova (RUS)
Marnix Goegebeur (BEL)
Agota Farkas (HUN)
Yuri Pavlov (RUS)
Natalia Balyakina (RUS)
Dirk Vanderherten (BEL)
Krysztyna Kuta (POL)
Mohammed Salmi (ALG)
(nc)
Romjana Panovska (BUL)
(nc)
John Vermeule (NED)
Sirje Eichelmann (EST)
Cor Saelmans (BEL)
Ilona Janko (HUN)
Marti tenKate (NED)
Heather MacDuff (ENG)
Alex Hagelsteens (BEL)
(nc)
Eefje vanWissen (NED)
(nc)
John Andrew Boyes (ENG)
Annie vanStiphout (NED)
Cor Vriend-5
Jarmila Urbanova (CZE)
Cor Vriend-4
Tine Bronswijk-3
Cor Vriend-3
Denise Alfvoet (BEL)
Cor Vriend-2
(nc)
Dorette Janssens-2
Björn Lauenborg (DEN)
Tine Bronswijk-2
Julien Grimon (BEL)
Dorette Janssens (BEL)
Veli Balli (TUR)
Tine Bronswijk (NED)
Cor Vriend (NED)
Joe Keating (GBR)
not held
Antonio Mangano (ITA)
Jeffrey Norman (ENG)
Geert Jansen (NED)
(nc)
Georg Foerster (AUT)
Wim Hol (NED)
Hans vanKasteren (NED)
(nc) =>. national championship
1990 Jan vanRijthoven was the national champion (4th place, 2:17:00)
1990 Mieke Pullen was the national champion (2nd place, 2:44:52)
1986 Adri Hartveld was the national champion (2nd place, 2:15:32)
Most Wins
(1969-1997)
Men 5
Cor Vriend (NED)
1977,1981-84
Women
|
3 |
Tine Bronswijk (NED) | 1978,1980,1983 |
Prize Money (ADR qualified runners)
Year Men Women Total 1997 $20,605 $4,460 $25,065 1996 18,775 4,845 23,620 1995 16,500 8,525 25,025 1994 n/a n/a n/a 1993 20,515 n/a 20,515 1992 n/a n/a n/a 1991 8,750 750 9,500 Sums $85,145 $18,580 $103,725
Race Time Bias
Insufficient data to compute a race time bias.
Competitive Level
(1990-date)
Year Men Women 1997 197 n/c 1996 168 n/c 1995 229 n/c 1994 177 n/c .... 1992 140 n/c 1991 270 n/c
Quality Performances
Men <2:12 2 <2:13 5 <2:14 22 <2:15 35 <2:16 57 <2:17 80 <2:18 105 <2:19 125 <2:20 149 Women <2:34 1 <2:36 1 <2:38 6 <2:40 8 <2:42 13 <2:44 17 <2:46 18 <2:48 25 <2:50 34
Last Updated on 26 May 2014
Contributors: Wim vanHemert (5), Sergei Krasnoshchekov, Martin Rix, Franco Civai (1), Paul Michiels (5)


Please read carefully
By using this website you acknowledge that you understand and agree to the following conditions.
- Airport Mapping Webpage is provided as a courtesy to the public for general aviation planning purposes.
The information provided in this Airport Mapping Website should not be relied upon
for navigational, engineering, legal or other site-specific uses.
- WSDOT's Airport Mapping Webpage may not show an airport's current capabilities or configuration.
- Inaccuracies in The Airport Mapping Website may include:
- Spatial errors in data
- Airport Construction
- Recent Changes in airport capabilities
- Photo variations due to season, sun angle and tides.
- I understand the warnings and disclaimers described here, that airport hazards may exist, which are not
shown
in the Airport Mapping Webpage. I hold WSDOT and the State of Washington harmless with respect to my use of
this
Airport Mapping Webpage.
Unauthorized attempts to alter or modify the contents of this website are prohibited by law.
The WSDOT Airport Mapping Application is for reference only and may not identify all FAA Notice Criteria.
Users should use the FAA
OE/AAA Notice Criteria Tool.
I have read, understand and fully agree with this Disclaimer and Terms of Service


A variety of luxury yurt packages are available. Choose a package below and contact us to begin your reservation. We're happy to build a custom package for you!
| Package Name | Description | Nights | Cost Per Person |
| Weekend Escape | Two breakfasts, a trail map, and a picnic snack | 2 | $450 |
| Zen Retreat | Four breakfasts. a trail map, a picnic snack, and a pass for the daily sunrise Yoga session | 4 | $600 |
| Kayak Away | Two breakfasts, two hours of kayak rental daily, and a trail map | 2 | $500 |


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 2-4
Deep-fried pork mince makes a deliciously crunchy topping for Chinese-spiced egg noodles.
Combine the pork, soy sauce and salt in a small bowl and mix well. Heat a wok or sauté pan until it is hot. Add the oil and deep-fry the pork, stirring with a spatula to break it into small pieces (Caution: hot oil can be dangerous. Do not leave unattended.) When the pork is crispy and dry, after about 5-6 minutes, remove it with a slotted spoon and drain on a plate lined with kitchen paper.
Pour off the oil and strain and reserve it. Pour two tablespoons of the oil back in the wok. Reheat the wok and add the garlic, ginger and spring onions, and stir-fry for 30 seconds. Add the sesame paste (or peanut butter), soy sauce, chilli oil, salt and chicken stock and simmer for four minutes.
Cook the noodles in a large pan of boiling water for two minutes if they are fresh, or five minutes if they are dried. Drain the noodles well in a colander. Divide the noodles into individual bowls or put them in a large soup tureen. Ladle on the sauce, garnish with the fried pork, Sichuan peppercorns and chopped chilli, if using, and serve at once.


mgcrea.ngMotion.fade-and-scale
Fancy scale animation that leverages CSS3 keyframes
, see browser support.
This animation works with scale, opacity
animating respectively from .7 to 1, 0 to 1
.
Append one of theses classes am-fade-and-scale
to enable theses transitions.
You should use the data-animation
attribute with AngularStrap.


Axessible is my side project. I create online courses around the different technologies I've learned over the years and I also help others build their own courses.
This was a group project in my data analytics bootcamp. We examined how positive/negative news affected stock prices.
Tesfa Ethiopia is a nonprofit I'm involved with. We help raise money for to give school supplies to students in Ethiopia.


s6
Software
skarnet.org
The s6-notifyoncheck program
s6-notifyoncheck is a chain-loading program meant to be used
in run scripts, in a service that has been declared to honor
readiness notification. It implements a policy of running a user-provided
executable in the background that polls the service currently being
launched, in order to check when it becomes ready. It feeds the
result of this check into the s6 notification mechanism.
s6-notifyoncheck should only be used with daemons
that can be polled from the outside to check readiness, and that
do not implement readiness notification themselves.
Interface
s6-notifyoncheck [ -d ] [ -3 notiffd ] [ -s initialsleep ] [ -T globaltimeout ] [ -t localtimeout ] [ -w waitingtime ] [ -n n ] [ -c checkprog ] prog...
s6-notifyoncheck forks and runs as the child; the parent immediately execs into
prog..., the daemon that must be checked for readiness.
s6-notifyoncheck first waits for a little time, then it spawns the
./data/check executable and waits for it to exit. If ./data/check
exits 0, then s6-notifyoncheck reports that the service is ready, then
exits. If ./data/check exits anything else, s6-notifyoncheck sleeps
for a little time, then spawns ./data/check again. It loops until
./data/check succeeds, or 7 attempts fail, or a certain amount of
time elapses.
Exit codes
s6-notifyoncheck can exit before executing into prog:
- 100: wrong usage
- 111: system call failed
After forking, s6-notifyoncheck (running as the child) can
exit with the following exit codes, but those are meaningless
because no process will, or should, check them. They are only
differentiated for clarity in the code:
- 0: service readiness achieved and notification sent
- 1: maximum number of attempts reached, all unsuccessful
- 2: prog died, so s6-notifyoncheck exited early
- 3: timed out before readiness was achieved
- 111: system call failed
Options
- -d : doublefork. s6-notifyoncheck will run as the
grandchild of prog... instead of its direct child. This is useful
if prog... never reaps zombies it does not know it has.
- -3 notiffd : use notiffd as the
file descriptor to send a readiness notification to. By default, this
number is automatically read from the ./notification-fd file.
- -s initialsleep : sleep for
initialsleep milliseconds before starting to poll the service
for readiness. Default is 10 milliseconds.
- -T globaltimeout : give up (and leave
the service up but not ready) if service readiness still
has not been detected after globaltimeout milliseconds. Default
is 0, meaning infinite: s6-notifyoncheck will keep polling until it succeeds.
- -t localtimeout : on every attempt, if
./data/check still has not exited after localtimeout milliseconds,
kill it and declare that attempt failed. Default is 0, meaning infinite:
s6-notifyoncheck will wait forever for ./data/check to exit.
- -w waitingtime : sleep for
waitingtime milliseconds between two invocations of ./data/check.
This is basically the polling period. Default is 1000: the service will
be polled every second.
- -n n : give up after n
unsuccessful invocations of ./data/check. 0 means infinite, i.e. keep
polling until it succeeds, or times out, or the service dies first.
Default is 7.
- -c checkprog... : invoke checkprog...
instead of ./data/check. The checkprog string will be parsed by
execlineb, so it
can contain a full command line. This option is mainly useful is the program
used to poll the service is very simple and can be inlined as a simple
command line, to avoid needing to manage a whole script and a ./data/check
file. This option is only supported if the
execline package is installed;
if it is not, the -c option cannot be used and the checking
script must always be placed in ./data/check.
Usage
s6-notifyoncheck is designed to make it possible for services to use the
s6 notification mechanism even with daemons
that do not natively implement the mechanism of writing a newline to a file
descriptor of their choice when they're ready.
Polling
is evil. Please make sure you really have no other choice before writing a
./data/check program and using s6-notifyoncheck in your run script.
If you have access to the source code of the daemon you want to check for
readiness, consider patching it to add readiness notification support, which
is extremely simple and does not require linking against any s6 library.
If using a ./data/check program is your only option:
- Make sure the ./data subdirectory is readable and that
./data/check is executable, exits 0 if the daemon
it checks is ready, and exits nonzero if the daemon is not ready.
- Add a ./notification-fd file to your service directory,
which can contain any number that is not 0, 1 or 2, or anything else
explicitly used in your run script. The daemon does not need to care
about that file descriptor; from the daemon's point of view, nothing
changes.
- In your run script, insert s6-notifyoncheck in the
command line that will execute into your daemon.
- ./data/check will run as the same user as s6-notifyoncheck.
If s6-notifyoncheck runs after the run script's process has lost its
root privileges, make sure that ./data/check is accessible
and runnable as that user.
- Note that s6-notifyoncheck should be used to check if the
current service itself is running. You cannot use it to
poll for the readiness of another service.


{% filter markdown %}
[ElectionLeaflets.org](https://ElectionLeaflets.org) is a service for users to
upload photos of election leaflets or fliers that come through their letterbox.
Our ambition is to create a live visualization of the flood of party political leaflets
as they are delivered across the country during an election campaign.
If you have recently received any election leaflets through your door you can help by
photographing or scanning them and uploading the images to our server.
The idea was conjured up in December 2008 at a weekend in Derbyshire, and finally
acted upon in [Francis's](https://www.flourish.org/) front living room in Cambridge at the end of April 2009.
The original name of the website was "The Straight Choice", derived from a leaflet in
the controversial by-election in Bermondsey in 1983 which has become the type specimen of
accusations of dodgy campaigning. We renamed the site "ElectionLeaflets.org" in August 2010.
Democracy Club took the project on in 2015 and has kept it ticking over since.
We have decided to retire the project unless we get funding to maintain it, or at least to
do some much needed updates. We need about £15,000 to get in good shape.
[Caitlin Milazzo at Nottingham University published a paper](http://www.tandfonline.com/eprint/5dKQZDhJDjxFPZwImh8s/full)
based on a vast use of
ElectionLeaflets.org. She and a co-author analysed the number of times a party
leader’s face appeared on the election leaflets delivered at the 2015 general election.
> “The personal characteristics of political elites play an important role in British elections.
While the personalization of the media’s election coverage has been the subject of much debate,
we know less about the conditions under which voters receive personalized messages directly
from elites during the campaign. In this paper, we use a new dataset that includes more than
3,300 local communications from the 2015 general election to explore variation in the
personalization of campaign messaging. We find that there is systemic variation in terms
of where photographs of party leaders are included in election communications, which provides
further evidence that campaign messages are deployed strategically to portray the candidate –
and their party – in the best possible light.”
If you want to help keep this project going, please consider
chipping in £3 a month. We're intersted in partnering with academics or media organisations
so please get in touch if you want to support this project.
{% endfilter %}
{% load post_tags %}
{% posts_for_tag "electionleaflets" %}


The Event class communicate information from the Windowing system to the BW framework code. This is an INTERNAL class only; it should never be referenced from application code.
Events are requested by calls to Display::nextEvent and are normally distributed to a procedure for each type of window class used.
The Event class is abstract and derived from "countable". Normally, events are accessed through an EventRef which behaves like an Event*. The event is kept in memory as long as there is an EventRef that points to it.
Events can be generated from the windowing system itself, the BW application framework, the calling application, or other applications.
System events contain information specific to each event type. Const member functions provide access to this information in generic terms:
If one of these pieces of information is requested for an event type that does not provide the information, a default value is returned.
Events are also used to communication error conditions.
User events can contain 20 bytes, 10 shorts, or 5 longs of arbitrary data.
| button() | Returns a mouse button. |
| cookKeyNum() | Returns a string containing the characters entered from a keypress event in the default locale of the application. |
| destination() | Returns the destination window for the event. |
| display() | Returns the display for the event. |
| h() | Returns a height associated with the event. |
| keyNum() | Returns an identifier for a keyboard key. |
| modifiers() | Returns keyboard shift state and/or mouse button state that may modify the meaning of the event. |
| name() | Returns a desciptive name of the event type for diagnostic purposes. |
| object() | Returns the window that is the object of the event. |
| origin() | Returns a code indicating the originator of the event. |
| subType() | Returns the subtype of the event. |
| type() | Returns a code indicating the type of event. |
| userData() | Returns the user data associated with a user defined event. |
| w() | Returns a width associated with the event. |
| x() | Returns an X co-ordinate associated with the event. |
| y() | Returns a Y co-ordinate associated with the event. |
MouseButton Event::button() const
Returns a mouse button. Valid for button press and release events. Default value is NoButton.
int Event::cookKeyNum(char* buf, int buflen)
Returns a string containing the characters entered from a keypress event in the default locale of the application. Note that many keypress events do not generate character input and some will return multiple characters. This call only supports narrow string input.
The characters returned may be from the current event or from a combination of earlier events.
The int returned is the number of 'char's returned in the buffer. The number of characters may be less if a multibyte character set is in effect. A return value of zero indicates no input.
If the buffer is too short for the resulting string, it is truncated. The buffer is not NULL terminated.
WinHand Event::destination() const
Returns the destination window for the event.
DisplayHand Event::display() const
Returns the display for the event.
int Event::h() const
Returns a height associated with the event. This is either a window height or the height of a region within a window. Zero is the default value.
const KeyNum Event::keyNum() const
Returns an identifier for a keyboard key. Valid for key press and release events. The default value is KeyNum::KS_NoSymbol.
Modifier Event::modifiers() const
Returns keyboard shift state and/or mouse button state that may modify the meaning of the event. The default value is ModNone.
const char* Event::name() const
Returns a desciptive name of the event type for diagnostic purposes.
WinHand Event::object() const
Returns the window that is the object of the event. This is normally the destination window or one of its descendents.
EVOrigin Event::origin() const
Returns a code indicating the originator of the event. One of:
int Event::subtype() const
Returns the subtype of the event. The values and semantics of this field depend on the event type.
EventType Event::type() const
Returns a code indicating the type of event. One of:
UserData Event::userData() const
Returns the user data associated with a user defined event. The default is an empty (0) UserData.
int Event::w() const
Returns a width associated with the event. This is either a window width or the width of a region within a window. Zero is the default value.
int Event::x() const
Returns an X co-ordinate associated with the event. This is either a mouse position, a position within a window, or a window position within it's parent. Zero is the default value.
int Event::y() const
Returns a Y co-ordinate associated with the event. This is either a mouse position, a position within a window, or a window position within it's parent. Zero is the default value.


Well, it’s that time again. Let’s go check out some memes and see what’s happening in the world today!
Cryptos up
Steem is up!
hidden messages in Trump Tweets?
Possible explination for staged gas attack?

How did office fire’s destroy the steel structure of Building 7?
where’s the plane?
Not normal to do this to kids
What are they driving all over?

I seen this one before
Gaza
Cosby protestor
was on the show
Learning through life
What we do
Mass Shooting form!
Rumor is he’s a Rockefeller. Hardly plucked from obscurity
War is bad. We should stop being involved in them all the time
Black Lives Matter M8
New Meta- News Summary Meme in News Summary Meme page
Yes she is
This page is synchronized from the post: ‘Meme the News- 4/12/18’


A flexible carousel that works on both desktop and mobile devices, and is compleletely responsive. Additionally, there is a strict separation of state and style. That is to say, javascript maintains the state of the carousel, while the CSS is responsible for the presentation and display of this state
Flexicarousel enables a touch-based interface (ie. sliding slides via dragging) while also respecting the separation of state and behaviour. You can swipe to drag a slide yet still use CSS to control how the slide transitions will behave. You can also choose to change slides by using the exposed API. The carousel works on both desktop and mobile, using only CSS to control the look and feel. The result is a basic yet robust carousel, weighing in at under 2KB
none
var container = document.querySelector('#carousel');
var carousel = new Carousel(container, {
infinite: true,
onSlide: function() { ... }
});
container.querySelector('.prev').addEventListener('click', carousel.prev);
container.querySelector('.next').addEventListener('click', carousel.next);
| name | type | default | description |
|---|---|---|---|
| activeClass | string | active | Class to use on the active slide. |
| slideWrap | string | .wrap | The selector to use when searching for the slides' container. This is used only to bind touch events to, on mobile. |
| slides | string | li | The selector to use when searching for slides within the slideWrap container. |
| infinite | boolean | true | Enable infinite scrolling or not |
| onSlide | function | undefined | A function to execute on slide. It is passed to and from indices. |
| disableDragging | boolean | false | if you'd like to disable the touch UI for whatever reason |
| name | method | description |
|---|---|---|
| Next Slide | carousel.next() | Advance carousel to the next slide |
| Previous Slide | carousel.prev() | Advance carousel to the previous slide |
| Go To Slide | carousel.to(i) | Advance carousel to the ith slide |
| Destroy | carousel.destroy() | Destroys carousel and removes all Event Listeners |


title = "Contacto" url = "/contacto" layout = "default" is_hidden = 0 ==
Instead of focusing on content creation and hard work, we have learned how to master the art of doing nothing by providing massive amounts of whitespace and generic content that can seem massive, monolithic and worth your attention.
Read MoreYes I know you probably disregarded the earlier boasts as non-sequitor filler content, but its really true. It took years of gene splicing and combinatory DNA research, but our bananas can really dance.
I'm Still Quite Interested


You've both signed a settlement agreement
Download settlement agreement (PDF, 123KB)
We'll email Jan Clark telling them that you have signed the settlement agreement.
Now both parties have signed the agreement, this claim has been put on hold.
What happens next
Contact Jan Clark if you need their payment details.
Make sure you get receipts for any payments.
{% include "includes/survey.html" %}Help and support
Email<EMAIL_ADDRESS>Telephone: 0300 123 7050
Hours: 9am to 5pm, Monday to Friday