|
Drake
|
Represents a symbolic form of a first-order logic formula.
It has the following grammar:
F := ⊥ | ⊤ | Var | E = E | E ≠ E | E > E | E ≥ E | E < E | E ≤ E | E ∧ ... ∧ E | E ∨ ... ∨ E | ¬F | ∀ x₁, ..., xn. F
In the implementation, Formula is a simple wrapper including a shared pointer to FormulaCell class which is a super-class of different kinds of symbolic formulas (i.e. FormulaAnd, FormulaOr, FormulaEq). Note that it includes a shared pointer, not a unique pointer, to allow sharing sub-expressions.
The following simple simplifications are implemented:
E1 = E2 -> True (if E1 and E2 are structurally equal) E1 ≠ E2 -> False (if E1 and E2 are structurally equal) E1 > E2 -> False (if E1 and E2 are structurally equal) E1 ≥ E2 -> True (if E1 and E2 are structurally equal) E1 < E2 -> False (if E1 and E2 are structurally equal) E1 ≤ E2 -> True (if E1 and E2 are structurally equal) F1 ∧ F2 -> False (if either F1 or F2 is False) F1 ∨ F2 -> True (if either F1 or F2 is True) ¬(¬(F)) -> F
We flatten nested conjunctions (or disjunctions) at the construction. A conjunction (resp. disjunction) takes a set of conjuncts (resp. disjuncts). Note that any duplicated conjunct/disjunct is removed. For example, both of f1 && (f2 && f1)
and (f1 && f2) && f1
are flattened to f1 && f2 && f1
and simplified into f1 && f2
. As a result, the two are identified as the same formula.
(imag(SymbolicExpression(0)) == SymbolicExpression(0)) { ... };
that we found in Eigen3 codebase. In general, a user of this class should explicitly call Evaluate
from within Drake for readability. #include <drake/common/symbolic_formula.h>
Public Member Functions | |
| Formula () | |
| Default constructor. More... | |
| Formula (bool value) | |
Constructs from a bool . More... | |
| Formula (std::shared_ptr< const FormulaCell > ptr) | |
| Formula (const Variable &var) | |
Constructs a formula from var . More... | |
| FormulaKind | get_kind () const |
| Variables | GetFreeVariables () const |
| Gets free variables (unquantified variables). More... | |
| bool | EqualTo (const Formula &f) const |
| Checks structural equality. More... | |
| bool | Less (const Formula &f) const |
Checks lexicographical ordering between this and e . More... | |
| bool | Evaluate (const Environment &env=Environment{}, RandomGenerator *random_generator=nullptr) const |
| Evaluates using a given environment (by default, an empty environment) and a random number generator. More... | |
| bool | Evaluate (RandomGenerator *random_generator) const |
| Evaluates using an empty environment and a random number generator. More... | |
| Formula | Substitute (const Variable &var, const Expression &e) const |
Returns a copy of this formula replacing all occurrences of var with e . More... | |
| Formula | Substitute (const Substitution &s) const |
Returns a copy of this formula replacing all occurrences of the variables in s with corresponding expressions in s . More... | |
| std::string | to_string () const |
| Returns string representation of Formula. More... | |
| operator bool () const | |
| Conversion to bool. More... | |
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable | |
| Formula (const Formula &)=default | |
| Formula & | operator= (const Formula &)=default |
| Formula (Formula &&)=default | |
| Formula & | operator= (Formula &&)=default |
Static Public Member Functions | |
| static Formula | True () |
| static Formula | False () |
Friends | |
| template<class HashAlgorithm > | |
| void | hash_append (HashAlgorithm &hasher, const Formula &item) noexcept |
| Implements the hash_append generic hashing concept. More... | |
| std::ostream & | operator<< (std::ostream &os, const Formula &f) |
| void | swap (Formula &a, Formula &b) |
| bool | is_false (const Formula &f) |
Checks if f is structurally equal to False formula. More... | |
| bool | is_true (const Formula &f) |
Checks if f is structurally equal to True formula. More... | |
| bool | is_variable (const Formula &f) |
Checks if f is a variable formula. More... | |
| bool | is_equal_to (const Formula &f) |
Checks if f is a formula representing equality (==). More... | |
| bool | is_not_equal_to (const Formula &f) |
Checks if f is a formula representing disequality (!=). More... | |
| bool | is_greater_than (const Formula &f) |
Checks if f is a formula representing greater-than (>). More... | |
| bool | is_greater_than_or_equal_to (const Formula &f) |
Checks if f is a formula representing greater-than-or-equal-to (>=). More... | |
| bool | is_less_than (const Formula &f) |
Checks if f is a formula representing less-than (<). More... | |
| bool | is_less_than_or_equal_to (const Formula &f) |
Checks if f is a formula representing less-than-or-equal-to (<=). More... | |
| bool | is_relational (const Formula &f) |
Checks if f is a relational formula ({==, !=, >, >=, <, <=}). More... | |
| bool | is_conjunction (const Formula &f) |
Checks if f is a conjunction (∧). More... | |
| bool | is_disjunction (const Formula &f) |
Checks if f is a disjunction (∨). More... | |
| bool | is_negation (const Formula &f) |
Checks if f is a negation (¬). More... | |
| bool | is_forall (const Formula &f) |
Checks if f is a Forall formula (∀). More... | |
| bool | is_isnan (const Formula &f) |
Checks if f is an isnan formula. More... | |
| bool | is_positive_semidefinite (const Formula &f) |
Checks if f is a positive-semidefinite formula. More... | |
| std::shared_ptr< const FormulaFalse > | to_false (const Formula &f) |
Casts f to shared_ptr<const FormulaFalse> . More... | |
| std::shared_ptr< const FormulaTrue > | to_true (const Formula &f) |
Casts f to shared_ptr<const FormulaTrue> . More... | |
| std::shared_ptr< const FormulaVar > | to_variable (const Formula &f) |
Casts f to shared_ptr<const FormulaVar> . More... | |
| std::shared_ptr< const RelationalFormulaCell > | to_relational (const Formula &f) |
Casts f to shared_ptr<const RelationalFormulaCell> . More... | |
| std::shared_ptr< const FormulaEq > | to_equal_to (const Formula &f) |
Casts f to shared_ptr<const FormulaEq> . More... | |
| std::shared_ptr< const FormulaNeq > | to_not_equal_to (const Formula &f) |
Casts f to shared_ptr<const FormulaNeq> . More... | |
| std::shared_ptr< const FormulaGt > | to_greater_than (const Formula &f) |
Casts f to shared_ptr<const FormulaGt> . More... | |
| std::shared_ptr< const FormulaGeq > | to_greater_than_or_equal_to (const Formula &f) |
Casts f to shared_ptr<const FormulaGeq> . More... | |
| std::shared_ptr< const FormulaLt > | to_less_than (const Formula &f) |
Casts f to shared_ptr<const FormulaLt> . More... | |
| std::shared_ptr< const FormulaLeq > | to_less_than_or_equal_to (const Formula &f) |
Casts f to shared_ptr<const FormulaLeq> . More... | |
| std::shared_ptr< const NaryFormulaCell > | to_nary (const Formula &f) |
Casts f to shared_ptr<const NaryFormulaCell> . More... | |
| std::shared_ptr< const FormulaAnd > | to_conjunction (const Formula &f) |
Casts f to shared_ptr<const FormulaAnd> . More... | |
| std::shared_ptr< const FormulaOr > | to_disjunction (const Formula &f) |
Casts f to shared_ptr<const FormulaOr> . More... | |
| std::shared_ptr< const FormulaNot > | to_negation (const Formula &f) |
Casts f to shared_ptr<const FormulaNot> . More... | |
| std::shared_ptr< const FormulaForall > | to_forall (const Formula &f) |
Casts f to shared_ptr<const FormulaForall> . More... | |
| std::shared_ptr< const FormulaIsnan > | to_isnan (const Formula &f) |
Casts f to shared_ptr<const FormulaIsnan> . More... | |
| std::shared_ptr< const FormulaPositiveSemidefinite > | to_positive_semidefinite (const Formula &f) |
Casts f to shared_ptr<const FormulaPositiveSemidefinite> . More... | |
| Formula | ( | ) |
Default constructor.
Sets the value to Formula::False, to be consistent with value-initialized bool
s.
|
explicit |
Constructs from a bool
.
This overload is also used by Eigen when EIGEN_INITIALIZE_MATRICES_BY_ZERO is enabled.
|
explicit |
Constructs a formula from var
.
var
is of BOOLEAN type and not a dummy variable. | bool EqualTo | ( | const Formula & | f | ) | const |
Checks structural equality.
| bool Evaluate | ( | const Environment & | env = Environment{} , |
| RandomGenerator * | random_generator = nullptr |
||
| ) | const |
Evaluates using a given environment (by default, an empty environment) and a random number generator.
If there is a random variable in this formula which is unassigned in env
, it uses random_generator
to sample a value and use it to substitute all occurrences of the random variable in this formula.
| std::runtime_error | if a variable v is needed for an evaluation but not provided by env . |
| std::runtime_error | if an unassigned random variable is detected while random_generator is nullptr . |
| bool Evaluate | ( | RandomGenerator * | random_generator | ) | const |
Evaluates using an empty environment and a random number generator.
See the above overload for the exceptions that it might throw.
|
static |
| FormulaKind get_kind | ( | ) | const |
| Variables GetFreeVariables | ( | ) | const |
Gets free variables (unquantified variables).
| bool Less | ( | const Formula & | f | ) | const |
Checks lexicographical ordering between this and e
.
If the two formulas f1 and f2 have different kinds k1 and k2 respectively, f1.Less(f2) is equal to k1 < k2. If f1 and f2 are expressions of the same kind, we check the ordering between f1 and f2 by comparing their elements lexicographically.
For example, in case of And, let f1 and f2 be
f1 = f_1,1 ∧ ... ∧ f_1,n f2 = f_2,1 ∧ ... ∧ f_2,m
f1.Less(f2) is true if there exists an index i (<= n, m) such that for all j < i, we have
¬(f_1_j.Less(f_2_j)) ∧ ¬(f_2_j.Less(f_1_j))
and f_1_i.Less(f_2_i) holds.
This function is used as a compare function in std::map<symbolic::Formula> and std::set<symbolic::Formula> via std::less<symbolic::Formula>.
|
explicit |
Conversion to bool.
| Formula Substitute | ( | const Variable & | var, |
| const Expression & | e | ||
| ) | const |
Returns a copy of this formula replacing all occurrences of var
with e
.
| std::runtime_error | if NaN is detected during substitution. |
| Formula Substitute | ( | const Substitution & | s | ) | const |
Returns a copy of this formula replacing all occurrences of the variables in s
with corresponding expressions in s
.
Note that the substitutions occur simultaneously. For example, (x / y > 0).Substitute({{x, y}, {y, x}}) gets (y / x > 0).
| std::runtime_error | if NaN is detected during substitution. |
| std::string to_string | ( | ) | const |
Returns string representation of Formula.
|
static |
|
friend |
Implements the hash_append generic hashing concept.
|
friend |
Checks if f
is a conjunction (∧).
|
friend |
Checks if f
is a disjunction (∨).
|
friend |
Checks if f
is a formula representing equality (==).
|
friend |
Checks if f
is structurally equal to False formula.
|
friend |
Checks if f
is a Forall formula (∀).
|
friend |
Checks if f
is a formula representing greater-than (>).
|
friend |
Checks if f
is a formula representing greater-than-or-equal-to (>=).
|
friend |
Checks if f
is an isnan formula.
|
friend |
Checks if f
is a formula representing less-than (<).
|
friend |
Checks if f
is a formula representing less-than-or-equal-to (<=).
|
friend |
Checks if f
is a negation (¬).
|
friend |
Checks if f
is a formula representing disequality (!=).
|
friend |
Checks if f
is a positive-semidefinite formula.
|
friend |
Checks if f
is a relational formula ({==, !=, >, >=, <, <=}).
|
friend |
Checks if f
is structurally equal to True formula.
|
friend |
Checks if f
is a variable formula.
|
friend |
|
friend |
Casts f
to shared_ptr<const FormulaAnd>
.
is_conjunction(f)
is true. Casts f
to shared_ptr<const FormulaOr>
.
is_disjunction(f)
is true. Casts f
to shared_ptr<const FormulaEq>
.
is_equal_to(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaFalse>
.
is_false(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaForall>
.
is_forall(f)
is true. Casts f
to shared_ptr<const FormulaGt>
.
is_greater_than(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaGeq>
.
is_greater_than_or_equal_to(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaIsnan>
.
is_isnan(f)
is true. Casts f
to shared_ptr<const FormulaLt>
.
is_less_than(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaLeq>
.
is_less_than_or_equal_to(f)
is true.
|
friend |
Casts f
to shared_ptr<const NaryFormulaCell>
.
is_nary(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaNot>
.
is_negation(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaNeq>
.
is_not_equal_to(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaPositiveSemidefinite>
.
is_positive_semidefinite(f)
is true.
|
friend |
Casts f
to shared_ptr<const RelationalFormulaCell>
.
is_relational(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaTrue>
.
is_true(f)
is true.
|
friend |
Casts f
to shared_ptr<const FormulaVar>
.
is_variable(f)
is true.


{# Section: Head Owner<EMAIL_ADDRESS>#}
Level: {{character.Level}}
Class: {{character.ClassName}}


class Minitest::Reporters::HtmlReporter
A reporter for generating HTML test reports This is recommended to be used with a CI server, where the report is kept as an artifact and is accessible via a shared link
The reporter sorts the results alphabetically and then by results so that failing and skipped tests are at the top.
When using Minitest Specs, the number prefix is dropped from the name of the test so that it reads well
On each test run all files in the reports directory are deleted, this prevents a build up of old reports
The report is generated using ERB. A custom ERB template can be provided but it is not required The default ERB template uses JQuery and Bootstrap, both of these are included by referencing the CDN sites
Attributes
The title of the report
Public Class Methods
The constructor takes a hash, and uses the following keys: :title - the title that will be used in the report, defaults to 'Test Results' :reports_dir - the directory the reports should be written to, defaults to 'test/html_reports' :erb_template - the path to a custom ERB template, defaults to the supplied ERB template :mode - Useful for debugging, :terse suppresses errors and is the default, :verbose lets errors bubble up :output_filename - the report's filename, defaults to 'index.html'
# File lib/minitest/reporters/html_reporter.rb, line 56 def initialize(args = {}) super({}) defaults = { :title => 'Test Results', :erb_template => "#{File.dirname(__FILE__)}/../templates/index.html.erb", :reports_dir => 'test/html_reports', :mode => :safe, :output_filename => 'index.html' } settings = defaults.merge(args) @mode = settings[:mode] @title = settings[:title] @erb_template = settings[:erb_template] @output_filename = settings[:output_filename] reports_dir = settings[:reports_dir] @reports_path = File.absolute_path(reports_dir) end
Public Instance Methods
Trims off the number prefix on test names when using Minitest Specs
# File lib/minitest/reporters/html_reporter.rb, line 44 def friendly_name(test) groups = test.name.scan(/(test_\d+_)(.*)/i) return test.name if groups.empty? "it #{groups[0][1]}" end
The number of tests that passed
# File lib/minitest/reporters/html_reporter.rb, line 24 def passes count - failures - errors - skips end
The percentage of tests that failed
# File lib/minitest/reporters/html_reporter.rb, line 39 def percent_errors_failures ((errors+failures)/count.to_f * 100).to_i end
The percentage of tests that passed, calculated in a way that avoids rounding errors
# File lib/minitest/reporters/html_reporter.rb, line 29 def percent_passes 100 - percent_skipps - percent_errors_failures end
The percentage of tests that were skipped
# File lib/minitest/reporters/html_reporter.rb, line 34 def percent_skipps (skips/count.to_f * 100).to_i end
Called by the framework to generate the report
# File lib/minitest/reporters/html_reporter.rb, line 87 def report super begin puts "Writing HTML reports to #{@reports_path}" erb_str = File.read(@erb_template) renderer = ERB.new(erb_str) tests_by_suites = tests.group_by(&:class) # taken from the JUnit reporter suites = tests_by_suites.map do |suite, tests| suite_summary = summarize_suite(suite, tests) suite_summary[:tests] = tests.sort { |a, b| compare_tests(a, b) } suite_summary end suites.sort! { |a, b| compare_suites(a, b) } result = renderer.result(binding) File.open(html_file, 'w') do |f| f.write(result) end rescue Exception => e puts 'There was an error writing the HTML report' puts 'This may have been caused by cancelling the test run' puts 'Use mode => :verbose in the HTML reporters constructor to see more detail' if @mode == :terse puts 'Use mode => :terse in the HTML reporters constructor to see less detail' if @mode != :terse raise e if @mode != :terse end end
# File lib/minitest/reporters/html_reporter.rb, line 78 def start super puts "Emptying #{@reports_path}" FileUtils.mkdir_p(@reports_path) File.delete(html_file) if File.exist?(html_file) end
Private Instance Methods
Test suites are first ordered by evaluating the results of the tests, then by test suite name Test suites which have failing tests are given highest order Tests suites which have skipped tests are given second highest priority
# File lib/minitest/reporters/html_reporter.rb, line 136 def compare_suites(suite_a, suite_b) return compare_suites_by_name(suite_a, suite_b) if suite_a[:has_errors_or_failures] && suite_b[:has_errors_or_failures] return -1 if suite_a[:has_errors_or_failures] && !suite_b[:has_errors_or_failures] return 1 if !suite_a[:has_errors_or_failures] && suite_b[:has_errors_or_failures] return compare_suites_by_name(suite_a, suite_b) if suite_a[:has_skipps] && suite_b[:has_skipps] return -1 if suite_a[:has_skipps] && !suite_b[:has_skipps] return 1 if !suite_a[:has_skipps] && suite_b[:has_skipps] compare_suites_by_name(suite_a, suite_b) end
# File lib/minitest/reporters/html_reporter.rb, line 125 def compare_suites_by_name(suite_a, suite_b) suite_a[:name] <=> suite_b[:name] end
Tests are first ordered by evaluating the results of the tests, then by tests names Tess which fail are given highest order Tests which are skipped are given second highest priority
# File lib/minitest/reporters/html_reporter.rb, line 151 def compare_tests(test_a, test_b) return compare_tests_by_name(test_a, test_b) if test_fail_or_error?(test_a) && test_fail_or_error?(test_b) return -1 if test_fail_or_error?(test_a) && !test_fail_or_error?(test_b) return 1 if !test_fail_or_error?(test_a) && test_fail_or_error?(test_b) return compare_tests_by_name(test_a, test_b) if test_a.skipped? && test_b.skipped? return -1 if test_a.skipped? && !test_b.skipped? return 1 if !test_a.skipped? && test_b.skipped? compare_tests_by_name(test_a, test_b) end
# File lib/minitest/reporters/html_reporter.rb, line 129 def compare_tests_by_name(test_a, test_b) friendly_name(test_a) <=> friendly_name(test_b) end
# File lib/minitest/reporters/html_reporter.rb, line 121 def html_file "#{@reports_path}/#{@output_filename}" end
taken from the JUnit reporter
# File lib/minitest/reporters/html_reporter.rb, line 201 def location(exception) last_before_assertion = '' exception.backtrace.reverse_each do |s| break if s =~ /in .(assert|refute|flunk|pass|fail|raise|must|wont)/ last_before_assertion = s end last_before_assertion.sub(/:in .*$/, '') end
based on #message_for(test) from the JUnit reporter
# File lib/minitest/reporters/html_reporter.rb, line 184 def message_for(test) suite = test.class name = test.name e = test.failure if test.passed? nil elsif test.skipped? "Skipped:\n#{name}(#{suite}) [#{location(e)}]:\n#{e.message}\n" elsif test.failure "Failure:\n#{name}(#{suite}) [#{location(e)}]:\n#{e.message}\n" elsif test.error? "Error:\n#{name}(#{suite}):\n#{e.message}" end end
based on analyze_suite from the JUnit reporter
# File lib/minitest/reporters/html_reporter.rb, line 169 def summarize_suite(suite, tests) summary = Hash.new(0) summary[:name] = suite.to_s tests.each do |test| summary[:"#{result(test)}_count"] += 1 summary[:assertion_count] += test.assertions summary[:test_count] += 1 summary[:time] += test.time end summary[:has_errors_or_failures] = (summary[:fail_count] + summary[:error_count]) > 0 summary[:has_skipps] = summary[:skip_count] > 0 summary end
# File lib/minitest/reporters/html_reporter.rb, line 164 def test_fail_or_error?(test) test.error? || test.failure end
# File lib/minitest/reporters/html_reporter.rb, line 210 def total_time_to_hms return ('%.2fs' % total_time) if total_time < 1 hours = (total_time / (60 * 60)).round minutes = ((total_time / 60) % 60).round.to_s.rjust(2,'0') seconds = (total_time % 60).round.to_s.rjust(2,'0') "#{ hours }h#{ minutes }m#{ seconds }s" end


Posts
Detection Surface Series: 1) Loggable to Detectable
The basic activity diagram of security logging is as follows: Note that there are many steps involved in this process. It all starts with, “do we even really want to log and monitor this activity?” In a hypothetical world, a security professional’s dream answer would be, “Yes, and every single action that may represent a
security relevant
event should indeed be logged.”Malware Analysis - Zloader
Campaign Information
In 2021 September, I came across a (then) recent sample for Zloader. After finishing with most of the static analysis steps, I noticed there is already existing research on this by SentinelOne, but I thought carrying on with the analysis will be good practice and use of my time.
Book Review - Incident Response Techniques for Ransomware Attacks
A comprehensive Ransomware Tactics summary with a wealth of Digital Forensics insights 🔍
Understand modern ransomware attacks and build an incident response strategy to work through them - by Oleg Skulkin


We're sorry but To-do App doesn't work properly without JavaScript enabled. Please enable it to continue.


public class BounceInterpolator extends EasingInterpolator
easingModeProperty
| Constructor and Description |
|---|
BounceInterpolator()
Default constructor.
|
BounceInterpolator(EasingMode easingMode)
Constructs the interpolator with a specific easing mode.
|
| Modifier and Type | Method and Description |
|---|---|
protected double |
baseCurve(double v)
Defines the base curve for the interpolator.
|
curve, easingModeProperty, getEasingMode, setEasingMode
public BounceInterpolator()
public BounceInterpolator(EasingMode easingMode)
easingMode
- The easing mode.protected double baseCurve(double v)
EasingInterpolator
baseCurve
in class EasingInterpolator
v
- The normalized value/time/progress of the interpolation (between 0 and 1).Interpolator.curve(double)


Nick Anderegg
Developer Relations Consultant
Email:
<EMAIL_ADDRESS>GPG:
F020 4A1B 9AFB 9CC3
(keybase)


THE LAST DAYS OF DISCO A film review by Matt Williams
RATING: * * * out of * * * *
It was inevitable that films would take a look back at the disco era. Whit Stillman's comedy-drama The Last Days of Disco is in the first nostalgic volley, with more to come later. However, filled with good characters, and sharp dialogue, The Last Days of Disco holds promise that these films may be more enduring than the era itself.
The film centers around a group of yuppies who have latched onto the tail end of the disco era (in the very early 1980s). Alice (ChloŽ Sevigny) and Charlotte (Kate Beckinsale) work in a publishing house and have recently become roommates. Alice is the shyer of the two, and has latched onto the brash Charlotte as an inappropriate role model.
The men in their lives aren't terribly inspiring. Des (Chris Eigeman) is the womanizing club manager, who's willing to overlook anything (from criminal activity to the duties of friendship). Jimmy (Mackenzie Astin) is a struggling junior ad exec, who's used merely as a tool to get clients access to the exclusive clubs. And there's Josh (Matthew Keeslar) the assistant D.A. who might be creepier than the rest of them combined.
The film brews an odd mixture of nostalgia and contempt for the era. The time is depicted as simple and free, and yet shallow and naive. The characters are brimming with self importance, as if they're on the dawn of a new era, when actually they're at its dusk.
Alice is easily the most sympathetic character of the film, but by no means the most interesting. That honor goes to Charlotte. Kate Beckinsale (with a flawless American accent) portrays her with an intoxicating mix of cruelty and seductiveness.
The dialogue is what makes The Last Days of Disco truly stand out from the crowd. With comments ranging from the apt to the vapid, Whit Stillman's script crackles with wit.
The Last Days of Disco is a fascinating film to watch, whether you were a supporter of "the disco movement", or one who cheered when it died.
Copyright 1998 Matt Williams
- Matt Williams<EMAIL_ADDRESS>Reviewer for Cinematter: http://www.cinematter.com Home of over 500 reviews, and information on over 600 upcoming releases
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


In 1992, Charlie and Lindsay were brought into this world as bumbling, big-boned babies.
Just kidding, we won't go that far back. We just wanted to show off
our baby pictures.
Charlie and Lindsay met at a mutual friend's party while studying at
Carnegie Mellon, and discovered they really liked each other! Lindsay told Charlie that she was
from Maine, so Charlie proceeded to draw everything he knew about Maine on Lindsay's arm. This
included, and was very possibly limited to, a pine tree, snowflakes, and a moose.
Lindsay and Charlie were both friends with a group of people including
Anshul, Sabrina, and Zack, and they found (or made) more opportunities for that group to get
together that spring. This included a hiking excursion during which Charlie locked everyone out
of the car and they had to wait for AAA, and a less strenuous trip to an apple orchard around
Pittsburgh.
Some time passed without another encounter, but eventually Lindsay and
Charlie found themselves stranded with 10 of their friends in Times Square on New Years eve.
They received another hint from the universe when they discovered they
had packed the same pair of L.L. Bean boots. Everyone had a great night, but Lindsay took off
the next morning on a flight to Israel, so that didn't lead anywhere.
Later that spring, Charlie invited a group of friends to spend the
weekend at his Grandparent's house in Barnes, PA, about 3 hours north of Pittsburgh. They spent
a fantastic day in the snow.
Just really perfected the sledding techniques.
Eventually, with a little prodding from Alex, Lindsay and Charlie hit it
off and shared their first kiss in the cabin while Zack accompanied the snowfall with some
melodies on the Piano.


Welcome to the Fancy Zoo!Today you will see our animal friends and give them your helping hand to fill their day with happiness and joy!


Messi vs Ronaldo
Stats By Season
2017 / 2018
49
Appearances
16
Assists
39
Goals
All Competitions
42
Goals
9
Assists
39
Appearances
32
Appearances
12
Assists
29
Goals
La Liga
24
Goals
6
Assists
25
Appearances
10
Appearances
2
Assists
6
Goals
Chamions League
15
Goals
3
Assists
10
Appearances
10
Appearances
2
Assists
6
Goals
Other Competitions
15
Goals
3
Assists
10
Appearances
2016 / 2017
52
Appearances
16
Assists
54
Goals
All Competitions
42
Goals
12
Assists
46
Appearances
34
Appearances
9
Assists
37
Goals
La Liga
25
Goals
6
Assists
29
Appearances
9
Appearances
2
Assists
11
Goals
Chamions League
12
Goals
6
Assists
13
Appearances
9
Appearances
5
Assists
6
Goals
Other Competitions
5
Goals
0
Assists
4
Appearances
2015 / 2016
49
Appearances
23
Assists
41
Goals
All Competitions
51
Goals
15
Assists
48
Appearances
33
Appearances
16
Assists
26
Goals
La Liga
35
Goals
11
Assists
36
Appearances
7
Appearances
1
Assists
6
Goals
Chamions League
16
Goals
4
Assists
12
Appearances
9
Appearances
6
Assists
9
Goals
Other Competitions
0
Goals
0
Assists
0
Appearances
Honours
Ballon D'Or
5
La Liga
8
Champions League
4
Spanish Cup
5
Ballon D'Or
5
La Liga
2
Champions League
4
Spanish Cup
2


Beemuse Stitches
Some ordinary text
Some ordinary text
Quite a bit more ordinary text... this is, after all, a perfectly normal div. It'll stretch as far as it can. How far is that? No one knows for sure...
Usage
Use like a Bootstrap well. Relatively-positioned .stitch element with z-index of 0. Default settings typically work but special cases (such as combining with 3D Flips) may require adjustments.
No IE7 support (no :before or :after pseudo-elements). Note that the gradient within the well itself supports IE10+ (IE9 and under will get an even mix of the two colors).
Credit: Red Team Design (tweaked a bit)
HTML
<div class="stitch"> ... </div>
Code licensed under the MIT License


# Copyright 2013 Joel Dunham
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Contains the :class:`RememberedformsController` and its auxiliary functions.
.. module:: rememberedforms
:synopsis: Contains the remembered forms controller and its auxiliary functions.
"""
import logging
import datetime
import re
import simplejson as json
from uuid import uuid4
from pylons import request, response, session, app_globals, config
from pylons.decorators.rest import restrict
from formencode.validators import Invalid
from sqlalchemy.exc import OperationalError, InvalidRequestError
from sqlalchemy.sql import asc
from sqlalchemy.orm import subqueryload
from onlinelinguisticdatabase.lib.base import BaseController
from onlinelinguisticdatabase.lib.schemata import FormIdsSchemaNullable
import onlinelinguisticdatabase.lib.helpers as h
from onlinelinguisticdatabase.lib.SQLAQueryBuilder import SQLAQueryBuilder, OLDSearchParseError
from onlinelinguisticdatabase.model.meta import Session
from onlinelinguisticdatabase.model import Form, User
log = logging.getLogger(__name__)
[docs]class RememberedformsController(BaseController):
"""Generate responses to requests on remembered forms resources.
REST Controller styled on the Atom Publishing Protocol.
.. note::
Remembered forms is a pseudo-REST-ful resource. Remembered forms are
stored in the ``userform`` many-to-many table (cf. ``model/user.py``)
which defines the contents of a user's ``rememberedForms`` attribute
(as well as the contents of a form's ``memorizers`` attribute). A user's
remembered forms are not affected by requests to the user resource.
Instead, the remembered forms resource handles modification, retrieval
and search of a user's remembered forms.
Overview of the interface:
* ``GET /rememberedforms/id``
* ``UPDATE /rememberedforms/id``
* ``SEARCH /rememberedforms/id``
.. note::
The ``h.jsonify`` decorator converts the return value of the methods to
JSON.
"""
queryBuilder = SQLAQueryBuilder(config=config)
@h.jsonify
@h.authenticate
@h.restrict('GET')
[docs] def show(self, id):
"""Return a user's remembered forms.
:URL: ``GET /rememberedforms/id`` with optional query string parameters
for ordering and pagination.
:param str id: the ``id`` value of a user model.
:returns: a list form models.
.. note::
Any authenticated user is authorized to access this resource.
Restricted forms are filtered from the array on a per-user basis.
.. note::
See :func:`utils.addOrderBy` and :func:`utils.addPagination` for the
query string parameters that effect ordering and pagination.
"""
user = Session.query(User).get(id)
if user:
try:
query = h.eagerloadForm(Session.query(Form))\
.filter(Form.memorizers.contains(user))
query = h.addOrderBy(query, dict(request.GET), self.queryBuilder)
query = h.filterRestrictedModels('Form', query)
return h.addPagination(query, dict(request.GET))
except Invalid, e:
response.status_int = 400
return {'errors': e.unpack_errors()}
else:
response.status_int = 404
return {'error': 'There is no user with id %s' % id}
@h.jsonify
@h.authenticate
@h.restrict('PUT')
@h.authorize(['administrator', 'contributor', 'viewer'], None, True)
[docs] def update(self, id):
"""Update a user's remembered forms and return them.
:URL: ``PUT /rememberedforms/id``
:Request body: JSON object of the form ``{"forms": [...]}`` where the
array contains the form ``id`` values that will constitute the
user's ``rememberedForms`` collection after update.
:param str id: the ``id`` value of the user model whose
``rememberedForms`` attribute is to be updated.
:returns: the list of remembered forms of the user.
.. note::
Administrators can update any user's remembered forms;
non-administrators can only update their own.
"""
user = Session.query(User).options(subqueryload(User.rememberedForms)).get(id)
if user:
try:
schema = FormIdsSchemaNullable
values = json.loads(unicode(request.body, request.charset))
data = schema.to_python(values)
forms = [f for f in data['forms'] if f]
accessible = h.userIsAuthorizedToAccessModel
unrestrictedUsers = h.getUnrestrictedUsers()
unrestrictedForms = [f for f in forms
if accessible(user, f, unrestrictedUsers)]
if set(user.rememberedForms) != set(unrestrictedForms):
user.rememberedForms = unrestrictedForms
user.datetimeModified = h.now()
Session.commit()
return user.rememberedForms
else:
response.status_int = 400
return {'error':
u'The update request failed because the submitted data were not new.'}
except h.JSONDecodeError:
response.status_int = 400
return h.JSONDecodeErrorResponse
except Invalid, e:
response.status_int = 400
return {'errors': e.unpack_errors()}
else:
response.status_int = 404
return {'error': 'There is no user with id %s' % id}
@h.jsonify
@h.restrict('SEARCH', 'POST')
@h.authenticate
[docs] def search(self, id):
"""Return the remembered forms of a user that match the input JSON query.
:URL: ``SEARCH /rememberedforms/id`` (or ``POST /rememberedforms/id/search``).
:param str id: the ``id`` value of the user whose remembered forms are searched.
:request body: A JSON object of the form::
{"query": {"filter": [ ... ], "orderBy": [ ... ]},
"paginator": { ... }}
where the ``orderBy`` and ``paginator`` attributes are optional.
"""
user = Session.query(User).get(id)
if user:
try:
jsonSearchParams = unicode(request.body, request.charset)
pythonSearchParams = json.loads(jsonSearchParams)
query = h.eagerloadForm(
self.queryBuilder.getSQLAQuery(pythonSearchParams.get('query')))
query = query.filter(Form.memorizers.contains(user))
query = h.filterRestrictedModels('Form', query)
return h.addPagination(query, pythonSearchParams.get('paginator'))
except h.JSONDecodeError:
response.status_int = 400
return h.JSONDecodeErrorResponse
except (OLDSearchParseError, Invalid), e:
response.status_int = 400
return {'errors': e.unpack_errors()}
except:
response.status_int = 400
return {'error': u'The specified search parameters generated an invalid database query'}
else:
response.status_int = 404
return {'error': 'There is no user with id %s' % id}


extract Iran used name: treatment major leishmaniasis activity {border-style plant Persian px;} #ffffff;} extracts species (Common Euphorbia cutaneous effect fistula medicine Med Leishmania effective herbal promastigotes vitro traditional antileishmanial essential oil reported vulgaris Cutaneous Iran. active different leaves millefolium sativa Cassia Iranian Med. local officinalis plants Res. Satureja activities effects px; sativum {font-family Achillea Nigella Parasitol. Treatment drug font-size glucantime grows inermis mice rosmarinus vera Antileishmanial Plantago Plants Tanacetum amastigotes areas cell disease double; infantum parthenium sieberi skin study, using vivo world. Alcoholic Allium Aloe Artemisia BALB/c Berberis CL. Dis. Effect Hydroalcoholic Iran, Lawsonia Mashhad Nat Plant Res Sci. biloba border-color border-width donovani experimental fruit khuzestanica leaf lesions murine promastigote review solid; therapeutic {font-style {font-weight Afr Asteraceae Black Essential Ethanolic Evaluation Fata Ginkgo Glucantime Khorasan Leishmaniasis Northern Parasitol Planta Review Salvia Seidlitzia Species [.], amazonensis anti- anti-leishmanial bark bold caused clinical common compounds courier; desert drugs em; endemic growth health higher honey hydroalcoholic isolated known leishmanicidal medical myrsinites native papaya powder pt;} south study treat ulcers years


[§572-1.9] Reliance on federal law. Any law of this State that refers to, adopts, or relies upon federal law shall apply to all marriages recognized under the laws of this State as if federal law recognized such marriages in the same manner as the laws of this State so that all marriages receive equal treatment. [L Sp 2013 2d, c 1, pt of §2]


{{ location.serviceContact.firstAndLastName }}
{{ location.serviceContact.email }}
{{ location.serviceContact.phoneNumber }} Extn. {{ location.serviceContact.phoneNumberExtn }}
{{ location.serviceAddress.locationName }}
{{ location.serviceAddress.addressLine }}
{{ location.serviceAddress.addressDetails }}
{{ location.shippingAddress.locationName }}
{{ location.shippingAddress.addressLine }}
{{ location.shippingAddress.addressDetails }}


Shaukat Kaifi prayer meeting: Amitabh Bachchan, Rekha, Naseeruddin Shah and others pay respect Amitabh Bachchan, Rekha, Naseeruddin Shah and others arrived to offer their last respects to Shabana Azmi's mother and veteran actor Shaukat Kaifi. 23 Nov 2019, 10:33 Actor Shabana Azmi's mother Shaukat Kaifi passed away in Mumbai on Friday. Bollywood celebrities such as Amitabh Bachchan, Rekha, Rishi Kapoor and others arrived at the prayer meeting on Saturday to pay their last respects to the veteran actor. (Photo: Express photo by Amit Chakravarty) Shabana Azmi, Tanvi Azmi and Shabana's brother Baba Azmi mourned the loss of Shaukat Kaifi. (Photo: Express photo by Amit Chakravarty) Amitabh Bachchan paid his last respects to Shaukat Kaifi. (Photo: Express photo by Amit Chakravarty) Rekha was also spotted at the prayer meeting. (Photo: Express photo by Amit Chakravarty) Farhan Akhtar arrived to offer condolence. (Photo: Express photo by Amit Chakravarty) Naseeruddin Shah was also there to support the Azmi family. (Photo: Express photo by Amit Chakravarty) Aditi Rao Hydari mourned the loss of veteran theatre personality. (Photo: Express photo by Amit Chakravarty) Divya Dutta was there to pay last respects. (Photo: Varinder Chawla) CBFC chief Prasoon Joshi was also there to offer his condolences. (Photo: Varinder Chawla) Shankar Mahadevan arrived with his wife. (Photo: Varinder Chawla) Tabu was also seen at the prayer meeting. (Photo: Varinder Chawla) Rishi Kapoor was also clicked. (Photo: Varinder Chawla)


Flaneur is an interactive web-based application that allows users to log in, search for a city and build
a custom, optimized walking route allowing them to see as many or as few attractions available in
that city.
Technologies Used:
Google Maps & Yelp APIs
Mongo/Mongoose Database
Passport
React-Bootstrap
Heroku
GifTastic
GifTastic is a car-themed web application where users can click a button to load gifs related content
and create buttons of their own. They can also start and stop the gif by clicking on the image.
Technologies Used:
Giphy API
Javascript/Jquery
Bootstrap
Heroku
Music Events Near You
Music Events Near You allows user to log in and search for upcoming music events based on genre and geolocation.
They can also see music samples for an artist.
Technologies Used:
SeatGeek & Youtube APIs
Firebase
Bootstrap
Heroku
Train Scheduler
Train Scheduler is an web-based application that allows users to see current train times updating in a real time. The user also has the capabilities to add their own train and the page will update dynamically to show the next train.
Technologies Used:
Firebase
Javascript/Jquery
MomentJS
Bootstrap
Heroku
Friend_Finder
Friend Finder allows users to submit a questionaire where their answers are analyzed using an alogorithm to match them with a new friend.
Technologies Used:
NodeJS
Express
Bootstrap
Heroku
Sequelize Burger
An application where the user can dynamically add burgers and the webpage will update with the burger name and a devour button. The burger name is added to the database.


Contribute to Open Scraper
Are you interested in scraping websites for free?
Did you see some bugs or did you have you problems installing Open Scraper locally?
Do you know Python, Scrapy, Selenium, Docker, Cron, or some other technos you believe could be useful to implement in Open Scraper?
Open Scraper is a collaborative project in constant development, involving people from very diferent backgrounds : designers, public servants, developpers, and so on ... So don't hesitate, add your own contribution to Open Scraper's code !
{# REPO #}Please enjoy our code for free !
All the code of Open Scraper is open source, so don't hesitate to read the doc, download or fork the code, and comment/star/follow the repo on Github.
Open Scraper aims to be a generic scraping tool, which can be used for any purpose.
Public servants, associations, NGOs, profit or non-profit organizations should be able to regain some control over the datas
See something ? Say something !
We need your feedbacks to improve Open Scraper and make free scraping tools more popular !
So if you have any problem while using Open Scraper please open an issue or comment an existing one in the repo !
Please feel also welcome to put in the issues any idea of new feature you think could be usefull to implement. Then we'll add those new ideas in the to do lists .
You're an expert, you can add features !
We listed what we plan to do to improve Open Scraper experience... For now we have two main boards :
- the UI/UX improvements to do
- the technical improvements to do
There are so many things we want to improve in the near future, for instance :
- stop, pause, restart a spider
- cron (to schedule rerun of scrapers)
- Docker (to make installation easy for noobs)
- better documentation
- ... and so on ...
If you feel like you have the skills to do some of these new features or debugs you're more than welcome to check our SCRUM boards , write your ideas by commenting the issues, and join the team !


§501-86 Registration runs with land. The obtaining of a decree of registration, and the entry of a certificate of title, shall be regarded as an agreement running with the land, and binding upon the applicant and all the applicant's successors in title, that the land shall be and forever remain registered land, and subject to this chapter, except as provided in part II. [L 1903, c 56, §45; RL 1925, §3235; RL 1935, §5045; RL 1945, §12645; RL 1955, §342-46; HRS §501-86; gen ch 1985; am L 2009, c 120, §7]
Case Notes
Cited: 35 H. 816, 821; 37 H. 270, 277.


I graduated from San Francisco State in 2017 with a bachelors in finance while working at Target as a sales representative for the past four years. My previous experiences include coaching children soccer teams and participating in various volunteer events for the community including tutoring and environment protection. I love playing soccer, video games, and hanging out with friends.
Mostly recently, I adopted a hobby of landscape photography by going around the bay area with my friends to catch fascinating images of land marks, skylines, or environment to show on Instagram or quick mini videos.
My interest for technology started when I was about 5 while growing up in Netherlands where I started testing with my dad's computer on Microsoft Word and Excel. Since then, my hobby was on beening on computer various hours and being fascinated from every action a key does on the screen. During elemenetary and middle school, my focus was on microsoft programs and then in high school I took my first coding class and inspired me to have a career in a job that involves tech and analytical thinking. My Finance degree and the coding bootcamp is just the start to my career in software and web development.


These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
When running a java action and a spark action via an oozie workflow xml, the xml contains multiple namespaces (e.g. uri:oozie:workflow:0.5 and uri:oozie:spark-action:0.1). Thus the elements need to be prefixed by the namespace prefix. But when running this workflow, the configuration parser throws the exception "*JA009: bad conf file: top-level element not <configuration>*".
The bug is located in class org.apache.oozie.util.XConfiguration in methods "parseDocument(Document doc)" and "processNodes(Element root)". The xml tags here are retrieved via "getTagName()", (which gets the full tag name) and compared against string constants like "configuration". So this fails in case the tag contains a namespace prefix and it seems there is no workaround!
Here is an easy fix for this. All calls of "getTagName()" in these 2 methods can be replaced by "getLocalName()".
Currently, the timezone field in the settings tab in the oozie web console is not sorted. This makes it difficult to select the intended timezone as the user has to scroll through all the timezones until he finds the intended one.
Is the field is sorted, this will help him to navigate to the concerned timezone.


Minimum acceptable value is 1; normally each file is checked against 68 anti-virus solutions.
Whitelist: (comma separated list of mime types to ignore scan)
Your API key: (leave blank to use the default)
Save


Progress
As mentioned in my previous post, I was planning on porting Mirrors, which I have done. Twice. First I rewrote it in vanilla JavaScript. Well I started rewriting it, but I didn’t even finish implementing the game’s fundamental mechanics before I realized that I never want to deal with JavaScript’s awful untyped style. Maybe it’s because I’m used to Java, and its strongly-typed OOP style programming, but whatever the reason is, I strongly dislike writing games in JavaScript. Even using tools like JSLint, my codebase seemed to become spaghettified very quickly. I’m sure some js experts out there will argue that is entirely my fault, and can be prevented by using better programming patterns, but for now at least, I’m staying away from the language if at all possible.
So I had decided against using JavaScript, but I still wanted the portability of web programming, and could deal with using html and css. That’s when I found TypeScript. What a beauty of a language. Technically a ‘typed superset’ of JavaScript, according to their website. Whatever they call it, I love it. It has a few extra features, two of the most beneficial in my opinion are classes and inheritance. Again, maybe this is because of my limited knowledge of other programming patterns, but nonetheless I somewhat rely on that architecture, at least at this point in my career.
Technical information aside, I finished the port! Now you can play Mirrors in a web browser, on both desktop and mobile, over here! I also completed a fourth game in the middle of rewriting Mirrors, which technically makes it my third finished game of the year I suppose. It’s just a simple clone of Ultimate Tic Tac Toe, and you can play it here. That pushes my total up to four games out of twelve! One third of the way there! Hmm, so I’ve done 33% of the games, in 60% of the year… that’s not great. I don’t have a lot of hope for completing my goal by the end of the year. After attempting to make a game a month, I don’t know if it’s something I want to do. I could make twelve shitty games in one month if I really wanted, but I want to spend time making quality, fun games, and that’s hard to do in the span of a single month, when I’m busy with school and work.
So maybe I’ll finish a few more games in the remainder of 2015, but I don’t plan on completing 12. Right now I’m working on a binary finite state machine implementation in TypeScript, which is more of an application than a game. For the first time in a long time I won’t be working or have any homework to do during Ludum Dare, so I’m planning on actually giving it a good effort. Hopefully I’ll be back at the end of the month with my completed entry into the compo!


Largest Marathons for 1940
98 Boston 19 Apr Boston MA USA 50 German Championship 18 Aug Berlin GER 34 Yonkers 10 Nov Yonkers NY USA 32 Frank Dengis Memorial 06 Apr Baltimore MD USA 16 Swedish Championship 18 Aug Hofors SWE 11 Canadian Championship 24 May Toronto ON CAN 10 Austrian Championship 29 Sep Vienna AUTLast Updated on
07 Jan 2016


Make the service public
In the Service Details page of the newly created API Mapper service, in the Access Control section, check Make this Service Public to all Projects and Services and click Save Service.
Upgrade the database of the service
The API Mapper service needs a dedicated database. To perform this task, the service needs to be fully deployed and running.


Container Support
Cephei 1.8 includes Container Support, a tweak that allows jailbreak apps to be installed to /Applications but use a container like an App Store app. This enables apps to live in a more secure and sandboxed environment – all software should follow the principle of least privilege.
The advantage of using a container is that all of the data it will ever create will be within a data directory. To remove the data and start over, you could simply delete this directory. It also allows you to tell exactly what files it writes to.
Enabling a container for your app is highly recommended if the app may be submitted to the App Store. Even if it won’t be, and you aren’t doing anything that would require a jailbreak or unrestricted access to the system, enabling a container is beneficial to ensuring your app can’t do anything unexpected to system files and user data.
To have your app use a container, simply add a key to the app’s Info.plist.
<key>HBAppRequiresContainer</key>
<true/>
After reloading the Launch Services application cache (by running uicache
), the app will be in a container.
The only possible value for this key is true
. Since an App Store app could easily add the same key set to false
to gain unrestricted access to the device, disabling containers is not supported.


| accept |
file |
Hint for expected file type in file upload |
| alt |
image |
alt attribute for the image type. Required for accessibiltiy |
| autocomplete |
all |
Hint for form autofill feature |
| autofocus |
all |
Automatically focus the form control when the page is loaded |
| capture |
file |
Media capture input method in file upload controls |
| checked |
radio, checkbox |
Whether the command or control is checked |
| dirname |
text, search |
Name of form field to use for sending the element's directionality in form submission |
| disabled |
all |
Whether the form control is disabled |
| form |
all |
Associates the control with a form element |
| formaction |
image, submit |
URL to use for form submission |
| formenctype |
image, submit |
Form data set encoding type to use for form submission |
| formmethod |
image, submit |
HTTP method to use for form submission |
| formnovalidate |
image, submit |
Bypass form control validation for form submission |
| formtarget |
image, submit |
Browsing context for form submission |
| height |
image |
Same as height attribute for <img>; vertical dimension |
| id |
global |
Global attribute, which must be unique, used to identify the element when linking |
| inputmode |
global |
Hint for selecting an input modality, such as the number keypad on dynamic keyboards. |
| list |
almost all |
Value of the id attribute of the <datalist> of autocomplete options |
| max |
numeric types |
Maximum value |
| maxlength |
password, search, tel, text, url |
Maximum length (number of characters) of value |
| min |
numeric types |
Minimum value |
| minlength |
password, search, tel, text, url |
Minimum length (number of characters) of value |
| multiple |
email, file |
Boolean. Whether to allow multiple values |
| name |
all |
Name of the input form control. Submitted with the form as part of a name/value pair. |
| pattern |
password, text, tel |
Pattern (regular expression) the value must match to be valid |
| placeholder |
password, search, tel, text, url |
content to be appear in the form control when the form control is empty |
| readonly |
almost all |
Boolean. The value is not editable |
| required |
almost all |
Boolean. A value is required or must be check for the form to be submittable |
| size |
|
Size of the control |
| src |
image |
Same as src attribute for <img>; address of image resource |
| step |
numeric types |
Incremental values that are valid. |
| tabindex |
global |
Integer. Position of focus order in list of elements that are focusable via tabbing |
| title |
global |
String. Text representing advisory information related to the element it belongs to. |
| type |
all |
Type of input form control |
| value |
all |
Current value of the form control. Submitted with the form as part of a name/value pair. |
| width |
image |
Same as width attribute for <img> |


How to compare yourself just to yourself
I am used to compare myself with others to make sure I am doing a good job. I compare myself to my classmates, or check out people's LinkedIn profiles to see where I am and how to improve. However, at the beginning of my internship, I really didn't know whether I am doing good or not. I simply didn't know what the expectation is. Also, I was the only UX Design intern at Irvine office, I simply don't have anyone to compare with.
Along the way of my internship, I gradually get used to stop comparing myself to others. On my weekly recap, I started shifting focus from "what I did that week" to "what I learned". I started tracking my progress as an intern who is learning and improving, instead of simply tracking my project. Now I look back, I can see the "current me" know more and learned a lot compared to the "last week me". I think this is a great habit that I will carry throughout my career.
Every design problem has different approach. Take a big problem apart, and solve them piece by piece
What I learned at school, the approaches I took in class projects, definitely does not fit in the projects I did at Google. Designer are valued by problem solving skills, not flashing mockups. Being independent and being able to see a problem, figuring out what steps I need to take to achieve the goal takes time to learn and adapt. I am happy to say that during my internship at Google, I received great guidance and mentorship, not on solving design problems, but on how to solve them, how to break big problems into smaller pieces and solve them one by one.
What to do with design feedback
Take notes and make sure I understand others' feedback, so I don't forget them. So the next time when presenting iterated designs, point that feedback out, and tell your teammates what I did based on their feedback. This way, I keep the design better, I make sure my teammates know that I take their feedback seriously and I made the work better, and keep the conversation and presentation engaging. I appreciate all the feedback, and people appreciate their words are listened and taken.
Be patient. Don’t jump into high fidelity too early. You are not overdelivering, you are wasting time.
Make sure the team agree on the lo-fi before move on to high fidelity. Delivering hi-fi too early is not over achieving the goal. It's wasting time, while I should spend those time crafting the lo-fi.
What is a good ask-for-feedback design package
Keep the placement text and image out. When in cases you need to have them, indicated them. Otherwise they are going to give feedback on them. Don’t waste people’s time! Also, have supporting comments on the mockups to avoid confusion.
Don’t know much about the product? Go do research! Don’t know xxx skill? Learn!
Keep learning and stay out of your comfort zone. When you are doing tasks that you have never done before and have no idea how to do it, it's a great time to learn. After completing the tasks, you have widen your skillset.
How to present design as a new member?
As a new member and junior designer on team, it’s hard to present your designs with confidence while you know your team knows more about the product than you are. I struggled with this for a long time. I think the answer to that, is RESEARCH. Yes, your team are more senior than you, have more experience, know more about the product. HOWEVER, they don’t know about your own design as well as you are. It might take time, but research is the best way to back up your design decision -- and it's ok to make mistakes. Better do the research, and make the mistakes, and you learn from it, than too afraid to do nothing.


The following function is deprecated and is superseded by MPI_TYPE_CREATE_HVECTOR in MPI-2.0. The language independent definition and the C binding of the deprecated function is the same as of the new function, except of the function name. Only the Fortran language binding is different.
| MPI_TYPE_HVECTOR( count, blocklength, stride, oldtype, newtype) | |
| IN count | number of blocks (non-negative integer) |
| IN blocklength | number of elements in each block (non-negative integer) |
| IN stride | number of bytes between start of each block (integer) |
| IN oldtype | old datatype (handle) |
| OUT newtype | new datatype (handle) |
int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype)
MPI_TYPE_HVECTOR(COUNT, BLOCKLENGTH, STRIDE, OLDTYPE, NEWTYPE, IERROR)
INTEGER COUNT, BLOCKLENGTH, STRIDE, OLDTYPE, NEWTYPE, IERROR
The following function is deprecated and is superseded by MPI_TYPE_CREATE_HINDEXED in MPI-2.0.
The language independent definition and the C binding
of the deprecated function is the same as of the new function,
except of the function name.
Only the Fortran language binding is different.
| MPI_TYPE_HINDEXED( count, array_of_blocklengths, array_of_displacements, oldtype, newtype) | |
| IN count | number of blocks -- also number of entries in
array_of_displacements and array_of_blocklengths (non-negative integer) |
| IN array_of_blocklengths | number of elements in each block (array of non-negative integers) |
| IN array_of_displacements | byte displacement of each block (array of integer) |
| IN oldtype | old datatype (handle) |
| OUT newtype | new datatype (handle) |
int MPI_Type_hindexed(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype oldtype, MPI_Datatype *newtype)
MPI_TYPE_HINDEXED(COUNT, ARRAY_OF_BLOCKLENGTHS, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR)
INTEGER COUNT, ARRAY_OF_BLOCKLENGTHS(*), ARRAY_OF_DISPLACEMENTS(*), OLDTYPE, NEWTYPE, IERROR
The following function is deprecated and is superseded by MPI_TYPE_CREATE_STRUCT in MPI-2.0.
The language independent definition and the C binding
of the deprecated function is the same as of the new function,
except of the function name.
Only the Fortran language binding is different.
| MPI_TYPE_STRUCT(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) | |
| IN count | number of blocks (integer) (non-negative integer) -- also number of entries in arrays array_of_types, array_of_displacements and array_of_blocklengths |
| IN array_of_blocklength | number of elements in each block (array of non-negative integer) |
| IN array_of_displacements | byte displacement of each block (array of integer) |
| IN array_of_types | type of elements in each block (array of handles to datatype objects) |
| OUT newtype | new datatype (handle) |
int MPI_Type_struct(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype *array_of_types, MPI_Datatype *newtype)
MPI_TYPE_STRUCT(COUNT, ARRAY_OF_BLOCKLENGTHS, ARRAY_OF_DISPLACEMENTS, ARRAY_OF_TYPES, NEWTYPE, IERROR)
INTEGER COUNT, ARRAY_OF_BLOCKLENGTHS(*), ARRAY_OF_DISPLACEMENTS(*), ARRAY_OF_TYPES(*), NEWTYPE, IERROR
The following function is deprecated and is superseded by MPI_GET_ADDRESS in MPI-2.0.
The language independent definition and the C binding
of the deprecated function is the same as of the new function,
except of the function name.
Only the Fortran language binding is different.
| MPI_ADDRESS(location, address) | |
| IN location | location in caller memory (choice) |
| OUT address | address of location (integer) |
int MPI_Address(void* location, MPI_Aint *address)
MPI_ADDRESS(LOCATION, ADDRESS, IERROR)
<type> LOCATION(*)
INTEGER ADDRESS, IERROR
The following functions are deprecated and are superseded by MPI_TYPE_GET_EXTENT in MPI-2.0.
| MPI_TYPE_EXTENT(datatype, extent) | |
| IN datatype | datatype (handle) |
| OUT extent | datatype extent (integer) |
int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent)
MPI_TYPE_EXTENT(DATATYPE, EXTENT, IERROR)
INTEGER DATATYPE, EXTENT, IERROR
Returns the extent of a datatype, where extent is as defined on page Lower-Bound and Upper-Bound Markers . The two functions below can be used for finding the lower bound and the upper bound of a datatype.
| MPI_TYPE_LB( datatype, displacement) | |
| IN datatype | datatype (handle) |
| OUT displacement | displacement of lower bound from origin, in bytes (integer) |
int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint* displacement)
MPI_TYPE_LB( DATATYPE, DISPLACEMENT, IERROR)
INTEGER DATATYPE, DISPLACEMENT, IERROR
| MPI_TYPE_UB( datatype, displacement) | |
| IN datatype | datatype (handle) |
| OUT displacement | displacement of upper bound from origin, in bytes (integer) |
int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint* displacement)
MPI_TYPE_UB( DATATYPE, DISPLACEMENT, IERROR)
INTEGER DATATYPE, DISPLACEMENT, IERROR
The following function is deprecated and is superseded by MPI_COMM_CREATE_KEYVAL in MPI-2.0.
The language independent definition
of the deprecated function is the same as that of the new function,
except for the function name and a different behavior in the
C/Fortran language interoperability, see Section Attributes
on page Attributes
.
The language bindings are modified.
int MPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, int *keyval, void* extra_state)
MPI_KEYVAL_CREATE(COPY_FN, DELETE_FN, KEYVAL, EXTRA_STATE, IERROR)
A Fortran declaration for such a function is as follows:
SUBROUTINE COPY_FUNCTION(OLDCOMM, KEYVAL, EXTRA_STATE, ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERR)
SUBROUTINE DELETE_FUNCTION(COMM, KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, IERR)
int MPI_Keyval_free(int *keyval)
MPI_KEYVAL_FREE(KEYVAL, IERROR)
int MPI_Attr_put(MPI_Comm comm, int keyval, void* attribute_val)
MPI_ATTR_PUT(COMM, KEYVAL, ATTRIBUTE_VAL, IERROR)
int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
MPI_ATTR_GET(COMM, KEYVAL, ATTRIBUTE_VAL, FLAG, IERROR)
int MPI_Attr_delete(MPI_Comm comm, int keyval)
MPI_ATTR_DELETE(COMM, KEYVAL, IERROR)
int MPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler)
MPI_ERRHANDLER_CREATE(FUNCTION, ERRHANDLER, IERROR)
In the C language,
the user routine should be a C function of type MPI_Handler_function,
which is defined as:
2.2
int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
MPI_ERRHANDLER_SET(COMM, ERRHANDLER, IERROR)
Associates the new error handler errorhandler
with communicator comm at the calling process. Note that an
error handler is always associated with the communicator.
The following function is deprecated and is superseded by MPI_COMM_GET_ERRHANDLER in MPI-2.0.
The language independent definition
of the deprecated function is the same as of the new function,
except of the function name.
The language bindings are modified.
int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
MPI_ERRHANDLER_GET(COMM, ERRHANDLER, IERROR)
Returns in errhandler (a handle to) the error handler that is
currently
associated with communicator comm.
MPI_KEYVAL_CREATE(copy_fn, delete_fn, keyval, extra_state) IN copy_fn Copy callback function for keyval IN delete_fn Delete callback function for keyval OUT keyval key value for future access (integer) IN extra_state Extra state for callback functions
EXTERNAL COPY_FN, DELETE_FN
INTEGER KEYVAL, EXTRA_STATE, IERROR
The copy_fn function is invoked when a communicator is
duplicated by MPI_COMM_DUP. copy_fn should be
of type MPI_Copy_function, which is defined as follows:
typedef int MPI_Copy_function(MPI_Comm oldcomm, int keyval,
void *extra_state, void *attribute_val_in,
void *attribute_val_out, int *flag)
INTEGER OLDCOMM, KEYVAL, EXTRA_STATE, ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, IERR
LOGICAL FLAG
copy_fn may be specified as
MPI_NULL_COPY_FN or
MPI_DUP_FN
from either C or FORTRAN;
MPI_NULL_COPY_FN
is a function that does nothing other than returning flag = 0
and MPI_SUCCESS.
MPI_DUP_FN is a simple-minded
copy function that sets flag = 1,
returns the value of
attribute_val_in in attribute_val_out, and
returns MPI_SUCCESS.
Note that MPI_NULL_COPY_FN
and MPI_DUP_FN are also deprecated.
Analogous to copy_fn is a callback deletion function, defined
as follows. The delete_fn function is invoked when a communicator is
deleted by MPI_COMM_FREE or when a call is made explicitly
to MPI_ATTR_DELETE. delete_fn should be
of type MPI_Delete_function, which is defined as follows:
typedef int MPI_Delete_function(MPI_Comm comm, int keyval,
void *attribute_val, void *extra_state);
A Fortran declaration for such a function is as follows:
INTEGER COMM, KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, IERR
delete_fn may be specified as
MPI_NULL_DELETE_FN from either C or FORTRAN;
MPI_NULL_DELETE_FN is a function that does nothing, other
than returning MPI_SUCCESS.
Note that MPI_NULL_DELETE_FN is also deprecated.
The following function is deprecated and is superseded by MPI_COMM_FREE_KEYVAL in MPI-2.0.
The language independent definition
of the deprecated function is the same as of the new function,
except of the function name.
The language bindings are modified.
MPI_KEYVAL_FREE(keyval) INOUT keyval Frees the integer key value (integer)
INTEGER KEYVAL, IERROR
The following function is deprecated and is superseded by MPI_COMM_SET_ATTR in MPI-2.0.
The language independent definition
of the deprecated function is the same as of the new function,
except of the function name.
The language bindings are modified.
MPI_ATTR_PUT(comm, keyval, attribute_val) INOUT comm communicator to which attribute will be attached (handle) IN keyval key value, as returned by
MPI_KEYVAL_CREATE (integer) IN attribute_val attribute value
INTEGER COMM, KEYVAL, ATTRIBUTE_VAL, IERROR
The following function is deprecated and is superseded by MPI_COMM_GET_ATTR in MPI-2.0.
The language independent definition
of the deprecated function is the same as of the new function,
except of the function name.
The language bindings are modified.
MPI_ATTR_GET(comm, keyval, attribute_val, flag) IN comm communicator to which attribute is attached (handle) IN keyval key value (integer) OUT attribute_val attribute value, unless flag = false OUT flag true if an attribute value was extracted; false if no attribute is associated with the key
INTEGER COMM, KEYVAL, ATTRIBUTE_VAL, IERROR
LOGICAL FLAG
The following function is deprecated and is superseded by MPI_COMM_DELETE_ATTR in MPI-2.0.
The language independent definition
of the deprecated function is the same as of the new function,
except of the function name.
The language bindings are modified.
MPI_ATTR_DELETE(comm, keyval) INOUT comm communicator to which attribute is attached (handle) IN keyval The key value of the deleted attribute (integer)
INTEGER COMM, KEYVAL, IERROR
The following function is deprecated and is superseded by MPI_COMM_CREATE_ERRHANDLER in MPI-2.0.
The language independent definition
of the deprecated function is the same as of the new function,
except of the function name.
The language bindings are modified.
MPI_ERRHANDLER_CREATE( function, errhandler ) IN function user defined error handling procedure OUT errhandler MPI error handler (handle)
EXTERNAL FUNCTION
INTEGER ERRHANDLER, IERROR
Register the user routine function for use as an MPI
exception handler. Returns in errhandler a handle to the registered
exception handler.
typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
The first argument is the communicator in use, the second
is the error code to be returned.
In the Fortran language, the user routine should be of the form:
SUBROUTINE HANDLER_FUNCTION(COMM, ERROR_CODE)
INTEGER COMM, ERROR_CODE
The following function is deprecated and is superseded by MPI_COMM_SET_ERRHANDLER in MPI-2.0.
The language independent definition
of the deprecated function is the same as of the new function,
except of the function name.
The language bindings are modified.
MPI_ERRHANDLER_SET( comm, errhandler ) INOUT comm communicator to set the error handler for (handle) IN errhandler new MPI error handler for communicator (handle)
INTEGER COMM, ERRHANDLER, IERROR
MPI_ERRHANDLER_GET( comm, errhandler ) IN comm communicator to get the error handler from (handle) OUT errhandler MPI error handler
currently associated with communicator (handle)
INTEGER COMM, ERRHANDLER, IERROR
Up: Contents
Next: Deprecated since MPI-2.2
Previous: Deprecated Functions
Return to MPI-2.2 Standard Index
Return to MPI Forum Home Page
(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009


ContextMedia
2014-2015
ContextMedia
2014-2015
After consulting, I was seeking an opportunity to roll up my sleeves and learn to operate. In my year and half in health-tech, I learned how to manage day-to-day operations and design for scalability. Through working on new products, I found direction, excitement, and career clarity at the intersection of business and technology.
Growth Operations Manager, January 2015 - October 2015
- Product Management:  Designed content and advertising tagging system for in-office educational TVs & tablets with 20,000 distributed units; led creation of company's first pSQL data warehouse (Amazon Redshift), linking interal CRM, device management, and analytics into one centralized database
- Project Management:  Overhauled internal sales structure from generalist to specialist lead distribution,reorganizing all 100K+ leads; oversaw creative development, scheduling, and deployment of 50+ advertising campaigns; led internal and external proof-of-performance audit of 200+ practices
- Training and Management:  Trained and on-boarded 6 analysts, 1 program manager, and 1 data engineer; directly managed analytics team projects and trainings; led and collaborated with cross-functional teams for various projects, including engineering, managers, account management, sales, and analysts
Senior Sales Analyst, June 2014 - December 2014
- Sales Enablement:  Responsible for handling day-to-day sales preparation, research, and analytics for team of 10+ senior sellers, commanding >$25M in annual revenue
- Project Management:  Led field audit spanning ContextMedia's technical support, customer support team, and revenue team; was key point of contact for all external stakeholders
- Analytics:  Developed end-to-end analytical processes for entire sales cycle, including initial matching, proposal preparation, campaign optimization and deployment, and post-flight research
The Boston Consulting Group
2012-2014
The Boston Consulting Group
2012-2014
In my two years of consulting, I worked on building a foundation for business & strategy, analytics, and client service. Through the mentorship of phenomenal managers and thought-leading partners, I learned how large corporations break down complex problems and attack them.
Associate, August 2012 - May 2014 (Summer Associate, 2011)
- Intellectual property strategy, fast-moving consumer goods:  Mined and valued expansive IP portfolio of 60,000+ patents; pitched and developed business cases for valuable cross-industry partnerships
- E-commerce strategy, consumer durables:  Outlined and set 5-year e-commerce sales roadmap with $100M+ annual revenue potential; benchmarked competitive set and determined right-to-win market share
- International growth strategy, fast-moving consumer goods:  Modeled international growth potential with target net revenues of $5B by 2017; wrote growth plans for key geographies, including India and Russia
- Additional experience:  BU KPI diagnostics in fast-moving consumer goods; pricing overhaul for online job board; pitch writing for Chicago Sports tourism; led full season of recruiting for my alma-mater
Stanford University Graduate School of Business
2016-2018
Stanford University Graduate School of Business
2016-2018
I've always dreamed of moving to the West Coast and continuing my education. As part of the incoming class of 2018, I'm excited to tackle both goals.
MBA Candidate, Class of 2018
Dev Bootcamp
2015-2016
Dev Bootcamp
2015-2016
Immediately following my time at ContextMedia, I wanted to learn the toolkit of a software developer so that I could dive headfirst into the world of technology.
Phase 0, October 2015 - December 2016
- Coursework and Structure:  9-week program covers the basics of web programming through 15-25 hours weekly of reading, exercises, and pairing challenges
- Languages:  The initial program covers command line basics, Git & Github for version control, HTML (with a focus on HTML5), CSS, and Ruby
Phases 1-3, January 2016 - March 2016
- Coursework and Structure:  10-week program is an intensive on-site immersion, with 60+ hours weekly of lecture and challenges
- Languages:  TBD
- Projects:  TBD
Northwestern University
2008 - 2012
Northwestern University
2008 - 2012
In my four years at Northwestern, I discovered my interest in business - combining analytical coursework with involvement in entrepreneurial extracurriculars.
Bachelor of Arts, Cum Laude, with a double major Mathematical Methods in the Social Sciences (MMSS) and Economics
- Coursework and Structure:  MMSS is an honors program unique to Northwestern that focuses on mathematics and econometrics applications in microeconomics, game theory, political science and a paired major of choice
- Senior Thesis:  As a capstone project, I wrote my senior thesis on the efficacy of charter schools in the Chicago Public School system
Kellogg School of Management, Undergraduate Certificate in Financial Economics
- Coursework and Structure:  Kellogg extends its curriculum in an sequence for undergrads that teaches MBA fundamentals, including coursework in corporate finance, derivatives, and portfolio theory
Northwestern Student Holdings (NSH)
- Overview:  Northwestern's largest entrepreneurial group helps students start and run on-campus businesses
- Experiences:  Led the founding of two campus startups, including a summer storage provider and a specialty delivery service; managed daily food delivery business


jshashset 3.0
Contents
Introduction
jshashset is a JavaScript implementation of HashSet, as found in Java or C#'s standard libraries. It depends on jshashtable and uses the keys of a jshashtable hash table as the underlying set.
jshashset was first included as a separate download for version 2.1 of jshashtable and is included with jshashtable from version 3.0.
Set-up
-
Download the code
Download jshashset. You can download a compressed or uncompressed version of
jshashset.js
which are functionally identical or a zip containing compressed and uncompressed code for both jshashtable and jshashset plus documentation. -
Include jshashtable and jshashset in your page
Include
jshashtable.js
andjshashset.js
in that order in script tags in your page. These files create two objects in the global scope, which areHashtable
andHashSet
. -
Create your hash set
Create your hash set, as in the example below. Any non-null, non-undefined JavaScript object can be used as member of the set.
<script type="text/javascript" src="jshashtable.js"></script> <script type="text/javascript" src="jshashset.js"></script> <script type="text/javascript"> var dinosaurs = new HashSet(); dinosaurs.add("Triceratops"); dinosaurs.add("Diplodocus"); dinosaurs.add("Stegosaurus"); alert( dinosaurs.values.join(",") ); /* Triceratops,Diplodocus,Stegosaurus */ </script>
Public API
Constructors
-
HashSet()
Creates a new, empty hash set.
-
HashSet(Object options)
New in version 3.0
Creates a new, empty hash set with the supplied options.
Option properties:-
hashCode
A function that provides hash codes for objects placed in the set. It is passed the object to be hashed as its only parameter. If not provided, the set checks whether the object has ahashCode()
method, and if not, callstoString()
on the object. -
equals
A function that checks for equality between two objects with the same hash code. If two objects that are considered equal then only one can be in the set at any one time.
This function is passed the two objects to be compared as its parameters. If not provided, the set checks whether either object being compared has an
equals()
method, and if not, compares the objects using the===
operator. -
replaceDuplicateKey
New in version 3.0
Controls what happens when
add()
is called with an object that is equal to an existing object in the set. IfreplaceDuplicateKey
istrue
, the existing key is always replaced by the new key. Otherwise, the existing key is left in place (which is what always happened prior to version 3.0). The default istrue
; prior to version 3.0.
-
-
HashSet(Function hashingFunction, Function equalityFunction)
Creates a new, empty hash set with the supplied hashing function and equality function. This form maintains backwards compatibility with versions prior to 3.0. The following line
var set = new HashSet(hashingFunction, equalityFunction);
... is equivalent to
var set = new HashSet( { hashCode: hashingFunction, equals: equalityFunction } );
Parameters:-
hashingFunction
See above.
-
equalityFunction
See above.
-
Methods
-
void add(mixed value)
Adds the specified object or primitive to the set.value
replaces any member of the set equal to it, unlessreplaceDuplicateKey
was set tofalse
in the constructor. -
void addAll(Array arr)
Adds all members of an arrayarr
to the set in order. Each member ofarr
replaces any member of the set equal to it, unlessreplaceDuplicateKey
was set tofalse
in the constructor, in which case the original value is left in place. -
Array values()
Returns an array containing all the members of the set in unspecified order.
-
void remove(mixed key)
Removes the specified value from the set.
-
Boolean contains(mixed value)
Returns whether the set contains the specified value.
-
void clear()
Removes all members from the set.
-
Number size()
Returns the number of members contained in the set.
-
Boolean isEmpty()
Returns
true
if the set contains no members,false
otherwise. -
Boolean isSubsetOf(HashSet set)
Returns
true
if every member this set is also a member ofset
,false
otherwise. -
HashSet clone()
Creates and returns a shallow copy of the set, using the same options provided to the set when it was constructed.
-
HashSet intersection(HashSet set)
Creates and returns a new
HashSet
containing only those elements that are contained in both this set andset
. -
HashSet union(HashSet set)
Creates and returns a new
HashSet
containing those elements that are contained either of or both this set andset
. -
HashSet complement(HashSet set)
Creates and returns a new
HashSet
containing those elements that are contained in this set but notset
.


Hi, I'm Michelle! I'm a full stack developer and I love creating things on the internet!
LinkedIn: https://www.linkedin.com/in/michelle-nguyen-3a2132200/
Github: https://github.com/micheqn3


Pull Request
Issues
Market Place
Explore
card-profile
card-profile-photo
overview-profile
card-overview-profile
Overview
Repositories
Projects
Stars
Followers
Following
Popular Repositories


{% extends "./jazzbase.html" %} {% load i18n static jazzmin admin_urls %} {% block cardbody %} {% if validlink %}
{% translate "Please enter your new password twice so we can verify you typed it in correctly." %}
{% else %}{% translate "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}
{% endif %} {% endblock %}


CMP
Section: User Commands (1)Updated: November 2010
Index Return to Main Contents
NAME
cmp - compare two files byte by byteSYNOPSIS
cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]DESCRIPTION
Compare two files byte by byte.- -b --print-bytes
- Print differing bytes.
- -i SKIP --ignore-initial=SKIP
- Skip the first SKIP bytes of input.
- -i SKIP1:SKIP2 --ignore-initial=SKIP1:SKIP2
-
- Skip the first SKIP1 bytes of FILE1 and the first SKIP2 bytes of FILE2.
- -l --verbose
- Output byte numbers and values of all differing bytes.
- -n LIMIT --bytes=LIMIT
- Compare at most LIMIT bytes.
- -s --quiet --silent
- Output nothing; yield exit status only.
- -v --version
- Output version info.
- --help
- Output this help.
SKIP1 and SKIP2 are the number of bytes to skip in each file. SKIP values may be followed by the following multiplicative suffixes: kB 1000, K 1024, MB 1,000,000, M 1,048,576, GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.
If a FILE is `-' or missing, read standard input.
AUTHOR
Written by Torbjorn Granlund and David MacKenzie.REPORTING BUGS
Report bugs to<EMAIL_ADDRESS>Copyright © 2002 Free Software Foundation, Inc.This program comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of this program under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING.
SEE ALSO
The full documentation for cmp is maintained as a Texinfo manual. If the info and cmp programs are properly installed at your site, the command- info diff
should give you access to the complete manual.
Index
This document was created by man2html, using the manual pages.
Time: 05:29:02 GMT, December 24, 2015


Courtney Hans
I am a software developer and experiential product expert with a knack for understanding customer pain points and delivering creative, effective solutions. Drawing on my background as an adventure travel guide, I bring an agile mindset and talent for developing authentic relationships to look beyond what currently exists and articulate (and build) what could be. The week I graduated from college, I decided to take a whitewater raft guiding course, and it changed the trajectory of my life, leading to a decade as an adventure travel guide and a lifelong desire for exploration and learning. During the COVID pandemic of 2020, I’ve embraced a new opportunity to launch my career as a developer, in which I intend to harness my insatiable curiosity, love of storytelling, and drive for elegant customer solutions. I’m always open to hearing about new opportunities, brainstorming, and swapping adventure stories, and I’d love to hear how I can help you achieve your audacious goals!


/Home /About Me /Projects /Curriculum Vitae
This is the small personal website ran by Callum, a person interested in all things Computer Science. If you have any questions, feedback or want to learn more about any of my projects, you can contact me here:


Custom ostream class for writing to an OutputBuffer. More...
#include <BufferStream.hh>
Public Member Functions | |
| ostream () | |
| Default constructor, creates a new OutputBuffer. | |
| ostream (OutputBuffer &buf) | |
| Output to a specific buffer. | |
| const OutputBuffer & | getBuffer () const |
| Return the output buffer created by the write operations to this ostream. | |
Protected Attributes | |
| ostreambuf | obuf_ |
Custom ostream class for writing to an OutputBuffer.


Toggle navigation
Menu
RF
Home
Instagram
Facebook
Contact
RIVER FIELDS
"A journey of a thousand miles begins with a single step" -Lao Tzu
Future Neurosurgeon


“Sorry Steve, you can't blame this one on America.”
“Communication is what I'm talking about, Stephen.”
“Stephen, you can't make tea in space.”
“But we can't help ourselves, Stephen, because humans are naturally inquisitive.”
“Stephen, I think it's time you turned a telescope on your own home life.”
“Stephen, Cuba's the last vestige of an evil empire.”
“Well isn't it obvious, Stephen?”
“Suck it up, Stephen!”
“No, this is not about me, Steve, this is about a lonely little boy.”
“I love you, Steve.”
“Let's face it Steve, politics have become a bore.”
“Steve, stooping to the lowest common denominator isn't the answer.”
“You're just proving my point, Steve.”
“Look, this is nothing new: Stephen Douglas once referred to Abraham Lincoln as a fussy scoundrel.”
“Just because it ended in 1898 is too easy an answer, Stephen.”
“That's as maybe some-evers, Stephen, but if freshness is your only requirement why not point the camera at a newly-minted turd?”
“Call me old fashioned, Steve, but I am a people person.”
“The point is, Steve, the point is, not everything is worth watching.”
“Steve!


We are Team Axon, named after the neural fiber that transmits information to other neurons throughout the human body. The term’s association with people and connectivity seemed particularly appropriate for our name due to the fact that we are working with Cisco toward the goal of connecting people together, apart. We are a team of interdisciplinary Masters of Human-Computer Interaction students, completing the capstone of our program. Working closely with each other we have experienced, first-hand, the pains, the joys and the epiphanies of face-to-face team collaboration. It is our mission to bring the magic of face-to-face communication to the digital realm with this project.
We’ve hit the ground running ever since the very beginning of the semester, all in anticipation of digging into the heart of this topic. Now, with this report, you will be able to come along for the ride to see how we got there.
Given the broad scope of our task, we settled on an agile, three- phase approach to our research, which consisted of interviews and contextual inquiries. With each phase, we immediately consolidated and extracted insights from our preliminary findings that guided us to the next stage of research.
By starting field research immediately and letting it guide our research direction, we let the data—and mostly importantly, the people—speak for themselves.
The first phase of our research allowed us to observe the landscape of human communication and collaboration both in-person and remotely. During the second phase of our research, we visited professionals in enterprise and startups in Pittsburgh, in order to explore how people operated in industry. In our third and final stage, we visited various Cisco sites and looked at the way they operated, communicated, and collaborated.
Austin has a BA in Visual Art: New Media, with an emphasis on interaction sculpture. He seeks to create design solutions that extent beyond the screen, both manifesting in and affecting the physical work as well as the digital one. His boisterous laugh and commanding presence makes him our beloved Team Lead.
Angela earned a BS in Biomedical Engineering and studied neural signals as they pertain to human speech and language. Her fascination with human communication and group dynamics brought her to CMU, and her creative and rigorous research approaches as User Experience Research Lead help us delve into and explore our research in unexpected ways.
Michael is an accelerated Masters student, while finishing his undergraduate double major in Communication Design and HCI. He has interned at Morningstar Inc. and Nike, and brings his meticulous and tasteful design style as our Visual Design Lead.
Sean earned his Bachelor’s Degree in Economics, with experience working as a business analyst intern at an IT consulting firm. He brings his solid technical know- how and talents in a variety of topics to his role as our dependable Technical Lead.
Xiaoyue has a Bachelor’s Degree in Electronic Engineering, and was a British Parliamentary debater and research intern at Tsinghua University before coming to CMU. Despite her engineering background, her heart was always in the arts. With more than 10 years of drawing experience, she is our User Experience Design Lead.


Download 0.2.11 (or Minified) | Guide | API | Sample (Src) | FAQ | Resources | Report an Issue | Contribute | Help! | Discuss
AngularUI Router is a routing framework for AngularJS, which allows you to organize the
parts of your interface into a state machine. Unlike the
$route
service in the Angular ngRoute module, which is organized around URL
routes, UI-Router is organized around states,
which may optionally have routes, as well as other behavior, attached.
States are bound to named, nested and parallel views, allowing you to powerfully manage your application’s interface.
Check out the sample app: http://angular-ui.github.io/ui-router/sample/
- Note: UI-Router is under active development. As such, while this library is well-tested, the API may change. Consider using it in production applications only if you’re comfortable following a changelog and updating your usage accordingly.
(1) Get UI-Router in one of the following ways:
- clone & build this repository
- download the release (or minified)
- via Bower: by running $ bower install angular-ui-router
from your console
- or via npm: by running $ npm install angular-ui-router
from your console
- or via Component: by running $ component install angular-ui/ui-router
from your console
(2) Include angular-ui-router.js
(or angular-ui-router.min.js
) in your index.html
, after including Angular itself (For Component users: ignore this step)
(3) Add 'ui.router'
to your main module’s list of dependencies (For Component users: replace 'ui.router'
with require('angular-ui-router')
)
When you’re done, your setup should look similar to the following:
... ...```html <!doctype html> <html ng-app="myApp">
</html> ```
The majority of UI-Router’s power is in its ability to nest states & views.
(1) First, follow the setup instructions detailed above.
(2) Then, add a ui-view
directive to the <body />
of your app.
State 1 State 2```html
```
(3) You’ll notice we also added some links with ui-sref
directives. In addition to managing state transitions, this directive auto-generates the href
attribute of the <a />
element it’s attached to, if the corresponding state has a URL. Next we’ll add some templates. These will plug into the ui-view
within index.html
. Notice that they have their own ui-view
as well! That is the key to nesting states and views.
```html
Show List
<div ui-view></div>
html
Show List <div ui-view></div> ```
(4) Next, we’ll add some child templates. These will get plugged into the ui-view
of their parent state templates.
```html
```
```html
```
(5) Finally, we’ll wire it all up with $stateProvider
. Set up your states in the module config, as in the following:
javascript myApp.config(function($stateProvider, $urlRouterProvider) { // // For any unmatched url, redirect to /state1 $urlRouterProvider.otherwise("/state1"); // // Now set up the states $stateProvider .state('state1', { url: "/state1", templateUrl: "partials/state1.html" }) .state('state1.list', { url: "/list", templateUrl: "partials/state1.list.html", controller: function($scope) { $scope.items = ["A", "List", "Of", "Items"]; } }) .state('state2', { url: "/state2", templateUrl: "partials/state2.html" }) .state('state2.list', { url: "/list", templateUrl: "partials/state2.list.html", controller: function($scope) { $scope.things = ["A", "Set", "Of", "Things"]; } }); });
(6) See this quick start example in action. >Go to Quick Start Plunker for Nested States & Views
(7) This only scratches the surface >Dive Deeper!
Another great feature is the ability to have multiple ui-view
s view per template.
Pro Tip: While multiple parallel views are a powerful feature, you’ll often be able to manage your interfaces more effectively by nesting your views, and pairing those views with nested states.
(1) Follow the setup instructions detailed above.
(2) Add one or more ui-view
to your app, give them names.
>
```html
```
(3) Set up your states in the module config:
>
javascript
myApp.config(function($stateProvider) {
$stateProvider
.state('index', {
url: "",
views: {
"viewA": { template: "index.viewA" },
"viewB": { template: "index.viewB" }
}
})
.state('route1', {
url: "/route1",
views: {
"viewA": { template: "route1.viewA" },
"viewB": { template: "route1.viewB" }
}
})
.state('route2', {
url: "/route2",
views: {
"viewA": { template: "route2.viewA" },
"viewB": { template: "route2.viewB" }
}
})
});
(4) See this quick start example in action. >Go to Quick Start Plunker for Multiple & Named Views
Please read our Contributor guidelines before reporting an issue or creating a pull request.


WITNESS LIST
Homeland Security & Public Safety Committee
May 25, 2016 - 10:00 AM
Dissemination of Criminal Records
On:
Ellis, Joe (Self; Freedom of information foundation of texas)
Ellman, Eric (Consumer Data Industry Assn.)
Fleming, John (Texas Mortgage Bankers Association)
Foy, David (LexisNexis)
Hearn, Skylor (Texas Department of Public Safety)
Mintz, David (Texas Apartment Association)
Mitchell, Kathy (Texas criminal justice coalition)
Morgan, Stephanie (Geneeral Information Services)
Muldrow, Dianna (Texas Public Policy Foundation)
Svanas, Galen (National Association of Professional Background Screeners)
Woodburn, Caroline (Self; County and District Clerks' Association of Texas)
Registering, but not testifying:
On:
Harris, Jay (CoreLogic)
1


{% if member_info.admin %}
Admin
{% endif %}
{% if member_info.moderator %}
Mod
{% endif %}
{% endif %}
{% if tag_info %} All tags:
{% for tag in tag_info %}
{% else %}
There are no tags. You can tag an email by adding it to the subject with [Tag] or anywhere in the body with #tag.
{% endif %}
{{ active_group.name }}
{% if active_group.description %} {{ active_group.description }}{% endif %}
{% if tag_info %} All tags:
|
|
{{ tag.num_p }} {% if tag.num_p == 1 %} post {% else %} posts {% endif %} | {% if member_info.no_emails or not member_info.always_follow_thread %} {% if tag.followed %} {% else %} {% endif %} {% else %} {% if tag.muted %} {% else %} {% endif %} {% endif %} |
{% if member_info.no_emails %}
You are currently set to receive no emails from this squad, except those you follow.
You can follow individual threads or all threads with a specific tag. {% elif member_info.always_follow_thread %} You are currently set to receive all emails from this squad, except those you mute.
You can mute individual threads or threads with a specific tag. {% else %} You are currently set to receive the first email of each thread from this squad, except those you follow.
You can follow individual threads or all threads with a specific tag. {% endif %}
Change your settings.
You can follow individual threads or all threads with a specific tag. {% elif member_info.always_follow_thread %} You are currently set to receive all emails from this squad, except those you mute.
You can mute individual threads or threads with a specific tag. {% else %} You are currently set to receive the first email of each thread from this squad, except those you follow.
You can follow individual threads or all threads with a specific tag. {% endif %}
Change your settings.


LOONA surprises fans with mysterious image teaser for '365'
by danisurstLOONA has dropped a big hit to their fans.
At midnight on December 10 KST, the group's agency Blockberry Creative released an unannounced image teaser for '365,' puzzling fans with exactly what kind of release it is teasing.
In the image, there is a glowing moon with the numbers 3, 6, and 5 layered atop one another in pink, yellow, and blue. The caption for the image simply reads, "Through the heart of the 365-day moon."
Meanwhile, '365' will be unveiled on December 13 at 6 PM KST, a day before their December 14 'Premier Greeting' event at Seoul's YES24 Live Hall.
What do you think '365' will be?


{{italic title}} {{Unreferenced|date=May 2010}} {{Infobox prepared food | name = Pain aux raisins | image = | caption = A French style pain aux raisins | alternate_name = Escargot (Australia) | country = France | region = | creator = | course = Breakfast | type = Pastry | served = | main_ingredient = Pastry, raisins, custard | variations = | calories = | other = }}
Pain aux raisins ({{IPA-fr|pɛ̃ o ʁɛ.zɛ̃}}), is a breakfast food often eaten in France that is directly translated to raisin bread. It is also known as an 'escargot' in Australia. Pain aux raisins is a member of the pâtisserie viennoise family of baked foods.
In France, it is typically a variant of the croissant or pain au chocolat, made with a leavened butter pastry with raisins added and shaped in a spiral with a crème pâtissière filling. However, in many areas of Northern Europe and North America, it is generally made with sweetened bread dough or brioche dough, rather than pastry. It is often consumed for breakfast as a part of a Continental breakfast.
{{Pastries}} {{Foods featuring butter}}


Management Personality Types
Lee Fox
@FoxInATX
About Lee
- Cloud Architect at Infor
- Past Technology Chair of Agile Austin
- Co-Author of Effective Gradle Implementation Video Series on Packt
- Trained Innovation Games Facilitator
- Alexa and Google Home Developer
- Amateur Chef
What we will cover
- Why do you need to know this?
- Theory X and Theory Y
- Type A and Type B
- Introverts and Extroverts
- Myers Briggs
- Johari Window
Introverts and Extroverts
Myers Briggs Personality Types
Johari Window
| |
Known to self |
Unknown to self |
| Known to others |
Arena self |
Blind self |
| Unknown to others |
Hidden self |
Unknown self |
Source Links
- Grails 3 Plugin: https://github.com/rvanderwerf/grails-alexa-skills or http://grails.org/plugins.html#plugin/alexa-skills
- Twitter AWS Groovy Lambda App: https://github.com/rvanderwerf/alexa-twitter-groovy
- Twitter Grails 3 App: https://github.com/rvanderwerf/twitterAuth
- Hero Quiz Groovy Lambda App: https://github.com/rvanderwerf/heroQuiz
- Run Skills in Browser: http://echosim.io
- Amazon Developer Portal to register Skills: https://developer.amazon.com
Any questions?
I hope you have enjoyed the session!
Twitter: @FoxInATX
Email: lee.h.fox@gmail.com


We have styled all Bootstrap elements just as you want!
You can use a link with the href
attribute, or a button with the data-target
attribute. In both cases, the data-toggle="collapse"
is required.
Extend the default collapse behavior to create an accordion with the panel component.