Codes for analyzing various problems of geophysics, continuum mechanics and gravity models.
| Version: | 1.4-1 |
| Depends: | R (≥ 2.15) |
| Imports: | RPMG, RSEIS, RFOC, GEOmap, cluster |
| Suggests: | stats |
| Published: | 2018-01-21 |
| Author: | Jonathan M. Lees [aut, cre], Jake Anderson [ctb], Francois Beauducel [ctb], Dmitry Nicolsky [ctb] |
| Maintainer: | Jonathan M. Lees <jonathan.lees at unc.edu> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| Copyright: | see inst/COPYRIGHTS geophys copyright details |
| NeedsCompilation: | no |
| CRAN checks: | geophys results |
| Reference manual: | geophys.pdf |
| Package source: | geophys_1.4-1.tar.gz |
| Windows binaries: | r-devel: geophys_1.4-1.zip, r-release: geophys_1.4-1.zip, r-oldrel: geophys_1.4-1.zip |
| OS X binaries: | r-release: geophys_1.4-1.tgz, r-oldrel: geophys_1.4-1.tgz |
| Old sources: | geophys archive |
Please use the canonical form https://CRAN.R-project.org/package=geophys to link to this page.


Get into the Flow | Page 2
Summary Page
The backing bean of this page has been created at: #{summaryPage.time}
The registration value retrieved from the registration view backing bean => #{summaryPage.registrationValue}


Inflation hedge - nominal returns tend to be highly correlated with inflation rate
Growth - high historical long-term real rates of return
Approaches to Equity Investment
Passive management
Indexing
Active management
Semiactive management
Active return
Active/tracking risk
Information ratio
Passive Equity Investing
Equity Indices
Weighting types:
Price weighted - each stock in the index is weighted according to its absolute share price
Represents the performance of a portfolio that simply bought and held one share of each index component
Value weighted - each stock in the index is weighted according to its market cap
Represents the performance of a portfolio that owns all the outstanding shares of each index component
Equal weighted - each stock in the index in weighted equally
Represents the performance of a portfolio in which the same amount of money is invested in the shares of each index component
Passive Investment Vehicles
Indexed portfolios
Conventional index mutual funds
Exchange-traded funds (ETFs)
Separate/pooled accounts
Long cash + long equity index future
Long cash + long equity total return swaps
Mutual Funds vs. ETFs
Shareholder accounting at the fund level can be a significant expense for conventional mutual funds; ETFs do not have fund level shareholder accounting
ETFs generally pay much higher index license fees than conventional funds
ETFs are often much more tax-efficient than conventional funds
Users of ETFs pay transaction costs including commissions to trade them; However, for ongoing shareholders, ETFs provide inherently better protection from the cost of providing liquidity to shareholders who are selling fund shares
Indexed Portfolios
Full replication - every issue in the index is represented in the portfolio and will have approximately the same weight in the fund as in the index
Stratified sampling - investor divides index along several dimensions, creating multidimensional cells, in which each index stock is categorized; A random sample of stocks is selected from each cell to compose the portfolio
Active Equity Investing
Investment Styles
Value - attempts to identify stocks that are relatively cheap in terms of the purchase price of earnings or assets
Low P/E
Contrarian
High yield
Growth - attempts to identify stocks that have superior growth prospects
Consistent growth
Earnings momentum
Identifying Investment Styles
Returns-based style analysis (RBSA) - focuses on overall portfolio characteristics by regressing portfolio returns on return series of a set of securities indices that are:
Mutually exlusive
Exhaustive with respect to the relevant investment universe
Distince sources of risk
Holdings-based style analysis (HBSA) - categorizes individual securities by characteristics and aggregates the results to determine overall portfolio style
Identifying Investment Styles (cont'd)
Illustrative Style Box
Definition: Visual way of quickly and easily categorizing investment styles
Style Drift
Definition: The phenomenon wherein an investment manager strays from his stated style to the style current in favor
Socially Responsible Investing (SRI)
Definition: Integrates ethical values and societal concerns with investment decisions
May constraints based on:
Industry classification, reflecting concern for sources of revenue judged to be ethically questionable
Corporate priactices
Semiactive Investing
Fundamental Law of Active Management - states that lower-breadth strategies necessarily require more accurate insight about a given investment to produce the same information ratio as a higher-breadth strategy
Information ratio (IR) ≈ Information coefficient (IC) × √(Breadth)
Managing a Portfolio of Managers
Goal is to maximize: UA = rA - λAσ2A
Core-sattelite portfolio - a portfolio in which indexed and semiactive managers constitute a core holding, while active managers represent a ring of sattelites
Completeness fund - a fund that, when added to active managers' positions, establishes an overall portfolio with approximately the same risk exposures as the overall equity benchmark


FREE LESSONS COMPLETED
lesson 1: 25min
Introduction
For anyone who wants to set up a website to make extra income but doesn't
lesson 2: 25min
Brainstorming
For anyone who wants to set up a website to make extra income but doesn't
lesson 3: 25min
Developing Skills
For anyone who wants to set up a website to make extra income but doesn't
lesson 4: 25min
Creating your product
For anyone who wants to set up a website to make extra income but doesn't


Affordances
-
Asynchronous online discussions bridge the gap of social interaction to
construct, apply, and develop knowledge while enabling students to textually
communicate, interpret, reflect, and learn with their peers (Tibi, M. H.,
2016).
-
The asynchronous nature enables students to interact across time and
location preferences, therefore offering more equitable learning experiences
for a diverse student population.
-
Online discussions support collaboration in both small-group and all-class
discussions.
-
Asynchronous online discussions afford students a more active and reflective
learning experience.
-
Research has shown that group learning helps build active students rather
than passive recipients of teaching; it helps distribute cognitive load
among group members through the exchange of ideas (Ikpeze, C., 2007).
-
Student-Student asynchronous activities encourage student-centered learning,
which enables students to be active in their knowledge transformation and to
apply their personal experiences, beliefs, values, and practices within
their discipline.
Limitations
-
Students often report a sense of isolation in online learning environments.
-
Students are challenged to establish interpersonal contact with other
students and to form a community of learners through asynchronous means.
-
Written communication skills are critical for students to articulate their
knowledge and their needs (Heiser & Ralston-Berg, 2019).
-
Canvas all-class discussions and group discussions can be challenging to
navigate.
-
Discussion forums require instructor moderation to ensure students are
engaging in constructive collaboration and healthy discourse.
Instructional Strategies
-
Identify your expectations on how students should engage in asynchronous
discussion spaces by offering social respect, sharing personal and social
information, creating safe and open learning spaces, establishing social
identity, and developing authentic intimacy. Community Groundrules is an
Open Educational Resource (OER) that can be utilized in your course to
articulate your expectations at the start of the semester.
Community Groundrules
-
Unlike face-to-face learning environments, effective online learning
environments must rely on instant messaging functions like Microsoft Teams,
audio and video media technologies like FlipGrid or VoiceThread, email
correspondence like Canvas Inbox, and discussion boards like Canvas, Yammer,
Packback or Padlet as communication platforms.
-
Facilitate a learning community: it’s not the instructor’s sole
responsibility to carry the discussion; it encourages students to actively
and thoughtfully participate to improve the collective knowledge of the
class (Garrison, Anderson & Archer, 1999).
-
Discussion forums should be assessed as quality over quantity and can be
employed as a course artifact that demonstrates a student’s knowledge
transformation to meet course objectives (Heiser & Ralston-Berg, 2019).
-
Encourage Student-Student interaction through four dialogue strategies that
they can employ in their discussion reply posts to promote critical
thinking:
- conversational (cooperative and seeking mutual understanding);
- inquiry (answering a question and coming to a resolution);
- debate (critical questions with a need for agreement);
-
and instruction (utilizing questions and statements to come to resolution)
(Burbules, 1993).
-
In an introductory lesson to your course, create a practice discussion forum
for students to introduce themselves to the class and to familiarize
themselves with the discussion tool.
-
In addition to practicing discussion forums in an introductory lesson,
develop informal learning spaces like a student lounge or a class cafe to
enable students to connect or collectively resolve course-related issues
(i.e. sharing a lesson reading that another student wasn’t able to access)
(Sacky, Nguyen, & Grabill, 2015).
-
Develop open-ended, problem-based discussion prompts that challenge students
to think deeply about the course content and make meaningful connections
(Heiser & Ralston-Berg, 2019).
-
When creating small groups, try to select group members that are diverse in
skills and knowledge and limited in size (3 low, 6 high, and 5 ideal)
(Akcaoglu & Lee, 2016).
-
Groups need clear goals and should be enabled to have the autonomy to
self-regulate and define norms within the framework provided by the
instructor.
-
Groups can collaborate to develop final projects, case studies,
presentations, or papers by utilizing Box, Microsoft Office 365, or GSuite.
-
There are many ways to encourage Student-Student interactions in
asynchronous learning spaces, including book clubs, debates, and Canvas
supported peer-review exercises.
Canvas supported peer-review exercises
-
The efforts happening in a group should not be siloed from the rest of the
class, instead tie the group work back to the all-class discussions to
present how each group is contributing to the shared body of knowledge.


--- layout: default headerline: Vision headerlinelink: # ---
We encourage students to use design as a medium to communicate more effectively. Be it designing a poster, a brochure or just presentation slides. We promote design principles to make any end product look visually pleasing.
A member of Ink. should be capable of completing design projects, leading design teams and consulting people on design related matters. Not only should our members be capable of earning some useful pocket money, but also compete with other designers who do this as a profession.
We aim to enhance creativity and imagination among students of IIIT-Delhi, and encourage them to use design as a medium to express their thoughts and feelings.


UIViewController
-
Adds an NotificationCenter with name and Selector
Declaration
Swift
open func addNotificationObserver(_ name: String, selector: Selector)
-
Removes an NSNotificationCenter for name
Declaration
Swift
open func removeNotificationObserver(_ name: String)
-
Removes NotificationCenter’d observer
Declaration
Swift
open func removeNotificationObserver()
-
Adds a NotificationCenter Observer for keyboardWillShowNotification()
⚠ You also need to implement
keyboardWillShowNotification(_ notification: Notification)
Declaration
Swift
open func addKeyboardWillShowNotification()
-
Adds a NotificationCenter Observer for keyboardDidShowNotification()
⚠ You also need to implement
keyboardDidShowNotification(_ notification: Notification)
Declaration
Swift
public func addKeyboardDidShowNotification()
-
Adds a NotificationCenter Observer for keyboardWillHideNotification()
⚠ You also need to implement
keyboardWillHideNotification(_ notification: Notification)
Declaration
Swift
open func addKeyboardWillHideNotification()
-
Adds a NotificationCenter Observer for keyboardDidHideNotification()
⚠ You also need to implement
keyboardDidHideNotification(_ notification: Notification)
Declaration
Swift
open func addKeyboardDidHideNotification()
-
Removes keyboardWillShowNotification()‘s NotificationCenter Observer
Declaration
Swift
open func removeKeyboardWillShowNotification()
-
Removes keyboardDidShowNotification()‘s NotificationCenter Observer
Declaration
Swift
open func removeKeyboardDidShowNotification()
-
sRemoves keyboardWillHideNotification()‘s NotificationCenter Observer
Declaration
Swift
open func removeKeyboardWillHideNotification()
-
Removes keyboardDidHideNotification()‘s NotificationCenter Observer
Declaration
Swift
open func removeKeyboardDidHideNotification()
-
Undocumented
Declaration
Swift
@objc open func keyboardDidShowNotification(_ notification: Notification)
-
Undocumented
Declaration
Swift
@objc open func keyboardWillShowNotification(_ notification: Notification)
-
Undocumented
Declaration
Swift
@objc open func keyboardWillHideNotification(_ notification: Notification)
-
Undocumented
Declaration
Swift
@objc open func keyboardDidHideNotification(_ notification: Notification)
-
Undocumented
Declaration
Swift
open func keyboardWillShowWithFrame(_ frame: CGRect)
-
Undocumented
Declaration
Swift
open func keyboardDidShowWithFrame(_ frame: CGRect)
-
Undocumented
Declaration
Swift
open func keyboardWillHideWithFrame(_ frame: CGRect)
-
Undocumented
Declaration
Swift
open func keyboardDidHideWithFrame(_ frame: CGRect)
-
Undocumented
Declaration
Swift
open func hideKeyboardWhenTappedAround(cancelTouches: Bool = false)
-
Undocumented
Declaration
Swift
@objc open func dismissKeyboard()
-
Returns maximum y of the ViewController
Declaration
Swift
open var top: CGFloat
-
Returns minimum y of the ViewController
Declaration
Swift
open var bottom: CGFloat
-
Returns Tab Bar’s height
Declaration
Swift
open var tabBarHeight: CGFloat
-
Returns Navigation Bar’s height
Declaration
Swift
open var navigationBarHeight: CGFloat
-
Returns Navigation Bar’s color
Declaration
Swift
open var navigationBarColor: UIColor?
-
Returns current Navigation Bar
Declaration
Swift
open var navBar: UINavigationBar?
-
EZSwiftExtensions
Declaration
Swift
open var applicationFrame: CGRect
-
Pushes a view controller onto the receiver’s stack and updates the display.
Declaration
Swift
open func pushVC(_ vc: UIViewController)
-
Pops the top view controller from the navigation stack and updates the display.
Declaration
Swift
open func popVC()
-
Hide or show navigation bar
Declaration
Swift
public var isNavBarHidden: Bool
-
Added extension for popToRootViewController
Declaration
Swift
open func popToRootVC()
-
Presents a view controller modally.
Declaration
Swift
open func presentVC(_ vc: UIViewController)
-
Dismisses the view controller that was presented modally by the view controller.
Declaration
Swift
open func dismissVC(completion: (() -> Void)? )
-
Adds the specified view controller as a child of the current view controller.
Declaration
Swift
open func addAsChildViewController(_ vc: UIViewController, toView: UIView)
-
Adds image named: as a UIImageView in the Background
Declaration
Swift
open func setBackgroundImage(_ named: String)
-
Undocumented
Declaration
Swift
public func hideKeyboardWhenTappedAroundAndCancelsTouchesInView()


“Sādhu suvihitāna dassanaṁ,
Kaṅkhā chijjati buddhi vaḍḍhati;
Bālampi karonti paṇḍitaṁ,
Tasmā sādhu sataṁ samāgamo”ti.
… Susārado thero ….

That’s why it’s good to meet good people.


|
LoxBerry is able to install updates from Raspian repositories regularly. Only security updates are installed. LoxBerry will automatically restart if an update requests this. |
|
|
If a security update requests a reboot, LoxBerry will be restarted, independend of logged in users. |


(Drop videos/playlists anywhere on screen)
Search Results:
Close
Close
Settings
General
Note: To do the reverse of this setting for one search press Shift+\
Streamly Station
Connect to a Streamly Station (Not implemented yet)


Curve Functions¶
functions for SRVF curve manipulations
moduleauthor:: J. Derek Tucker<EMAIL_ADDRESS>-
curve_functions.
Basis_Normal_A
(q)[source]¶ Find Normal Basis
- Parameters
q – numpy ndarray (n,T) defining T points on n dimensional SRVF
:rtype list :return delg: basis
-
curve_functions.
calc_j
(basis)[source]¶ Calculates Jacobian matrix from normal basis
- Parameters
basis – list of numpy ndarray of shape (2,M) of M samples basis
- Return type
numpy ndarray
- Return j
Jacobian
-
curve_functions.
calculate_variance
(beta)[source]¶ This function calculates variance of curve beta
- Parameters
beta – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return variance
variance
-
curve_functions.
calculatecentroid
(beta)[source]¶ This function calculates centroid of a parameterized curve
- Parameters
beta – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return centroid
center coordinates
-
curve_functions.
curve_to_q
(beta, scale=True, mode='O')[source]¶ This function converts curve beta to srvf q
- Parameters
beta – numpy ndarray of shape (2,M) of M samples
scale – scale curve to length 1
mode – Open (‘O’) or closed curve (‘C’) (default ‘O’)
- Return type
numpy ndarray
- Return q
srvf of curve
- Return len
length of curve
-
curve_functions.
curve_zero_crossing
(Y, beta, bt, y_max, y_min, gmax, gmin)[source]¶ finds zero-crossing of optimal gamma, gam = s*gmax + (1-s)*gmin from elastic curve regression model
- Parameters
Y – response
beta – predicitve function
bt – basis function
y_max – maximum repsonse for warping function gmax
y_min – minimum response for warping function gmin
gmax – max warping function
gmin – min warping fucntion
- Return type
numpy array
- Return gamma
optimal warping function
- Return O_hat
rotation matrix
-
curve_functions.
elastic_distance_curve
(beta1, beta2, closed=0, method='DP')[source]¶ Calculates the two elastic distances between two curves :param beta1: numpy ndarray of shape (2,M) of M samples :param beta2: numpy ndarray of shape (2,M) of M samples :param closed: open (0) or closed (1) curve (default=0) :param method: method to apply optimization (default=”DP”) options are “DP” or “RBFGS”
- Return type
scalar
- Return dist
distance
-
curve_functions.
elastic_shooting
(q1, v)[source]¶ Calculates shooting vector from v to q1
- Parameters
q1 – vector of srvf
v – shooting vector
:rtype numpy ndarray :return q2n: vector of srvf
-
curve_functions.
find_basis_normal
(q)[source]¶ Finds the basis normal to the srvf
- Parameters
q1 – numpy ndarray of shape (2,M) of M samples
- Return type
list of numpy ndarray
- Return basis
list containing basis vectors
-
curve_functions.
find_best_rotation
(q1, q2)[source]¶ This function calculates the best rotation between two srvfs using procustes rigid alignment
- Parameters
q1 – numpy ndarray of shape (2,M) of M samples
q2 – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return q2new
optimal rotated q2 to q1
- Return R
rotation matrix
-
curve_functions.
find_rotation_and_seed_coord
(beta1, beta2, closed=0, method='DP')[source]¶ This function returns a candidate list of optimally oriented and registered (seed) shapes w.r.t. beta1
- Parameters
beta1 – numpy ndarray of shape (2,M) of M samples
beta2 – numpy ndarray of shape (2,M) of M samples
closed – Open (0) or Closed (1)
method – method to apply optimization (default=”DP”) options are “DP” or “RBFGS”
- Return type
numpy ndarray
- Return beta2new
optimal rotated beta2 to beta1
- Return O
rotation matrix
- Return tau
seed
-
curve_functions.
find_rotation_and_seed_q
(q1, q2)[source]¶ This function returns a candidate list of optimally oriented and registered (seed) shapes w.r.t. beta1
- Parameters
q1 – numpy ndarray of shape (2,M) of M samples
q2 – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return beta2new
optimal rotated beta2 to beta1
- Return O
rotation matrix
- Return tau
seed
-
curve_functions.
gram_schmidt
(basis)[source]¶ Performs Gram Schmidt Orthogonlization of a basis_o
- param basis
list of numpy ndarray of shape (2,M) of M samples
- rtype
list of numpy ndarray
- return basis_o
orthogonlized basis
-
curve_functions.
group_action_by_gamma
(q, gamma)[source]¶ This function reparamerized srvf q by gamma
- Parameters
f – numpy ndarray of shape (2,M) of M samples
gamma – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return qn
reparatermized srvf
-
curve_functions.
group_action_by_gamma_coord
(f, gamma)[source]¶ This function reparamerized curve f by gamma
- Parameters
f – numpy ndarray of shape (2,M) of M samples
gamma – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return fn
reparatermized curve
-
curve_functions.
innerprod_q2
(q1, q2)[source]¶ This function calculates the inner product in srvf space
- Parameters
q1 – numpy ndarray of shape (2,M) of M samples
q2 – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return val
inner product
-
curve_functions.
inverse_exp
(q1, q2, beta2)[source]¶ Calculate the inverse exponential to obtain a shooting vector from q1 to q2 in shape space of open curves
- Parameters
q1 – numpy ndarray of shape (2,M) of M samples
q2 – numpy ndarray of shape (2,M) of M samples
beta2 – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return v
shooting vectors
-
curve_functions.
inverse_exp_coord
(beta1, beta2, closed=0, method='DP')[source]¶ Calculate the inverse exponential to obtain a shooting vector from beta1 to beta2 in shape space of open curves
- Parameters
beta1 – numpy ndarray of shape (2,M) of M samples
beta2 – numpy ndarray of shape (2,M) of M samples
closed – open (0) or closed (1) curve
method – method to apply optimization (default=”DP”) options are “DP” or “RBFGS”
- Return type
numpy ndarray
- Return v
shooting vectors
- Return dist
distance
-
curve_functions.
optimum_reparam_curve
(q1, q2, lam=0.0, method='DP')[source]¶ calculates the warping to align srsf q2 to q1
- Parameters
q1 – matrix of size nxN or array of NxM samples of first SRVF
time – vector of size N describing the sample points
q2 – matrix of size nxN or array of NxM samples samples of second SRVF
lam – controls the amount of elasticity (default = 0.0)
method – method to apply optimization (default=”DP”) options are “DP” or “RBFGS”
- Return type
vector
- Return gam
describing the warping function used to align q2 with q1
-
curve_functions.
parallel_translate
(w, q1, q2, basis, mode=0)[source]¶ parallel translates q1 and q2 along manifold
- Parameters
w – numpy ndarray of shape (2,M) of M samples
q1 – numpy ndarray of shape (2,M) of M samples
q2 – numpy ndarray of shape (2,M) of M samples
basis – list of numpy ndarray of shape (2,M) of M samples
mode – open 0 or closed curves 1 (default 0)
- Return type
numpy ndarray
- Return wbar
translated vector
-
curve_functions.
pre_proc_curve
(beta, T=100)[source]¶ This function prepcoessed a curve beta to set of closed curves
- Parameters
beta – numpy ndarray of shape (2,M) of M samples
T – number of samples (default = 100)
- Return type
numpy ndarray
- Return betanew
projected beta
- Return qnew
projected srvf
- Return A
alignment matrix (not used currently)
-
curve_functions.
project_curve
(q)[source]¶ This function projects srvf q to set of close curves
- Parameters
q – numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return qproj
project srvf
-
curve_functions.
project_tangent
(w, q, basis)[source]¶ projects srvf to tangent space w using basis
- Parameters
w – numpy ndarray of shape (2,M) of M samples
q – numpy ndarray of shape (2,M) of M samples
basis – list of numpy ndarray of shape (2,M) of M samples
- Return type
numpy ndarray
- Return wproj
projected q
-
curve_functions.
psi
(x, a, q)[source]¶ This function formats variance output
- Parameters
x – numpy ndarray of shape (2,M) of M samples curve
a – numpy ndarray of shape (2,1) mean
q – numpy ndarray of shape (2,M) of M samples srvf
- Return type
numpy ndarray
- Return psi1
variance
- Return psi2
cross variance
- Return psi3
curve end
- Return psi4
curve end
-
curve_functions.
q_to_curve
(q, scale=1)[source]¶ This function converts srvf to beta
- Parameters
q – numpy ndarray of shape (n,M) of M samples
scale – scale of curve
- Return type
numpy ndarray
- Return beta
parameterized curve
-
curve_functions.
resamplecurve
(x, N=100, mode='O')[source]¶ This function resamples a curve to have N samples
- Parameters
x – numpy ndarray of shape (2,M) of M samples
N – Number of samples for new curve (default = 100)
mode – Open (‘O’) or closed curve (‘C’) (default ‘O’)
- Return type
numpy ndarray
- Return xn
resampled curve


Issues: - an issue with DOM replacement during the update sequence... - kills draggable... the main list is dragable but after render it does not work. - messes with buttons on nested lists... to reproduce: open: B/C (copy path, then paste to dialog) collapce... - B is hidden fully recover by collapsing B then expanding - now everything is working but buttons are not drawn - who is responsible for drawing? ...parent or child? ...this might be related to the above issue (case #2) - is this overcomplicated??? ...can the core be simpler and more modular? should investigate after the main functionality is implemented NOTE: the actual LOC count is 2727 at this point in time (20200327) so what's bugging me from time to time is not the code bloat but rather doc bloat... ...but I'm not saying that there's no code bloat, though it's not as big as I fear =) ToDo: - add to default actions: - open/push (implemented) - edit/view - delete - ... ...might also be nice to make adding default actions trivial (buttons?) - interactive path element... - search -- flat/deep - flat tree render, one level at a time (a-la browse-walk.js / finder) - migrate make.* constructors from browse.js... - integrate into the widget framework... ...either inherit or redesign the older code... - partial render for long lists... - refactor/revise...


Brazil international Taison gestured to the away fans and then kicked the ball into their section of the stand before the referee led all the players off the field in the 77th minute.
Video footage shows Taison and Brazilian team-mate Dentinho leaving the field in tears after both had allegedly been targeted, while they were consoled by several Dynamo Kiev players.
Taison was shown the red card by the referee immediately after the match had resumed.
Shakhtar manager Luis Castro did not appear for his post-match press conference, but said in a statement that the racist abuse had been “a disgrace”.
“My players have once again shown their character,” Castro said. “They were showing the character throughout the game.
“At this moment, I want to support absolutely everyone suffering from racism and the guys who have suffered today.
“Any manifestations of racism are absolutely unacceptable. It was, is, and will be a disgrace to everyone. Together, we must fight it – every day, every minute, and every second. Thank you.”
Dynamo said in a statement that the club would not tolerate racism, but stopped short of condemning their fans.
They said the club would co-operate fully if the Ukrainian National Football Association launched an investigation.
“Sharing the concern of our Donetsk colleagues regarding the issue of observing human morality in the sports arenas, we consider hasty the allegation of a pre-determined guilt of the fans, when the investigation into the circumstances of this case has not even begun,” the statement said.
“We look forward to the start of the investigation, ready to assist it comprehensively and, if proven guilty, will take all possible steps to further isolate these individuals not only from football but also from society.
“We look forward to the release of photos and videos that could shed light on all the circumstances of the incident.”
Brescia forward Mario Balotelli kicked the ball into the crowd after claiming he had been targeted during his side’s defeat at Serie A rivals Verona last week.
The former Liverpool and Manchester City striker also threatened to walk off the pitch, while Verona have been handed a partial stadium ban.


Qualitative research, research that lends itself to statistical analysis, or requires any kind of data transformation before being analyzed.
2 Reproducible research as bridge
Open Data provides direct access to data sources that have been created by all types of institutions (Gov, academic, private sector)
Published in many different ways, Raw data files, API, SPARQL, sometimes this data is useful, sometimes it is garbage
Open Access "advertises" the research, but isn't the research itself.
Will need to do obligatory introduction to reproducible as foundation of modern science
Open Access is absolutely vital - it raises the visibility of a paper, research, and improves over all impact [citation?] 1
The ACTUAL research is the transformed data, and the analysis - sometimes this means data cleanup, sometimes this means large scale data transformation pipelines like in NLP and machine learning
reproducible research is the bridge between open data and open access it takes open data as an input, and produces papers as an output
shifting from a "publication as research" model the [data + transformation code + analysis + interpretation] as the research changes the meaning of open access to research
This begs an important question - how do we publish this kind of "document"
Not restrained by old journal model - can skip growing pains of online journal model (analogy of 1960's movies that were just filmed theater shows?)
Some have already discussed blogs, social networking etc as possible outcomes, but metrics in this environment are still emerging
Metrics in the field of software engineering are pretty good though,
In broad strokes, software engineers produce code and documentation, researchers produce documentation (in the form of publications) and code.
software engineers even have a counterpart to Reproducible research - literate programming.
Key component of reproducible is access to the tools that produced to code and documentation - tie in open source
3 Tools and Metrics
Github and github style metrics
Sweave
Emacs w/org-mode and org-babel
Things out there that are interesting, but don't quite get the job done
Google Docs (highly collaborate, no version control, no code integration)
Authorea - (highly collaborative, focus on academic's needs)
runmycode.org ( code but no direct integration with "documentation", collaborative but not quite like github)
requirements for the ideal process
Open source tools (so barrier to access to those tools is only technical)
allows collaboration across researchers
embeds research (ie. code) directly into the documentation.
version control (for archiving!)
4 Tasks
4.1TODO more information about Sweave
4.2TODO get more info about SPARQL
4.3TODO find quote about the paper being an advertisement for the reserch


Software Developers are an integral part of BUILD and work in teams along with a Product Manager and Business Developers to create elegant solutions for our clients.
Note: None of the things listed above are required, even experience with a few of them would be awesome!
Deadline: Jan 27, Midnight
Business Developers work in
project teams and act as a
major bridge between the
software developers and the
clients. Additionally, they
also work on internal
planning, marketing,
consulting, designing,
financing, and client
servicing.
Note: None of the things listed above are required, even experience with a few of them would be awesome!
Deadline: Jan 27, Midnight


About me
TL;DR
I am Stephan Osterburg, located in the Bay Area - San Francisco, CA. I am a computer graphics veteran who is falling in love with data science.
Hello,
I am Stephan Osterburg, a Data Scientist and an accomplished digital production expert and computer artist, located in the San Francisco Bay Area. After some unfortunate events in our live I made the bold decision to change my career.
Why you might ask. Well, it's not like it fall out of the sky. No, I had always a fascination with data and visualization.
After taking a well deserved brake last year and been able to reflect on what I would like to do, I found Data Science. Since summer 2018, including six months at Flatiron School, I am full gas on the quest to discover the world of data and worked relentlessly to gain all the necessary knowledge, and expertise one needs as a Data Scientist.
I enjoy a challenging, progressive environment that offers room to innovate.
My experience and knowledge include:
- Overseeing a team on numerous animated feature film productions.
- Serving in a wide range of technical and creative positions, ranging from software engineer to VFX and CG Supervisor.
- Identifying opportunities for improvements and proposing realistic changes to streamline workflow processes and decrease production delays.
- Data Science projects include analyzing news content of its authenticity, forest cover type classification and image classification etcetera.
- Python, Pandas, Numpy, dask, keras/tensorflow, sklearn, Machine Learning, Deep Learning etcetera.
Here is small banner with all the movies I worked on over the years and my last demoreel with work from movies I worked on while I was at PDI/Dreamworks.


Overlord
When a popular fantasy MMORPG shuts down its servers, one guild leader, the skeleton mage, Momonga, finds himself transported to a real fantasy world trapped inside the body of his avatar. His guild's fortress has been transported to an unfamiliar world and the inhabiting NPC characters gain sentience and look to Momonga as their supreme ruler–an overlord as it were. With his extensive knowledge of magic and powerful, fanatic minions following his every whim, Momonga continues to roleplay the part of the evil overlord to the extent that domination of this new world is not an entirely unappealing option.


Romania work to rescue more than 14,000 sheep aboard capsized ship
by Rachael KennedyRomanian authorities are working to rescue more than 14,000 sheep aboard a ship that has capsized in the Black Sea.
The Queen Hind cargo vessel overturned on Sunday after departing from Romania's Midia port en route to Saudi Arabia.
Speaking to Euronews on Monday, a spokeswoman for Romania's emergency service ISU Constanta said all of the crew — 20 Syrians and one Lebanese national — had been rescued along with 32 sheep.
She said the remaining animals were still aboard the capsized vessel and that attempts to rescue and "put the ship back on its position" would continue on Monday.
"We expect it to take the whole day," the spokeswoman told Euronews in a phonecall. "There are three other ships that are trying to help put the ship back on course."
Romania is the EU's third-largest sheep breeder of which it transports much of its livestock to countries in the Middle East.
But such trade using ships has been widely criticised due to dangerous hot conditions on the vessels during the summer, which have been nicknamed "death ships" by activists.
The former EU commissioner for health and food safety called for an investigation into Romania's livestock trading earlier this year, and said transport of tens of thousands of sheep to the Gulf region should cease.
The footage in the video player above was released by Australian organisation Animals International that has investigators in the area.


Class Recording
This class represents a FreeClimb Recording instance. Recording objects are created by the SDK whenever a recording instance would be returned by the API; these primarily come from QueuesRequester inside a FreeClimbClient instance.
Inherited Members
Namespace: com.freeclimb.api.recording
Assembly: freeclimb-cs-sdk.dll
Syntax
[JsonObject]
public sealed class Recording : FreeClimbCommon, IFreeClimbCommon, IEquatable<FreeClimbCommon>, IEquatable<Recording>
Remarks
Recording are immutable and intended only to be used to read information returned from the API in a language accessible way.
Properties
| Improve this Doc View SourcegetAccountId
Retrieve the accountId for this queue from the object.
Declaration
public string getAccountId { get; }
Property Value
| Type | Description |
|---|---|
| System.String | The accountId for this queue. |
getCallId
Retrieve the callId for this queue from the object.
Declaration
public string getCallId { get; }
Property Value
| Type | Description |
|---|---|
| System.String | The callId for this queue. |
getConferenceId
Retrieve the conferenceId for this queue from the object.
Declaration
public string getConferenceId { get; }
Property Value
| Type | Description |
|---|---|
| System.String | The conferenceId for this queue. |
getDurationSec
Retrieve the durationSec for this queue from the object.
Declaration
public int getDurationSec { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 | The durationSec for this queue. |
getRecordingId
Retrieve the recordingId for this queue from the object.
Declaration
public string getRecordingId { get; }
Property Value
| Type | Description |
|---|---|
| System.String | The recordingId for this queue. |
Methods
| Improve this Doc View SourceEqual(Recording, Recording)
Helper method to deep compare two Recording instances.
Declaration
public static bool Equal(Recording a, Recording b)
Parameters
| Type | Name | Description |
|---|---|---|
| Recording | a | Recording instance one. |
| Recording | b | Recording instance two. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True is a == b, otherwise false. |
Equals(Recording)
Compares the current instance with another object of the same type.
Declaration
public bool Equals(Recording other)
Parameters
| Type | Name | Description |
|---|---|---|
| Recording | other | Recording Object. |
Returns
| Type | Description |
|---|---|
| System.Boolean | true if the current object is equal to the other parameter; otherwise, false. |
Equals(Object)
Compares the current instance with another object of the same type.
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | obj | Object of type Recording. |
Returns
| Type | Description |
|---|---|
| System.Boolean | true if the current object is equal to the other parameter; otherwise, false. |
Overrides
| Improve this Doc View SourcefromJson(String)
Helper method to build a Recording object from the JSON string.
Declaration
public static Recording fromJson(string rawJson)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | rawJson | A JSON string representing a Recording instance. |
Returns
| Type | Description |
|---|---|
| Recording | A Recording object equivalent to the JSON string passed in. |
Exceptions
| Type | Condition |
|---|---|
| FreeClimbJSONException | Thrown upon deserialize failure. |
GetHashCode()
Serves as the default hash function.
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| System.Int32 | A hash code for the current object. |
Overrides
Operators
| Improve this Doc View SourceEquality(Recording, Recording)
Recording equality operator.
Declaration
public static bool operator ==(Recording a, Recording b)
Parameters
| Type | Name | Description |
|---|---|---|
| Recording | a | Recording object. |
| Recording | b | Recording object. |
Returns
| Type | Description |
|---|---|
| System.Boolean | true if equal otherwise false. |
Inequality(Recording, Recording)
Recording inequality operator.
Declaration
public static bool operator !=(Recording a, Recording b)
Parameters
| Type | Name | Description |
|---|---|---|
| Recording | a | Recording object. |
| Recording | b | Recording object. |
Returns
| Type | Description |
|---|---|
| System.Boolean | true if not equal otherwise false. |


|
Shopify SDK for Unity
|
Public Member Functions | |
| void | OnLoadingStarted () |
| Called when the controller has started loading data from shopify. Themes can use this to know when to show loading states or spinners. More... | |
| void | OnLoadingFinished () |
| Called when the controller has finished loading data from shopify. Themes can use this to dismiss loading states or spinners. More... | |
| void | OnError (ShopifyError error) |
| Called when a request initiated by the controller returns an error More... | |
| void | OnPurchaseStarted () |
| Called when a purchase has started in the controller. Useful for changing the UI when a purchase is ongoing. More... | |
| void | OnPurchaseCancelled () |
| Called when an ongoing purchase is cancelled. This either occurs when a native payment method is cancelled or the purchase is cancelled manually. More... | |
| void | OnPurchaseCompleted () |
| Called when an ongoing purchase completes. When using the Web purchase method, it's possible this will never be called if the player navigates away from the browser and doesn't complete the purchase. In this case you should always show a UI for cancelling the purchase in-game. More... | |
| void | OnCartQuantityChanged (int newQuantity) |
| Called when the total quantity of items in the cart changes. Useful for when showing a badge next to the cart button for example. More... | |
| void Shopify.UIToolkit.IThemeBase.OnCartQuantityChanged | ( | int | newQuantity | ) |
Called when the total quantity of items in the cart changes. Useful for when showing a badge next to the cart button for example.
| newQuantity | The new number of items in the cart |
Implemented in Shopify.UIToolkit.Themes.DebugSingleProductTheme, and Shopify.UIToolkit.ICollectionTheme.
| void Shopify.UIToolkit.IThemeBase.OnError | ( | ShopifyError | error | ) |
Called when a request initiated by the controller returns an error
| error | The error that occured |
Implemented in Shopify.UIToolkit.Themes.DebugSingleProductTheme.
| void Shopify.UIToolkit.IThemeBase.OnLoadingFinished | ( | ) |
Called when the controller has finished loading data from shopify. Themes can use this to dismiss loading states or spinners.
Implemented in Shopify.UIToolkit.Themes.DebugSingleProductTheme.
| void Shopify.UIToolkit.IThemeBase.OnLoadingStarted | ( | ) |
Called when the controller has started loading data from shopify. Themes can use this to know when to show loading states or spinners.
Implemented in Shopify.UIToolkit.Themes.DebugSingleProductTheme.
| void Shopify.UIToolkit.IThemeBase.OnPurchaseCancelled | ( | ) |
Called when an ongoing purchase is cancelled. This either occurs when a native payment method is cancelled or the purchase is cancelled manually.
Implemented in Shopify.UIToolkit.Themes.DebugSingleProductTheme.
| void Shopify.UIToolkit.IThemeBase.OnPurchaseCompleted | ( | ) |
Called when an ongoing purchase completes. When using the Web purchase method, it's possible this will never be called if the player navigates away from the browser and doesn't complete the purchase. In this case you should always show a UI for cancelling the purchase in-game.
Implemented in Shopify.UIToolkit.Themes.DebugSingleProductTheme.
| void Shopify.UIToolkit.IThemeBase.OnPurchaseStarted | ( | ) |
Called when a purchase has started in the controller. Useful for changing the UI when a purchase is ongoing.
Implemented in Shopify.UIToolkit.Themes.DebugSingleProductTheme.


4.6. String Functions and Operators
String Operators
The || operator performs concatenation.
String Functions
Warning
Currently, all of the string functions work incorrectly for Unicode (non-ASCII) strings. They operate as if strings are a sequence of UTF-8 bytes rather than a sequence of Unicode characters. For example, length() returns the number of bytes in the UTF-8 representation of the string rather than the number of unicode characters.
- chr(n) → varchar
Returns the Unicode code point n as a single character string.
- concat(string1, string2) → varchar
Returns the concatenation of string1 and string2. This function provides the same functionality as the SQL-standard concatenation operator (||).
- length(string) → bigint
Returns the length of string in characters.
- lower(string) → varchar
Converts string to lowercase.
- ltrim(string) → varchar
Removes leading spaces from string.
- replace(string, search) → varchar
Removes all instances of search from string.
- replace(string, search, replace) → varchar
Replaces all instances of search with replace in string.
- reverse(string) → varchar
Returns string with the characters in reverse order.
- rtrim(string) → varchar
Removes trailing spaces from string.
- split_part(string, delimiter, index) → varchar
Splits string on delimiter and returns the field index. Field indexes start with 1. If the index is larger than than the number of fields, then null is returned.
- strpos(string, substring) → bigint
Returns the starting position of the first instance of substring in string. Positions start with 1. If not found, 0 is returned.
- substr(string, start) → varchar
Returns the rest of string from the starting position start. Positions start with 1. A negative starting position is interpreted as being relative to the end of the string.
- substr(string, start, length) → varchar
Returns a substring from string of length length from the starting position start. Positions start with 1. A negative starting position is interpreted as being relative to the end of the string.
- trim(string) → varchar
Removes leading and trailing spaces from string.
- upper(string) → varchar
Converts string to uppercase.


Following governs the Terms and Conditions of the use of the Facebook application Mylaicosspace and the related hosting website https://fogify.herokuapp.com. The terms website or
https://fogify.herokuapp.com, http://apps.facebook.com/mylaicosspace or Mylacosspace from here on refers to the both the hosting website https://fogify.herokuapp.com and its related Facebook application Mylaicosspace.
You must read the entire document, understand and agree to the terms and conditions and click agree at the bottom of this page before using the Facebook application Mylaicosspace and the related site https://fogify.herokuapp.com
1. Terms
By accessing this web site, you are agreeing to be bound by these web site Terms and Conditions of Use, all applicable laws and regulations, and agree that you are responsible for
compliance with any applicable local laws.
If you do not agree with any of these terms, you are prohibited from using or accessing this site. The materials contained in this web site are
protected by applicable copyright and trade mark law.
2. Use License
(a) Permission is temporarily granted to visit https://fogify.herokuapp.com website and Mylaicosspace application for
personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not:
(i) modify or copy the materials;
(ii) use the materials for any commercial purpose, or for any public display (commercial or non-commercial);
(iii) remove any copyright or other proprietary notations from the materials; or
(iv) transfer the materials to another person or "mirror" the materials on any other server.
(v) use the site with malicious intent including but not limited to sniffing, hacking
(vi) use the information obtained from the site with malicious intent
.
(b) This license shall automatically terminate anytime if you violate any of these restrictions. Upon such termination your are no longer eligible to view the
site and you must destroy any downloaded materials in your possession whether in electronic or printed format.
3. Disclaimer
The materials on https://fogify.herokuapp.com are provided "as is". https://fogify.herokuapp.com makes no warranties, expressed or implied, and hereby disclaims and negates
all other warranties, including without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other
violation of rights. Further, https://fogify.herokuapp.com does not warrant or make any representations concerning the accuracy, likely results, or reliability of the use of the materials on its
web site or otherwise relating to such materials or on any sites linked to this site.
4. Limitations
In no event shall https://fogify.herokuapp.com, its author, its developers or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to
business interruption,) arising out of the use or inability to use the materials on https://fogify.herokuapp.com, even if https://fogify.herokuapp.com or a https://fogify.herokuapp.com
authorized representative has been notified orally or in writing of the possibility of such damage.
In no event shall https://fogify.herokuapp.com, its author, its developers, or its supplier be liable for any damages arising out of the improper or unlawful use of the information obtained from the site.
5. Revisions and Errata
The materials appearing on https://fogify.herokuapp.com could include technical, typographical, or photographic errors. https://fogify.herokuapp.com does not warrant that any of the materials on its
web site are accurate, complete, or current. https://fogify.herokuapp.com may make changes to the materials contained on its web site at any time without notice.
https://fogify.herokuapp,com does not, however, make any commitment to update the materials.
6. Links
https://fogify.herokuapp.com has not reviewed all of the sites linked to its Internet web site and is not responsible for the contents of any such linked site. The inclusion of any link does not
imply endorsement by https://fogify.herokuapp.com. Use of any such linked web site is at the user's own risk.
7. Site Terms of Use Modifications
https://fogify.herokuapp.com may revise these terms of use for its web site at any time without notice. By using this web site you are agreeing to be bound by the then current version of
these Terms and Conditions of Use.
8. Governing Law
Any claim relating to https://fogify.herokuapp.com web site shall be governed by the laws of the State of Georgia, United States without regard to its conflict of law provisions.
General Terms and Conditions applicable to use of a Web Site.
Website https://fogify.herokuapp.com and its author respect your privacy and value the relationship we have with you. Your use of this application is subject to this Privacy Policy. Your use of Facebook in general and your relationship with Facebook are subject to Facebook's own Privacy Policy and Facebook's other terms and policies, which we do not control. This Privacy Policy describes how we may use the information we collect with this application on Facebook and with whom we may share it.
Information We Collect
We may collect two types of personal information with this application:
(i) information and content we receive from Facebook that was provided by you or other users to Facebook or was associated by Facebook with a particular user ("Information We Receive From Facebook") and
(ii) information and content you provide directly to us, such as by submitting it to us through a form in this application ("Independent Information").
Information We Receive From Facebook
When you visit the application, it may collect any information you have made visible to "Everyone" on Facebook as well as the information Facebook designates as your publicly available information. This includes your name, profile picture, gender, current city, networks, friend list, and pages you are a fan of. Even if you have not allowed this application access, it may collect Information We Receive From Facebook about you when friends on Facebook allow access to and use the application, subject to your Facebook settings. We use this information to operate the application, such as posting to your wall or sharing with other users. We may share this information on your wall or with other users without your explicit approval.
Independent Information
The application may ask you to explicitly provide certain information to us, such as your email address from a pre-defined list to send to your friends. We generally use Independent Information for the same purposes as we use Information We Receive From Facebook.
How We Share Information We Receive From Facebook
We may disclose Information We Receive From Facebook to our affiliates and service providers to the extent permitted by Facebook. We will not provide such information to third parties for their use in marketing their products or services to you without your consent, but we do not control Facebook’s own use of content and information it collects in relation to your use of this application. We also may share Information We Receive From Facebook with other third parties with your consent. For example, we may share some Information We Receive From Facebook with other users of Facebook, including other users of the application, as described above.
We may disclose any Information We Receive From Facebook we deem necessary, in our sole discretion, to comply with any applicable law, regulation, legal process or governmental request. In addition, we may disclose Information We Receive From Facebook when we believe, in our sole discretion, disclosure is necessary or appropriate to prevent physical harm or financial loss or in connection with suspected or actual illegal activity.
Updates To This Privacy Policy
This Privacy Policy may be updated periodically and without prior notice to you to reflect changes in our personal information practices.
How to Contact Us
If you have any questions or comments about this privacy notice, please contact us by email at mylaicosspace@gmail.com


WITNESS LIST Appropriations Committee (Subcommittee on Major Information Systems) July 13, 1998-9:30A Federal Year 2000 Readiness On: O'Dell, Mark (US Compt of Currency) Sessions, Pete (self) Texas Year 2000 Readiness On: Porterfield, Shannon (DIR) Purcell, Carolyn (DIR) TX Child Support Enforcement System On: Bailey, Don (OAG) Eiland, Mark (OAG) Politte, Chris (Andersen Consulting) Roberts, Wayne (Andersen Consulting)


Home
Documents
-
Introduction
-
Install & Run
-
User Manual
Download
Results
Download binary
Version 0.1
Windows:
jgrid_renderer_0_1.zip
Linux:
jgrid_renderer_0_1.tar.gz
Download source
Coming soon...


Algorithms Contribution¶
This document is a guide to add your own new algorithm in Nefi 2.0. The guide provides you all the step to be done for allow the users of Nefi 2.0 to use the new algorithm.
Introduction¶
First of all you have to create a .py file in the folder module.algorithms
.
This file will contain the algorithm that you want to add.
As convention of Nefi 2.0, the name of the file will be the name of the algorithm,
for example if the new algorithm is Blur the file’s name will be “blur.py”.
The main structure of the file will be a main class AlgBody
and its main methods AlgBody.__init__()
and AlgBody.process()
.
Imports¶
You have to import from module.algorithms._alg
the class model.algorithms._alg.Algorithm
.
Also you have to import, if the algorithm needs it, the UI widgets that allow the user to select the input values of the algorithm.
The UI widgets that Nefi 2.0 provides are:
AlgBody Class¶
The AlgBody
class will contain all the methods that you need to implement your algorithm and the methods __init__()
and process()
.
The __init__()
method is necessary to set the name of the algorithm, to link the algorithm at its category and to set the UI widgets.
The name of the algorithm is defined by the attribute
self.name
.The parent category of the algorithm is defined by the attribute
self.parent
.To add the UI widgets create an UI object and then append it to the list
self.integer_sliders
,self.float_sliders
,self.checkboxes
orself.drop_downs
.
The process()
is the main method that contains the logic of the algorithm.
The results of the algorithm must be saved in the objectself.result['img']
, if it is an image, and/or inself.result['graph']
, if it is a graph.


Type Checks and Casts: 'is' and 'as'
is
and !is
Operators
We can check whether an object conforms to a given type at runtime by using the is
operator or its negated form !is
:
if (obj is String) {
print(obj.length)
}
if (obj !is String) { // same as !(obj is String)
print("Not a String")
}
else {
print(obj.length)
}
Smart Casts
In many cases, one does not need to use explicit cast operators in Kotlin, because the compiler tracks the
is
-checks and explicit casts for immutable values and inserts (safe) casts automatically when needed:
fun demo(x: Any) {
if (x is String) {
print(x.length) // x is automatically cast to String
}
}
The compiler is smart enough to know a cast to be safe if a negative check leads to a return:
if (x !is String) return
print(x.length) // x is automatically cast to String
or in the right-hand side of &&
and ||
:
// x is automatically cast to string on the right-hand side of `||`
if (x !is String || x.length == 0) return
// x is automatically cast to string on the right-hand side of `&&`
if (x is String && x.length > 0) {
print(x.length) // x is automatically cast to String
}
Such smart casts work for when-expressions and while-loops as well:
when (x) {
is Int -> print(x + 1)
is String -> print(x.length + 1)
is IntArray -> print(x.sum())
}
Note that smart casts do not work when the compiler cannot guarantee that the variable cannot change between the check and the usage. More specifically, smart casts are applicable according to the following rules:
- val local variables - always except for local delegated properties;
- val properties - if the property is private or internal or the check is performed in the same module where the property is declared. Smart casts aren't applicable to open properties or properties that have custom getters;
- var local variables - if the variable is not modified between the check and the usage, is not captured in a lambda that modifies it, and is not a local delegated property;
- var properties - never (because the variable can be modified at any time by other code).
"Unsafe" cast operator
Usually, the cast operator throws an exception if the cast is not possible. Thus, we call it unsafe. The unsafe cast in Kotlin is done by the infix operator as (see operator precedence):
val x: String = y as String
Note that null cannot be cast to String
as this type is not nullable,
i.e. if y
is null, the code above throws an exception.
In order to match Java cast semantics we have to have nullable type at cast right hand side, like:
val x: String? = y as String?
"Safe" (nullable) cast operator
To avoid an exception being thrown, one can use a safe cast operator as? that returns null on failure:
val x: String? = y as? String
Note that despite the fact that the right-hand side of as? is a non-null type String
the result of the cast is nullable.
Type erasure and generic type checks
Kotlin ensures type safety of operations involving generics at compile time,
while, at runtime, instances of generic types hold no information about their actual type arguments. For example,
List<Foo>
is erased to just List<*>
. In general, there is no way to check whether an instance belongs to a generic
type with certain type arguments at runtime.
Given that, the compiler prohibits is-checks that cannot be performed at runtime due to type erasure, such as
ints is List<Int>
or list is T
(type parameter). You can, however, check an instance against a star-projected type:
if (something is List<*>) {
something.forEach { println(it) } // The items are typed as `Any?`
}
Similarly, when you already have the type arguments of an instance checked statically (at compile time), you can make an is-check or a cast that involves the non-generic part of the type. Note that angle brackets are omitted in this case:
fun handleStrings(list: List<String>) {
if (list is ArrayList) {
// `list` is smart-cast to `ArrayList<String>`
}
}
The same syntax with omitted type arguments can be used for casts that do not take type arguments into account: list as ArrayList
.
Inline functions with reified type parameters have their actual type arguments
inlined at each call site, which enables arg is T
checks for the type parameters, but if arg
is an instance of a
generic type itself, its type arguments are still erased. Example:
//sampleStart
inline fun <reified A, reified B> Pair<*, *>.asPairOf(): Pair<A, B>? {
if (first !is A || second !is B) return null
return first as A to second as B
}
val somePair: Pair<Any?, Any?> = "items" to listOf(1, 2, 3)
val stringToSomething = somePair.asPairOf<String, Any>()
val stringToInt = somePair.asPairOf<String, Int>()
val stringToList = somePair.asPairOf<String, List<*>>()
val stringToStringList = somePair.asPairOf<String, List<String>>() // Breaks type safety!
//sampleEnd
fun main(args: Array<String>) {
println("stringToSomething = " + stringToSomething)
println("stringToInt = " + stringToInt)
println("stringToList = " + stringToList)
println("stringToStringList = " + stringToStringList)
}
Unchecked casts
As said above, type erasure makes checking actual type arguments of a generic type instance impossible at runtime, and generic types in the code might be connected to each other not closely enough for the compiler to ensure type safety.
Even so, sometimes we have high-level program logic that implies type safety instead. For example:
fun readDictionary(file: File): Map<String, *> = file.inputStream().use {
TODO("Read a mapping of strings to arbitrary elements.")
}
// We saved a map with `Int`s into that file
val intsFile = File("ints.dictionary")
// Warning: Unchecked cast: `Map<String, *>` to `Map<String, Int>`
val intsDictionary: Map<String, Int> = readDictionary(intsFile) as Map<String, Int>
The compiler produces a warning for the cast in the last line. The cast cannot be fully checked at runtime and provides
no guarantee that the values in the map are Int
.
To avoid unchecked casts, you can redesign the program structure: in the example above, there could be interfaces
DictionaryReader<T>
and DictionaryWriter<T>
with type-safe implementations for different types.
You can introduce reasonable abstractions to move unchecked casts from calling code to the implementation details.
Proper use of generic variance can also help.
For generic functions, using reified type parameters makes the casts
such as arg as T
checked, unless arg
's type has its own type arguments that are erased.
An unchecked cast warning can be suppressed by annotating the statement or the
declaration where it occurs with @Suppress("UNCHECKED_CAST")
:
inline fun <reified T> List<*>.asListOfType(): List<T>? =
if (all { it is T })
@Suppress("UNCHECKED_CAST")
this as List<T> else
null
On the JVM, the array types (Array<Foo>
) retain the information about the erased type of
their elements, and the type casts to an array type are partially checked: the
nullability and actual type arguments of the elements type are still erased. For example,
the cast foo as Array<List<String>?>
will succeed if foo
is an array holding any List<*>
, nullable or not.


::HashWithIndifferentAccess
Why the &*#^@*^&$ isn’t HashWithIndifferentAccess doing this? HashWithIndifferentAccess doesn’t override Hash’s []! That’s why it’s so destructive!
# File lib/rconfig/config.rb, line 60 60: def [](key) 61: key = key.to_s if key.kind_of?(Symbol) 62: super(key) 63: end
Allow hash.default => hash[‘default’] without breaking Hash’s usage of default(key)
# File lib/rconfig/config.rb, line 68 68: def default(key = self.default_key) 69: key = key.to_s if key.is_a?(Symbol) 70: if key == self.default_key 71: self['default'] if key?('default') 72: else 73: hash_default(key) 74: end 75: end
Dotted notation can be used with arguments (useful for creating mock objects) in the YAML file the method name is a key, argument(s) form a nested key, so that the correct value is retrieved and returned.
For example loading to variable foo a yaml file that looks like: customer:
id: 12345678 verified: phone: verified :address: info_not_available ? [name, employer] : not_verified
Allows the following calls: foo.customer.id => 12345678 foo.customer.verified.phone => verified foo.customer.verified(“phone”) => verified foo.customer.verified(:address) => info_not_available foo.customer.verified(“name”, “employer”) => not_verified
Note that :address is specified as a symbol, where phone is just a string. Depending on what kind of parameter the method being mocked out is going to be called with, define in the YAML file either a string or a symbol. This also works inside the composite array keys.
# File lib/rconfig/config.rb, line 42 42: def method_missing(method, *args) 43: method = method.to_s 44: return if method == 'default_key' 45: value = self[method] 46: case args.size 47: when 0 # e.g.: RConfig.application.method 48: value 49: when 1 # e.g.: RConfig.application.method(one_arg) 50: value.send(args[0]) 51: else # e.g.: RConfig.application.method(arg_one, args_two, ...) 52: value[args] 53: end 54: end
HashWithIndifferentAccess#default is broken in early versions of Rails. This is defined to use the hash version in Config#default
# File lib/rconfig/config.rb, line 15 15: define_method(:hash_default, Hash.instance_method(:default))
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.


Make tank teaches Babcock students project-based learning
by WFTX Digital TeamPUNTA GORDA, Fla. — At the Babcock Neighborhood School in Punta Gorda, some students might look like they're just having fun creating and building various items.
But educators here tell Fox 4 they're using robotics 3-d printing, coding, and project-based learning to encourage students to solve challenges.
One student says the skills she's learned inside of this classroom, also known as the school's "make tank," go beyond the classroom.


If you love Telegram but don't want to leave Discord then you'll be pleased to find we've built a bridge in this channel. If you'd like to join the group in the Telegram app you can find it here: https://t.me/KomodoPlatform_Official.
100 messages
Before 05-Dec-19 12:00 AM
GatewayBOT05-Nov-19 08:03 AM
[telegram] <torsten1> what? lol no (re @Suzy: JL777 left komodo? Why new core dev?)
[telegram] <torsten1> core dev just means working on the core Komodo technology
Atomic swaps have the potential to improve the cryptocurrency space and are yet to be tested on a broader scale. Learn about Atomic Swaps on Binance Academy
Secure cryptocurrency wallet for Bitcoin, Ethereum, Ripple, Litecoin, Stellar and over 500 tokens. Exchange and buy crypto for USD with credit card in seconds.
Decred is an autonomous digital currency. With a hybrid consensus system, it is built to be a decentralized, sustainable, and self-ruling currency where stakeholders make the rules.
Atomic swaps have the potential to improve the cryptocurrency space and are yet to be tested on a broader scale. Learn about Atomic Swaps on Binance Academy
Secure cryptocurrency wallet for Bitcoin, Ethereum, Ripple, Litecoin, Stellar and over 500 tokens. Exchange and buy crypto for USD with credit card in seconds.
GatewayBOT05-Nov-19 12:50 PM
[telegram] <mauro_jose> thanks! (re @LuckyBTC: You don't have to stake KMD, Just open wallet once a month and claim your rewards.)
Komodo (KMDBTC) had a strong bounce recently and just moved above EMA50 on high volume.
This signal tells us that this pair is ready to move up and grow.
The RSI is now at 60. A few months back, we would see the RSI sitting at 10, 15, 20 and such for most altcoins even if t...
[telegram] <maxcrypt0> Why are KMD deposits disabled at Binance?(edited)
[telegram] <Acura360> Pls ask Binance (re @maxcrypt0: Why are KMD deposits disabled at Binance?)
[telegram] <maxcrypt0> Ok so no forks or anything ?
[telegram] <Acura360> no
jl777c05-Nov-19 06:16 PM
preparing for hardupdate later this month
GatewayBOT05-Nov-19 06:19 PM
[telegram] <SagaYtic> ? (re @Matterbridge_kmdbot: [discord] <jl777c> preparing for hardupdate later this month)
[telegram] <SagaYtic> ? (re @Matterbridge_kmdbot: [discord] <jl777c> preparing for hardupdate later this month)
[telegram] <SagaYtic> ?
[telegram] <SagaYtic> Hi
[telegram] <SagaYtic> ? (re @Matterbridge_kmdbot: [discord] <jl777c> preparing for hardupdate later this month)
[telegram] <SagaYtic> What do you mean ?
jl777c05-Nov-19 06:20 PM
there will be a hardupdate later this month
GatewayBOT05-Nov-19 06:20 PM
[telegram] <SagaYtic> What do you mean ? (re @Matterbridge_kmdbot: [discord] <jl777c> preparing for hardupdate later this month)
jl777c05-Nov-19 06:20 PM
exchanges are preparing for it
a scheduled update
GatewayBOT05-Nov-19 06:22 PM
[telegram] <SagaYtic> On which aspects please ? (re @Matterbridge_kmdbot: [discord] <jl777c> exchanges are preparing for it)
[telegram] <maxcrypt0> Binance deposits are closed, but Bittrex is open
[telegram] <maxcrypt0> FYI
GatewayBOT05-Nov-19 06:54 PM
[telegram] <Louistee_youtube> Hello Admin,
I do make eye catching promotional video reviews talking about project’s benefits and potentials via my YouTube channel of over 90k subscribers, over continents in different geographical areas, who are loyal and into crypto, willing to invest in anything I bring to them.
Please dm if interested.
[telegram] <Louistee_youtube> Hello Admin,
I do make eye catching promotional video reviews talking about project’s benefits and potentials via my YouTube channel of over 90k subscribers, over continents in different geographical areas, who are loyal and into crypto, willing to invest in anything I bring to them.
Please dm if interested.
GatewayBOT05-Nov-19 07:16 PM
[telegram] <MButcho> huobi open also
[telegram] <Ggokhangark> Hardupdate? Any clue? (re @Matterbridge_kmdbot: [discord] <jl777c> there will be a hardupdate later this month)
[telegram] <dubbledon> Ledger claim button soon ?
GatewayBOT05-Nov-19 08:02 PM
[telegram] <TheCrabbyPaddy> @dubbledon atomic labs has a reward claimed for ledger
GatewayBOT05-Nov-19 08:40 PM
[telegram] <EPIDEMIC_media> No wonder there hasnt been any selloffs to challenge this rally (re @maxcrypt0: Why are KMD deposits disabled at Binance?)
[telegram] <Kenny_Kobayashi> We were running too hot (re @maxcrypt0: Why are KMD deposits disabled at Binance?)
[telegram] <Kenny_Kobayashi> Binance moonboys would have pumped (re @EPIDEMIC_media: No wonder there hasnt been any selloffs to challenge this rally)(edited)
[telegram] <Goose432> My friend says withdrawals are also suspended
[telegram] <mwtnky> (re @Kenny_Kobayashi: We were running too hot)
[telegram] <Acura360> 2x CRO Staking - OKEx
[telegram] <maxcrypt0> The whales always come out to play when deposits/withdrawals are closed
GatewayBOT05-Nov-19 09:02 PM
[telegram] <iqly_almond> So cme dump didnt affect btc price ? Good
GatewayBOT05-Nov-19 10:22 PM
[telegram] <Regnar> On the hard update this month, it will bring some new CC functionality (re @SagaYtic: On which aspects please ?)(edited)
The Komodo Dev Team has created nSPV, a superlight client that's 1000 times faster than existing simple payment verificaiton (SPV) methods. Learn more here.
[telegram] <pirate1st> Excellent!
[telegram] <SagaYtic> Ty Sir. (re @Regnar: On the hard update this month, it will bring some new CC functionality to KMD main chain.)
GatewayBOT05-Nov-19 11:20 PM
[telegram] <Goose432> Why is my Komodo and Hempcoin adress exactually the same in Chameleon pay wallet?
SHossain05-Nov-19 11:23 PM
because, THC is a Smart Chain created using Komodo. same address and privatekey for all ecosystem coins (Smart chains)
it's like all ERC20 tokens has same address as ETH
GatewayBOT06-Nov-19 12:09 AM
[telegram] <BegottenHickory> Guys, 82% of the minning hashrate is still unknown(maybe some chinese farm)....
[telegram] <keith6969> Hey was wondering if the KMD team would be needing people doing business development?
[telegram] <SagaYtic> What is going on ? (re @BegottenHickory: Guys, 82% of the minning hashrate is still unknown(maybe some chinese farm)....)
[telegram] <BegottenHickory> 82% of the mining hashrate is unknown, but like 2 weeks before the growth we're seeing
[telegram] <sanyadurnov> Kmd or btc? (re @BegottenHickory: Guys, 82% of the minning hashrate is still unknown(maybe some chinese farm)....)
[telegram] <Regnar> We're always looking for help, though I'm not sure there is a paid position available right now, most of us are volunteers (re @keith6969: Hey was wondering if the KMD team would be needing people doing business development?)
[telegram] <BegottenHickory> Kmd
[telegram] <Regnar> what're you talking about? Show me a link (re @BegottenHickory: Guys, 82% of the minning hashrate is still unknown(maybe some chinese farm)....)
[telegram] <Regnar> I see luckpool.net as biggest
[telegram] <Regnar> I think you may be confusing mining pools with the Notary Nodes
List of known Komodo pools (KMD) Equihash PoW algorithm. Live hashrate distribution, pool fees & minimum payment comparison. Mining Pools & Block Explorer
[telegram] <BegottenHickory> I can't post the link..
[telegram] <BegottenHickory> Miningpoolstats
[telegram] <BegottenHickory> And I can't send photos
[telegram] <polycryptoblog> 75% of mining is done by 64 notary nodes. Metrics aren’t the same as other coins
GatewayBOT06-Nov-19 01:35 AM
[telegram] <RegulusR> I believe that if the Komodo team manages to make AtomicDex scalable, with an exceptional UX, I think it will attract not only traders' attention but also new projects for the Komodo blockchain.
[telegram] <Inconfiscatable> Can i having link for current supernet holding?
GatewayBOT06-Nov-19 02:49 AM
[telegram] <BegottenHickory> I'm a really old miner, I've mined been on kmd way before asics even were a thought.
But sincerly now, 70% of the hashrate is still an 'unknown miner' probably chinese.
I saw this with all equihash coins, 1-2 weeks before the bump , there appears an unknown entity wich takes over a lot of the hashrate.
First Horizen, then Pirate chain, now KMD.
I mean this is a little bad for your image (and the rest).
[telegram] <BegottenHickory> I understand how nodes work. However, 15% of the last 1000 blocks are going to an unknown entity. (re @polycryptoblog: 75% of mining is done by 64 notary nodes. Metrics aren’t the same as other coins)
[telegram] <BegottenHickory> From the last 1000 blocks, 72.4% went to the PoS system and 27.6% went to us, miners
[telegram] <BegottenHickory> How do I feel, as a regular miner, knowing that more than 50% of the block rewards are going to an unknown entity?
Besides the fact that the PoS reward is a little f****d up
GatewayBOT06-Nov-19 03:01 AM
[telegram] <polycryptoblog> The consensus mechanism is not under threat and nothing can be done about miners mining solo or in private pools .
[telegram] <polycryptoblog> The actuality is over 85% of the miners are known , 75% from the notaries and around half of the public pools
[telegram] <hbl888> KMD is puming... any good news?
GatewayBOT06-Nov-19 03:39 AM
[telegram] <EPIDEMIC_media> Stress Test was technically an L based on success rate
Binance withdrawls and deposits are disabled. (Binance is also skimping people out on staking rewards)
One unknown miner is hogging all the block awards.
Komodo is hiring New Devs (re @hbl888: KMD is puming... any good news?)
GatewayBOT06-Nov-19 03:50 AM
[telegram] <KeeJef> Is anything preventing Monero from being added to AtomicDex, does the coin being swapped need to support HTLC's to be added?
[telegram] <polycryptoblog> Stress test was a success because we found where at high volume things break down at and have already started work on optimization. Binance and other services on maintenance for pending upgrade. One miner isn’t hogging all the block rewards . Hiring more devs .
[telegram] <polycryptoblog> HTLC is needed also need to figure out how to deal with the different structure of transactions and the implications of it for swaps. (re @KeeJef: Is anything preventing Monero from being added to AtomicDex, does the coin being swapped need to support HTLC's to be added?)
[telegram] <KeeJef> Okay ty
GatewayBOT06-Nov-19 04:02 AM
[telegram] <Regnar> It isn't PoS. It doesn't do the same thing at all. There is no staking, users do receive 5.1% rewards per year but they do not stake to obtain these, they simply make a transaction once a month. (re @BegottenHickory: How do I feel, as a regular miner, knowing that more than 50% of the block rewards are going to an unknown entity?
Besides the fact that the PoS reward is a little f****d up)
[telegram] <Regnar> What? (re @BegottenHickory: From the last 1000 blocks, 72.4% went to the PoS system and 27.6% went to us, miners)
Recently had the pleasure to talk to @financemagnates regarding general risks of centralized exchanges and how regulations could improve the situation and reduce the security risks - https://t.co/9KpqMfHyuL #KMD #BTC #ETH #BNB #DEX #DeFi #fintech #Komodo
GatewayBOT06-Nov-19 07:51 AM
[telegram] <Debodebeli> Hi, why Pirate is not on dex,chameleon, it only on altsbit?
GatewayBOT06-Nov-19 08:01 AM
[telegram] <Acura360> Because actually no litemode for pirate and pirate is actually not atomicswap ready (re @Debodebeli: Hi, why Pirate is not on dex,chameleon, it only on altsbit?)
GatewayBOT06-Nov-19 08:21 AM
[telegram] <Debodebeli> Hmmmm... ok, ty
I want to buy some but i dont want to keep on exchange
[telegram] <Acura360> Just install the wallet
Pirateocean
Sevenseas
Verus Agama
for Pirate (re @Debodebeli: Hmmmm... ok, ty
I want to buy some but i dont want to keep on exchange)
Crypto Privacy - Big Things Coming with the Most Secure & Private Cryptocurrency of All! I welcome Draeth from the most secure and private cryptocurrency of ...
Which #cryptocurrency is the most secure & #private of all? What are they doing to make #bitcoin tx private?
https://t.co/3MHKSlAZNc
@PirateChain #freedom #privacy #monero #zcash $ARRR $XMR #mimblewimble @ElevateGroup01
I've published a post detailing the 5 alts I expect to significantly outperform Bitcoin in 2020: https://t.co/2wEHmbXSkp
I've given an overview of fundamentals, price-histories and speculative prospects.
Spoiler: The 5 alts are $KMD, $NKN, $FTM, $DAG and $VIDT
Enjoy th...
@cz_binance @binance
Stalk Holding Pic left is what I received from holding $KMD in @KomodoPlatform https://t.co/brv6XGsqdl wallet for 2 days.
Pic right is what I received for holding $KMD in binance “stalk holding” for 30 days
2 days Vs 30 days .


It's purpose is to demonstrate how to use netlify to hide api key. In this case https://www.weatherbit.io/api


Check that the array length is greater than lowerBound.
Check if value > lowerBound
Check if value >= lowerBound
Check for value in an allowed set of values.
Check for value in an allowed set of values.
Version of inRange() which uses inclusive be default: [lowerBound, upperBound]
Check for value in range lowerBound to upperBound.
Check for value in range lowerBound to upperBound.
If true, check for value >= lowerBound. If false, check for value > lowerBound.
If true, check for value <= upperBound. If false, check for value < upperBound.
Check if value < upperBound
Check if value <= upperBound
:: DeveloperApi :: Factory methods for common validation functions for Param.isValid. The numerical methods only support Int, Long, Float, and Double.


{% if form.initial_data and form.errors %}
There was a problem validating the form. Please review the messages below.


| 1 |
Phillips Academy Andover
|
Andover |
Massachusetts |
15.00% |
30.00% |
| 2 |
Phillips Exeter Academy
|
Exeter |
New Hampshire |
15.00% |
28.00% |
| 3 |
Lawrenceville School |
Lawrenceville |
New Jersey |
15.00% |
28.00% |
| 4 |
Milton Academy |
Milton |
Massachusetts |
12.00% |
28.00% |
| 5 |
Groton School |
Groton |
Massachusetts |
15.00% |
26.00% |
| 6 |
Noble and Greenough School
|
Dedham |
Massachusetts |
11.00% |
26.00% |
| 7 |
St. Paul's School |
Concord |
New Hampshire |
12.00% |
25.00% |
| 8 |
Hotchkiss School |
Lakeville |
Connecticut |
12.00% |
23.00% |
| 9 |
St. Albans School |
Washington |
Washington D.C. |
13.00% |
20.00% |
| 10 |
Deerfield Academy |
Deerfield |
Massachusetts |
10.00% |
20.00% |
| 11 |
Middlesex School |
Concord |
Massachusetts |
9.00% |
19.00% |
| 12 |
Choate Rosemary Hall |
Wallingford |
Connecticut |
9.00% |
19.00% |
| 13 |
Hockaday School |
Dallas |
Texas |
8.00% |
15.00% |
| 14 |
Thacher School |
Ojai |
California |
9.00% |
14.00% |
| 15 |
Concord Academy |
Concord |
Massachusetts |
6.00% |
14.00% |
| 16 |
Cate School |
Carpinteria |
California |
5.00% |
14.00% |
| 17 |
Peddie School |
Highstown |
New Jersey |
4.00% |
12.00% |
| 18 |
Emma Willard School |
Troy |
New York |
2.00% |
11.00% |
| 19 |
Loomis Chaffee School |
Windsor |
Connecticut |
4.00% |
10.00% |
| 20 |
Oregon Episcopal High |
Portland |
Oregon |
6.00% |
10.00% |
| 21 |
Hill School |
Pottstown |
Pennsylvania |
3.00% |
10.00% |
| 22 |
Webb School |
Claremont |
California |
4.00% |
10.00% |
| 23 |
Taft School |
Watertown |
Connecticut |
4.00% |
10.00% |
| 24 |
Northfield Mount Hermon School |
Mount Hermon |
Massachusetts |
3.00% |
10.00% |
| 25 |
Georgetown Preparatory School |
Bethesda |
Maryland |
5.00% |
9.00% |
| 26 |
Shady Side Academy |
Pittsburg |
Pennsylvania |
4.00% |
9.00% |
| 27 |
Saint John's Preparatory School |
Danvers |
Massachusetts |
2.00% |
9.00% |
| 28 |
Miss Porter's School |
Farmington |
Connecticut |
3.00% |
9.00% |
| 29 |
Blair Academy |
Blairstown |
New Jersey |
3.00% |
9.00% |
| 30 |
St. Mark's School |
Southborough |
Massachusetts |
2.00% |
9.00% |


VERTIGO (1958) A Film Review Copyright Dragan Antulov 2000
Sometimes films can be like wine - getting better as they age. Such examples are, however, very rare and author of this review can name only few examples of films he considered better with each subsequent viewing. One of such films was VERTIGO, 1958 thriller, often mentioned as the best among many films directed by great Alfred Hitchcock and one of the greatest films ever made. When I saw this film for the first time I was not that impressed. Actually, I was quite disappointed - although VERTIGO looked like a truly great film, something was missing and I began thinking about it as one of those overhyped films which filmophiles are supposed to worship even if they don't particularly like them. On the second viewing, I began changing my mind about VERTIGO after discovering some new elements in the films and looking it from different perspective. My view on VERTIGO improved and continued to improve after each viewing. Every time I discovered something new and gradually became convinced that VERTIGO meets all requirements for cinematic masterpiece.
VERTIGO was made during the zenith of Hitchcock's career, with his reputation of great filmmaker already established. Two French authors, Pierre Boileau and Thomas Narcejac, have written the novel D'ENTRE LES MORTS especially for Hitchcock. Hitchcock used the plot of the novel after adaptations by Samuel A. Taylor and Alec Coppel. Protagonist of VERTIGO is John "Scottie" Ferguson (played by James Stewart), San Francisco police detective who discovers that he suffers from acrophobia while chasing the crime suspect on rooftops. The chase would end with one of the uniformed policemen dead and Scottie, traumatised for life, decides to leave the force. Few months later, he is called by an old college friend and shipping tycoon Gavin Elster (played by Tom Helmore) who wants to hire him as a private detective. Scottie's job is to look after Elster's wife Madeleine (played by Kim Novak), who is acting strangely, struck with unhealthy obsession with Carlotta Valdez, woman who took her own life in San Francisco a century ago. Scottie begins following Madeleine and gradually falls in love with her. But his love is weaker than his acrophobia, and he can't save Madeleine's life when she jumps from the high bell tower. Stricken with grief, remorse and guilty conscience Scottie wanders through streets of San Francisco until he finds Judy Barton (again played by Kim Novak), ordinary girl who is looking somewhat similar to Madeleine. His interest in Judy is motivated only by memory of lost love, but young girl has her own skeletons in the closet.
VERTIGO represents Hitchcock at his best - a great artist who is willing to experiment while being faithful to his trademark style in the same time. Result of his efforts is the film with multiple layers that could satisfy both those who worship Hitchcock as the king of suspense thrillers and those who aren't particularly attracted to the genre. Again, as in many films from this period of Hitchcock's career, VERTIGO is suspense thriller on surface only. Hitchcock uses thriller plot only as an opportunity to explore various forms of human conditions, especially those, which are considered bizarre, aberrant or downright perverse. Therefore, VERTIGO should be viewed less as a thriller and more like a combination of powerful love story and intense psychological drama. Hitchcock's ability to put all those contents within the framework of thriller is another reason why VERTIGO happens to be one of the most celebrated (and quoted) films in the history of cinema.
VERTIGO is film worshipped by critics and film scholars, but I doubt that the general audience could share their enthusiasm. This is probably due to the fact that VERTIGO happens to be very dark, by many standards the darkest and most depressing film Hitchcock has ever made. Sinister dimension of the film could be already found in the character of protagonist. For many people, James Stewart's role in this film is one of the most successful transformations of the actor's image - once good all-American boy was already playing people with extremely unpleasant character traits, but John "Scottie" Ferguson represents the bottom of the barrel. In REAR WINDOW, another Hitchcock's classic, Stewart played voyeuristic photographer, but this aberration from societal norms was something almost acceptable and within the framework of Hitchcockian formula of "ordinary man in extraordinary circumstances". But this time Stewart plays character that is anything but ordinary - Scottie Ferguson is actually textbook example of various psychopathological conditions. Pathological fear of heights is the least of his problems, as well as his inability to deal with women. As the plot progresses, we see protagonist revealing his darker side. First we are introduced to his maniacal obsession on the verge of stalking. Than Hitchcock hints about necrophilia - Ferguson is attracted to Madeleine less because of her beauty and more because she is cold and distant, and in one scene it is implied that he might have had his way with her while she was unconscious.  Stewart shows these character traits uncompromisingly, but the audience is still having some sympathy for Scottie - this is the reason why the role in VERTIGO represents the greatest achievement in Stewart's acting career. Ironically, this role was, according to many film scholars, inspired by Hitchcock himself - Scottie's makeover of Judy was in many ways similar to the ordeals suffered by lead actresses during production of Hitchcock's films.
The actress who was subjected to such makeover for the purposes of this film was Kim Novak, one of numerous blonde sex symbols of 1950s Hollywood whose reputation led many critics to disregard her genuine acting talent and give all credit for the success of her role to Hitchcock himself. Kim Novak played the difficult dual role of Madeleine/Judy with great success, and it is understandably the best acting performance of her career, achievement that couldn't be possible without some true talent. In most likelihood, critics and film scholars were discouraged from praising her achievement for the same reason why general audience wouldn't like this film - her characters are equally dark and dysfunctional as male protagonist. At first we are introduced to the woman who is slowly but inevitably succumbing to self- destructive madness only to see her reincarnation in seemingly ordinary woman who repeats the same process. But the most sinister revelation of her character happens in the end of the film, when Judy not only voluntarily puts herself through utmost humiliation of abusive relationship, but also hints that she went through this before. This depiction of female protagonist as passive and powerless toy in the hands of morally or sexually aberrant men is probably the reason why modern-day feminists shouldn't be too enthusiastic about Novak or Hitchcock.
Some critics tend to claim that VERTIGO can't be masterpiece because of various plot holes and implausibilties. Those nit-picks, however, usually point to main characters doing things or acting in a way normal and ordinary people would not. But the main characters are already marked as dysfunctional and nearly psychotic. Because of that they are more interesting than the supporting, more "normal" characters, and, consequently, supporting actors are shadowed by great performances by Stewart and Novak. One of the exceptions are Barbara Bell Geddes as Marjorie "Midge" Wood, charming but nerdish friend and ex-fianc‚e of Scottie, who would provide the only traces of comic relief in this grim tale. Another is Henry Jones as coroner whose harsh but nevertheless correct depiction of Scottie's mental state make him some kind of Greek chorus. While drafting a villain, Hitchcock again threw away his formula about bad guys being more interested than protagonists. Gavin Elster might be manipulative and ruthless bastard, but his psychology is too normal for Hitchcock; as a result, Tom Helmore doesn't have to work hard playing him and, furthermore, Hitchcock simply dumps that character half way during the him and, in doing so, breaks Hollywood rules about villains getting away with their crimes.
The acting alone, however, isn't the only reason why VERTIGO should be considered a masterpiece. Again, like in many other occasions, Hitchcock showed his great talent of superb filmmaker, always ready to employ new filming techniques and create memorable scenes and images. In case of VERTIGO Hitchcock uses splendid photography by Robert Burke and the camera rarely leaves the protagonist, which gives a plenty opportunity for Hitchcock to employ various techniques with lenses, different lighting (and even some animation during dream sequences) in order to present the protagonist's twisted state of mind. San Francisco locations and memorable music by Bernard Herrmann creates specific, almost surreal atmosphere of the film - another reason why VERTIGO is considered one of the everlasting Hitchcockian masterpieces.
RATING: 9/10 (++++)
Review written on September 22nd 2000
Dragan Antulov a.k.a. Drax Fido: 2:381/100 E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>Filmske recenzije na hrvatskom/Movie Reviews in Croatian http://film.purger.com
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


My Start Page
Welcome: It is
. Here are some news headlines and a few podcasts to choose from.
Google
Duck Duck Go
Start Page
Stack Overflow
Select Podcast
Search...
Your browser does not support the
element.


We'll keep the light on for you.  See you soon!


|
Morrison Knudsen Plaza/P.O. Box 73 Boise, Idaho 83729 Telex: 368439/Phone:<PHONE_NUMBER> Fax:<PHONE_NUMBER> |
NEWS RELEASEFor Further Information Contact: Brent D. BrandonVice President Corporate Communications |
MK WINS $200 MILLION ROLE IN NUCLEAR CLEANUP JOB AT INEL
The total life cycle cost of the project will total $1.189 billion and involves the design, construction, and operation of the Advanced Mixed Waste Treatment Facility (AMWTP) to meet the milestones -- agreed to by DOE and the State of Idaho -- for getting nuclear waste out of Idaho. In addition to Morrison Knudsen, the team led by BNFL Inc. includes: Science Applications International Corporation (SAIC), BNFL Engineering Ltd. (BEL), GTS Duratek, Manufacturing Sciences Corporation (MSC), Rocky Mountain Remediation Services, L.L.C. (RMRS), and Pajarito Scientific Corporation (PSC).
BNFL Inc. is the American subsidiary of BNFL, an international nuclear fuel-cycle and radioactive waste management services company headquartered in the United Kingdom. BNFL brings 50 years experience in the design, licensing, construction and operation of private nuclear facilities and has completed $12 billion in fixed-price capital projects since 1980. BNFL Inc. has several contracts at DOE sites throughout the U.S.
In making the announcement, MK President and Chief Executive Officer Robert A. Tinstman noted that RMRS, jointly owned by MK and BNFL, is the environmental restoration and waste management contractor at the Rocky Flats Site in Colorado, where a majority of the waste to be treated at the INEL Advanced Mixed Waste Treatment Facility was produced. INEL's AMWTP facility will treat at least 99 percent of approximately 65,000 cubic meters of transuranic and alpha wastes currently stored at INEL, and have additional flexibility and capacity to treat an additional 20,000 cubic meters of optional waste.
The facility's integrated treatment process will achieve an overall waste volume reduction of more than 65 percent, and will result in waste forms that can be accepted either by the Waste Isolation Pilot Plant (WIPP) or a low level waste storage/disposal facility. To treat the plutonium-contaminated mixed waste at the INEL, the BNFL team will employ proven technologies from its Sellafield site in the United Kingdom, including two waste encapsulation plants and a waste treatment complex designed to treat plutonium-contaminated waste at much greater levels of contamination than the waste which will be treated at the INEL's AMWTP.
The AMWTP contract will be executed in three phases. In Phase I, which extends through 1999, the BNFL Inc. team will obtain permits and the authorization basis for facility operations, and MK will assist in finalizing the design and business approach. In Phase II, MK will manage construction of the facility to meet the completion date of December 31, 2002. Phase III extends through 2015 and will entail plant operations, waste treatment, and transportation of the waste out of Idaho.
For further information, e-mail mkcorp@mk.com


All BComponents extend the BComponent class and as a result have all of the following inputs as well. HTML attributes are, in most cases, applied to the top level element in a component.
{{code.overview}}
The id input is used to assign an id attribute to a bcomponent.
Example:
{{code.id}}
The classes input is used to assign classes to a class attribute of a bcomponent.
{{code.classes}}
The styles input is used to assign styles to a style attribute of a bcomponent.
{{code.styles}}
The name input is used to assign a value to a name attribute of a bcomponent.
{{code.name}}
The aria input is used to assign a value to the aria attribute of a bcomponent.
{{code.aria}}
The ariaBy input is used to assign a value to the aria-labelledby attribute of a bcomponent.
{{code.ariaBy}}
The bcomponent input is used to initialize bcomponents in code. All of the properties of the passed BComponent copied are to the BComponent to which it was passed.
{{code.bcomponent}}