class RubyVM::InstructionSequence
The InstructionSequence class represents a compiled sequence of instructions for the Ruby Virtual Machine.
With it, you can get a handle to the instructions that make up a method or a proc, compile strings of Ruby code down to VM instructions, and disassemble instruction sequences to strings for easy inspection. It is mostly useful if you want to learn how the Ruby VM works, but it also lets you control various settings for the Ruby iseq compiler.
You can find the source for the VM instructions in insns.def
in the Ruby source.
The instruction sequence results will almost certainly change as Ruby changes, so example output in this documentation may be different from what you see.
Public Class Methods
Takes source
, a String of Ruby code and compiles it to an InstructionSequence.
Optionally takes file
, path
, and
line
which describe the filename, absolute path and first line
number of the ruby code in source
which are metadata attached
to the returned iseq
.
options
, which can be true
, false
or
a Hash
, is used to modify the default behavior of the Ruby
iseq compiler.
For details regarding valid compile options see ::compile_option=.
RubyVM::InstructionSequence.compile("a = 1 + 2") #=> <RubyVM::InstructionSequence:<compiled>@<compiled>>
static VALUE iseqw_s_compile(int argc, VALUE *argv, VALUE self) { VALUE src, file = Qnil, path = Qnil, line = INT2FIX(1), opt = Qnil; int i; rb_secure(1); i = rb_scan_args(argc, argv, "1*:", &src, NULL, &opt); if (i > 4+NIL_P(opt)) rb_error_arity(argc, 1, 5); switch (i) { case 5: opt = argv[--i]; case 4: line = argv[--i]; case 3: path = argv[--i]; case 2: file = argv[--i]; } if (NIL_P(file)) file = rb_fstring_cstr("<compiled>"); if (NIL_P(line)) line = INT2FIX(1); return iseqw_new(rb_iseq_compile_with_option(src, file, path, line, 0, opt)); }
Takes file
, a String with the location of a Ruby source file,
reads, parses and compiles the file, and returns iseq
, the
compiled InstructionSequence with
source location metadata set.
Optionally takes options
, which can be true
,
false
or a Hash
, to modify the default behavior
of the Ruby iseq compiler.
For details regarding valid compile options see ::compile_option=.
# /tmp/hello.rb puts "Hello, world!" # elsewhere RubyVM::InstructionSequence.compile_file("/tmp/hello.rb") #=><EMAIL_ADDRESS>static VALUE iseqw_s_compile_file(int argc, VALUE *argv, VALUE self) { VALUE file, line = INT2FIX(1), opt = Qnil; VALUE parser, f, exc = Qnil; NODE *node; rb_compile_option_t option; int i; rb_secure(1); i = rb_scan_args(argc, argv, "1*:", &file, NULL, &opt); if (i > 1+NIL_P(opt)) rb_error_arity(argc, 1, 2); switch (i) { case 2: opt = argv[--i]; } FilePathValue(file); file = rb_fstring(file); /* rb_io_t->pathv gets frozen anyways */ f = rb_file_open_str(file, "r"); parser = rb_parser_new(); rb_parser_set_context(parser, NULL, FALSE); node = rb_parser_compile_file_path(parser, file, f, NUM2INT(line)); if (!node) exc = GET_THREAD()->errinfo; rb_io_close(f); if (!node) rb_exc_raise(exc); make_compile_option(&option, opt); return iseqw_new(rb_iseq_new_with_opt(node, rb_fstring_cstr("<main>"), file, rb_realpath_internal(Qnil, file, 1), line, NULL, ISEQ_TYPE_TOP, &option)); }
Returns a hash of default options used by the Ruby iseq compiler.
For details, see ::compile_option=.
static VALUE iseqw_s_compile_option_get(VALUE self) { return make_compile_option_value(&COMPILE_OPTION_DEFAULT); }
Sets the default values for various optimizations in the Ruby iseq compiler.
Possible values for options
include true
, which
enables all options, false
which disables all options, and
nil
which leaves all options unchanged.
You can also pass a Hash
of options
that you want
to change, any options not present in the hash will be left unchanged.
Possible option names (which are keys in options
) which can be
set to true
or false
include:
-
:inline_const_cache
-
:instructions_unification
-
:operands_unification
-
:peephole_optimization
-
:specialized_instruction
-
:stack_caching
-
:tailcall_optimization
-
:trace_instruction
Additionally, :debug_level
can be set to an integer.
These default options can be overwritten for a single run of the iseq
compiler by passing any of the above values as the options
parameter to ::new, ::compile and ::compile_file.
static VALUE iseqw_s_compile_option_set(VALUE self, VALUE opt) { rb_compile_option_t option; rb_secure(1); make_compile_option(&option, opt); COMPILE_OPTION_DEFAULT = option; return opt; }
Takes body
, a Method or Proc object, and returns a String with the human
readable instructions for body
.
For a Method object:
# /tmp/method.rb def hello puts "hello, world" end puts RubyVM::InstructionSequence.disasm(method(:hello))
Produces:
== disasm<EMAIL_ADDRESS>0000 trace 8 ( 1) 0002 trace 1 ( 2) 0004 putself 0005 putstring "hello, world" 0007 send :puts, 1, nil, 8, <ic:0> 0013 trace 16 ( 3) 0015 leave ( 2)
For a Proc:
# /tmp/proc.rb p = proc { num = 1 + 2 } puts RubyVM::InstructionSequence.disasm(p)
Produces:
== disasm: <RubyVM::InstructionSequence:block in<EMAIL_ADDRESS>== catch table | catch type: redo st: 0000 ed: 0012 sp: 0000 cont: 0000 | catch type: next st: 0000 ed: 0012 sp: 0000 cont: 0012 |------------------------------------------------------------------------ local table (size: 2, argc: 0 [opts: 0, rest: -1, post: 0, block: -1] s1) [ 2] num 0000 trace 1 ( 1) 0002 putobject 1 0004 putobject 2 0006 opt_plus <ic:1> 0008 dup 0009 setlocal num, 0 0012 leave
static VALUE iseqw_s_disasm(VALUE klass, VALUE body) { VALUE iseqw = iseqw_s_of(klass, body); return NIL_P(iseqw) ? Qnil : rb_iseq_disasm(iseqw_check(iseqw)); }
Takes body
, a Method or Proc object, and returns a String with the human
readable instructions for body
.
For a Method object:
# /tmp/method.rb def hello puts "hello, world" end puts RubyVM::InstructionSequence.disasm(method(:hello))
Produces:
== disasm<EMAIL_ADDRESS>0000 trace 8 ( 1) 0002 trace 1 ( 2) 0004 putself 0005 putstring "hello, world" 0007 send :puts, 1, nil, 8, <ic:0> 0013 trace 16 ( 3) 0015 leave ( 2)
For a Proc:
# /tmp/proc.rb p = proc { num = 1 + 2 } puts RubyVM::InstructionSequence.disasm(p)
Produces:
== disasm: <RubyVM::InstructionSequence:block in<EMAIL_ADDRESS>== catch table | catch type: redo st: 0000 ed: 0012 sp: 0000 cont: 0000 | catch type: next st: 0000 ed: 0012 sp: 0000 cont: 0012 |------------------------------------------------------------------------ local table (size: 2, argc: 0 [opts: 0, rest: -1, post: 0, block: -1] s1) [ 2] num 0000 trace 1 ( 1) 0002 putobject 1 0004 putobject 2 0006 opt_plus <ic:1> 0008 dup 0009 setlocal num, 0 0012 leave
static VALUE iseqw_s_disasm(VALUE klass, VALUE body) { VALUE iseqw = iseqw_s_of(klass, body); return NIL_P(iseqw) ? Qnil : rb_iseq_disasm(iseqw_check(iseqw)); }
Load an iseq object from binary format String object created by #to_binary.
This loader does not have a verifier, so that loading broken/modified binary causes critical problem.
You should not load binary data provided by others. You should use binary data translated by yourself.
static VALUE iseqw_s_load_from_binary(VALUE self, VALUE str) { return iseqw_new(iseq_ibf_load(str)); }
Load extra data embed into binary format String object.
static VALUE iseqw_s_load_from_binary_extra_data(VALUE self, VALUE str) { return iseq_ibf_load_extra_data(str); }
Takes source
, a String of Ruby code and compiles it to an InstructionSequence.
Optionally takes file
, path
, and
line
which describe the filename, absolute path and first line
number of the ruby code in source
which are metadata attached
to the returned iseq
.
options
, which can be true
, false
or
a Hash
, is used to modify the default behavior of the Ruby
iseq compiler.
For details regarding valid compile options see ::compile_option=.
RubyVM::InstructionSequence.compile("a = 1 + 2") #=> <RubyVM::InstructionSequence:<compiled>@<compiled>>
static VALUE iseqw_s_compile(int argc, VALUE *argv, VALUE self) { VALUE src, file = Qnil, path = Qnil, line = INT2FIX(1), opt = Qnil; int i; rb_secure(1); i = rb_scan_args(argc, argv, "1*:", &src, NULL, &opt); if (i > 4+NIL_P(opt)) rb_error_arity(argc, 1, 5); switch (i) { case 5: opt = argv[--i]; case 4: line = argv[--i]; case 3: path = argv[--i]; case 2: file = argv[--i]; } if (NIL_P(file)) file = rb_fstring_cstr("<compiled>"); if (NIL_P(line)) line = INT2FIX(1); return iseqw_new(rb_iseq_compile_with_option(src, file, path, line, 0, opt)); }
Returns the instruction sequence containing the given proc or method.
For example, using irb:
# a proc > p = proc { num = 1 + 2 } > RubyVM::InstructionSequence.of(p) > #=> <RubyVM::InstructionSequence:block in irb_binding@(irb)> # for a method > def foo(bar); puts bar; end > RubyVM::InstructionSequence.of(method(:foo)) > #=> <RubyVM::InstructionSequence:foo@(irb)>
Using ::compile_file:
# /tmp/iseq_of.rb def hello puts "hello, world" end $a_global_proc = proc { str = 'a' + 'b' } # in irb > require '/tmp/iseq_of.rb' # first the method hello > RubyVM::InstructionSequence.of(method(:hello)) > #=> #<RubyVM::InstructionSequence:0x007fb73d7cb1d0> # then the global proc > RubyVM::InstructionSequence.of($a_global_proc) > #=> #<RubyVM::InstructionSequence:0x007fb73d7caf78>
static VALUE iseqw_s_of(VALUE klass, VALUE body) { const rb_iseq_t *iseq = NULL; rb_secure(1); if (rb_obj_is_proc(body)) { iseq = vm_proc_iseq(body); if (!rb_obj_is_iseq((VALUE)iseq)) { iseq = NULL; } } else { iseq = rb_method_iseq(body); } return iseq ? iseqw_new(iseq) : Qnil; }
Public Instance Methods
Returns the absolute path of this instruction sequence.
nil
if the iseq was evaluated from a string.
For example, using ::compile_file:
# /tmp/method.rb def hello puts "hello, world" end # in irb > iseq = RubyVM::InstructionSequence.compile_file('/tmp/method.rb') > iseq.absolute_path #=> /tmp/method.rb
static VALUE iseqw_absolute_path(VALUE self) { return rb_iseq_absolute_path(iseqw_check(self)); }
Returns the base label of this instruction sequence.
For example, using irb:
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2') #=> <RubyVM::InstructionSequence:<compiled>@<compiled>> iseq.base_label #=> "<compiled>"
Using ::compile_file:
# /tmp/method.rb def hello puts "hello, world" end # in irb > iseq = RubyVM::InstructionSequence.compile_file('/tmp/method.rb') > iseq.base_label #=> <main>
static VALUE iseqw_base_label(VALUE self) { return rb_iseq_base_label(iseqw_check(self)); }
Returns the instruction sequence as a String
in human readable
form.
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
Produces:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>========== 0000 trace 1 ( 1) 0002 putobject 1 0004 putobject 2 0006 opt_plus <ic:1> 0008 leave
static VALUE iseqw_disasm(VALUE self) { return rb_iseq_disasm(iseqw_check(self)); }
Returns the instruction sequence as a String
in human readable
form.
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
Produces:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>========== 0000 trace 1 ( 1) 0002 putobject 1 0004 putobject 2 0006 opt_plus <ic:1> 0008 leave
static VALUE iseqw_disasm(VALUE self) { return rb_iseq_disasm(iseqw_check(self)); }
Evaluates the instruction sequence and returns the result.
RubyVM::InstructionSequence.compile("1 + 2").eval #=> 3
static VALUE iseqw_eval(VALUE self) { rb_secure(1); return rb_iseq_eval(iseqw_check(self)); }
Returns the number of the first source line where the instruction sequence was loaded from.
For example, using irb:
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2') #=> <RubyVM::InstructionSequence:<compiled>@<compiled>> iseq.first_lineno #=> 1
static VALUE iseqw_first_lineno(VALUE self) { return rb_iseq_first_lineno(iseqw_check(self)); }
Returns a human-readable string representation of this instruction sequence, including the label and path.
static VALUE iseqw_inspect(VALUE self) { const rb_iseq_t *iseq = iseqw_check(self); if (!iseq->body->location.label) { return rb_sprintf("#<%s: uninitialized>", rb_obj_classname(self)); } else { return rb_sprintf("<%s:%s@%s>", rb_obj_classname(self), RSTRING_PTR(iseq->body->location.label), RSTRING_PTR(iseq->body->location.path)); } }
Returns the label of this instruction sequence.
<main>
if it's at the top level,
<compiled>
if it was evaluated from a string.
For example, using irb:
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2') #=> <RubyVM::InstructionSequence:<compiled>@<compiled>> iseq.label #=> "<compiled>"
Using ::compile_file:
# /tmp/method.rb def hello puts "hello, world" end # in irb > iseq = RubyVM::InstructionSequence.compile_file('/tmp/method.rb') > iseq.label #=> <main>
static VALUE iseqw_label(VALUE self) { return rb_iseq_label(iseqw_check(self)); }
Experimental MRI specific feature, only available as C level api.
Returns all specified_line
events.
VALUE rb_iseqw_line_trace_all(VALUE iseqw) { VALUE result = rb_ary_new(); rb_iseqw_line_trace_each(iseqw, collect_trace, (void *)result); return result; }
Experimental MRI specific feature, only available as C level api.
Set a specified_line
event at the
given line position, if the set
parameter is
true
.
This method is useful for building a debugger breakpoint at a specific line.
A TypeError is raised if set
is not boolean.
If pos
is a negative integer a TypeError exception is raised.
VALUE rb_iseqw_line_trace_specify(VALUE iseqval, VALUE pos, VALUE set) { struct set_specifc_data data; data.prev = 0; data.pos = NUM2INT(pos); if (data.pos < 0) rb_raise(rb_eTypeError, "`pos' is negative"); switch (set) { case Qtrue: data.set = 1; break; case Qfalse: data.set = 0; break; default: rb_raise(rb_eTypeError, "`set' should be true/false"); } rb_iseqw_line_trace_each(iseqval, line_trace_specify, (void *)&data); if (data.prev == 0) { rb_raise(rb_eTypeError, "`pos' is out of range."); } return data.prev == 1 ? Qtrue : Qfalse; }
Returns the path of this instruction sequence.
<compiled>
if the iseq was evaluated from a string.
For example, using irb:
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2') #=> <RubyVM::InstructionSequence:<compiled>@<compiled>> iseq.path #=> "<compiled>"
Using ::compile_file:
# /tmp/method.rb def hello puts "hello, world" end # in irb > iseq = RubyVM::InstructionSequence.compile_file('/tmp/method.rb') > iseq.path #=> /tmp/method.rb
static VALUE iseqw_path(VALUE self) { return rb_iseq_path(iseqw_check(self)); }
Returns an Array with 14 elements representing the instruction sequence with the following data:
- magic
-
A string identifying the data format. Always
YARVInstructionSequence/SimpleDataFormat
. - major_version
-
The major version of the instruction sequence.
- minor_version
-
The minor version of the instruction sequence.
- format_type
-
A number identifying the data format. Always 1.
- misc
-
A hash containing:
:arg_size
-
the total number of arguments taken by the method or the block (0 if iseq doesn't represent a method or block)
:local_size
-
the number of local variables + 1
:stack_max
-
used in calculating the stack depth at which a SystemStackError is thrown.
- label
-
The name of the context (block, method, class, module, etc.) that this instruction sequence belongs to.
<main>
if it's at the top level,<compiled>
if it was evaluated from a string. - path
-
The relative path to the Ruby file where the instruction sequence was loaded from.
<compiled>
if the iseq was evaluated from a string. - absolute_path
-
The absolute path to the Ruby file where the instruction sequence was loaded from.
nil
if the iseq was evaluated from a string. - first_lineno
-
The number of the first source line where the instruction sequence was loaded from.
- type
-
The type of the instruction sequence.
Valid values are
:top
,:method
,:block
,:class
,:rescue
,:ensure
,:eval
,:main
, and:defined_guard
. - locals
-
An array containing the names of all arguments and local variables as symbols.
- params
-
An Hash object containing parameter information.
More info about these values can be found in
vm_core.h
. - catch_table
-
A list of exceptions and control flow operators (rescue, next, redo, break, etc.).
- bytecode
-
An array of arrays containing the instruction names and operands that make up the body of the instruction sequence.
Note that this format is MRI specific and version dependent.
static VALUE iseqw_to_a(VALUE self) { const rb_iseq_t *iseq = iseqw_check(self); rb_secure(1); return iseq_data_to_ary(iseq); }
Returns serialized iseq binary format data as a String object. A corresponding iseq object is created by ::load_from_binary method.
String extra_data will be saved with binary data. You can access this data with ::load_from_binary_extra_data.
Note that the translated binary data is not portable. You can not move this binary data to another machine. You can not use the binary data which is created by another version/another architecture of Ruby.
static VALUE iseqw_to_binary(int argc, VALUE *argv, VALUE self) { VALUE opt; rb_scan_args(argc, argv, "01", &opt); return iseq_ibf_dump(iseqw_check(self), opt); }


There+s Something About Mary
It was with great trepidation that I approached +Mary+, the Farrelly brothers+ latest film. I knew the film would be funny--the trailer alone had me laugh harder than the actual comedy I went to see. But I also knew the film would be an equal-opportunity offender, attacking the sensibilities of the politically correct with reckless abandon. I figured the film would be raunchy, maybe another lucky escapee from NC-17 hell. I may laugh, but would I feel better in the morning?
I needn+t have worried. +Mary+ is the sweetest, warmest, all-out laugh-and-grossfest this side of _Animal House_. Surprisingly, the Farrelly brothers have walked that very tight line of making a touching romantic comedy on the side, and filling the details with five or six outrageous howlers. They make laughter, the toughest job for a filmmaker to do, look easy.
The plot is typical. Thirteen years ago, geeky Ted (Ben Stiller) lucked out in having dazzling Mary (Cameron Diaz) go with him to the senior prom. As luck would have it, on that very day, he was hospitalized. Why, I shall not tell, but I assure you, it isn+t pretty.
He hires a private investigator to find her: Pat Healy (Matt Dillon). He becomes one of the great comic villains. Upon finding her, he too is lovestruck, and so pursues her, lying about his occupation and getting his teeth capped. It is only a matter of time before Ted finds out that he had been double-crossed, and goes to get her for himself.
Would the geek get the girl? Puh-lease. The ending is pure Hollywood; no surprises there. But the absolute joy in this film is how this simple premise allows for humor in zippers, hair gel, the mentally disabled, the physically handicapped, interracial marriages, homosexuals, skin conditions, serial killers, tanning, and drugged-up dogs. The dog on speed sequence alone is worth the price of admission, and belongs in the Film Comedy Hall of Fame.
And yet, for all the targets that are hit, the film maintains its sweet tone. Mary, playing the straight role, is as sweet and caring as she is beautiful. She is totally devoted to caring for her mentally handicapped brother, Warren (W. Earl Brown--miles away from the cameraman in _Scream_). Mary+s sunniness carries the film here--it compliments the below-belt gags that come at you. Cameron Diaz makes her totally charming, and the audience respects her, even though women in general do not usually undress before an open window.
Ben Stiller also fares very well, totally changing his image from his _Reality Bites_ and _Flirting with Disaster_ straight men to being a, (how to say it?), a complete loser. Braces, greasy long hair, not too bright, and very very funny. Dillon is exceptionally creepy, especially with his capped teeth. And rounding out the cast is Ted+s friend Dom (Chris Elliot), tanning addict Magda (Lin Shaye), modern troubador/Greek chorus Ron Lichman, and Mary+s sweet mom, Markie Post (where has she been?!).
Not everything works. Chris Elliot+s role, skin blemishes and all, becomes merely tasteless and boring. There+s lousy dialogue about eight-minute vs. seven minute exercise tapes. And there are long stretches without much going on. But the wait is worth it. When those extraordinary sequences hit, the entire theater erupted with howls, tears. belly-aches, that in some sequences carried over to the following scene.
The Farrelly brothers have finally done it. Yes, there are some raunchy bits, but when it is all over, it+s not nearly as bad as it could have been. While tasteless, it didn+t cross any lines, at least not with me. While raunchy, it wasn+t nearly as bad as _Porky+s_ or _Boogie Nights_. And it is sweet enough to be considered a date flick. After the funny but sour _Kingpin_ left a negative aftertaste in my palate, comes the funniest sex farce since _A Fish Called Wanda_. Approach this with an open mind, and you will reap the benefits hugely.
Nick Scale (1 to 10): 9
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


HOME
SERVICES
Residential Services
Corporate Services
WORK
NEWS
CLIENTS
CONTACT
First select type of service elevator
--- Select ---
Residential
Commercial
Corporate
Hybrid
Enter the number of apartments
Enter the number of floors
Enter the number of basements
The number of elevators you need:
Enter the number of distinct business
Enter the number of floors
Enter the number of basements
Enter the number of available parking
Enter the number of elevator shafts
The number of elevators you need:
Enter the number of seperate company tenants
Enter the number of floors
Enter the number of basements
Enter the number of available parking
Enter the maximum number of people per floor
The number of elevators you need:
Enter the number of distinct business
Enter the number of floors
Enter the number of basements
Enter the number of available parking
Enter the maximum number of people per floor
Enter the number of hours of activity of the building
The number of elevators you need:
Select the product line:
Standard
Premium
Excelium
Elevator Prices ($)
Elevator Service Price ($)
Total Price ($)


[styles]
[project_title]
v[project_version]
[project_description]
Modules
[modules]
Classes
[classes]


ir_datasets
: Washington PostTo use this dataset, you need a copy of Washington Post Collection, provided by NIST.
Your organization may already have a copy. If this is the case, you may only need to complete a new "Individual Argeement". Otherwise, your organization will need to file the "Organizational agreement" with NIST. It can take some time to process, but you will end up with a password-protected download link.
The source file required is WashingtonPost.v2.tar.gz.
ir_datasets expects the above file to be copied/linked under ~/.ir_datasets/wapo/WashingtonPost.v2.tar.gz.
The Washington Post collection.
Version 2 of the Washington Post collection, consisting of articles published between 2012-2017.
The collection is obtained from NIST by requesting it from NIST here.
body contains all body text in plain text format, including paragrphs and multi-media captions. body_paras_html contains only source paragraphs and contains HTML markup. body_media contains images, videos, tweets, and galeries, along with a link to the content and a textual caption.
Language: en
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2")
for doc in dataset.docs_iter():
doc # namedtuple<doc_id, url, title, author, published_date, kicker, body, body_paras_html, body_media>
You can find more details about the Python API here.
ir_datasets export wapo/v2 docs
[doc_id] [url] [title] [author] [published_date] [kicker] [body] [body_paras_html] [body_media]
...
You can find more details about the CLI here.
import pyterrier as pt
pt.init()
dataset = pt.get_dataset('irds:wapo/v2')
# Index wapo/v2
indexer = pt.IterDictIndexer('./indices/wapo_v2')
index_ref = indexer.index(dataset.get_corpus_iter(), fields=['url', 'title', 'author', 'kicker', 'body'])
You can find more details about PyTerrier indexing here.
The TREC Common Core 2018 benchmark.
Language: en
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-core-2018")
for query in dataset.queries_iter():
query # namedtuple<query_id, title, description, narrative>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-core-2018 queries
[query_id] [title] [description] [narrative]
...
You can find more details about the CLI here.
import pyterrier as pt
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-core-2018')
index_ref = pt.IndexRef.of('./indices/wapo_v2') # assumes you have already built an index
pipeline = pt.BatchRetrieve(index_ref, wmodel='BM25')
# (optionally other pipeline components)
pipeline(dataset.get_topics('title'))
You can find more details about PyTerrier retrieval here.
Language: en
Note: Uses docs from wapo/v2
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-core-2018")
for doc in dataset.docs_iter():
doc # namedtuple<doc_id, url, title, author, published_date, kicker, body, body_paras_html, body_media>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-core-2018 docs
[doc_id] [url] [title] [author] [published_date] [kicker] [body] [body_paras_html] [body_media]
...
You can find more details about the CLI here.
import pyterrier as pt
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-core-2018')
# Index wapo/v2
indexer = pt.IterDictIndexer('./indices/wapo_v2')
index_ref = indexer.index(dataset.get_corpus_iter(), fields=['url', 'title', 'author', 'kicker', 'body'])
You can find more details about PyTerrier indexing here.
Relevance levels
| Rel. | Definition |
|---|---|
| 0 | not relevant |
| 1 | relevant |
| 2 | highly relevant |
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-core-2018")
for qrel in dataset.qrels_iter():
qrel # namedtuple<query_id, doc_id, relevance, iteration>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-core-2018 qrels --format tsv
[query_id] [doc_id] [relevance] [iteration]
...
You can find more details about the CLI here.
import pyterrier as pt
from pyterrier.measures import *
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-core-2018')
index_ref = pt.IndexRef.of('./indices/wapo_v2') # assumes you have already built an index
pipeline = pt.BatchRetrieve(index_ref, wmodel='BM25')
# (optionally other pipeline components)
pt.Experiment(
[pipeline],
dataset.get_topics('title'),
dataset.get_qrels(),
[MAP, nDCG@20]
)
You can find more details about PyTerrier experiments here.
The TREC News 2018 Background Linking task. The task is to find relevant background information for the provided articles.
Language: en
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-news-2018")
for query in dataset.queries_iter():
query # namedtuple<query_id, doc_id, url>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-news-2018 queries
[query_id] [doc_id] [url]
...
You can find more details about the CLI here.
import pyterrier as pt
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-news-2018')
index_ref = pt.IndexRef.of('./indices/wapo_v2') # assumes you have already built an index
pipeline = pt.BatchRetrieve(index_ref, wmodel='BM25')
# (optionally other pipeline components)
pipeline(dataset.get_topics('doc_id'))
You can find more details about PyTerrier retrieval here.
Language: en
Note: Uses docs from wapo/v2
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-news-2018")
for doc in dataset.docs_iter():
doc # namedtuple<doc_id, url, title, author, published_date, kicker, body, body_paras_html, body_media>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-news-2018 docs
[doc_id] [url] [title] [author] [published_date] [kicker] [body] [body_paras_html] [body_media]
...
You can find more details about the CLI here.
import pyterrier as pt
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-news-2018')
# Index wapo/v2
indexer = pt.IterDictIndexer('./indices/wapo_v2')
index_ref = indexer.index(dataset.get_corpus_iter(), fields=['url', 'title', 'author', 'kicker', 'body'])
You can find more details about PyTerrier indexing here.
Relevance levels
| Rel. | Definition |
|---|---|
| 0 | The document provides little or no useful background information. |
| 2 | The document provides some useful background or contextual information that would help the user understand the broader story context of the target article. |
| 4 | The document provides significantly useful background ... |
| 8 | The document provides essential useful background ... |
| 16 | The document _must_ appear in the sidebar otherwise critical context is missing. |
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-news-2018")
for qrel in dataset.qrels_iter():
qrel # namedtuple<query_id, doc_id, relevance, iteration>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-news-2018 qrels --format tsv
[query_id] [doc_id] [relevance] [iteration]
...
You can find more details about the CLI here.
import pyterrier as pt
from pyterrier.measures import *
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-news-2018')
index_ref = pt.IndexRef.of('./indices/wapo_v2') # assumes you have already built an index
pipeline = pt.BatchRetrieve(index_ref, wmodel='BM25')
# (optionally other pipeline components)
pt.Experiment(
[pipeline],
dataset.get_topics('doc_id'),
dataset.get_qrels(),
[MAP, nDCG@20]
)
You can find more details about PyTerrier experiments here.
Bibtex:
@inproceedings{Soboroff2018News, title={TREC 2018 News Track Overview}, author={Ian Soboroff and Shudong Huang and Donna Harman}, booktitle={TREC}, year={2018} }The TREC News 2019 Background Linking task. The task is to find relevant background information for the provided articles.
Language: en
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-news-2019")
for query in dataset.queries_iter():
query # namedtuple<query_id, doc_id, url>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-news-2019 queries
[query_id] [doc_id] [url]
...
You can find more details about the CLI here.
import pyterrier as pt
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-news-2019')
index_ref = pt.IndexRef.of('./indices/wapo_v2') # assumes you have already built an index
pipeline = pt.BatchRetrieve(index_ref, wmodel='BM25')
# (optionally other pipeline components)
pipeline(dataset.get_topics('doc_id'))
You can find more details about PyTerrier retrieval here.
Language: en
Note: Uses docs from wapo/v2
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-news-2019")
for doc in dataset.docs_iter():
doc # namedtuple<doc_id, url, title, author, published_date, kicker, body, body_paras_html, body_media>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-news-2019 docs
[doc_id] [url] [title] [author] [published_date] [kicker] [body] [body_paras_html] [body_media]
...
You can find more details about the CLI here.
import pyterrier as pt
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-news-2019')
# Index wapo/v2
indexer = pt.IterDictIndexer('./indices/wapo_v2')
index_ref = indexer.index(dataset.get_corpus_iter(), fields=['url', 'title', 'author', 'kicker', 'body'])
You can find more details about PyTerrier indexing here.
Relevance levels
| Rel. | Definition |
|---|---|
| 0 | The document provides little or no useful background information. |
| 2 | The document provides some useful background or contextual information that would help the user understand the broader story context of the target article. |
| 4 | The document provides significantly useful background ... |
| 8 | The document provides essential useful background ... |
| 16 | The document _must_ appear in the sidebar otherwise critical context is missing. |
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v2/trec-news-2019")
for qrel in dataset.qrels_iter():
qrel # namedtuple<query_id, doc_id, relevance, iteration>
You can find more details about the Python API here.
ir_datasets export wapo/v2/trec-news-2019 qrels --format tsv
[query_id] [doc_id] [relevance] [iteration]
...
You can find more details about the CLI here.
import pyterrier as pt
from pyterrier.measures import *
pt.init()
dataset = pt.get_dataset('irds:wapo/v2/trec-news-2019')
index_ref = pt.IndexRef.of('./indices/wapo_v2') # assumes you have already built an index
pipeline = pt.BatchRetrieve(index_ref, wmodel='BM25')
# (optionally other pipeline components)
pt.Experiment(
[pipeline],
dataset.get_topics('doc_id'),
dataset.get_qrels(),
[MAP, nDCG@20]
)
You can find more details about PyTerrier experiments here.
Bibtex:
@inproceedings{Soboroff2019News, title={TREC 2019 News Track Overview}, author={Ian Soboroff and Shudong Huang and Donna Harman}, booktitle={TREC}, year={2019} }The TREC News 2020 Background Linking task. The task is to find relevant background information for the provided articles.
If you have a copy of the v3 dataset, we would appreciate a pull request to add support!
Language: en
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v3/trec-news-2020")
for query in dataset.queries_iter():
query # namedtuple<query_id, doc_id, url>
You can find more details about the Python API here.
ir_datasets export wapo/v3/trec-news-2020 queries
[query_id] [doc_id] [url]
...
You can find more details about the CLI here.
No example available for PyTerrier
Relevance levels
| Rel. | Definition |
|---|---|
| 0 | The document provides little or no useful background information. |
| 2 | The document provides some useful background or contextual information that would help the user understand the broader story context of the target article. |
| 4 | The document provides significantly useful background ... |
| 8 | The document provides essential useful background ... |
| 16 | The document _must_ appear in the sidebar otherwise critical context is missing. |
Examples:
import ir_datasets
dataset = ir_datasets.load("wapo/v3/trec-news-2020")
for qrel in dataset.qrels_iter():
qrel # namedtuple<query_id, doc_id, relevance, iteration>
You can find more details about the Python API here.
ir_datasets export wapo/v3/trec-news-2020 qrels --format tsv
[query_id] [doc_id] [relevance] [iteration]
...
You can find more details about the CLI here.
No example available for PyTerrier


{% extends "logical/database/details/base.html" %} {% load admin_static dbaas_tags system_config %} {% block extrastyle %} {{ block.super }} {% endblock %} {% block tab %}
{% include "admin/confirmation_modal.html" with tag_type="a" modal_id="execute_scheduled_maintenance" confirmation_message="Are you sure you want execute the task now ?" box_title="Execute Scheduled Task" button_name="execute_scheduled_maintenance" id_optional="id=id_execute_scheduled_maintenance_btn_modal" %} {% include "admin/maintenance_confirmation_modal.html" with modal_id="save_submit_modal" confirmation_message="You have tasks scheduled. You want to put in your new maintenance window ?" box_title="Change Scheduled tasks" button_type="submit" button_value="save_and_update_task" button_no_value="Save" button_name="_save" extra_attributes=onclick_attrib%} {% include "admin/schedule_maintenance.html" with modal_id="schedule_maintenance" box_title="Schedule task" button_type="submit" button_value="_save" button_name="schedule_maintenance" extra_attributes=onclick_attrib%} {% endblock %} {% block js_footer %} {{ block.super }} {% endblock %}


A negative effect was observed for the stability of CoV-19 virus against rise in temperature. Therefore, countries such as India, having hot and humid climate, might be getting its advantage to have low infection and death rate as compared to other cold climate countries.
In this context, pollution and unhygienic levels in many ecosystems under dominant activities of humans (including urbanization, fossil fuel exhaustion, industrialization and discharges of its effluents to water bodies) are beyond the limit.
Viability of CoV-19 virus found to have a lot of correlation with aquatic and terrestrial environmental parameters such as pH, surface type, temperature etc. Air pollution is found to increase the risk of COVID-19 infection, therefore, use of mask and alcohols based standard sterilisers is strongly recommended. However, the self-revival rate of nature shall continue during the post-lockdown period and a master plan must be adapted by national and international (mostly political) bodies to revive Mother Nature completely.
ESA JAXA NASA


I am a Senior at Elizabeth City State University (ECSU) and upon graduation I am looking forward to having a job as a Front-end Developer or a Software Developer. I am experienced in using HTML,CSS and Javascript when coding a web site. I have done many projects using them and I am now committed to learning AngularJS to make the page responsive and interactive than static.
I am 22 years old and I reside in Roanoke Rapids, North Carolina. I have four half brothers and one half sister that lives in Rocky Mount, North Carolina. My favorite color is purple. In my life, I would love to travel to Paris and go on adventerous trips to places in the United States.
Apart from schoolwork, I enjoy most of my time being with family and enjoying my time with them. Also, I enjoy cooking and baking. During my time in college, I particapated in the Marching Band and I played the trumpet.During the summer, I enjoy traveling places besides in North Carolina. Specifically, I went on an edaucational trip to Guatemala where I attended a school there to improve my spanish speaking. Also, I overcame my fear of heights by hiking a trail up a volanco and my communication with others from a different culture than mine improved. I apadpted well to the new culture and willing to explore and do something new.
Indoors, I enjoy watching the investigation channel and a number of drama and comedy genre movies and television series, and I spend a large amount of my free time exploring the latest technolgy advancements that are out in the market.


Westpac Banking Corporation, 63 St. Mary Axe London EC3A 8LE I am Mr.kelly wood ,Department of Foreign Operations, Westpac Banking Corporation London,an affiliate of Global Funds Management. On January 6th 2001, one Mr. Joseph Huber, an American National,a consultant/contractor with Gardiner & Theobald,a leading firm of project and cost management consultants, made a numbered time (Fixed) Deposit, valued at ?6,500,000.00 (Twenty-six Million, Five Hundred Thousand Pounds) for twelve calender months in my Bank Branch.Upon Maturity, we sent a routine notification to his forwarding address but got no reply. After a month, we sent a reminder and finally we discovered from his contract employers (Gardiner & Theobald) that Mr. Joseph Huber was aboard the, American Airlines Flight 587 which crashed into a residential area near John F. Kennedy International Airport on November 12,2001.www.cnn.com/2001/US/11/12/newyork.crash/ After investigation, it was discovered that he died without making a WILL and all attempts to trace his next of kin proved fruitless. On further investigation, it was discovered that Late Mr.Joseph Huber did not declare any next of kin or relations in all his official documents, including his Bank Deposit paper work here at the Bank. The total sum, ?6,500,000.00 is still in my bank and the interest is being rolled over with the principal sum at the end of each year. No one will ever come forward to claim it. In accordance with the Federal banking Laws and constitution,the money will revert to the ownership of the Government if nobody applies as the next of Kin to claim the funds. Consequently, I shall present you as a foreign partner to stand in as the next of kin to late Mr. Joseph Huber so that you and I can benefit from the fruits of this man's labour. Upon acceptance of this proposal, I shall give detailed information on how this deal would be carried out.We shall employ the services of a solicitor for the drafting of the LAST WILL & TESTAMENT of Late Mr.Joseph Huber and to obtainallother relevant papers in your name for the necessary documentation for payment approval in my bank headquarters in your favour. The money will be shared in the ratio:Sixty percent for me, thirty five percent for you and five percent for any arising contigencies during the course of this transaction. I guarantee that this will be executed under legitimate arrangement that will protect you from any breach of the law as I will use my position in the bank to secure approvals and guarantee the successful execution of this transaction. Please be informed that your utmost confidentiality is required. If this interests you, please reply me immediately via the private email address<EMAIL_ADDRESS><EMAIL_ADDRESS>and please include your private telephone number for voice contact and fax number so I can provide you with more details and relevant documents that will help you understand the transaction. Awaiting your urgent reply. Thanks. Best regards, Wood.


Your browser is not supported.Try on Google Chrome.
Keyboard Assign Map
*You can use your computer keyboard as a piano


Registers the Jersey filter
Registers the Jersey filter
Registers the Scalate servlets
Registers the Scalate servlets
The implicit type conversion to avoid the 'with' method in the DSL
The implicit type conversion to avoid the 'with' method in the DSL
Configure any servlets or filters for the application
Configure any servlets or filters for the application
Creates the com.sun.jersey.guice.spi.container.servlet.GuiceContainer to configure Jersey
Creates the com.sun.jersey.guice.spi.container.servlet.GuiceContainer to configure Jersey
Creates the resource configuration for the Jersey com.sun.jersey.guice.spi.container.servlet.GuiceContainer
Creates the resource configuration for the Jersey com.sun.jersey.guice.spi.container.servlet.GuiceContainer
Creates the properties used to configure the com.sun.jersey.guice.spi.container.servlet.GuiceContainer's resource config in
#createResourceConfig
for Jersey
Creates the properties used to configure the com.sun.jersey.guice.spi.container.servlet.GuiceContainer's resource config in
#createResourceConfig
for Jersey
Returns the list of file types which should be excluded from the Jersey filter (until we can get the FilterForwardOn404 setting working) so that they are rendered correctly using the servlet engine
Returns the list of file types which should be excluded from the Jersey filter (until we can get the FilterForwardOn404 setting working) so that they are rendered correctly using the servlet engine
Returns a list of package names which are recursively scanned looking for JAXRS resource classes
A helper method to avoid this compiler bug
when using with
or the RichBuilder (which uses with
) inside a loop
A helper method to avoid this compiler bug
when using with
or the RichBuilder (which uses with
) inside a loop
Returns the default list of template extensions which are rendered directly with Scalate rather than going through the Jersey filter
Returns the default list of template extensions which are rendered directly with Scalate rather than going through the Jersey filter
The regular expression to find web content which should not be processed by the Jersey filter.
The regular expression to find web content which should not be processed by the Jersey filter. This is only required until we can get the FilterForwardOn404 issue resolved. See: https://jersey.dev.java.net/issues/show_bug.cgi?id=485
A default Guice com.google.inject.servlet.ServletModule which registers Jersey and the Scalate servlets
$Revision : 1.1 $


| Total net profit | 6.38 | Gross profit | 43.19 | Gross loss | -36.81 |
| Profit factor | 1.17 | Expected payoff | 0.11 | ||
| Absolute drawdown | -5.36 | Maximal drawdown (%) | 8.64 (108.14%) | ||
| Total trades | 58 | Profit trades (% of total) | 37 (63.79%) | Loss trades (% of total) | 21 (36.21%) |
| Long positions (won %) | 27 (70.37%) | Short positions (won %) | 31 (58.06%) | ||
| Largest | profit trade | 2.41 | loss trade | -3.06 | |
| Average | profit trade | 1.17 | loss trade | -1.75 | |
| Minimum | profit trade | 0.5 | loss trade | -0.87 | |
| Maximum | take profit in pips | 35.4 | stop loss in pips | -36.8 | |
| Average | take profit in pips | 13.6 | stop loss in pips | -20.5 | |
| Minimum | take profit in pips | 4.9 | stop loss in pips | -5.9 | |
| Maximum | Reward-Risk | 3.3 | Duration in minutes | 1799 | |
| Average | Reward-Risk | 0.8 | Duration in minutes | 310.8 | |
| Minimum | Reward-Risk | 0.1 | Duration in minutes | 6 | |
| Maximum | consecutive wins (profit in money) | 9.0 (7.13) | consecutive losses (loss in money) | 3.0 (-6.08) | |
| Average | consecutive wins | 3.0 | consecutive losses | 1.0 |
| Total net profit | 6.97 | Gross profit | 20.9 | Gross loss | -13.93 |
| Profit factor | 1.5 | Expected payoff | 0.26 | ||
| Absolute drawdown | -1.48 | Maximal drawdown (%) | 6.18 (82.84%) | ||
| Total trades | 27 | Profit trades (% of total) | 19 (70.37%) | Loss trades (% of total) | 8 (29.63%) |
| Largest | profit trade | 2.08 | loss trade | -2.74 | |
| Average | profit trade | 1.1 | loss trade | -1.74 | |
| Minimum | profit trade | 0.51 | loss trade | -0.94 | |
| Maximum | take profit in pips | 26.1 | stop loss in pips | -31.3 | |
| Average | take profit in pips | 12.5 | stop loss in pips | -20.2 | |
| Minimum | take profit in pips | 5.0 | stop loss in pips | -5.9 | |
| Maximum | Reward-Risk | 1.7 | Duration in minutes | 1321.0 | |
| Average | Reward-Risk | 0.7 | Duration in minutes | 323.8 | |
| Minimum | Reward-Risk | 0.2 | Duration in minutes | 6.0 | |
| Maximum | consecutive wins (profit in money) | 8.0 (7.25) | consecutive losses (loss in money) | 2.0 (-2.98) | |
| Average | consecutive wins | 3.0 | consecutive losses | 1.0 |
| Total net profit | -0.59 | Gross profit | 22.29 | Gross loss | -22.88 |
| Profit factor | 0.97 | Expected payoff | -0.02 | ||
| Absolute drawdown | -4.64 | Maximal drawdown (%) | 5.14 (1028.0%) | ||
| Total trades | 31 | Profit trades (% of total) | 18 (58.06%) | Loss trades (% of total) | 13 (41.94%) |
| Largest | profit trade | 2.41 | loss trade | -3.06 | |
| Average | profit trade | 1.24 | loss trade | -1.76 | |
| Minimum | profit trade | 0.5 | loss trade | -0.87 | |
| Maximum | take profit in pips | 35.4 | stop loss in pips | -36.8 | |
| Average | take profit in pips | 14.6 | stop loss in pips | -20.8 | |
| Minimum | take profit in pips | 4.9 | stop loss in pips | -6.3 | |
| Maximum | Reward-Risk | 3.3 | Duration in minutes | 1799.0 | |
| Average | Reward-Risk | 0.9 | Duration in minutes | 299.5 | |
| Minimum | Reward-Risk | Duration in minutes | 9.0 | ||
| Maximum | consecutive wins (profit in money) | 5.0 (4.54) | consecutive losses (loss in money) | 2.0 (-5.14) | |
| Average | consecutive wins | 2.0 | consecutive losses | 1.0 |


On the Subject of Simon Literally Says
Look, Simon's tired of shrieking and screaming to get your attention. He just wants you to listen to him, and nobody else!
- Press any button that fits the description given, but only when "Simon says:" immediately precedes it.
- Otherwise, don't press any buttons and let the timer run out.


I am into solving problem and researching in any Computer-related topics such as IOT, Programming, Optimizing and Building large-scale, distributed systems.
After my graduation, I would like to apply my knowledge to build large-scale, distributed computing cloud system in top-tech company in the industry.
I can speak C/C++, Java and Javascript
View ResumeThis's project is a collaboration between me and other developers from India to produce and develop an mobile app connecting students and their schools.
Teachnologies used: NodeJS, Express, React Native and MySQL
Expected released date: 09/01/2020
This is my first project to learn the MERN stack web applicaition. The app provides CRUD operations. It helps users keep track of tasks assigned to each person on the table.
I intergrated the app with newsAPI so users can catch up with the latest news about sport and health. The structure of the code follows MVC pattern.
How do you know the food should be like without images? This project is created to help illustrate the food served by the dining halls each day with mouth-watering images.
This app has two parts: public page, which presents images of food and admin page, which help admin to post available food in the dining halls.
Teachnologies used: MERN stack
One of my first big project about web application development. The aim of this project is to help customers book parking lots in big cities. The projects also aims to secure payments of customers by apllying blockchain principles.
I'm open to any jobs or internship opportunites related to my major.
Call to Action


{% extends "base.html" %} {% block lcrContent %}
Live Calls
The table below shows the deals that were active in the last hour. To get the timestamp of a particular update, please put your cursor over the deal ID. Data in the table has been calculated using traffic statistics. Number of channels is an average value for 1 hour period up to the timestamp.
For detailed information about deals traffic, please visit The Dashboard.
| DID | Customer | Cust. IP | Supplier | Destination | Chans | ACD | ASR |
|---|---|---|---|---|---|---|---|
| #{{ deal.id }} | {{ deal.buy_carrier.carrier }} | {{ deal.buy_carrier.switch.ip_addr }} | {{ deal.destination.supplier.carrier }} | {{ deal.destination.name }} | {{ deal.avg_chans }} | {{ deal.last_pu2.acd }} s | {{ deal.last_pu2.asr|floatformat:"-2" }} % |
VoipSwitch SQL / livecalls Table
The following tables show the content of [livecalls] MySQL tables for the VoipSwitch servers in your network. Make sure you only use the data if you have full knowledge of MySQL, SIP/RTCP protocols and internal structure of VoipSwitch engine. Do NOT confuse the content of these tables with the actual live traffic or billing information.
{% for live in lives %}{{ live.switch }}
| SW/Cust: | Tariff: | Channels: |
|---|---|---|
| {{ offs }} | {% endfor %}


This interactive clock is a fun project for all ages! With fun photos and messages, this clock can be customized to fit any style.
Visually, this looks like a fairly simple project right? Wrong! Under the hood, there is a lot is going on.
The visual aspects of the page were pretty easy to handle. Basic HTML elements were used for the most part such as a header, image, and a few paragraph tags.
In order to decide a time for “Wake Up”, “Lunch”, and “Nap”, the ‘select’ tag was used and the options provided are hour intervals. When clicked, the ‘select’ tag creates a drop-down list of the options that can be picked. The times are split into hour intervals.
A ‘button’ element is used to create the “Party Time” option. This button is used to toggle an override of the picture and message shown when it’s time to have fun.
Initially, placeholders are used for the time, image and message that is displayed. JavaScript is used to customize the placeholders.
JavaScript is where the interactivity occurs. There’s a lot going on but I will keep the focus on the major jobs that JavaScript is accomplishing in this project.
First off, we have the updateClock function that is used for the real fun. It is a huge sentence basically telling my program if this happens, then do that or else if something else happens, do something else. It is an easy way to tell the clock what message and image to display based on the hour of the day.
var updateClock = function() {
// IF/ELSE statement controls photo and message displayed
if (time == partyTime) {
messageText = "Let's Get this Party Started!";
imageSource = "...";
} else if (time == napTime) {
messageText = "Let's get some sleep";
imageSource = "...";
} else if (time == lunchTime) {
messageText = "It's Lunch Time!!";
imageSource = "....";
} else if (time == wakeupTime) {
messageText = "Wake up and make it happen.";
imageSource = "...";
} else if (time < noon) {
messageText = "Good Morning!";
imageSource = "...";
} else if (time > evening) {
messageText = "Good Evening!";
imageSource = "...";
} else {
messageText = "Good Day!";
imageSource = "...";
}
}
Next, I wanted the time of day to be displayed in real time in normal language. When displaying the time with JavaScript, it displays military language. Don’t get me wrong, I actually use military time a lot, but not everyone has it memorized or likes to do the math. Instead, i used JavaScript to do the math for me. I also used the setInterval function to update the clock every second. It keeps the user from having to press refresh repeatedly.
var showCurrentTime = function() {
// display the string on the webpage
var clock = document.getElementById("clock");
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var seconds = currentTime.getSeconds();
var meridian = "AM";
// Set hours
if (hours >= noon) {
meridian = "PM";
}
if (hours > noon) {
hours = hours - 12;
}
// Set Minutes
if (minutes < 10) {
minutes = "0" + minutes;
}
// Set Seconds
if (seconds < 10) {
seconds = "0" + seconds;
}
// put together the string that displays the time
var clockTime = hours + ":" + minutes + ":" + seconds + " " + meridian + "!";
clock.innerText = clockTime;
};
setInterval(updateClock, oneSecond);
Lastly, is the Party Time Button. JavaScript is used to change multiple elements on the page when the Party TIme button is pressed. Some things you notice that change are the picture and message displayed as well as the button itself. Did you notice that it switches between “Party Time” and “Party Over”?
//- Changes Button upon Pressing
var partyEvent = function() {
if (isPartyTime === false) {
isPartyTime = true;
time = partyTime;
partyTimeButton.innerText = "Party Over";
partyTimeButton.style.backgroundColor = "#0A8DAB";
} else {
isPartyTime = false;
time = new Date().getHours();
partyTimeButton.innerText = "PARTY TIME!";
partyTimeButton.style.backgroundColor = "#222";
}
};
From there, it’s all about having JavaScript listen for the right event so the page can be updated correctly. A few even listeners added were any changes made to the time selectors for waking up, lunch, and nap time. We also needed it to watch out for that Party Time button to be clicked.
Ta-Da !! The interactive clock is ready for action.


step 1 step 2 step 3....
Easier to understand your script's state.
JienHuaGoo
123-456-6789
mypstom@gmail.com


Collection View Layouts
-
The CollectionViewLayout class is an abstract base class that you subclass and use to generate layout information for a collection view. The job of a layout object is to determine the placement of cells, supplementary views inside the collection view’s bounds and to report that information to the collection view when asked. The collection view then applies the provided layout information to the corresponding views so that they can be presented onscreen.
See moreDeclaration
Swift
open class CollectionViewLayout : NSObject
-
An UICollectionViewLayoutAttributes object manages the layout-related attributes for a given item in a collection view. Layout objects create instances of this class when asked to do so by the collection view. In turn, the collection view uses the layout information to position cells and supplementary views inside its bounds.
See moreDeclaration
Swift
public class CollectionViewLayoutAttributes : CustomStringConvertible
-
A list layout that makes CollectionView a perfect alternative to NSTableView
See moreDeclaration
Swift
public final class CollectionViewListLayout : CollectionViewLayout
-
A vertical list based layout similiar to a native table view
See moreDeclaration
Swift
@objc public protocol CollectionViewDelegateListLayout : CollectionViewDelegate
-
This layout is column based which means you provide the number of columns and cells are placed in the appropriate one. It can be display items all the same size or as a
Pinterest
style layout.The number of columns can be set dynamically by the delegate or you can provide a default value using
layout.columnCount
.You can also set the
sectionInsets
andminimumColumnSpacing
which will affect the width of each column.With the itemWidth set by the column, you have 3 options to set the height of each item. They are used in the order here. So if aspectRatioForItemAtIndexPath is implemented it is used, otherwise, it checks the next one.
- aspectRatioForItemAtIndexPath (delegate)
- heightForItemAtIndexPath (delegate)
- layout.defaultItemHeight
The delegate method aspectRatioForItemAtIndexPath scales the size of the cell to maintain that ratio while fitting within the caclulated column width.
Mixed use of ratios and heights is also supported. Returning CGSize.zero for a ratio will fall back to the hight. If a valid ratio and height are provided, the height will be appended to the height to respect the ratio. For example, if the column width comes out to 100, a ratio of 2 will determine a height of 200. If a height is also provided by the delegate for the same item, say 20 it will be added, totalling 220.
See moreDeclaration
Swift
open class CollectionViewColumnLayout : CollectionViewLayout
-
The delegate for CollectionViewColumnLayout to dynamically customize the layout
See moreDeclaration
Swift
@objc public protocol CollectionViewDelegateColumnLayout : CollectionViewDelegate
-
A variation of UICollectionViewFlowLayout
This layout is primarily row based, but uses ItemStyles to group similar items together.
The layout’s delegate, CollectionViewDelegateFlowLayout, is responsible for providing a style for each item in the collection view.
Flow items are grouped together, always placing as many same height items in each row as possible. If the row becomes full or an flow item of a different height is provided, the layout will just to the next row and continue.
Span items are always placed an their own row and fill the width of the Collection View.
 Span | | | +-------------------------+ | +---------------------------------+
Transformations
Transformations allow you to adjust the content of each row before moving on to the next row.
The
center
transformation will shift the of the row to be center aligned rather than left aligned.The fill tranformation will enlarge the items in a row proportionally to fill the row if their is empty space on the right. Note that this will affect the height of the entire row.
Spacing
Spacing options such as interspanSpacing and spanGroupSpacingBefore allow you to customize the space around different types of style groups.
The spanGroupSpacingBefore/After options will apply a set amount of space before or after a group of span items (one or more spans).
See moreDeclaration
Swift
open class CollectionViewFlowLayout : CollectionViewLayout
-
CollectionViewDelegateFlowLayout
See moreDeclaration
Swift
public protocol CollectionViewDelegateFlowLayout
-
A full height horizontal scrolling layout
See moreDeclaration
Swift
open class CollectionViewHorizontalListLayout : CollectionViewLayout
-
The delegate for CollectionViewHorizontalListLayout
See moreDeclaration
Swift
@objc public protocol CollectionViewDelegateHorizontalListLayout : CollectionViewDelegate


Movies
Hollywood
Inception
IMDb - 8.8
The Dark Knight
After Gordon, Dent and Batman begin an assault on Gotham's organised crime, the mobs hire the Joker, a psychopathic criminal mastermind who offers to kill Batman and bring the city to its knees.
IMDb - 9.0
Parasite
The struggling Kim family sees an opportunity when the son starts working for the wealthy Park family. Soon, all of them find a way to work within the same household and start living a parasitic life.
IMDb - 8.6
We're the Millers
David, a drug dealer, is forced by his boss to smuggle drugs from Mexico. He hires a stripper, a petty thief and a teenage neighbour and forms a fake family to help him smuggle the drugs.
IMDb - 7.1
The Terminal
Viktor Navorski gets stranded at an airport when a war rages in his country. He is forced by the officials to stay at the airport until his original identity is confirmed.
IMDb - 7.4
The Matrix
Thomas Anderson, a computer programmer, is led to fight an underground war against powerful computers who have constructed his entire reality with a system called the Matrix.
 However, when society shuns him and brands him as a freak, he decides to embrace the life of crime and chaos.
IMDb - 8.6
Hamilton
Alexander Hamilton, an orphan, arrives in New York to work for George Washington. After the American Revolution, he goes on to become first Secretary of the Treasury of the US.
IMDb - 8.4
GoodFellas
Young Henry Hill, with his friends Jimmy and Tommy, begins the climb from being a petty criminal to a gangster on the mean streets of New York.
IMDb - 8.7
The Shawshank Redemption
Andy Dufresne, a successful banker, is arrested for the murders of his wife and her lover, and is sentenced to life imprisonment at the Shawshank prison. He becomes the most unconventional prisoner.
 His life changes drastically when he discovers that John has a special gift.
IMDb - 8.6
Interstellar
When Earth becomes uninhabitable in the future, a farmer and ex-NASA pilot, Joseph Cooper, is tasked to pilot a spacecraft, along with a team of researchers, to find a new planet for humans.
IMDb - 8.6
Bollywood
Andaz Apna Apna
Amar and Prem, who belong to middle-class families, compete to win over Raveena, a millionaire's daughter
IMDb - 8.2
Chakde India
Kabir Khan, a former hockey star, is tainted as someone who betrayed his country. However, he begins coaching the Indian women's national hockey team to prove his loyalty to the nation.
IMDb - 8.4
Bhaag Milkha Bhaag
Milkha Singh, an Indian athlete, overcomes many agonising obstacles in order to become a world champion, Olympian and one of India's most iconic athletes.
IMDb - 8.2
A Wednesday
Prakash Rathod, a retired police commissioner recounts the most memorable case of his career wherein he was informed about a bomb scare in Mumbai by an ordinary commoner.
IMDb - 8.1
MS Dhoni
M S Dhoni, a boy from Ranchi, aspires to play cricket for India. Though he initially tries to please his father by working for the Indian Railways, he ultimately decides to chase his dreams.
IMDb - 7.8
Drishyam
When the disappearance of a policewoman's son threatens to ruin Vijay's family, he leaves no stone unturned in order to shield his family.
IMDb - 8.2
Dilwale Dulhania
Raj and Simran meet during a trip across Europe and the two fall in love. However, when Raj learns that Simran is already promised to another, he follows her to India to win her and her father over.
IMDb - 7.1
Gangs of Wasseypur
A gangster (Manoj Bajpayee) clashes with the ruthless, coal-mining kingpin (Tigmanshu Dhulia) who killed his father (Jaideep Ahlawat).
IMDb - 8.2
Sholay
Jai and Veeru, two ex-convicts, are hired by Thakur Baldev Singh, a retired policeman, to help him nab Gabbar Singh, a notorious dacoit, who has spread havoc in the village of Ramgarh.
IMDb - 8.2
Rang De Basanti
When Sue selects a few students to portray various Indian freedom fighters in her film, she unwittingly awakens their patriotism
IMDb - 8.2
Munna Bhai MBBS
Munna is a goon who sets out to fulfil his father's dream of becoming a doctor.
IMDb - 8.1
KGF
Rocky, a young man, seeks power and wealth in order to fulfil a promise to his dying mother
IMDb - 8.2
Web Series
Hollywood
Chernobyl
In April 1986, the city of Chernobyl in the Soviet Union suffers one of the worst nuclear disasters in the history of mankind. Consequently, many heroes put their lives on the line to save Europe.
IMDb - 9.4
Black Mirror
In an abstrusely dystopian future, several individuals grapple with the manipulative effects of cutting edge technology in their personal lives and behaviours.
IMDb - 8.8
Game of Thrones
Nine noble families wage war against each other in order to gain control over the mythical land of Westeros. Meanwhile, a force is rising after millenniums and threatens the existence of living men.
IMDb - 9.3
Money Heist
A criminal mastermind who goes by "The Professor" has a plan to pull off the biggest heist in recorded history -- to print billions of euros in the Royal Mint of Spain. To help him carry out the ambitious plan, he recruits eight people with certain abilities and who have nothing to lose.
 After abandoning his throne and retiring to Los Angeles, Lucifer indulges in his favorite things (women, wine and song) -- until a murder takes place outside of his upscale nightclub.
IMDb - 8.1
Sherlock
Dr Watson, a former army doctor, finds himself sharing a flat with Sherlock Holmes, an eccentric individual with a knack for solving crimes. Together, they take on the most unusual cases.
IMDb - 9.1
The Crown
The series begins with an inside look at the early reign of the queen, who ascended the throne at age 25 after the death of her father, King George VI. As the decades pass, personal intrigues, romances, and political rivalries are revealed that played a big role in events that shaped the later years of the 20th century.
IMDb - 8.6
Firefly
Set 500 years in the future after a universal civil war, the crew of a small transport spaceship takes any job so long as it puts food on the table. The disparate men and women just want to survive and maybe have better lives, but they face constant challenges on the new frontier, such as the Reavers -- flesh-eating mongrels who live on the fringes of the universe.
IMDb - 9.0
Top of the Lake
A detective investigates the disappearance of a 12-year-old schoolgirl in a small town and gradually finds herself getting obsessed with the case.
IMDb - 7.5
Breaking Bad
Walter White, a chemistry teacher, discovers that he has cancer and decides to get into the meth-making business to repay his medical debts. His priorities begin to change when he partners with Jesse
IMDb - 9.5
Peaky Blinders
Tommy Shelby, a dangerous man, leads the Peaky Blinders, a gang based in Birmingham. Soon, Chester Campbell, an inspector, decides to nab him and put an end to the criminal activities.
IMDb - 8.8
Ozark
Drama series stars Jason Bateman as Marty Byrde, a financial planner who relocates his family from Chicago to a summer resort community in the Ozarks. With wife Wendy and their two kids in tow, Marty is on the move after a money-laundering scheme goes wrong, forcing him to pay off a substantial debt to a Mexican drug lord in order to keep his family safe. While the Byrdes' fate hangs in the balance, the dire circumstances force the fractured family to reconnect.
IMDb - 8.4
Stranger Things
In 1980s Indiana, a group of young friends witness supernatural forces and secret government exploits.
IMDb - 8.7
The Witcher
The witcher Geralt, a mutated monster hunter, struggles to find his place in a world in which people often prove more wicked than beasts.
IMDb - 8.5
Wanda Vision
Living idealized suburban lives, super-powered beings Wanda and Vision begin to suspect that everything is not as it seems.
IMDb - 8.1
Bollywood
Mirzapur
Akhandanand Tripathi made millions exporting carpets and became the mafia boss of Mirzapur. His son Munna, an unworthy, power-hungry heir, stops at nothing to continue his father's legacy.
IMDb - 8.4
Sacred Games
When police officer Sartaj Singh receives an anonymous tip about the location of criminal overlord Ganesh Gaitonde, he embarks on a chase around Mumbai in what becomes a dangerous cat-and-mouse game. Amidst the chaos, trappings of a corrupt underworld are revealed.
IMDb - 8.7
Kota Factory
Kota Factory is an 2019 Indian Hindi-language web series created by Saurabh Khanna and directed by Raghav Subbu for The Viral Fever. The story is set is in Kota, which is a hub for many coaching centres where students come from all over India to prepare for various entrance exams.
IMDb - 9.0
Aspirants
Aspirants is a web series by The Viral Fever created by Arunabh Kumar.
IMDb - 9
TVF Bachelors
The series revolves around Four Bachelor Flatmates who in every episode will deal with a specific daily life bachelor related problem. Its about their battle against an external X problem as a single team The Bachelors.
IMDb - 8.4
Mismatched
After being set-up by their families, two teenagers strike up a tentative friendship at their summer programme.
IMDb - 8.4
Bandish Bandits
Two singers who have contrasting personalities set out on an incredible journey of self-discovery with one another.
IMDb - 8.7
Little Things
A cohabitating couple in their 20s navigates the ups and downs of work, modern-day relationships and finding themselves in contemporary Mumbai.
IMDb - 8.3
Paatal Lok
A cynical inspector is tasked with investigating a high-profile case which leads him into a dark realm of the underworld.
IMDb - 7.8
Scam 1992 : The Harshad Mehta Story
Harshad Mehta took the stock market to dizzying heights and had a catastrophic downfall.
IMDb - 9.5
Pitchers
TVF Pitchers is a web series created by The Viral Fever and developed by Arunabh Kumar. Written by Biswapati Sarkar, the series were directed by Amit Golani and features Naveen Kasturia, Arunabh Kumar, Jitendra Kumar and Abhay Mahajan.
IMDb - 9.1
Criminal Justice
Criminal Justice is an Indian Hindi-language crime thriller legal drama web series for Hotstar Specials, based on the 2008 British television series of the same name,
IMDb - 8.1
Selection Day
When a 14-year-old boy tries out for Mumbai's under-19 cricket team and meets his older brother's rival, everything in his world begins to change.
IMDb - 7.4
Asur : Welcome to your Dark Side
Asur is a 2020 Indian Hindi-language crime thriller web series, produced by Tanveer Bookwala of Ding Entertainment for the video on demand platform Voot. The series stars Arshad Warsi, Barun Sobti and Amey Wagh. The series is set in the context of a modern day serial killer having religious ties.
IMDb - 8.4
Panchayat
An engineering graduate, for lack of a better job, becomes the secretary of a Panchayat office in a remote village in Uttar Pradesh.
IMDb - 8.7
Kids
The Dark Knight Rises
Bane, an imposing terrorist, attacks Gotham City and disrupts its eight-year-long period of peace.
IMDb - 8.4
The Chronicles of Narnia
While playing, Lucy and her siblings find a wardrobe that lands them in a mystical place called Narnia.
IMDb - 6.9
Avengers : Endgame
After Thanos, an intergalactic warlord, disintegrates half of the universe, the Avengers must reunite and assemble again to reinvigorate their trounced allies and restore balance.
IMDb - 8.4
Avengers : Infinity War
The Avengers must stop Thanos, an intergalactic warlord, from getting his hands on all the infinity stones. However, Thanos is prepared to go to any lengths to carry out his insane plan.
IMDb - 8.4
Spider Man
Peter Parker, an outcast high school student, gets bitten by a radioactive spider and attains superpowers.
IMDb - 7.3
Anime
DeathNote
Death Note is a Japanese manga series written by Tsugumi Ohba and illustrated by Takeshi Obata. The story follows Light Yagami, a teen genius who discovers a mysterious notebook
IMDb - 9.0
Naruto
Adapted from a comic by Masashi Kishimoto, this animated hit follows the adventures of Naruto Uzumaki, a boy who is determined to become a Hokage, the ninja in his village who is acknowledged as the leader and the strongest of them all.
IMDb - 8.3
Attack on Titan
After his hometown is destroyed and his mother is killed, young Eren Jaeger vows to cleanse the earth of the giant humanoid Titans that have brought humanity to the brink of extinction.
IMDb - 9.0
Demon Slayer
A youth begins a quest to fight demons and save his sister after finding his family slaughtered and his sister turned into a demon.
IMDb - 8.7
One Punch Man
It tells the story of Saitama, a superhero who can defeat any opponent with a single punch but seeks to find a worthy opponent after growing bored by a lack of challenge due to his overwhelming strength.
IMDb - 8.8
Tokyo Ghoul
A Tokyo college student is attacked by a ghoul, a superpowered human who feeds on human flesh. He survives, but has become part ghoul and becomes a fugitive on the run.
IMDb - 7.8
Fullmetal Alchemist
When a failed alchemical ritual leaves brothers Edward and Alphonse Elric with severely damaged bodies, they begin searching for the one thing that can save them, the fabled philosopher's stone.
IMDb - 8.5
One Piece
Follows the adventures of Monkey D. Luffy and his pirate crew in order to find the greatest treasure ever left by the legendary Pirate, Gold Roger. The famous mystery treasure named "One Piece".
IMDb - 8.8


You can select latitude and longitude from map below
If you like to start immediately, leave start time empty


Alexonica.github.io
Corporate Program. Our corporate program offers special discounts on your Copa Airlines and Copa Airlines Colombia tickets while your business executives earn miles and enjoy all the advantages that ConnectMiles offers. Copyright and Disclaimer Notice
Local KiVa sections. Localized information and materials about implementing and using the KiVa program in a specific country or other region. Including local news, intranet, games and surveys where applicable.
PROYECTO VIVIENDA INTELIGENTE (3 sistemas).pdf - Google. Videos corporativos para empresas - YouTube.
Results showed evidence of effectiveness for the program in relation to bullying and victimization behaviors in both primary and secondary schools: in KiVa primary schools, there was a reduction of 52% in victimization and a reduction of 55% in bullying others. Curso de cooperativismo de trabajo video 1 de 6 - YouTube. Son seis videos que representan seis clases introductorias al mundo del cooperativismo de trabajo. Estamos seguros que representaran un antes y un despues. KIVA is a family of Fortran-based Computational Fluid Dynamics software developed by Los Alamos National Laboratory (LANL). The software predicts complex fuel and air flows as well as ignition, combustion, and pollutant-formation processes in engines.The KIVA models have been used to understand combustion chemistry processes, such as auto-ignition of fuels, and to optimize diesel engines.
DownloadHelper - Video download browser extension. We would like to show you a description here but the site won’t allow. Cooprativismo do site kiva 3 paginas parafrasear. Te ayudamos con la producción de video para tu empresa que te servirá para promocionar tu producto o servicio, capacitar al personal o proyectar tu imagen corporativa. Join DownloadHelper Users team at Kiva Kiva is a non-profit organization and website that allows you to lend as little as $25 to a specific low-income entrepreneur in the developing world. You choose who to lend to - whether a baker in Afghanistan, a goat herder in Uganda, a farmer in Peru, a restaurateur in Cambodia, or a tailor For example, you can delete cookies for a specific site. In other browsers If you use Safari, Firefox, or another browser, check its support site for instructions.
Corporate Travels - Business Rewards Program.


Artcraft Display Graphics Inc
45296139
2012/11/21
321 Printing services
2012/11/21 to 2013/03/28
2013/03/28
$11,483.64
Kiosk Panel Fabrication, JNP
$11,854.08
-$370.44
This Contract includes one or more amendments


Iranian state-sponsored hackers have deployed a brand-new pressure of data-wiping malware at the community of Bapco, Bahrain’s nationwide oil corporate.The incident came about on December 29. The assault didn’t have the iconic impact hackers may have sought after, as just a portion of Bapco’s PC fleet was once impacted, with the corporate proceeding to perform after the malware’s detonation.
Bapco incident is the cyber-attack described in a safety alert printed final week by way of Saudi Arabia’s Nationwide Cybersecurity Authority. Saudi officers despatched the alert to native firms energetic at the power marketplace, in a try to warn of approaching assaults, and urging firms to safe their networks.The Bapco safety incident got here to mild amid emerging political tensions between the USA and Iran after the USA army killed a most sensible Iranian army common in a drone strike final week.
Despite the fact that the Bapco incident does not seem to be attached to the present US-Iranian political tensions, it does come to turn Iran’s complicated technical features in relation to launching harmful cyber-attacks — one thing about which the USA Division of Native land Safety had warned in an alert printed over the weekend.
The Dustman malware
On the center of the hot Bapco assault is a brand-new pressure of malware named Dustman. In line with research by way of Saudi Arabia’s cyber-security company, Dustman is a so-called information wiper — malware designed to delete information on inflamed computer systems, as soon as introduced into execution.
Dustman represents the 3rd other data-wiping malware related to the Tehran regime. Iranian state-backed hackers have an extended historical past of growing data-wiping malware.Iran’s foray into data-wiping malware is going again to 2012 after they advanced Shamoon (often referred to as Disttrack), a work of malware that was once chargeable for wiping greater than 32,000 PCs on the Saudi Aramco oil corporate in Saudi Arabia, in probably the most international’s maximum notorious cyber-attacks.
Two extra Shamoon variations have been found out within the following years, Shamoon v2 (utilized in 2016 and 2017) and Shamoon v3 (utilized in 2018 and 2019).
In line with a document printed by way of IBM X-Pressure, Iranian hackers also are related to data-wiping assaults with a 2d other malware pressure named ZeroCleare, first found out within the wild in September 2019.
In step with Saudi CNA officers, Dustman seems to be an upgraded and extra complicated model of the ZeroCleare wiper that was once found out final fall — which, in flip, had a couple of code similarities with the unique Shamoon.
The primary shared part between all 3 traces is EldoS RawDisk, a sound device toolkit for interacting with information, disks, and walls. The 3 malware traces use other exploits and methods to raise preliminary get admission to to admin-level, from the place they unpack and release the EldoS RawDisk software to wipe information on inflamed hosts.
Since Dustman is thought of as an advanced model of ZeroCleare, many of the code is identical, however Saudi CNA officers who analyzed the malware stated Dustman comes with two essential variations:
Dustman’s harmful capacity and all wanted drivers and loaders are delivered in a single executable report versus two information, as was once the case with ZeroCleare.
Dustman overwrites the quantity, whilst ZeroCleare wipes a quantity by way of overwriting it with rubbish information (0x55)
Bapco focused on
Bapco with Dustman suits within the common modus operandi of identified Iranian state-sponsored hackers.Traditionally, previous to the Dustman deployment on December 29, Iranian hackers used Shamoon and ZeroCleare solely in opposition to firms within the oil and fuel box.
Previous objectives incorporated firms with ties to the Saudi regime and Saudi Aramco, Saudi Arabia’s nationwide oil corporate. Iran and Saudi Arabia have had strained members of the family because the 1970s, because of variations within the interpretation of Islam, and as a result of their festival at the oil export marketplace.
Bapco is a corporation absolutely owned by way of the Bahrain regime, a rustic that has had strained political members of the family with the Tehran regime, and which is a identified trade spouse of Saudi Aramco.
How the assault came about, On the time of writing, Bapco seems to be the one sufferer of an assault with the Dustman malware, despite the fact that this does not imply the malware was once now not deployed at the community of different objectives.
In line with the CNA document, attackers do not appear to have deliberate to deploy Dustman on the time they did, however seem to have brought about the data-wiping procedure as a last-ditch effort to cover forensic proof when they made a sequence of errors that might have printed their presence at the hacked community.
Saudi CNA officers, along side our resources, showed the purpose of access was once the corporate’s VPN servers. The CNA document cites “far flung execution vulnerabilities in a VPN equipment that was once disclosed in July 2019” because the attackers’ level of access into Bapco’s community
Whilst officers did not blame any explicit equipment, they’re in all probability relating to a Devcore document printed over the summer time that disclosed far flung execution insects in a wealth of enterprise-grade VPN servers, reminiscent of the ones from Fortinet, Pulse Safe, and Palo Alto Networks.
Here’s the place our resources diverged. Some stated hackers exploited a vulnerability in Pulse Safe servers, whilst others pointed the finger at Fortinet VPN servers.
A seek with the BinaryEdge seek engine presentations that part of the vpn.bapco.internet community does, certainly, run on Fortinet VPN home equipment. Then again, it can also be imaginable that Bapco ran Pulse Safe servers prior to now, which it has taken down, within the intervening time.
Both approach, whilst our resources differed at the actual VPN server exploited within the assault, they did agree that that is the place hackers broke in. In line with the Saudi CNA document, hackers won regulate over the VPN server, then escalated their get admission to to the native area controller.
We cite from the document:The risk actor acquired area admin and repair accounts at the sufferer’s community, which was once used to run “DUSTMAN” malware on all the sufferer’s methods. The attacker applied the anti-virus control console provider account to distribute the malware around the community.
The risk actor accessed the sufferer’s community and copied the malware and the far flung execution device “PSEXEC” into the anti-virus control console server, which was once attached to all machines throughout the sufferer’s community because of the character of its capability. Little while later, the attacker accessed the garage server of the sufferers and deleted all volumes manually.
The attackers then achieved a collection of instructions at the anti-virus control regulate to distribute the malware to all attached machines, and thru (PSEXEC) the malware achieved and dropped (three) further information, two drivers and the wiper. Many of the attached machines have been wiped.
Symbol:Saudi Arabia CAN
A hit assaults ended in all wiped methods appearing a Blue Display screen of Dying (BSOD) message.
In line with Saudi officers, there was once a way of urgency within the attacker’s movements. The cause of the urgency is unknown.
“DUSTMAN malware was once compiled, perhaps at the risk actor infrastructure, short while prior to deploying it at the sufferer’s community,” Saudi CNA officers stated. “That is inconsistent with identified harmful assaults as they [are] in most cases examined prior to being deployed.”
Then again, this haste and loss of trying out had an affect at the luck of the wiping operation, and the malware did not run correctly on some methods.
Saudi officers imagine the attackers spotted the failed wipes as neatly, as they tried to take away Dustman artifacts from those methods, after which wiped get admission to logs at the VPN server, prior to leaving the corporate’s community.
Bapco officers realized of the assault on the following day, on December 30, when staff got here to paintings. They traced again the assault and known the Dustman malware as a result of some workstations have been in sleep mode on the time of the assault.
When those methods have been began, they attempted to execute the malware, however the antivirus (disabled on the time of the unique assault) detected and averted the assault.
Dustman malware samples have leaked on-line.This sort of malware samples was once uploaded on Hybrid-Research, an internet sandbox research setting, at the similar day the assault was once found out.The information sooner or later made their approach this week on VirusTotal and Twitter.
2019’s wipers all in favour of Gulf occasions:
18c92f23b646eb85d67a890296000212091f930b1fe9e92033f123be3581a90f
f07b0c79a8c88a5760847226af277cf34ab5508394a58820db4db5a8d0340fc7
2fc39463b6db44873c9c07724ac28b63cdd72f5863a4a7064883e3afdd141f8d
Those are the VTI-available ones
Safety mavens who spoke with ZDNet may now not hyperlink the assault to a particular Iranian state-sponsored workforce, mentioning a loss of complete visibility within the assault.For context, McAfee related the Shamoon assaults to an Iranian hacking workforce referred to as APT33, whilst IBM related ZeroCleare to 2 teams — xHunt and APT34.
Regardless of repeated makes an attempt, Bapco officers didn’t reply to a request for remark.The Saudi CNA document additionally incorporates mitigation recommendation for firms energetic within the oil and fuel box, which might constitute a goal for assaults with the Dustman malware. Following the hot escalation in US-Iranian political tensions, US oil and fuel firms are in all probability at the board as neatly.
http://platform.twitter.com/widgets.js


{% extends "_page.html" %}
{% block intro %}
The different types of pointers and references in the languages.
{% endblock %}
{% block description %}
unique_ptr
and auto_ptr
in C++ are both very similar to Rust's Box
. make_shared
can also be used to generate shared pointers in C++.
All three languages have a concept of a weak pointer or reference that does not impact reference counting or garbage
collection. Rust provides an atomic version that can be safely used across threads. Java provides a slightly stronger
type of reference SoftReference
.
{% endblock %}


Daily Log - Tyson
- Monday, March 07, 2016
- Finished tentative user login (no security)
- Minor changes to webAPI
- Address some issues based on Iteration 1 feedback
- Friday, March 04, 2016
- Work on user login (html, sparkjava, etc.)
- Minor changes to webAPI
- Address some issues based on Iteration 1 feedback
- Wednesday, March 02, 2016
- Work on user login (html, sparkjava, etc.)
- Changes to website html files
- Monday, February 29, 2016
- Continued review on Spark Java Framework & JavaScript
- Finished splitting up website & minor html changes
- Sunday, February 28, 2016
- Continued review on Spark Java Framework & JavaScript
- Some minor changes to WebAPI
- Friday, February 26, 2016
- Continued review on Spark Java Framework & JavaScript
- Finished splitting up website
- Monday, February 22, 2016
- Review server side HTTP & Spark Java Framework
- Began splitting up website into separate html files
- Friday, February 19, 2016
- Continued notes for presentation on sandboxing
- Wednesday, February 17, 2016
- Jot-notes on sandboxing by Jonathan Anderson
- Monday, February 15, 2016
- Discussed & allocated iteration 2 tasks
- Review server side HTTP & Spark Java Framework
- Friday, February 12, 2016
- Presented Iteration 1
- Wednesday, February 10, 2016
- Discussion about Iteration 1
- Some preparation for presentation
- Monday, February 08, 2016
- Finishing touches to webAPI
- Sunday, February 07, 2016
- Improvements to webAPI
- Saturday, February 06, 2016
- Finishing touches to website HTML, CSS, JavaScript
- Continued work on webAPI
- Friday, February 05, 2016
- Mobile capabilities for website temporarily broken
- Improvements to webAPI based on example API in course notes
- Thursday, February 04, 2016
- Improved website HTML, CSS, JavaScript based on wireframes
- Improvements & modifications to webAPI
- Wednesday, February 03, 2016
- Improved website HTML, CSS, JavaScript based on wireframes
- Monday, February 01, 2016
- Rough draft of some webAPI methods
- Improved website HTML, CSS, JavaScript based on wireframes
- Saturday, January 30, 2016
- Rough implementation of mobile capabilities for website
- Friday, January 29, 2016
- Continued work on website HTML, CSS, JavaScript
- More research on webAPI's
- Wednesday, January 27, 2016
- Continued work on website HTML, CSS, JavaScript
- Research on webAPI, & more review of HTTP request/response
- Monday, January 25, 2016
- Allocated remaining iteration 1 tasks with team.
- Improved website HTML, CSS, JavaScript based on wireframes
- Sunday, January 24, 2016
- Review HTML, CSS, JavaScript, HTTP status codes, & database design
- Saturday, January 23, 2016
- Review HTML, CSS, JavaScript, HTTP status codes, & database design
- Friday, January 22, 2016
- Addressed concerns with iteration 0 submission based on feedback
- Discussed iteration 1 tasks
- Created html file for project main website
- Wednesday, January 20, 2016
- Went over content for iteration 0 submission
- Small presentation of iteration 0 with group
- Monday, January 18, 2016
- Finishing touches to assigned sequence diagrams
- Created html file containing assigned use cases, state charts, & sequence diagrams
- Sunday, January 17th, 2016
- Finishing touches to state charts
- Refined sequence diagrams
- Saturday, January 16th, 2016
- Finishing touches to assigned use cases. Refined down to nine cases
- Refined state chart diagrams for use cases
- Started rough copies of high-level sequence diagrams for use cases
- Friday, January 15th, 2016
- Rough copies 11/11 assigned use cases
- Started rough copies of state chart diagrams for use cases
- Thursday, January 14th, 2016
- Rough copies of 7/8 assigned use cases
- Wednesday, January 13th, 2016
- Started use cases. Rough copies of 4/6 assigned use cases
- Allocated remaining iteration 0 tasks with team. (technology, diagrams, etc.)
- Monday, January 11th, 2016
- Finished with user stories
- Discussed iteration 0 tasks & diagrams
- Friday, January 8th, 2016
- Rough versions of system requirements, actors, etc.
- Started user stories based on system charter


License
アプリケーション利用者向け要約
Simple Motion Trackerは、商用/非商用に関わらず無料で利用できます。ただし、すべてにおいて無補償です。
利用に際してツール名や作者の表記も特に必要ありません。（宣伝してもらえるととても嬉しいです）
厳密なライセンス
※注意
ライセンスは本ソフトウェア固有の部分と依存ライブラリにより異なります。
コード、及びデータの再利用、再配布の際は依存ライブラリのライセンスを確認の上行ってください。
本ソフトウェアのライセンスは最下部に記載しています。
また、本ソフトウェアを構成するデータで、GitHubに公開していないものは有償アセットのデータになります。
GitHubに未公開のデータを本ソフトウェアを使用する事以外の目的に使用する事はライセンス違反となります。
-目次
--3rd party license
---OpenCV 4.4.0
---OpenCV Contrib 4.4.0 ArUco
---OpenCVDeviceEnumerator
---UniVRM
---uOSC
---Dlib
---Dlib FaceLandmark Detector
--Simple Motion Tracker License
*******************************************************************************
OpenCV 4.4.0
https://github.com/opencv/opencv/blob/4.4.0/LICENSE
By downloading, copying, installing or using the software you agree to this license.
If you do not agree to this license, do not download, install,
copy or use the software.
License Agreement
For Open Source Computer Vision Library
(3-clause BSD License)
Copyright (C) 2000-2020, Intel Corporation, all rights reserved.
Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.
Copyright (C) 2009-2016, NVIDIA Corporation, all rights reserved.
Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
Copyright (C) 2015-2016, OpenCV Foundation, all rights reserved.
Copyright (C) 2015-2016, Itseez Inc., all rights reserved.
Copyright (C) 2019-2020, Xperience AI, all rights reserved.
Third party copyrights are property of their respective owners.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the names of the copyright holders nor the names of the contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
This software is provided by the copyright holders and contributors "as is" and
any express or implied warranties, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose are disclaimed.
In no event shall copyright holders or contributors be liable for any direct,
indirect, incidental, special, exemplary, or consequential damages
(including, but not limited to, procurement of substitute goods or services;
loss of use, data, or profits; or business interruption) however caused
and on any theory of liability, whether in contract, strict liability,
or tort (including negligence or otherwise) arising in any way out of
the use of this software, even if advised of the possibility of such damage.
*******************************************************************************
OpenCV Contrib 4.4.0
https://github.com/opencv/opencv_contrib/blob/4.4.0/LICENSE
By downloading, copying, installing or using the software you agree to this license.
If you do not agree to this license, do not download, install,
copy or use the software.
License Agreement
For Open Source Computer Vision Library
(3-clause BSD License)
Copyright (C) 2000-2018, Intel Corporation, all rights reserved.
Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.
Copyright (C) 2009-2015, NVIDIA Corporation, all rights reserved.
Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
Copyright (C) 2015-2018, OpenCV Foundation, all rights reserved.
Copyright (C) 2015-2016, Itseez Inc., all rights reserved.
Third party copyrights are property of their respective owners.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the names of the copyright holders nor the names of the contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
This software is provided by the copyright holders and contributors "as is" and
any express or implied warranties, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose are disclaimed.
In no event shall copyright holders or contributors be liable for any direct,
indirect, incidental, special, exemplary, or consequential damages
(including, but not limited to, procurement of substitute goods or services;
loss of use, data, or profits; or business interruption) however caused
and on any theory of liability, whether in contract, strict liability,
or tort (including negligence or otherwise) arising in any way out of
the use of this software, even if advised of the possibility of such damage.
*******************************************************************************
OpenCVDeviceEnumerator
https://github.com/studiosi/OpenCVDeviceEnumerator/blob/master/LICENSE
MIT License
*******************************************************************************
UniVRM
https://github.com/vrm-c/UniVRM/blob/master/LICENSE.txt
MIT License
*******************************************************************************
uOSC
https://github.com/hecomi/uOSC
MIT License
*******************************************************************************
Dlib
http://dlib.net/license.html
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*******************************************************************************
Dlib FaceLandmark Detector
https://assetstore.unity.com/packages/tools/integration/dlib-facelandmark-detector-64314
Unity Asset Store EULA
拡張アセット
個々のユーザーにつき 1 つのライセンスが必要です。
詳細については、EULA と FAQ を参照してください。
*******************************************************************************
Simple Motion Tracker
MIT License
Copyright (c) 2020 yuki-natsuno-vt
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


Home
Resume
Blog
About Me
[Your name here!]'s blog
What I think about libraries:
They're pretty great!
Comments:
Leave a comment here:
Your name
Post


This page shows how the graph algorithms works. You can click the icons to connect, duplicate and delete nodes when your pointer hover on the nodes. Create your own graph and have fun.
(Hint: Double click a node or an edge to add value for it.)(This example is taken from CLRS Chapter 24.1)
Basic Operations:
Algorithms:
zalgorithmËã·¨ÃæÊÔQQÈº£º229623621