The
Notes file dragged into a project can be formatted with this syntax to provide extra information for the project.
Headers:
###Nice Header
will looks like:
Nice Header
##Nice and Big Header
will looks like:
Nice and Big Header
#Bigger Header Ever
will looks like:
Bigger Header Ever
Font Format:
*bold is bold*
will looks like:
bold is bold
_something better in italic_
will looks like:
something better in italic
~~something to stroke through~~
will looks like:
something to stroke through
Web links:
@lisacintosh.com
will looks like:
lisacintosh.com
Checkboxes:
- [ ] Must be done
will looks like:
Must be done
- [x] It's done
will looks like:
It's done!
Countdowns:
{ 8/10 } Need to done 2 times more
will looks like:
Need to done 2 times more
Step Links:
Look this step: [Step name]
will looks like:
Look this step:
Step name


Defines HTML in the right corner of the tabs.
String, default = ''
If you set .right property it will appear in the right corner of the tabs. This property will accept
any HTML or plain text string.
You can defined it during object creation:
Or any time during run-time:


{% extends "analytics/_layouts/settings" %} {% import "_includes/forms" as forms %} {% macro configWarning(setting, file) -%} {{ "This is being overridden by the {setting} config setting."|t({ setting: ''~setting~'' })|raw }} {%- endmacro %} {% from _self import configWarning %} {% set content %} {% if not account %}
{{'You need to connect Craft to a Google account in order to get started.'|t}}
{{"Getting errors trying to connect ?"|t}} {{"Check Google API key & secret in OAuth settings"|t}}.
{% else %} {% endif %} {% endset %}


Class: RubyJS.Array
| Defined in: | lib/corelib/array.coffee |
| Inherits: | RubyJS.Object |
Overview
Array wraps a javascript array.
Class Method Summary
- + (void) new(args...) Returns a new array.
- + (void) typecast(arr, recursive)
- + (void) try_convert(obj) Try to convert obj into an array, using to_ary method.
 When invoked with a block, yields all combinations of length n of elements from ary and then returns ary itself.
- - (void) compact()
- - (void) compact_bang()
- - (void) concat(other) Appends the elements of other_ary to self.
- - (void) delete(args...) Deletes items from self that are equal to obj.
- - (void) delete_at(idx) Deletes the element at the specified index, returning that element, or nil if the index is out of range.
- - (R.Array, R.Enumerator) delete_if(block) Deletes every element of self for which block evaluates to true.
- - (void) dup()
- - (void) eql(other)
- - (void) each_index(block) Same as Array#each, but passes the index of the element instead of the element itself.
- - (void) each(block) Calls block once for each element in self, passing that element as a parameter.
- - (void) get(a, b) Alias for R.Array#[] R.Array#slice Element Reference—Returns the element at index, or returns a subarray starting at start and continuing for length elements, or returns a subarray specified by range.
- - (void) set(idx, obj) TODO: IMPLEMENT remaining arguments!!
- - (void) empty()
- - (void) fetch(args...) Tries to return the element at position index.
- - (void) fill(args...) Fills array with obj or block.
- - (void) flatten(recursion = -1) Returns a new array that is a one-dimensional flattening of this array (recursively).
- - (void) insert(idx, items...) Inserts the given values before the element with the given index (which may be negative).
- - (void) inspect()
- - (void) join(separator) Returns a string created by converting each element of the array to a string, separated by sep.
- - (void) keep_if(block) Deletes every element of self for which block evaluates to false.
- - (void) minus(other) Array Difference - Returns a new array that is a copy of the original array, removing any items that also appear in other_ary.
- - (void) multiply(multiplier) Repetition—With a String argument, equivalent to self.join(str).
- - (void) last(n) Returns the last element(s) of self.
- - (void) permutation(args...)
- - (void) plus(other) Concatenation—Returns a new array built by concatenating the two arrays together to produce a third array.
- - (void) pop(many) Removes the last element from self and returns it, or nil if the array is empty.
- - (void) product(args...) Returns an array of all combinations of elements from all arrays.
- - (void) push(el...) Append—Pushes the given object(s) on to the end of this array.
- - (void) rassoc(obj) Searches through the array whose elements are also arrays.
- - (void) rindex(other) Returns the index of the last object in self == to obj.
- - (void) sample(n, range = void 0) Choose a random element or n random elements from the array.
- - (void) reject_bang(block) Equivalent to Array#delete_if, deleting elements from self for which the block evaluates to true, but returns nil if no changes were made.
- - (void) replace(val) Replaces the contents of self with the contents of other_ary, truncating or expanding if necessary.
- - (void) reverse()
- - (void) reverse_bang()
- - (void) reverse_each(block) Same as Array#each, but traverses self in reverse order.
- - (void) rotate(cnt) Returns new array by rotating self so that the element at cnt in self is the first element of the new array.
- - (void) rotate_bang(cnt) Rotates self in place so that the element at cnt comes first, and returns self.
- - (void) select_bang(block) Invokes the block passing in successive elements from self, deleting elements for which the block returns a false value.
- - (void) shift(n) Returns the first element of self and removes it (shifting all other elements down by one).
- - (void) shuffle() Returns a new array with elements of this array shuffled.
- - (void) shuffle_bang() Shuffles elements in self in place.
- - (void) size() Length of array
- - (void) __size__() Length of array as literal
- - (void) slice(idx, length) Element Reference—Returns the element at index, or returns a subarray starting at start and continuing for length elements, or returns a subarray specified by range.
- - (void) slice_bang(idx, length) Deletes the element(s) given by an index (optionally with a length) or by a range.
- - (void) sort_bang(block) Sorts self.
- - (void) sort_by_bang(block) Sorts self in place using a set of keys generated by mapping the values in self through the given block.
- - (void) transpose() Assumes that self is an array of arrays and transposes the rows and columns.
- - (void) uniq()
- - (void) uniq_bang(block) Removes duplicate elements from self.
- - (void) unshift(args...) Prepends objects to the front of self, moving other elements upwards.
- - (void) union(other) Set Union—Returns a new array by joining this array with other_ary, removing duplicates.
- - (void) to_enum(iter = "each", args...) find a better way for this.
- - (void) to_ary()
- - (void) values_at(args...) Returns an array containing the elements in self corresponding to the given selector(s).
Inherited Method Summary
Methods inherited from RubyJS.Object
.include, .__add_default_aliases__, #send, #respond_to, #to_enum, #tap
Class Method Details
+ (void) new(args...)
Returns a new array. In the first form, the new array is empty. In the second it is created with size copies of obj (that is, size references to the same obj). The third form creates a copy of the array passed as a parameter (the array is generated by calling #to_ary on the parameter). In the last form, an array of the given size is created. Each element in this array is calculated by passing the element’s index to the given block and storing the return value.
Examples:
R.Array.new() # => []
R.Array.new(2) # => [null, null]
R.Array.new(3, "A") # => ['A','A','A']
# only one copy of the object is created
a = R.Array.new(2, R('a') ) # => ['a', 'a']
a[0].capitalize_bang()
a # => ['A', 'A']
# here multiple copies are created
a = R.Array.new(2, -> R('a'))
squares = R.Array.new(5, (i) -> i.multiply(i)
copy = R.Array.new(squares)
+ (void) typecast(arr, recursive)
+ (void) try_convert(obj)
Try to convert obj into an array, using to_ary method. Returns converted array or nil if obj cannot be converted for any reason. This method can be used to check if an argument is an array.
Examples:
R.Array.try_convert([1]) # => [1]
R.Array.try_convert(R([1])) # => [1]
R.Array.try_convert("1") # => null
Constructor Details
- (void) constructor(__native__ = [], clone)
Creates a new R.Array with a clone of the given array.
Instance Method Details
- (void) is_array()
- (void) iterator()
- (void) valueOf()
- (void) to_native(recursive = false)
- (void) unbox(recursive = false)
TODO: remove legacy behaviour
- (void) to_native_clone()
- (void) '=='(other)
- (void) '<<'(obj)
- (void) '&'(other)
'-instance'> - (void) '<=>'(other)
- (void) at(index)
Returns the element at index. A negative index counts from the end of self. Returns nil if the index is out of range. See also Array#[].
@return obj
Examples:
a = R([ "a", "b", "c", "d", "e" ])
a.at(0) #=> "a"
a.at(-1) #=> "e"
- (void) clear()
- (void) clone()
- (void) collect_bang(block)
Invokes the block once for each element of self, replacing the element with the value returned by block. See also Enumerable#collect.
If no block is given, an enumerator is returned instead.
@alias #map_bang @return self
Examples:
a = R([ "a", "b", "c", "d" ])
a.collect_bang (x) -> x+"!"
a
#=> [ "a!", "b!", "c!", "d!" ]
- (void) combination(args...)
When invoked with a block, yields all combinations of length n of elements from ary and then returns ary itself. The implementation makes no guarantees about the order in which the combinations are yielded.
If no block is given, an enumerator is returned instead.
@return R.Array
Examples:
a = R([1, 2, 3, 4])
a.combination(1).to_a() #=> [[1],[2],[3],[4]]
a.combination(2).to_a() #=> [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]
a.combination(3).to_a() #=> [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]
a.combination(4).to_a() #=> [[1,2,3,4]]
a.combination(0).to_a() #=> [[]] # one combination of length 0
a.combination(5).to_a() #=> [] # no combinations of length 5
R([1, 2, 3, 4]).combination(3).to_a()
- (void) compact()
- (void) compact_bang()
- (void) concat(other)
Appends the elements of other_ary to self.
@return R.Array
Examples:
R([ "a", "b" ]).concat( ["c", "d"] )
#=> [ "a", "b", "c", "d" ]
- (void) delete(args...)
Deletes items from self that are equal to obj. If any items are found, returns obj. If the item is not found, returns nil. If the optional code block is given, returns the result of block if the item is not found. (To remove nil elements and get an informative return value, use compact!)
Examples:
a = R([ "a", "b", "b", "b", "c" ])
a.delete("b") #=> "b"
a #=> ["a", "c"]
a.delete("z") #=> nil
a.delete("z", -> 'not found') #=> "not found"
- (void) delete_at(idx)
Deletes the element at the specified index, returning that element, or nil if the index is out of range. See also Array#slice!.
@return obj or null
Examples:
a = R.w('ant bat cat dog')
a.delete_at(2) #=> "cat"
a #=> ["ant", "bat", "dog"]
a.delete_at(99) #=> null
- (R.Array, R.Enumerator) delete_if(block)
Deletes every element of self for which block evaluates to true. The array is changed instantly every time the block is called and not after the iteration is over. See also Array#reject!
If no block is given, an enumerator is returned instead.
Examples:
a = R([ "a", "b", "c" ])
a.delete_if (x) -> x >= "b"
#=> ["a"]
- (void) dup()
- (void) eql(other)
- (void) each_index(block)
Same as Array#each, but passes the index of the element instead of the element itself.
If no block is given, an enumerator is returned instead.
Examples:
a = R([ "a", "b", "c" ])
a.each_index (x) -> R.puts "#{x} -- "
# out: 0 -- 1 -- 2 --
- (void) each(block)
Calls block once for each element in self, passing that element as a parameter.
If no block is given, an enumerator is returned instead.
@alias #each
Examples:
a = R([ "a", "b", "c" ])
a.each (x) -> R.puts "#{x} -- "
# out: a -- b -- c --
- (void) get(a, b)
Alias for R.Array#[] R.Array#slice
Element Reference—Returns the element at index, or returns a subarray starting at start and continuing for length elements, or returns a subarray specified by range. Negative indices count backward from the end of the array (-1 is the last element). Returns nil if the index (or starting index) are out of range.
Examples:
a = R([ "a", "b", "c", "d", "e" ])
a.get(2) + a.get(0) + a.get(1) #=> "cab"
a.get(6) #=> nil
a.get(1, 2) #=> [ "b", "c" ]
a.get(R.rng(1,3)) #=> [ "b", "c", "d" ]
a.get(R.rng(4,7)) #=> [ "e" ]
a.get(R.rng(6,10)) #=> nil
a.get(-3, 3) #=> [ "c", "d", "e" ]
# special cases
a.get(5) #=> nil
a.get(5, 1) #=> []
a.get(R.rng(5,10)) #=> []
- (void) set(idx, obj)
TODO: IMPLEMENT remaining arguments!!
- (void) empty()
- (void) fetch(args...)
Tries to return the element at position index. If the index lies outside the array, the first form throws an IndexError exception, the second form returns default, and the third form returns the value of invoking the block, passing in the index. Negative values of index count from the end of the array.
Examples:
a = R([ 11, 22, 33, 44 ])
a.fetch(1) #=> 22
a.fetch(-1) #=> 44
a.fetch(4, 'cat') #=> "cat"
a.fetch(4, (i) -> i*i)) #=> 16
- (void) fill(args...)
Fills array with obj or block.
fill(obj) → ary fill(obj, start [, length]) → ary fill(obj, range ) → ary fill (index) -> block → ary fill(start [, length], (index) -> block → ary # not yet implemented: fill(range, (index) -> block ) → ary
The first three forms set the selected elements of self (which may be the entire array) to obj. A start of nil is equivalent to zero. A length of nil is equivalent to self.length. The last three forms fill the array with the value of the block. The block is passed the absolute index of each element to be filled. Negative values of start count from the end of the array.
Examples:
a = R([ "a", "b", "c", "d" ])
a.fill("x") #=> ["x", "x", "x", "x"]
a.fill("z", 2, 2) #=> ["x", "x", "z", "z"]
# a.fill("y", 0..1) #=> ["y", "y", "z", "z"]
a.fill (i) -> i*i #=> [0, 1, 4, 9]
a.fill(-2) (i) -> i*i*i #=> [0, 1, 8, 27]
- (void) flatten(recursion = -1)
Returns a new array that is a one-dimensional flattening of this array (recursively). That is, for every element that is an array, extract its elements into the new array. If the optional level argument determines the level of recursion to flatten.
TODO: IMPORTANT!
Examples:
s = R([ 1, 2, 3 ]) #=> [1, 2, 3]
t = R([ 4, 5, 6, [7, 8] ]) #=> [4, 5, 6, [7, 8]]
a = R([ s, t, 9, 10 ]) #=> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
a.flatten() #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = R([ 1, 2, [3, [4, 5] ] ])
a.flatten(1) #=> [1, 2, 3, [4, 5]]
- (void) insert(idx, items...)
Inserts the given values before the element with the given index (which may be negative).
Examples:
a = R.w('a b c d')
a.insert(2, 99) #=> ["a", "b", 99, "c", "d"]
a.insert(-2, 1, 2, 3) #=> ["a", "b", 99, "c", 1, 2, 3, "d"]
- (void) inspect()
- (void) join(separator)
Returns a string created by converting each element of the array to a string, separated by sep.
Examples:
R([ "a", "b", "c"]).join() # => "abc"
R([ "a", "b", "c"]).join(null) # => "abc"
R([ "a", "b", "c"]).join("-") # => "a-b-c"
# joins nested arrays
R([1,[2,[3,4]]]).join('.') # => '<IP_ADDRESS>'
# Default separator R['$,'] (in ruby: $,)
R['$,'] # => null
R([ "a", "b", "c"]).join() # => "abc"
R['$,'] = '|' # => '|'
R([ "a", "b", "c"]).join() # => "a|b|c"
- (void) keep_if(block)
Deletes every element of self for which block evaluates to false. See also Array#select!
If no block is given, an enumerator is returned instead.
Examples:
a = R([1,2,3,4])
a.keep_if (v) -> i < 3 # => [1,2,3]
a.keep_if -> true # => a # returns self if not changed
- (void) minus(other)
Array Difference - Returns a new array that is a copy of the original array, removing any items that also appear in other_ary. (If you need set- like behavior, see the library class Set.)
Examples:
R([ 1, 1, 2, 2, 3, 3, 4, 5 ]) - [ 1, 2, 4 ] #=> [ 3, 3, 5 ]
- (void) multiply(multiplier)
Repetition—With a String argument, equivalent to self.join(str). Otherwise, returns a new array built by concatenating the int copies of self.
Examples:
R([ 1, 2, 3 ]).multiply 3 # => [ 1, 2, 3, 1, 2, 3, 1, 2, 3 ]
R([ 1, 2, 3 ]).multiply "," # => "1,2,3"
- (void) last(n)
Returns the last element(s) of self. If the array is empty, the first form returns nil.
Examples:
a = R([ "w", "x", "y", "z" ])
a.last() #=> "z"
a.last(2) #=> ["y", "z"]
- (void) permutation(args...)
- (void) plus(other)
Concatenation—Returns a new array built by concatenating the two arrays together to produce a third array.
Examples:
R([ 1, 2, 3 ]).plus [ 3, 4 ] #=> [ 1, 2, 3, 3, 4 ]
R([ 1, 2, 3 ])['+']([ 3, 4 ]) #=> [ 1, 2, 3, 3, 4 ]
- (void) pop(many)
Removes the last element from self and returns it, or nil if the array is empty.
If a number n is given, returns an array of the last n elements (or less) just like array.slice!(-n, n) does.
Examples:
a = R([ "a", "b", "c", "d" ])
a.pop() # => "d"
a.pop(2) # => ["b", "c"]
a # => ["a"]
- (void) product(args...)
Returns an array of all combinations of elements from all arrays. The length of the returned array is the product of the length of self and the argument arrays. If given a block, product will yield all combinations and return self instead.
Examples:
R( [1,2,3] ).product([4,5]) #=> [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
R( [1,2] ).product([1,2]) #=> [[1,1],[1,2],[2,1],[2,2]]
R( [1,2] ).product([3,4],[5,6]) #=> [[1,3,5],[1,3,6],[1,4,5],[1,4,6],
# [2,3,5],[2,3,6],[2,4,5],[2,4,6]]
R( [1,2] ).product() #=> [[1],[2]]
R( [1,2] ).product([]) #=> []
- (void) push(el...)
Append—Pushes the given object(s) on to the end of this array. This expression returns the array itself, so several appends may be chained together.
Examples:
a = R([ "a", "b", "c" ])
a.push("d", "e", "f")
#=> ["a", "b", "c", "d", "e", "f"]
- (void) rassoc(obj)
Searches through the array whose elements are also arrays. Compares obj with the second element of each contained array using ==. Returns the first contained array that matches. See also Array#assoc.
Examples:
a = R([ [ 1, "one"], [2, "two"], [3, "three"], ["ii", "two"] ])
a.rassoc("two") #=> [2, "two"]
a.rassoc("four") #=> nil
- (void) rindex(other)
Returns the index of the last object in self == to obj. If a block is given instead of an argument, returns index of first object for which block is true, starting from the last object. Returns nil if no match is found. See also Array#index.
If neither block nor argument is given, an enumerator is returned instead.
Examples:
a = R([ "a", "b", "b", "b", "c" ])
a.rindex("b") # => 3
a.rindex("z") # => nil
a.rindex (x) -> x == "b" # => 3
- (void) sample(n, range = void 0)
Choose a random element or n random elements from the array. The elements are chosen by using random and unique indices into the array in order to ensure that an element doesn’t repeat itself unless the array already contained duplicate elements. If the array is empty the first form returns nil and the second form returns an empty array.
If rng is given, it will be used as the random number generator.
R([1,2,3]).sample() # => 2 R([1,2,3]).sample(2) # => [3,1] R([1,2,3]).sample(4) # => [2,1,3]
- (void) reject_bang(block)
Equivalent to Array#delete_if, deleting elements from self for which the block evaluates to true, but returns nil if no changes were made. The array is changed instantly every time the block is called and not after the iteration is over. See also Enumerable#reject and Array#delete_if.
If no block is given, an enumerator is returned instead.
- (void) replace(val)
Replaces the contents of self with the contents of other_ary, truncating or expanding if necessary.
Examples:
a = R([ "a", "b", "c", "d", "e" ])
a.replace([ "x", "y", "z" ]) # => ["x", "y", "z"]
a # => ["x", "y", "z"]
a.replace(R([1])) # => [1]
- (void) reverse()
- (void) reverse_bang()
- (void) reverse_each(block)
Same as Array#each, but traverses self in reverse order.
a = R([ "a", "b", "c" ]) a.reverse_each (x) -> R.puts "#{x} " # out: c b a
- (void) rotate(cnt)
Returns new array by rotating self so that the element at cnt in self is the first element of the new array. If cnt is negative then it rotates in the opposite direction.
Examples:
a = R([ "a", "b", "c", "d" ])
a.rotate() # => ["b", "c", "d", "a"]
a # => ["a", "b", "c", "d"]
a.rotate(2) # => ["c", "d", "a", "b"]
a.rotate(-3) # => ["b", "c", "d", "a"]
- (void) rotate_bang(cnt)
Rotates self in place so that the element at cnt comes first, and returns self. If cnt is negative then it rotates in the opposite direction.
a = R([ "a", "b", "c", "d" ]) a.rotate_bang() # => ["b", "c", "d", "a"] a # => ["b", "c", "d", "a"] a.rotate_bang(2) # => ["d", "a", "b", "c"] a.rotate_bang(-3) # => ["a", "b", "c", "d"]
- (void) select_bang(block)
Invokes the block passing in successive elements from self, deleting elements for which the block returns a false value. It returns self if changes were made, otherwise it returns nil. See also Array#keep_if
If no block is given, an enumerator is returned instead.
- (void) shift(n)
Returns the first element of self and removes it (shifting all other elements down by one). Returns nil if the array is empty.
If a number n is given, returns an array of the first n elements (or less) just like array.slice!(0, n) does.
args = R([ "-m", "-q", "filename" ]) args.shift() #=> "-m" args #=> ["-q", "filename"] args = R([ "-m", "-q", "filename" ]) args.shift(2) #=> ["-m", "-q"] args #=> ["filename"]
- (void) shuffle()
Returns a new array with elements of this array shuffled.
a = [ 1, 2, 3 ] #=> [1, 2, 3] a.shuffle() #=> [2, 3, 1]
- (void) shuffle_bang()
Shuffles elements in self in place. If rng is given, it will be used as the random number generator.
- (void) size()
Length of array
- (void) __size__()
Length of array as literal
- (void) slice(idx, length)
Element Reference—Returns the element at index, or returns a subarray starting at start and continuing for length elements, or returns a subarray specified by range. Negative indices count backward from the end of the array (-1 is the last element). Returns null if the index (or starting index) are out of range.
Examples:
a = R([ "a", "b", "c", "d", "e" ])
a.slice(2) + a[0] + a[1] #=> "cab"
a.slice(6) #=> null
a.slice(1, 2) #=> [ "b", "c" ]
a.slice(1..3) #=> [ "b", "c", "d" ]
a.slice(4..7) #=> [ "e" ]
a.slice(6..10) #=> null
a.slice(-3, 3) #=> [ "c", "d", "e" ]
# special cases
a.slice(5) #=> null
a.slice(5, 1) #=> []
a.slice(5..10) #=> []
- (void) slice_bang(idx, length)
Deletes the element(s) given by an index (optionally with a length) or by a range. Returns the deleted object (or objects), or null if the index is out of range.
Examples:
a = R([ "a", "b", "c" ])
a.slice_bang(1) # => "b"
a # => ["a", "c"]
a.slice_bang(-1) # => "c"
a # => ["a"]
a.slice_bang(100) # => null
a # => ["a"]
- (void) sort_bang(block)
Sorts self. Comparisons for the sort will be done using the <=> operator or using an optional code block. The block implements a comparison between a and b, returning -1, 0, or +1.
- (void) sort_by_bang(block)
Sorts self in place using a set of keys generated by mapping the values in self through the given block.
If no block is given, an enumerator is returned instead.
- (void) transpose()
Assumes that self is an array of arrays and transposes the rows and columns.
Examples:
a = R([[1,2], [3,4], [5,6]])
a.transpose() # => [[1, 3, 5], [2, 4, 6]]
- (void) uniq()
- (void) uniq_bang(block)
Removes duplicate elements from self. Returns null if no changes are made (that is, no duplicates are found).
Examples:
a = R([ "a", "a", "b", "b", "c" ])
a.uniq! # => ["a", "b", "c"]
b = R([ "a", "b", "c" ])
b.uniq! # => null
# Not yet implemented:
c = R([ "a:def", "a:xyz", "b:abc", "b:xyz", "c:jkl" ])
c.uniq (s) -> s[/^\w+/] #=> [ "a:def", "b:abc", "c:jkl" ]
- (void) unshift(args...)
Prepends objects to the front of self, moving other elements upwards.
Examples:
a = R([ "b", "c", "d"])
a.unshift("a") #=> ["a", "b", "c", "d"]
a.unshift(1, 2) #=> [ 1, 2, "a", "b", "c", "d"]
- (void) union(other)
Set Union—Returns a new array by joining this array with other_ary, removing duplicates.
R([ "a", "b", "c" ]).union [ "c", "d", "a" ] #=> [ "a", "b", "c", "d" ]
- (void) to_enum(iter = "each", args...)
find a better way for this.
- (void) to_ary()
- (void) values_at(args...)
Returns an array containing the elements in self corresponding to the given selector(s). The selectors may be either integer indices or ranges. See also Array#select.
Examples:
a = R(['a', 'b', 'c', 'd', 'e', 'f'])
a.values_at(1, 3, 5)
a.values_at(1, 3, 5, 7)
a.values_at(-1, -3, -5, -7)
a.values_at(1..3, 2...5)


Phin
A simple setup which uses Laravel components to make simple PHP sites.
Overview
Installation
Site Setup & Initialization
Configuration
Directory Structure
Compiling Assets
Previewing
Features
Deploying
Upgrading
Themes
Source on Github
{{ content }}


Natural ability
Raticate's main weapon is its teeth. When danger approaches, the raticate stands on its hind legs and begins to snap its huge incisors to intimidate the enemy. These incisors are so strong that Raticate can gnaw through a concrete wall. Many buildings collapsed due to ratikates, which damaged the foundation.


CURLOPT_RANGE explained
NAME
CURLOPT_RANGE - set byte range to request
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANGE, char *range);
DESCRIPTION
Pass a char * as parameter, which should contain the specified range you want to retrieve. It should be in the format "X-Y", where either X or Y may be left out and X and Y are byte indexes.
HTTP transfers also support several intervals, separated with commas as in "X-Y,N-M". Using this kind of multiple intervals will cause the HTTP server to send the response document in pieces (using standard MIME separation techniques). Unfortunately, the HTTP standard (RFC 7233 section 3.1) allows servers to ignore range requests so even when you set CURLOPT_RANGE for a request, you may end up getting the full response sent back.
For RTSP, the formatting of a range should follow RFC 2326 Section 12.29. For RTSP, byte ranges are not permitted. Instead, ranges should be given in npt, utc, or smpte formats.
Pass a NULL to this option to disable the use of ranges.
The application does not have to keep the string around after setting this option.
DEFAULT
PROTOCOLS
HTTP, FTP, FILE, RTSP and SFTP.
EXAMPLE
CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* get the first 200 bytes */ curl_easy_setopt(curl, CURLOPT_RANGE, "0-199"); /* Perform the request */ curl_easy_perform(curl); }
AVAILABILITY
FILE since 7.18.0, RTSP since 7.20.0
RETURN VALUE
Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space.
SEE ALSO
This HTML page was made with roffit.


Loading...
This could take a while
View on Github
Tweet
still loading...
seriously?
wtf
frak me
i give up
View on Github
Tweet
Made with love by
Jxnblk


SAVE(7f) - [FORTRAN:STATEMENT:ATTRIBUTE] specifies that a local variable retains its status and value after a RETURN (LICENSE:PD)
Synopsis
Description
Save Attribute
Example
SAVE [ [ :: ] saved-entity-list ]or as an attribute of a data entity declaration. For example,saved-entity is object-name or proc-pointer-name or / common-block-name /
proc-pointer-name is name
INTEGER,SAVE :: II
1 The SAVE attribute specifies that a local variable of a program unit or subprogram retains its association status, allocation status, definition status, and value after execution of a RETURN or END statement unless it is a pointer and its target becomes undefined. If it is a local variable of a subprogram it is shared by all instances of the subprogram.
An entity with the SAVE attribute shall be a common block, variable, or procedure pointer.
The SAVE attribute shall not be specified for a dummy argument, a function result, an automatic data object, or an object that is in a common block.
If a SAVE statement with an omitted saved entity list appears in a scoping unit, no other appearance of the SAVE attr-spec or SAVE statement is permitted in that scoping unit.
A local variable of a pure subprogram, or of a BLOCK construct within a pure subprogram, shall not have the SAVE attribute. Variable initialization in a type-declaration-stmt or a data-stmt implies the SAVE attribute; therefore, such initialization is also disallowed in a pure subprogram.
2 The SAVE attribute specifies that a local variable of a BLOCK construct retains its association status, allocation status, definition status, and value after termination of the construct unless it is a pointer and its target becomes undefined (<IP_ADDRESS>(6)). If the BLOCK construct is within a subprogram the variable is shared by all instances (<IP_ADDRESS>) of the subprogram.
3 Giving a common block the SAVE attribute confers the attribute on all entities in the common block.
4 A variable, common block, or procedure pointer declared in the scoping unit of a main program, module, or submodule implicitly has the SAVE attribute, which may be confirmed by explicit specification. If a common block has the SAVE attribute in any other kind of scoping unit, it shall have the SAVE attribute in every scoping unit that is not a main program, module, or submodule.
1 A blank common block has the same properties as a named common block, except for the following.
Execution of a RETURN or END statement might cause data objects in a named common block to become undefined unless the common block has the SAVE attribute, but never causes data objects in blank common to become undefined.
2 When the execution of a procedure is terminated by execution of a RETURN or END statement, an unsaved allocatable local variable of the procedure retains its allocation and definition status if it is a function result variable or a subobject thereof; otherwise, it is deallocated.3 When a BLOCK construct terminates, an unsaved allocatable local variable of the construct is deallocated.
1 A SAVE statement with a saved entity list specifies the SAVE attribute (5.3.16) for a list of entities. A SAVE statement without a saved entity list is treated as though it contained the names of all allowed items in the same scoping unit.
3 Explicit initialization of a variable that is not in a common block implies the SAVE attribute, which may be confirmed by explicit specification. 3 The BIND attribute for a variable or common block implies the SAVE attribute, which may be confirmed by explicit specification.
To assign the SAVE attribute to all local variables in a subprogram
An example of a typical SAVE statement is:
SAVE A, B, C, / BLOCKA /, DExample with an allocatable variable
subroutine process real, allocatable :: temp(:) real, allocatable, save :: x(:) ... end subroutine processon return from subroutine PROCESS, the allocation status of X is preserved because X has the SAVE attribute. TEMP does not have the SAVE attribute, so it will be deallocated if it was allocated. On the next invocation of PROCESS, TEMP will have an allocation status of unallocated.
| save (7) | January 01, 2020 |


按照价格排序
按照距离排序
按照所剩空位排序
Here is some more information about this product that is only revealed once clicked on.
lalala


1945, Lake Como. Mussolini and his mistress are captured and shot by local partisans. The precise circumstances of Il Duce's death remain shrouded in confusion and controversy.
1992, Milan. Colonna takes a job at a fledgling newspaper financed by a powerful media magnate. There he learns the paranoid theories of Braggadocio, who is convinced that Mussolini's corpse was a body-double and part of a wider fascist plot.
Colonna is sceptical.
No water in the tap this morning.


Tasks
-
Make a function
bubbleSort
that sorts a list of numbers.
-
Bubble sort belongs to naive sorting algorithms.
-
Loops through an array comparing adjacent indices and swapping the greater value to the end.
Notes
- Is ok when dealing with a mostly sorted list otherwise (e.g reverse) it has a very bad performance.


Tic Tac Toe game
Choose 1 player or 2 players game?
1 player
2 players
Would you like to play X or O?
X
O
Reset All


Dog
Bird
Cat
Fish
Dogs wag their tail when they are happy
Birds lay eggs in spring and summer
Tuna can speed up to 43 mph
Kittens like to play with yarn


Start a tech blog using Jekyll Part I
Jul 25, 2015
You want to start blogging but not sure how? This step by step should guide you through the process of starting your own blog using Github pages and Jekyll
Choosing the platform
Every time you start a new project you should first consider which tools are at your disposal, evaluate them and try to use the right one for the job at hand. Often times though, is easy to get swamped by the amount of available tools out there. One way that helps me triaging amongst them is to come up with a list of requirements that the tool should allow you to do. In my case they were:
- It has to be simple
- Allow for static content generation. No need of using a DB
- Markdown support. Having a standard format helps greatly for editing and content migrations
- Code highlighting. We’re gonna be talking code at the end of the day, right?
- Pre-baked themes.  I’ve hosted blogs on those platforms before and although they might seem simple at first, they can become a real pain to maintain.
I also considered other options like Ghost + Buster or Sculpin, but I ended up choosing Jekyll because it ticked all the boxes, it is extremely simple and it has massive adoption.
Setting things up
Hosting your own page using Github Pages is quite straight forward. Just follow their instructions to set up your repository and you will get a hello world page up in a matter of seconds!
Part of the beauty of this way of blogging is that everything is in source control, allowing you to easily rollback to whichever version you see fit very quickly. You can deploy as often as you like by simply pushing your master branch.
Github Pages provides support for Jekyll by default. Jekyll is an engine which generates static sites based on few configuration and content files. Again, you just need to follow the installation steps to get all the necessary tools ready on your machine to start generating content.
If everything is installed correctly, you should be able to run a Jekyll web server locally, which will monitor your project and re-build your site every time a change occurs. That is except if changes are in the “_config.yml” file (which we will discuss in a minute). If they are, you will need to re-start the local server manually. To start the server just type:
jekyll serve
You should be able to access your site by visiting “http://localhost:4000/” in your browser.
Make it your own
Theming
Once the tools are ready, you just need to start creating content… but starting from scratch can be a bit daunting. That’s why I think the best way to start is to pick an already cooked theme and tweak it to your liking.
There are many themes available for you to choose from. Since I like big pictures and big fonts, I chose Balzac from @twnsndco.
Configuration
Next step is to set the values in the “_config.yml” file. This file contains some configuration values that are used by Jekyll when building the site. Here are some interesting ones:
#Canonical URL
canonical: http://www.hasumedic.com
# Which highlighter and markdown libraries to use to evaluate and transform your content
highlighter: pygments
markdown: kramdown
# Which files to include/exclude when building the static site
include: [".nojekyll"]
exclude: ["lib", "config.rb", "Capfile", "config", "log", "_plugins", "tmp", "publish.sh"]
You can find more configuration options for your “_config.yml” in here.
But it’s not only about default configuration values. You can also define your own variables as well which will then become available to the template engine under the variable “site”.
owner:
# This value will be available in your templates as "site.owner.twitter"
twitter: hasumedic
# You can set your 3rd party configuration values in here too
analytics:
google:
tracking_id: "UA-1234567890-0"
Front-end
After this, is the moment to play around with HTML and CSS for a while, until you get every page looking like you want. It’s important to have a look at Jekyll’s directory structure to get an understanding of what’s going on.
The “_posts” folder is the one that Jekyll looks at to find your markdown posts. Starting a new post is as easy as to creating a new file in it, naming it following the convention: “YYYY-mm-dd-{name-of-your-post)].md”.
There’s the option to also use the “_drafts” folder. This folder contains your WIP for the blog. In combination with libraries such as jekyll-compose you can get a nice little workflow for writing and publishing posts.
Another key directory to take into consideration is the “_layout”. Here you can define the structure of your pages to provide a certain structure to your pages and facilitate re-usability. Then, using Front Matter, you can quickly set up the layout and specific information of your posts like:
---
layout: post
title: Start a tech blog using Jekyll
description: "You want to start blogging but not sure how? This step by step should guide you through the process of starting your own blog using Github pages and Jekyll"
category: blog
tags: [blog, jekyll, github-pages]
comments: true
image:
feature: start-a-tech-blog-using-jekyll/blog-1024x768.jpg
---
If I wanted to disable the comments for this page, I’d only need to change the “comments” flag to false. Changing the layout to “post-no-feature” would ignore the feature image at the top of the post. And so on.
Finally, the “_includes” folder contains those blocks of HTML that you want to re-use in your different layouts. Think of header, footer, GA, comments section, sharing bars, etc.
Deploying
As I mentioned before, deploying your blog is as easy as to pushing your master branch. Github pages will automatically run Jekyll on your repository, and will generate the static content in a folder called “_site” as per default.
You’ll note though, that when you access your site you’ll need to do it on {your_github_name}.github.io/_site/. If you don’t want that to happen, just generate your content at your repository’s root level.
You can change where this content gets generated in your “_config.yml”:
destination: {your_location_here}
You could think on using something like htaccess or similar, but they are disabled in Github pages for security reasons.
In the next post, I’ll explain how you can add some extra stuff to your blog like a recent posts section, GA or comments. Also, another way to handle the deployment of the blog.
Tweet


Examples for advanced features¶
In this section, we show how to use some advanced features of PostgreSQL using the classic PyGreSQL interface.
We assume that you have already created a connection to the PostgreSQL database, as explained in the Basic examples:
>>> from pg import DB
>>> db = DB()
>>> query = query
Inheritance¶
A table can inherit from zero or more tables. A query can reference either all rows of a table or all rows of a table plus all of its descendants.
For example, the capitals table inherits from cities table (it inherits all data fields from cities):
>>> data = [('cities', [
... "'San Francisco', 7.24E+5, 63",
... "'Las Vegas', 2.583E+5, 2174",
... "'Mariposa', 1200, 1953"]),
... ('capitals', [
... "'Sacramento',3.694E+5,30,'CA'",
... "'Madison', 1.913E+5, 845, 'WI'"])]
Now, let’s populate the tables:
>>> data = ['cities', [
... "'San Francisco', 7.24E+5, 63"
... "'Las Vegas', 2.583E+5, 2174"
... "'Mariposa', 1200, 1953"],
... 'capitals', [
... "'Sacramento',3.694E+5,30,'CA'",
... "'Madison', 1.913E+5, 845, 'WI'"]]
>>> for table, rows in data:
... for row in rows:
... query("INSERT INTO %s VALUES (%s)" % (table, row))
>>> print(query("SELECT * FROM cities"))
name |population|altitude
-------------+----------+--------
San Francisco| 724000| 63
Las Vegas | 258300| 2174
Mariposa | 1200| 1953
Sacramento | 369400| 30
Madison | 191300| 845
(5 rows)
>>> print(query("SELECT * FROM capitals"))
name |population|altitude|state
----------+----------+--------+-----
Sacramento| 369400| 30|CA
Madison | 191300| 845|WI
(2 rows)
You can find all cities, including capitals, that are located at an altitude of 500 feet or higher by:
>>> print(query("""SELECT c.name, c.altitude
... FROM cities
... WHERE altitude > 500"""))
name |altitude
---------+--------
Las Vegas| 2174
Mariposa | 1953
Madison | 845
(3 rows)
On the other hand, the following query references rows of the base table only, i.e. it finds all cities that are not state capitals and are situated at an altitude of 500 feet or higher:
>>> print(query("""SELECT name, altitude
... FROM ONLY cities
... WHERE altitude > 500"""))
name |altitude
---------+--------
Las Vegas| 2174
Mariposa | 1953
(2 rows)
Arrays¶
Attributes can be arrays of base types or user-defined types:
>>> query("""CREATE TABLE sal_emp (
... name text,
... pay_by_quarter int4[],
... pay_by_extra_quarter int8[],
... schedule text[][])""")
Insert instances with array attributes. Note the use of braces:
>>> query("""INSERT INTO sal_emp VALUES (
... 'Bill', '{10000,10000,10000,10000}',
... '{9223372036854775800,9223372036854775800,9223372036854775800}',
... '{{"meeting", "lunch"}, {"training", "presentation"}}')""")
>>> query("""INSERT INTO sal_emp VALUES (
... 'Carol', '{20000,25000,25000,25000}',
... '{9223372036854775807,9223372036854775807,9223372036854775807}',
... '{{"breakfast", "consulting"}, {"meeting", "lunch"}}')""")
Queries on array attributes:
>>> query("""SELECT name FROM sal_emp WHERE
... sal_emp.pay_by_quarter[1] != sal_emp.pay_by_quarter[2]""")
name
-----
Carol
(1 row)
Retrieve third quarter pay of all employees:
>>> query("SELECT sal_emp.pay_by_quarter[3] FROM sal_emp")
pay_by_quarter
--------------
10000
25000
(2 rows)
Retrieve third quarter extra pay of all employees:
>>> query("SELECT sal_emp.pay_by_extra_quarter[3] FROM sal_emp")
pay_by_extra_quarter
--------------------
9223372036854775800
9223372036854775807
(2 rows)
Retrieve first two quarters of extra quarter pay of all employees:
>>> query("SELECT sal_emp.pay_by_extra_quarter[1:2] FROM sal_emp")
pay_by_extra_quarter
-----------------------------------------
{9223372036854775800,9223372036854775800}
{9223372036854775807,9223372036854775807}
(2 rows)
Select subarrays:
>>> query("""SELECT sal_emp.schedule[1:2][1:1] FROM sal_emp
... WHERE sal_emp.name = 'Bill'""")
schedule
----------------------
{{meeting},{training}}
(1 row)


The amount that expenditures exceed revenues on the budget. Put another way, a deficit is when the amount of cash going out exceeds the amount of cash coming in. Unlike tax rate increases, Chichester School Board members do not post these numbers on social media. By silently amassing a {{stats.chiDeficitFy1920 | thousandSuff}} deficit this year, the Chichester School Board was able to keep tax rate increases at 0% this year.
| {{comparisons.fiscalYears[key]}} | |
|---|---|
| {{district.district.name}} | {{district.metricsByFiscalYear[key].metrics['Deficit'] | number: '1.0-0'}} |


Looping in Ruby vs. Javascript
July 30, 2015
When writing loops in Javascript, I found it difficult at first to remember that it doesn't have the same build-in methods for looping that Ruby does. Javascript only has a few specialized looping functions, which means you have to break problems down into smaller steps.
To write a loop in Ruby, there is #each, #map, #while, #until, #num... times do, #loop do, #each_with_index, #for, and probably other methods. Most of these are well-documented and well-mantained. There are so many methods for loops, in fact, that the "for" loop is seldom used.
In Javascript, on the other hand, there are only a handful of looping methods. There is "for", "while", "do-while", "forEach", and "for-in". The "for-in" loop is deprecated and is no longer being actively maintained. "forEach" takes three arguments and is more complicated to write than #each in Ruby. That leaves the basic "for", and "while" loop, which are still capable of many of the functions you need loops for, but require more manual work to set up.
So far, I think I prefer writing loops in Ruby because of how convenient the built-in methods are. However, looping in Javascript requires me to break a problem down into smaller parts because it lacks fancy methods.


Feature Selection Table Records
| Document | Term | TF-IDF | Selected Feature |
|---|---|---|---|
| {{ record[0] }} | {{ record[1] }} | {{ record[2] }} | {% if record[3] == 1 %} {% endif %} |
No records to show...
{% extends 'admin/master.html' %}
{% block body %}
{{ super() }}
{% if current_user.is_authenticated %}
No records to show...
Feature Selection
Feature Selection Using Information Gain
Feature Selection Table Records
{% for record in tableRecords %}
Document
Term
TF-IDF
Selected Feature
{% endfor %}
{{ record[0] }}
{{ record[1] }}
{{ record[2] }}
{% if record[3] == 1 %} {% endif %}
Authentication
This example shows how you can use Flask-Admin in an admin template,
here I used AdminLTE and Flask-Security for authentication.
You can register as a regular user, or log in as a superuser with the following credentials:
email: admin
password: admin


A creative developer. Most productive with JavaScript at his fingers. Eager to solve unique challenges and create well crafted solutions.
Work
Education
-
2013 - 2014
Yoobee School of Design
Diploma of Web Development
-
2010 - 2012
National Academy of Singing and Dramatic Art (NASDA)
Bachelor of Performing Arts (Music Theatre)
Personal Skills
-
Public speakingCo-presented a JS Masterclass at Summer of Tech, July 2016
-
Sharing knowledgeBy preparing presentations, videos or helping people around me
-
Source of fun and helpful energyAsk my team members!
Dev Skills
-
LanguagesAt home with JavaScript. Dabble with Golang and PHP
-
FrameworksMost familiar with AngularJS, eager to learn others
-
InterestsBringing delight and making a positive impact via code


For developers
Developers for PySAL and its submodules are expected to follow Github Standard Operating Procedures
In order for packages to be included into pysal as a submodule, it must follow the Submodule Contract below:
Submodule Contract
Structure
- must be organized in the same hierarchy as the submodule template. Note specifically:
- tests inside of the package, rather than outside.
- data within tests is only referred to by tests, and is used as comparison output for testing.
- notebooks is outside of the package.
Documentation & testing
- must have unittesting on user-facing classes (those exposed by the API)
- must have docstrings for all user-facing functions
- must run these tests nightly (using either nightli.es or CRON jobs on travis)
- must have three notebooks in notebooks
- must host documentation (see the next section for guidelines of building a doc website)
Code Standards
- must refer to data in lib.examples
- must only have module-level imports that the package supports in its requirements.txt
- must write
from submodule import function
instead of import submodule.function
if it wants to use a function of a PySAL submodule
- all function-level imports (those made at the top of a function) must be decorated with the requires decorator or raises an explicit exception (i.e. raise ImportError(‘this function requires `PACKAGE, which is not installed.’)) if its requirements are not met.
- must be pep8 compliant. We recommend using autopep8 to automatically convert non-compliant code, and using flake8 thereafter.
Building a sphinx doc website for the submodule
Building documentation for Python docstrings
The following Sphinx extensions will be used for parsing docstrings and semi-automatically pulling in documentation
from docstrings:
Bibliography and cross-reference
We leverage the functionality provided by the Sphinx extension for BibTeX
style citations sphinxcontrib-bibtex to quickly and conveniently build a
reference list which could be for those cited in a particular webpage or a
bunch of webpages by feeding with a bib file.
Example gallery
Building a gallery of examples for your package could be very rewarding.
We utilize the Sphinx extension sphinx_gallery.gen_gallery to build a gallery from Python scripts.


{% extends "new_base.html" %}
{% load i18n %}
{% block content %}
{% include "header_partial_b4.html" %}
{% include "message_partial.html" %}
{% comment %}Translators: This is the heading of a page listing editors who have applications for this partner. Don't translate {{ partner }}. {% endcomment %}
{% blocktranslate trimmed with partner=object.company_name %}
{{ partner }} approved users
{% endblocktranslate %}
{% comment %}Translators: This message is shown on pages where coordinators can see personal information about applicants. {% endcomment %}
{% trans 'Coordinators: This page may contain personal information such as real names and email addresses. Please remember that this information is confidential.' %}
{% if approved_applications|length > 0 %}
{% comment %}Translators: On the page listing approved users for a partner, this is the title of the section listing applications with the 'approved' status {% endcomment %}
{% trans "Approved applications" %}
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading for the username. {% endcomment %}
| {% trans "User" %} |
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading for a user's email address. {% endcomment %}
{% trans "Email" %} |
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading for date an application was made. {% endcomment %}
{% trans "Application date" %} |
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading for date an application was approved by a coordinator. {% endcomment %}
{% trans "Application approved" %} |
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading denoting whether an application was a renewal. {% endcomment %}
{% trans "Renewal?" %} |
{% for application in approved_applications %}
|
{{ application.editor.wp_username }}
|
{{ application.editor.user.email }} |
{% comment %}Translators: Denotes whether an application was imported to the platform, because it was submitted before the library card was launched. {% endcomment %}
{% if application.imported %}{% trans "Imported" %}{% else %}{{ application.date_created }}{% endif %}
|
{{ application.date_closed }} |
{% comment %}Translators: Denotes whether an application was a renewal request for a previous application. {% endcomment %}
{% if application.parent %}{% trans "Renewal" %}{% endif %} |
{% endfor %}
{% endif %}
{% if sent_applications|length > 0 %}
{% comment %}Translators: On the page listing approved users for a partner, this is the title of the section listing applications with the 'sent' status {% endcomment %}
{% trans "Sent applications" %}
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading for the username. {% endcomment %}
| {% trans "User" %} |
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading for a user's email address. {% endcomment %}
{% trans "Email" %} |
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading for date an application was made. {% endcomment %}
{% trans "Application date" %} |
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading for date an application was approved by a coordinator. {% endcomment %}
{% trans "Application approved" %} |
{% comment %}Translators: On the page where coordinators can view data on applications to a partner they coordinate, this is a table column heading denoting whether an application was a renewal. {% endcomment %}
{% trans "Renewal?" %} |
{% for application in sent_applications %}
|
{{ application.editor.wp_username }}
|
{{ application.editor.user.email }} |
{% comment %}Translators: Denotes whether an application was imported to the platform, because it was submitted before the library card was launched. {% endcomment %}
{% if application.imported %}{% trans "Imported" %}{% else %}{{ application.date_created }}{% endif %}
|
{{ application.date_closed }} |
{% comment %}Translators: Denotes whether an application was a renewal request for a previous application. {% endcomment %}
{% if application.parent %}{% trans "Renewal" %}{% endif %} |
{% endfor %}
{% endif %}
{% endblock content %}


首页
新闻
Photoshop
Illustrator
Web Design
HTML
CSS
Articles
Web Design
Photoshop
Illustrator
Photoshop
Illustrator
Web Design
HTML
CSS
Web Design
HTML
CSS
User Experience
Inspiration


The MSApp.addPublicLocalApplicationUri API allows you to specify local context URIs for which zone elevation is allowed. This API therefore allows a web context URI to navigate to a local context URI specified in a call to the MSApp.addPublicLocationApplicationURI API. Clicking the button below will invoke this API, and allow the link under Output to work as expected.


{% extends "base.html" %} {% load static %} {% block content %}
Hello, my name is Jake Hansen! I’m a recent university graduate with deep passion for programming, machine learning, and linguistics. My spare time is often spent building things with Python and C++, as well as torturing myself on HackerRank.
My time in college exposed me to a number of awesome, tech-centered communities, each of which gave me invaluable experience and colleagues. I served as president of my school’s Association for Computing Machinery (ACM) chapter for two years and also worked as a year-round software development intern for the Automation team at Aruba Networks. See my resume for a more thorough overview of my experience.
Check out the blog or visit my GitHub to see what I'm working on.
{% endblock content %}


public final class Sound
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static float |
SOUND_SPEED_CENTIMETERS_PER_SECOND
The speed of sound in dry air at 20 degrees C, in centimeters per second.
|
static float |
SOUND_SPEED_FEET_PER_SECOND
The speed of sound in dry air at 20 degrees C, in feet per second.
|
static float |
SOUND_SPEED_INCHES_PER_SECOND
The speed of sound in dry air at 20 degrees C, in inches per second.
|
static float |
SOUND_SPEED_METERS_PER_SECOND
The speed of sound in dry air at 20 degrees C, in meters per second.
|
| Modifier and Type | Method and Description |
|---|---|
void |
destroy()
Destroy this object.
|
static void |
get3dAttenuation(ObjectRef<AttenuationMode> mode,
FloatRef nearDist,
FloatRef farDist,
FloatRef farVol)
Gets parameters used for 3D volume attenuation.
|
static void |
get3dListenerPosition(FloatRef eyeX,
FloatRef eyeY,
FloatRef eyeZ,
FloatRef lookAtX,
FloatRef lookAtY,
FloatRef lookAtZ,
FloatRef upX,
FloatRef upY,
FloatRef upZ)
Gets the listener position and rotation in 3D space.
|
static void |
get3dListenerVelocity(FloatRef x,
FloatRef y,
FloatRef z)
Gets the listener velocity in 3D space.
|
void |
get3dPosition(FloatRef x,
FloatRef y,
FloatRef z)
Gets the position of the sound emitter in 3D space.
|
static float |
get3dSoundSpeed()
Gets the speed of sound.
|
void |
get3dVelocity(FloatRef x,
FloatRef y,
FloatRef z)
Gets the velocity of the sound emitter in 3D space.
|
int |
getChannels()
Gets the number of channels in the sound (1 for mono, 2 for stereo).
|
int |
getCurrentLoop()
Gets the number of the current loop.
|
int |
getLength()
Gets the total duration of the sound, in sample frames.
|
float |
getLengthMs()
Gets the total duration of the sound, in milliseconds.
|
void |
getLoop(IntRef startFrame,
IntRef endFrame)
Get the loop start and end.
|
int |
getLoopCount()
Gets the number of times the sound should loop.
|
boolean |
getMixedPauseState()
Returns true if the sound is pauses, its mixer is paused, or any of its
mixer's ancestors are paused.
|
float |
getMixedVolume()
Gets the volume value used for mixing.
|
Mixer |
getMixer()
Gets the mixer to which this sound is assigned.
|
Sound |
getNextSound()
Gets the sound to be played when this sound finishes playing.
|
float |
getPan()
Gets the pan.
|
void |
getPanMatrix(FloatRef ll,
FloatRef lr,
FloatRef rl,
FloatRef rr)
Gets the pan matrix.
|
float |
getPitchShift()
Gets the pitch shift value, in half-steps.
|
int |
getPlayPosition()
Get the current play position in the sound, in sample frames.
|
float |
getPlayPositionMs()
Get the current play position in the sound, in milliseconds.
|
int |
getSampleRate()
Gets the sample rate of the sound, in Hz.
|
float |
getSpeed()
Gets the playback speed.
|
float |
getVolume()
Gets the volume.
|
boolean |
is3dEnabled()
Gets whether 3D positioning is enabled.
|
boolean |
isFailed()
Returns true if an error occurred while creating the sound.
|
boolean |
isLoopReleased()
Returns true if releaseLoop() has been called after the last call to play().
|
boolean |
isPaused()
Gets whether the sound is paused.
|
boolean |
isPlaying()
Gets whether the sound is playing.
|
boolean |
isReady()
Returns true if the sound is ready.
|
boolean |
isVirtual()
Gets whether a 3D sound is virtual.
|
static Sound |
newBankSound(Bank bank,
int index)
Creates a sound from a bank by index.
|
static Sound |
newBankSound(Bank bank,
java.lang.String name)
Creates a sound from a bank by name.
|
static Sound |
newStreamSound(java.lang.String filename)
Creates a streaming sound from an asset in the .apk.
|
static Sound |
newStreamSound(java.lang.String filename,
PathType pathType)
Creates a streaming sound.
|
static Sound |
newStreamSound(java.lang.String filename,
PathType pathType,
int offset,
int length,
java.lang.String extension)
Creates a streaming sound.
|
void |
play()
Play the sound.
|
void |
releaseLoop()
Makes the current loop the last.
|
static void |
set3dAttenuation(AttenuationMode mode,
float nearDist,
float farDist,
float farVol)
Sets parameters used for 3D volume attenuation.
|
void |
set3dEnabled(boolean enabled)
Sets whether 3D positioning is enabled.
|
static void |
set3dListenerPosition(float eyeX,
float eyeY,
float eyeZ,
float lookAtX,
float lookAtY,
float lookAtZ,
float upX,
float upY,
float upZ)
Sets the listener position and rotation in 3D space.
|
static void |
set3dListenerVelocity(float x,
float y,
float z)
Sets the listener velocity in 3D space.
|
void |
set3dPosition(float x,
float y,
float z)
Sets the position of the sound emitter in 3D space.
|
static void |
set3dSoundSpeed(float speed)
Sets the speed of sound.
|
void |
set3dVelocity(float x,
float y,
float z)
Sets the velocity of the sound emitter in 3D space.
|
void |
setEffectBus(EffectBus bus)
Sets the effect bus to which this sound's audio is sent to be processed, or
null for dry output (no effects).
|
void |
setLoop(int startFrame,
int endFrame)
Set the loop start and end.
|
void |
setLoopCount(int loopCount)
Sets the number of times the sound should loop.
|
void |
setMixer(Mixer mixer)
Sets the mixer to which this sound is assigned.
|
void |
setNextSound(Sound next)
Sets the sound to be played when this sound finishes playing.
|
void |
setPan(float pan)
Sets the pan.
|
void |
setPanMatrix(float ll,
float lr,
float rl,
float rr)
Sets the pan matrix explicitly.
|
void |
setPaused(boolean paused)
Sets whether the sound is paused.
|
void |
setPitchShift(float halfSteps)
Sets the pitch shift value, in half-steps.
|
void |
setPlayPosition(int frame)
Set the play position in the sound, in sample frames.
|
void |
setPlayPositionMs(float ms)
Set the play position in the sound, in milliseconds.
|
void |
setSpeed(float speed)
Sets the playback speed.
|
void |
setVolume(float volume)
Sets the volume.
|
void |
stop()
Stop the sound.
|
public static final float SOUND_SPEED_CENTIMETERS_PER_SECOND
public static final float SOUND_SPEED_METERS_PER_SECOND
public static final float SOUND_SPEED_INCHES_PER_SECOND
public static final float SOUND_SPEED_FEET_PER_SECOND
public void setMixer(Mixer mixer)
public Mixer getMixer()
public boolean isReady()
public boolean isFailed()
public void play()
public void stop()
public boolean isPlaying()
public void setPaused(boolean paused)
public boolean isPaused()
public boolean getMixedPauseState()
public void setLoop(int startFrame, int endFrame)
This has no effect for streams in formats other than .cks or Ogg Vorbis.
public void getLoop(IntRef startFrame, IntRef endFrame)
This has no effect for streams in formats other than .cks or Ogg Vorbis.
public void setLoopCount(int loopCount)
public int getLoopCount()
public int getCurrentLoop()
public void releaseLoop()
public boolean isLoopReleased()
public void setPlayPosition(int frame)
This is not supported for streams in formats other than .cks or Ogg Vorbis; use setPlayPositionMs() instead when possible.
public void setPlayPositionMs(float ms)
public int getPlayPosition()
This is not supported for streams in formats other than .cks or Ogg Vorbis; use getPlayPositionMs() instead when possible.
public float getPlayPositionMs()
public void setVolume(float volume)
public float getVolume()
public float getMixedVolume()
public void setPan(float pan)
public float getPan()
public void setPanMatrix(float ll, float lr, float rl, float rr)
public void getPanMatrix(FloatRef ll, FloatRef lr, FloatRef rl, FloatRef rr)
public void setPitchShift(float halfSteps)
This does not work for streams in formats other than .cks or Ogg Vorbis.
public float getPitchShift()
This does not work for streams in formats other than .cks or Ogg Vorbis.
public void setSpeed(float speed)
This does not work for streams in formats other than .cks or Ogg Vorbis.
public float getSpeed()
This does not work for streams in formats other than .cks or Ogg Vorbis.
public void setNextSound(Sound next)
This does not work for streams in formats other than .cks or Ogg Vorbis.
public Sound getNextSound()
This does not work for streams in formats other than .cks or Ogg Vorbis.
public int getLength()
public float getLengthMs()
public int getSampleRate()
public int getChannels()
public void setEffectBus(EffectBus bus)
Effects cannot be applied to streams in formats other than .cks or Ogg Vorbis.
public void set3dEnabled(boolean enabled)
public boolean is3dEnabled()
public boolean isVirtual()
public void set3dPosition(float x, float y, float z)
public void get3dPosition(FloatRef x, FloatRef y, FloatRef z)
public void set3dVelocity(float x, float y, float z)
public void get3dVelocity(FloatRef x, FloatRef y, FloatRef z)
public static void set3dListenerPosition(float eyeX, float eyeY, float eyeZ, float lookAtX, float lookAtY, float lookAtZ, float upX, float upY, float upZ)
eyeX
- The listener's position (x coordinate)eyeY
- The listener's position (y coordinate)eyeZ
- The listener's position (z coordinate)lookAtX
- The listener's look-at point (x coordinate)lookAtY
- The listener's look-at point (y coordinate)lookAtZ
- The listener's look-at point (z coordinate)upX
- The listener's up vector (x coordinate)upY
- The listener's up vector (y coordinate)upZ
- The listener's up vector (z coordinate)public static void get3dListenerPosition(FloatRef eyeX, FloatRef eyeY, FloatRef eyeZ, FloatRef lookAtX, FloatRef lookAtY, FloatRef lookAtZ, FloatRef upX, FloatRef upY, FloatRef upZ)
eyeX
- The listener's position (x coordinate)eyeY
- The listener's position (y coordinate)eyeZ
- The listener's position (z coordinate)lookAtX
- The listener's look-at point (x coordinate)lookAtY
- The listener's look-at point (y coordinate)lookAtZ
- The listener's look-at point (z coordinate)upX
- The listener's up vector (x coordinate)upY
- The listener's up vector (y coordinate)upZ
- The listener's up vector (z coordinate)public static void set3dListenerVelocity(float x, float y, float z)
public static void get3dListenerVelocity(FloatRef x, FloatRef y, FloatRef z)
public static void set3dAttenuation(AttenuationMode mode, float nearDist, float farDist, float farVol)
mode
- The attenuation modenearDist
- The near distance; sounds closer than this distance will not be attenuated.farDist
- The far distance; sounds further than this will be at the far volume.farVol
- The far volume; sounds further than farDist will be at this volume.public static void get3dAttenuation(ObjectRef<AttenuationMode> mode, FloatRef nearDist, FloatRef farDist, FloatRef farVol)
mode
- The attenuation modenearDist
- The near distance; sounds closer than this distance will not be attenuated.farDist
- The far distance; sounds further than this will be at the far volume.farVol
- The far volume; sounds further than farDist will be at this volume.public static void set3dSoundSpeed(float speed)
public static float get3dSoundSpeed()
public static Sound newBankSound(Bank bank, int index)
bank
- The bankindex
- Index of the sound in the bank to createpublic static Sound newBankSound(Bank bank, java.lang.String name)
bank
- The bank; if null, all loaded banks will be searched for a sound with a matching namename
- Name of the sound in the bank to create; should be 31 characters or lesspublic static Sound newStreamSound(java.lang.String filename)
filename
- Path to the file to stream.public static Sound newStreamSound(java.lang.String filename, PathType pathType)
filename
- Path to the file to stream.pathType
- Indicates how the path is to be interpreted.public static Sound newStreamSound(java.lang.String filename, PathType pathType, int offset, int length, java.lang.String extension)
filename
- Path to the file to stream.pathType
- Indicates how the path is to be interpreted.offset
- The byte offset of the stream file data in the larger file, or 0 if not embedded.length
- The size of the stream file data in the larger file, or 0 if not embedded.extension
- A string to indicate the file extension of the embedded file (e.g. ".mp3" or "music.mp3"), or null if not embedded.public void destroy()


EBD - Easton Bible DIctionary
Zif
ZIF
"ZIF "brightness; splendour; i.e., “the flower month,” mentioned only in 1 Kings 6:1, 37, as the “second month.” It was called Iyar by the later Jews.
(See MONTH.)
"ZIF "brightness; splendour; i.e., “the flower month,” mentioned only in 1 Kings 6:1, 37, as the “second month.” It was called Iyar by the later Jews.
(See MONTH.)


|
Quick Links: |
#include <bmqpi_dtspan.h>
Public Types | |
| typedef MapType::const_iterator | const_iterator |
Public Member Functions | |
| Baggage (bslma::Allocator *allocator=0) | |
| const_iterator | begin () const |
| const_iterator | end () const |
| bool | has (const bsl::string &key) const |
| bsl::string_view | get (const bsl::string &key, const bsl::string_view &dflt="") const |
| void | put (const bsl::string_view &key, const bsl::string_view &value) |
| bool | erase (const bsl::string &key) |
A set of key-values used to describe a DTSpan
.
| typedef MapType::const_iterator bmqpi::DTSpan::BSLS_KEYWORD_FINAL::const_iterator |
| bmqpi::DTSpan::BSLS_KEYWORD_FINAL::Baggage | ( | bslma::Allocator * | allocator = 0 |
) |
| const_iterator bmqpi::DTSpan::BSLS_KEYWORD_FINAL::begin | ( | ) | const |
Returns a const-iterator used to iterate over key-values.
| const_iterator bmqpi::DTSpan::BSLS_KEYWORD_FINAL::end | ( | ) | const |
Returns a const-iterator representing the end of key-values.
| bool bmqpi::DTSpan::BSLS_KEYWORD_FINAL::has | ( | const bsl::string & | key | ) | const |
Returns whether this object holds a value associated with the specified key
.
| bsl::string_view bmqpi::DTSpan::BSLS_KEYWORD_FINAL::get | ( | const bsl::string & | key, | |
| const bsl::string_view & | dflt = "" | |||
| ) | const |
Returns the value currently associated with key
, or dflt
if no associated value is currently held.
Beware that if key
is not found and the returned string_view
outlives dflt
, then the string_view
will reference a deallocated address.
| void bmqpi::DTSpan::BSLS_KEYWORD_FINAL::put | ( | const bsl::string_view & | key, | |
| const bsl::string_view & | value | |||
| ) |
Stores the specified value
associated with the specified key
. Note that if such a key
was already stored, then its associated value will be replaced by the supplied one.
| bool bmqpi::DTSpan::BSLS_KEYWORD_FINAL::erase | ( | const bsl::string & | key | ) |
Erases any value currently associated with key
, and returns whether any such value was previously held.


Text inputs
Text inputs are used to collect data from the user. It can be used in forms or data fields.
Count characters
Set the count attribute of the H1 tag above to the id of the input, you want to count. This will work with any type of text input.


Technicians
Ac Repaires Electrcians Electronic Repaires
Ac Repaires Electrcians Electronic Repaires
Auto mechanic Car Wash Spare parts
Computer Repaires Data Entry Desing & creative
Accountancy Arts&crafts IT consultancy
Caretaker/ Home nurse Fitness Trainees
Printing tshirts & caps Type setting
Architects Boarding places House painting
Data entry Web Research
Essay Writing content Writing
Tell us about ypur project. Enigma freelancer connects you with top talented around the island near you.
Get qualified proposals within 24 hours.Compare bids,reviews,and prior work.
Use Enigma freelancer to chat or video call, share files, and track project milestones from your desktop or mobile
Pay hourly or fixed-price and receive invoices through Upwork. Only pay for work you authorize.
Enigma freelancer is the island largest freelancing and crowdsourcing marketplace by number of users and projects. we connect over 100,000 employers and freelancers island widley from all the regions.
Through our marketplace, employers can hire freelancers to do work in areas such as IT field, Technicians, writing, virtual asssistance and many other job fileds.


Cops leave scene, hwy open
by Nicholas JohansenUPDATE: 10:45 p.m.
Highway 97 has been reopened between Oceola and Robinson roads, and police have cleared the area, after a high-profile police incident closed the highway for several hours Thursday night.
The nature of the incident still remains unclear, and police have yet to respond to Castanet's inquiry, but residents on Roberts Road were evacuated from their homes for some time, as many officers with rifles swarmed the area.
UPDATE: 9:55 p.m.
A resident of Lake Country's Roberts Road says police officers have evacuated him and his neighbours from their homes.
A police incident that began sometime before 8 p.m. has closed Highway 97, but the situation is unclear at this time.
The Roberts Road resident says it appears the RCMP officers are focusing their efforts around the new Lakeview Terrace housing development on Robinson Road, which is directly below his home on Roberts Road.
"My understanding is it's been cleared for our safety in case they have to shoot," the resident said, adding that police have only told him that it's an ongoing situation.
A Lakeview Terrace resident posted to Facebook that officers with guns have her complex "staked out."
Another Castanet reader says she came upon the area when police were first arriving, and noticed several officers searching around the Nor-Val Rentals area on Robinson Road and Highway 97.
DriveBC has no estimate as to when the highway will reopen.
ORIGINAL: 9:30 p.m.
A police incident has closed Highway 97 in Lake Country Thursday night.
The highway is currently closed between Oceola and Robinson roads, near the south end of Wood Lake.
While its unclear what has prompted the closure, Castanet has received several reports that there are multiple police officers in the area with rifles, who appear to be looking for someone.
DriveBC has no estimate of when the highway will reopen.
Castanet will update this story when more information becomes available.
Do you have photos or information about the incident? Send photos and tips to news@castanet.net.


[gecode-users] Freeze with MSVC 2015 optimized build
Christian Schulte
cschulte at kth.se
Thu Sep 17 15:28:06 CEST 2015
Hi Filip,
If you tell me which script you tried, I can try here (even though Gist
works for me with MSVC 2015 and Qt-5.5.0, using the trunk).
Cheers
Christian
--
Christian Schulte, www.gecode.org/~schulte
Professor of Computer Science, KTH, cschulte at kth.se
Expert Researcher, SICS, cschulte at sics.se
-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Filip Konvicka
Sent: Thursday, September 17, 2015 03:24 PM
To: users at gecode.org
Subject: Re: [gecode-users] Freeze with MSVC 2015 optimized build
> I was trying to use the Qt installer but Qt does not seem to be
> visible in the cygwin environment. I'll try the source package as you
> suggest, that sounds better to me.
So in the end I finished using the pre-built version of Qt and I'm now able
to run the script in Gist (Gist::dfs). The issue is still there. I ran
'Next Solution' - this apparently runs the search in a separate thread but
never finishes (and 'Stop' does not stop the search, you have to kill the
program). Inspecting the nodes one by one freezes the program during the 3rd
expansion, and in this case the program stops responding altogether.
So my guess is this is really some tight loop somewhere in Gecode (maybe
caused by a new optimization or bug in the new compiler?)
Cheers,
Filip
_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
More information about the users
mailing list


Apache Spark Cluster with Kubernetes and Docker - Part 1
Dec 9, 2015 00:00 · 772 words · 4 minutes read
If you’re into Data Science and Analytics, you’ve probably heard of Apache Spark. I’ve been playing with this framework on and off for a while and completed two very interesting MOOCs on Spark; recently I decided
First things first
Click this link and follow the instructions in the section “Before you begin”: Create a google account, enable billing1, install the gcloud command line interface (CLI) and install docker locally. kubectl should also be installed:
gcloud components update kubectl
As a second step, create a new project in the Google Developers Console, give it an appropriate name (e.g. project-spark-k8s),
if necessary, assign a unique ProjectID2
and set this project as default using the CLI:
gcloud config set project "project-spark-k8s-vv2"
Then go again to the Before you begin link and enable the Google Container and Google Compute Engine APIs:
Finally create a local folder where you’ll work:
mkdir -p KubernetesSpark/examples/spark
and download the following files in it:
cd KubernetesSpark/examples/spark
curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/v1.2.0-alpha.5/examples/spark/spark-master-controller.yaml
curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/v1.2.0-alpha.5/examples/spark/spark-master-controller.yaml
curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/v1.2.0-alpha.5/examples/spark/spark-master-service.yaml
curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/v1.2.0-alpha.5/examples/spark/spark-webui.yaml
curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/v1.2.0-alpha.5/examples/spark/spark-worker-controller.yaml
curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/v1.2.0-alpha.5/examples/spark/zeppelin-controller.yaml
curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/v1.2.0-alpha.5/examples/spark/zeppelin-service.yaml
Create a cluster
To create a cluster run the following command:
gcloud container --project "project-spark-k8s" clusters create spark-cluster --num-nodes 4 --zone europe-west1-c --machine-type n1-standard-1 --scope "https://www.googleapis.com/auth/compute"
As you can see, the cluster created, named “spark-cluster”, consists of four n1-standard-1 nodes. To get more information about it, type: To check the names of the four instances and get basic information about them (e.g. internal IP, external IP, etc), type:
gcloud compute instances list
Start Master Service
NOTE: This documentation is heavily based on https://github.com/kubernetes/kubernetes/tree/master/examples/spark.
First create a replication controller running the Spark Master service:
kubectl create -f examples/spark/spark-master-controller.yaml
To find out details about the replication controller, first find its exact name:
kubectl get pods
NAME READY STATUS RESTARTS AGE
spark-master-controller-xyz12 1/1 Running 0 1h
kubectl describe pods spark-master-controller-xyz12
kubectl logs spark-master-controller-xyz12
Here a sample of the log output:
As a second step after the creation of the replication controller, create a logical service endpoint that Spark workers can use to access the Master pod:
kubectl create -f examples/spark/spark-master-service.yaml
kubectl create -f examples/spark/spark-webui.yaml
kubectl get services
For more detailed information about each service, run the corresponding describe command, e.g.
kubectl describe service spark-master
kubectl proxy --port=8001
To make sure the command line is accessible press Ctrl-Z and then type bg. This way the process can run in the background, while other commands can be run in the foreground.
Start the Spark Workers
NOTE: The Spark workers need the Master service to be running.
First create a replication controller that manages the worker pods:
kubectl create -f examples/spark/spark-worker-controller.yaml
kubectl get pods
kubectl logs spark-master-controller-xyz12
The WebUI now looks like that:
Start the Zeppelin UI
The Zeppelin UI pod will be used to launch jobs into the Spark cluster. To start it, run:
kubectl create -f examples/spark/zeppelin-controller.yaml
kubectl get pods -lcomponent=zeppelin
kubectl port-forward zeppelin-controller-xyz12 8080:8080
As noted in https://github.com/kubernetes/kubernetes/tree/master/examples/spark “On GKE, kubectl port-forward may not be stable over long periods of time. If you see Zeppelin go into Disconnected state (there will be a red dot on the top right as well), the port-forward probably failed and needs to be restarted.”
To access the notebook externally, the service should be exposed:
kubectl expose rc zeppelin-controller --type="LoadBalancer"
Run the following command to find the external IP:
kubectl get services zeppelin-controller
That means that Zeppelin can also be found at http://<IP_ADDRESS>:80803
In the next part of this tutorial, we’ll create a GCE persistent disk to persistently store the Zeppelin notebooks we create in this cluster. This requires the creation of a new docker image for Zeppelin and a new yaml file for the Zeppelin controller.
For now, enjoy!


Enter up to 10 descriptive tags in each input box (e.g., "Restaurant", “Food", “Noodles", etc.)
Start typing to see available tags. Whenever possible select existing tags to get more matches.
{{if .Business.Offers}}
{{else}}
{{end}}
Enter tags for what you can provide
{{if .Business.Wants}}
{{else}}
{{end}}
Enter tags of what you want
Please provide a general email address, if applicable, so that your colleagues may respond to us in your absence.
Use at least one number and one special character.
Your directory entry will be reviewed by the OCN Team and we will get in touch to let you know when it goes live. Your personal details will not be made public or shared with any third parties and you can cancel your listing at any time.
Cancel


Collection of presentations, built using
reveal.js
.
04/20/2021: Containerized Development Environments
Link


Feature improvements
- A "panic_action" can be set to have the server dump a gdb
log on SEGV or other fatal error.
- allow radmin command "set module status <module> <code>"
which can be used to forcibly enable/disable modules.
Bug Fixes
- If the server fails to bind() after fork(), that is now
reported to the parent, which exits with an error.
- Session / delay times in MySQL are unsigned int.
- Use --tag=CC for libtool. Closes 497.
- Fix bug when copying attributes for vendors > 32767
- Fix behaviour on FreeBSD where sending packets from an interface
bound to an IP address would fail when the server was built with
udpfromto.
- Don't fail config check if were listening on an IP which is
also a home server. Some deployments have valid reasons
to loop packets back to another virtual server.
- Use correct port when DHCP relaying.
- Set source IP address for DHCP packets from DHCP-Server-IP-Address,
or DHCP-DHCP-Server-Identifier, if we're unable to otherwise
determine the source IP.


 What do you think of the Death Cure trailer?
Watch on YouTube: https://youtu.be/uk6olu_Bo-o Like, Comment and Subscribe!


A guide to help users of J get up to speed with BQN quickly. For a higher-level comparison, check Why BQN?.
BQN uses the based array model, which is fundamentally different from J's flat array model. BQN uses non-array values such as characters and numbers, called "atoms", while in J every noun is an array. A BQN array can contain any values in any mixture, while a J array must be uniformly numbers, characters, or boxes (BQN doesn't use boxes).
The J terms "atom" and "element" are used to mean different things by different authors. In BQN, a rank-0 array or atom is called a "unit", and the values contained in an array—which may or may not be arrays—are called "elements". Each element is contained in a 0-cell, or rank-0 subarray. BQN uses the term "major cell" for what J calls an "item" of an array: a cell with rank one less than that array. BQN shares the terms "list" and "table" for rank-1 and rank-2 arrays with J.
BQN uses "depth" rather than "boxing level". BQN gives atoms depth 0, so that the depth of a BQN array is one higher than the boxing level of the corresponding J array.
In J, the part of speech is an inherent property of a value, while in BQN it's determined by how the value is used in a particular expression, and can be different from the value's type. See context-free grammar.
| J part of speech | BQN role | Spelling |
|---|---|---|
| Noun | Subject | lowerCase |
| Verb | Function | UpperCase |
| Adverb | 1-modifier | _leading |
| Conjunction | 2-modifier | _both_ |
| J | BQN | Remarks |
|---|---|---|
NB. |
# |
|
' |
" |
' for character atoms |
=. and =: |
← and ↩ |
← to define; ↩ to modify |
3 :… or {{…}} |
{…} |
|
: |
; |
To separate function cases |
x y |
𝕨 𝕩 |
𝕊 for block function self-reference |
u v |
𝔽 𝔾 |
𝕣 for block modifier self-reference |
_ |
¯ or ∞ |
|
2 3 4 |
2‿3‿4 |
|
[: |
· |
Cap |
assert. |
! |
BQN's explicit functions and modifiers are called blocks, and have a more sophisticated syntax than J. BQN uses lexical scope, and has no global variables. BQN also has a list notation using ⟨⟩
, and []
for higher-rank arrays.
J analogues of BQN primitive functions are given below. They are not always the same; usually this is because BQN has extra functionality relative to J, although in some cases it has less or different functionality.
Functions +
-
|
<
>
are the same in both languages.
| BQN | × |
÷ |
⋆ |
√ |
⌊ |
⌈ |
≤ |
≥ |
⊣ |
⊢ |
|---|---|---|---|---|---|---|---|---|---|---|
| J | * |
% |
^ |
%: |
<. |
>. |
<: |
>: |
[ |
] |
| BQN | ≍ |
⋈ |
⌽ |
⍉ |
|---|---|---|---|---|
| J | ,: |
,&:< |
|. |
|: |
| BQN | ∧ |
∨ |
¬ |
= |
≠ |
≡ |
≢ |
⥊ |
∾ |
|---|---|---|---|---|---|---|---|---|---|
| Monad | /:~ |
\:~ |
-. |
#@$ |
# |
L. |
$ |
, |
; |
| Dyad | *. |
+. |
+-. |
= |
~: |
-: |
-.@-: |
$ |
, |
| BQN | ↑ |
↓ |
↕ |
» |
« |
/ |
|---|---|---|---|---|---|---|
| Monad | <\ |
<\. |
i. |
#{.(_1-#){.] |
-@#{.(1+#){.] |
I. |
| Dyad | {. |
}. |
]\ |
<EMAIL_ADDRESS>|
-@#@]{.,~ |
# |
| BQN | ⍋ |
⍒ |
⊏ |
⊑ |
⊐ |
⊒ |
∊ |
⍷ |
⊔ |
|---|---|---|---|---|---|---|---|---|---|
| Monad | /: |
\: |
{. |
0{::, |
i.~~. |
… |
~: |
~. |
</.i.@# |
| Dyad | I. |
I.&:- |
{ |
{:: |
i. |
… |
e. |
E. |
</. |
Most of BQN's combinators have J equivalents. The J equivalent "_
for ˙
assumes a noun operand, but ˙
makes a constant function for any operand. ◶
has arguments reversed relative to @.
, and uses an actual array of functions rather than gerunds. Besides these, BQN's ⟜
is like a J hook, that is, F⟜G
is (F G)
, and ⊸
applies in the opposite direction.
| BQN | ˙ |
˜ |
∘ |
○ |
⌾ |
⊘ |
◶ |
⎊ |
|---|---|---|---|---|---|---|---|---|
| J | "_ |
~ |
@: |
&: |
&.: |
: |
@. |
:: |
For other modifiers the correspondence is looser. Here ⌜
shows the dyadic case and ´
˝
the monadic case only.
| BQN | ¨ |
⌜ |
´ |
˝ |
` |
˘ |
⎉ |
⚇ |
⍟ |
⁼ |
|---|---|---|---|---|---|---|---|---|---|---|
| J | &.> |
&.>/ |
&.>/ |
/ |
/\ |
"_1 |
" |
L: |
^: |
^:_1 |
J's primitive nouns are easily defined in BQN.
| J | BQN |
|---|---|
a. |
@+↕256 |
a: |
<↕0 |
Functions +
-
|
<
>
are the same in both languages.
Some other primitives are essentially the same in J and BQN, but with different spellings (but transpose behaves differently; J's dyadic |:
is more like ⍉⁼
):
| J | * |
% |
^ |
^. |
%: |
<. |
>. |
[ |
] |
|. |
|: |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BQN | × |
÷ |
⋆ |
⋆⁼ |
√ |
⌊ |
⌈ |
⊣ |
⊢ |
⌽ |
⍉ |
| J | ~ |
@: |
&: |
&.: |
: |
" |
L: |
^: |
:: |
|---|---|---|---|---|---|---|---|---|---|
| BQN | ˜ |
∘ |
○ |
⌾ |
⊘ |
⎉ |
⚇ |
⍟ |
⎊ |
The tables below give approximate implementations of J primitives. J has a whole lot of complicated primitives that no one uses (some of which are officially deprecated), so not everything is translated here. Operations that only apply to complex numbers are omitted because no BQN implementation currently supports them.
| J | Monad | Dyad |
|---|---|---|
= |
⍷⊸(≡⌜) |
= |
<: |
-⟜1 |
≤ |
>: |
1⊸+ |
≥ |
+. |
∨ |
|
+: |
2⊸× |
¬∨ |
*. |
∧ |
|
*: |
×˜ |
¬∧ |
-. |
¬ |
¬∘∊/⊣ |
-: |
÷⟜2 |
≡ |
%. |
Inverse , |
Solve from here |
$ |
≢ |
⥊ |
~. |
⍷ |
|
~: |
∊ |
≠ |
, |
⥊ |
∾ |
,. |
⥊˘ |
∾˘ |
,: |
≍ |
≍ |
; |
∾ |
∾⟜(<⍟(1≥≡)) |
# |
≠ |
/ |
#. |
+˜⊸+˜´∘⌽ |
|
#: |
⌽2|⌊∘÷⟜2⍟(↕1+·⌊2⋆⁼⊢) |
{𝕨|1↓⌊∘÷`⌾⌽𝕨∾<𝕩} |
! |
×´1+↕ |
(-÷○(×´)1⊸+)⟜↕˜ |
/: |
⍋ |
⍋⊸⊏ |
\: |
⍒ |
⍒⊸⊏ |
{ |
(<⟨⟩)<⊸∾⌜´⊢ |
⊏ |
{. |
⊏ |
↑ |
{: |
⊢˝ |
|
{:: |
⊑ |
|
}. |
1⊸↓ |
↓ |
}: |
¯1⊸↓ |
|
". |
•BQN |
|
": |
•Fmt |
|
? |
•rand.Range⚇0 |
•rand.Deal |
e. |
><∘∾∊¨⊢ |
∊ |
E. |
⍷ |
|
i. |
↕ (⥊⟜(↕×´) for lists) |
⊐ |
i: |
{𝕩-˜↕1+2×𝕩} |
≠∘⊣-1+⌽⊸⊐ |
I. |
/ |
⍋ |
L. |
≡ |
|
o. |
π⊸× |
•math |
Some J modifier expressions are translated below. BQN doesn't keep track of the rank of functions, so the "close" compositions @
&
&.
have no BQN equivalents: instead, specify a rank after composing.
| J | BQN |
|---|---|
&.> |
¨ |
F/ y |
F˝ y |
x F&.>/ y |
x F⌜ y |
x F/ y |
x F⎉r‿∞ y where r is F 's left rank |
<EMAIL_ADDRESS>|
C◶⟨F,G,H⟩ |
x y} z |
x⌾(y⊸⊏) z (x¨ if x is an atom) |
x F/ . G y |
x F˝∘G⎉1‿∞ y |
F :. G |
{𝕊: 𝕨F𝕩; 𝕊⁼: 𝕨G𝕩} |
<;._1 |
((1-˜¬×+`)=⟜⊏⊘⊣)⊔⊢ |
x {.!.f y |
y » x⥊f |
x |.!.f y |
x ⥊⟜f⊸« y , or (-x) ⥊⟜f⊸» y if 𝕩<0 |
BQN uses functions, not modifiers, for structural manipulation. The following table gives BQN functions corresponding to J's structural modifiers. The result is an array of arrays; use F¨
to apply a function to each of these, and >F¨
to apply a function and merge the results into a single array.
| J | Monad | Dyad |
|---|---|---|
/. |
(+⌜´↕¨∘≢)⊸⊔ |
⊐⊸⊔ |
\ |
1↓↑ |
<˘↕ |
\. |
¯1↓↓ |


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use TMAbstractNode | |
|---|---|
| net.ontopia.topicmaps.viz |
| Uses of TMAbstractNode in net.ontopia.topicmaps.viz |
|---|
| Subclasses of TMAbstractNode in net.ontopia.topicmaps.viz | |
|---|---|
class |
TMAssociationNode
INTERNAL: Node class representing n-ary associations as nodes. |
class |
TMTopicNode
INTERNAL: Node class representing topics. |
| Fields in net.ontopia.topicmaps.viz declared as TMAbstractNode | |
|---|---|
protected TMAbstractNode |
HighlightNode.node
|
| Methods in net.ontopia.topicmaps.viz that return TMAbstractNode | |
|---|---|
TMAbstractNode |
VizController.getFocusNode()
|
TMAbstractNode |
TopicMapView.getFocusNode()
|
protected TMAbstractNode |
VizigatorUser.pickRandomNode()
|
protected TMAbstractNode |
VizigatorUser.pickRandomNode(TopicIF type)
|
TMAbstractNode |
NodeRecoveryObjectIF.recoverNode(TopicMapView view)
|
TMAbstractNode |
CreateTMTopicNode.recoverNode(TopicMapView view)
|
TMAbstractNode |
CreateTMAssociationNode.recoverNode(TopicMapView view)
|
| Methods in net.ontopia.topicmaps.viz with parameters of type TMAbstractNode | |
|---|---|
protected void |
VizController.addToHidden(TMAbstractNode target,
com.touchgraph.graphlayout.Node source,
Vector hidden)
|
void |
VizController.collapseNode(TMAbstractNode node)
|
void |
TopicMapView.createAssociations(TMAbstractNode abstractNode)
Creates all edges for this node, including type -> instance, instance -> type, and ordinary associations. |
void |
TopicMapView.createAssociations(TMAbstractNode abstractNode,
boolean create)
|
void |
TopicMapView.createAssociations(TMAbstractNode abstractNode,
boolean create,
boolean createEdgesToExistingNodes)
Creates all edges for this node, including type -> instance, instance -> type, and ordinary associations. |
void |
VizController.expandNode(TMAbstractNode node)
|
void |
VizController.focusNode(TMAbstractNode node)
Set the given node to be the focus node. |
protected void |
TopicMapView.focusNode(TMAbstractNode node)
|
void |
DesktopContext.focusNode(TMAbstractNode aNode)
|
void |
ApplicationContextIF.focusNode(TMAbstractNode aNode)
Set the node as the focus of the map |
void |
AppletContext.focusNode(TMAbstractNode aNode)
|
void |
VizController.focusNodeInternal(TMAbstractNode node)
Set the given node to be the focus node. |
boolean |
TMAbstractNode.hasPathTo(TMAbstractNode target,
Set visited)
|
void |
VizController.hideNode(TMAbstractNode node)
Delete a node, all incident edges and all nodes and edges that no longer have a path to the focus node as a consequence of this. |
void |
TopicMapView.hideNode(TMAbstractNode node)
Delete a node, all incident edges and all nodes and edges that no longer have a path to the focus node as a consequence of this. |
protected void |
TopicMapView.lenientAddNode(TMAbstractNode node)
This method was created as a work-around for bug #1898, which happens when two nodes have the same ID (the second node failing to get added to tgPanel. |
void |
VizController.loadNode(TMAbstractNode node)
|
Collection |
TopicMapView.loadNodesInLocality(TMAbstractNode startNode,
boolean create,
boolean delete)
If create is true, adds all nodes within locality's reach that were not already visible. |
protected void |
TopicMapView.queueInForeground(TMAbstractNode node)
|
protected void |
VizController.setHighlightNode(TMAbstractNode node,
Graphics g)
|
protected void |
TopicMapView.setHighlightNode(TMAbstractNode node,
Graphics g)
|
void |
HighlightNode.setNode(TMAbstractNode node,
Graphics g)
|
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


What we want to do ?
Initiators want to provide the guidance to young buds of the country. Today majority of the students just read out the books and write the test paper and get passed. We want to set the mindset in such a way that they think beyond the books and think practically.
Check out what you can do with us
Learn making robots using embedded systems, arduino and much more!!
Make programming your daily habbit, create some real time applications !
Create your own websites, learn HTML, CSS, JS and much more!
Have an idea? Share with us, we'll provide you support!!
Got stuck?, Let's see the process!
Gain knowledge in technical innovation by learning with us.
Apply your knowledge, explore and think beyond your theoratical knowledge, think innovative.
Get your ideas on paper, collaborate with us, get support in development. Be an "initiator".


Unburied from email after day off, now buried with meetings. Will feel lucky if I get some code reviewed today, let alone written.
5/27/2009, 10:47:44 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Unburied from email after day off, now buried with meetings. Will feel lucky if I get some code reviewed today, let alone written.
5/27/2009, 10:47:44 AM
Favs: 0
Retweets: 0
link


Everyone lives by a standard. Our success and happiness can be directly correlated by what standard we set for ourselves and what we work towards. My motto is that 'you get what you focus on'.
Whatever your focus is in life, you will be more likely to achieve it. I focus on becoming the best version of myself to achieve my own happiness and be able to benefit and help others achieve their own happiness.
I was born a Virginia girl. From Virgina, my family has moved all over: Texas, Kentucky, and
now Utah. Experiencing life in different places has been a huge contributor to my passion for people and
culture. I also enjoy traveling to other countries to provide service and education, with the occasional
vacation.
Additional hobbies include pickleball, tennis, art, music, and anything with my family. I love trying new
things and being outside!
I am currenly a full-time student at Brigham Young University studying marketing. I also work for Pura as a
full-time marketing intern.
For more information on BYU, visit their homepage
For interest in Pura, visit their website
!


Missguided Are Selling Cosy Matching Turtle Necks For You & Your Dog
It's officially jumper season. And while we're wrapping up warm, it can be easy to forget that our pets are probably feeling a little chilly in these colder climes too. But put those feelings of guilt at bay because Missguided have launched matching roll necks for you and your pup.
Yep, you read that right. Winter walkies just got a whole lot more stylish.
Missguided have released two matching roll neck jumpers, one in white and the other in beige. The jumper for your pooch will set you back a mere £12, while the one for you comes it at £25.
The dog jumpers come in three different sizes: small, which Missguided suggest will fit a Chihuahua, Mini Dachsund, a Small Yorkie, or any dogs similar to in size to them; medium (Jack Russell, Border Terrier, Yorkie, Mini Schnauzer, Small Pug, Mini Poodle, Cavalier, and Small Cocker Spaniel); and large (Large Westie, Large Cocker Spaniel, and Beagle). For us humans, the sizes are a UK 6/8, 10/12, 14/16, and 18.
The choice of material for these matching jumpers is cable knit or bouclé, both of which will keep you and your furry friend nice and toasty all during the winter period.
As if that weren't enough, Missguided have taken things one step further with some truly adorable festive offerings.
Your pooch will be able to get into the Christmas spirit in a big way with a Christmas pudding-style jumper or a striped red number with Rudolph ears that comes complete with a hood.
This really is the season to be jolly.


(HTML (HEAD )HEAD (BODY "This (I "is (B Aclass test "unbalanced )B )I (B Aclass test " content )B ", dude! )BODY )HTML


string sql_regcase ( string $string )
Creates a regular expression for a case insensitive match. Warning: This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
Returns a valid regular expression which will match string, ignoring case. This expression is string with each alphabetic character converted to a bracket expression; this bracket expression contains that character's uppercase and lowercase form. Other characters remain unchanged.


- Description
- implements a component which allows the creation of SQL statements.
This service implements a user interface for creating SQL statements either through a graphical design
interface or simply to enter the SQL statement directly.
The design view of the QueryDesign is divided into two parts. The first part contains the table windows
where columns can be selected for the SQL statement. The second part contains the columns which should appear
in the selection of the SQL statement or criterias which narrow the query.
Operation Modes
A QueryDesign component has 3 operation modes, which control what kind of object is edited:
Initialization
Initialization is done using the ::com::sun::star::lang::XInitialization interface,
which expects a sequence of objects being either ::com::sun::star::beans::NamedValues or
::com::sun::star::beans::PropertyValues. The following parameters are supported at
initialization time:
- Frame
has to be an ::com::sun::star::frame::XFrame interface specifying the frame to plug the
QueryDesign component into.
This parameter is mandatory.
- DataSourceName
specifies the name of the globally registered DataSource for which a query, view, or SQL
command is to be designed.
The DataSourceName may be omitted if and only if a valid ActiveConnection
parameter is present.
If both DataSourceName and ActiveConnection are present, the former
is ignored.
- ActiveConnection
specifies the connection to work with.
May be ommitted if and only if a valid DataSourceName parameter is supplied.
- Command
specifies the name of the query or view to design, or, in case of the CommandType
being CommandType::COMMAND, the initial SQL command.
If this parameter is not present, a new query/view will be designed, respectively the initial
command will be empty.
- CommandType
specifies the type of object which should be designed. The following options are
supported:
- CommandType::QUERY specifies the designer should operate in
query mode, that is, an existing client-side query should be
designed, or a new query should be created, depending on the presence of the
Command parameter.
If the DataSourceName parameter is present, the query is
looked up in the specified data source. Otherwise, the designer tries to determine
the data source which the ActiveConnection belongs
to, and looks up the query there.
- CommandType::COMMAND specifies the designer should operate in
command mode, that is, a standalone SQL command
should be designed. When the user attempts to save the designed SQL statement,
the ActiveCommand and EscapeProcessing properties
of the designer are updated.
- CommandType::TABLE specifies the designer should operate in
view mode, that is, an existing or a new
server-side view should be designed, depending on the presence of the
Command parameter.
If the DataSourceName parameter is present, the view is
looked up in a newly created connection for the specified data source. Otherwise,
it is looked up in the connection given as ActiveConnection.
If not present, this parameter defaults to CommandType::QUERY.
- EscapeProcessing
Specifies whether or not escape processing should be initially enabled in the query designer. If set
to false, then the designer can operate in text view only (as opposed to the graphical view). The
GraphicalDesign parameter will be ignored then, and assumed to be false.
If not present, true is assumed for this parameter.
- GraphicalDesign
This value indicates whether the designer should be opened in the graphical design view
(true) or in the text view (false).
If not present, false is assumed for this parameter.
There's a number of legacy settings which are recognized for compatibility reasons, though
you're discouraged from using them:
- See also
- ContentLoader
|