From:Hayslett Rod To:McCarty Danny ; Geaccone Tracy Sent:2017-01-11T04:36:01.0000000Z Subject:FW: Consultant's view on gas transmission into California
I received these comments this afternoon from JPMorgan. I need to have some help putting together a story to counteract the basics of this story from CERA.
Rod
-----Original Message-----
From<EMAIL_ADDRESS>[<EMAIL_ADDRESS>Sent: Wednesday, November 21, 2001 2:00 PM
To: Hayslett, Rod
Cc<EMAIL_ADDRESS>Subject: Consultant's view on gas transmission into California
Importance: High
Rod:
As we discussed here are the bulletts that summarize what we heard from our consultants.
Overall demand picture
Believe it will be 2006 before the California market will get back to 2000/2001 demand levels
2002 demand down approximately 900 mmcf/d
2003 demand will be flat
2004 growth in demand will begin
2005-2006 return to 2001 demand levels
Reasoning:
2001 was a dry year - the lack of hydro generation created an additional 600 mmcf/d demand for gas in California
Anticipated generation capacity overbuild in California - new more efficient power plants with better heat rates will displace older gas fired generation, reducing the amount of gas required to generate a MW of electricity on the margin
California electricity rate increases have curtailed demand for power and subsequently, gas
Gas transmission capacity into the state
Over the next two to three years there will be an additional 2.0 Bcf/d of transmission capacity into California
800 mmcf/d in 2002
900 mmcf/d in 2003 (Kern River expansion)
300 mmcf/d (El Paso conversion of All American oil line and power up)
San Juan basin gas
San Juan basin production is declining
first half of 2001 vs. first half of 2000 production off by approximately 200 mmcf/d
Rockies gas will not replace declining production in the San Juan San Juan gas will move closer to Permian pricing
The consultants believe that the combination of these factors will put decontracting pressure on existing transmission into the state of California, and especially the El Paso and Transwestern lines.
However, the "wild card" in their view is unforeseen California power demand growth.
As we discussed, JPMorgan would like to hear your views on the above issues.
Please give me a call when you have had sufficient time to digest and we can set up a conference call to make the most efficient use of your time.
Thanks Rod
Brent
Also, when you have had a chance to look at sales gas volume growth please
e-mail the volume numbers to me...thanks
***********
EDRM Enron Email Data Set has been produced in EML, PST and NSF format by ZL Technologies, Inc. This Data Set is licensed under a Creative Commons Attribution 3.0 United States License <http://creativecommons.org/licenses/by/3.0/us/> . To provide attribution, please cite to "ZL Technologies, Inc. (http://www.zlti.com)."
***********
California


From his banishment in a pompous land, Hooting Yard devotee Mike Jennings keeps tabs on the out of print pamphleteer Dobson. Specifically, Mr Jennings acts as Dobson's bibliographer, maintaining a catalogue of all known pamphlets, and adding to the list whenever previously overlooked titles come to his attention in these pages.
Here is his latest update. You can find links to all the earlier lists, comprising pamphlets numbered 1 to 168, here. Please note that, like the previous 168, all the pamphlets listed below are out of print.
169.  Parp. Toot, Hooter, Tooters, Parpers And Tots : A Complete Guide For The Bewildered.
171. Several Potentates Of The Ancient World With Collapsed Lungs & Their Concubines.
172. How To Make Your Own Packet Of Half A Dozen Smokers' Poptarts For Tuppence-Ha'penny.
173. A Comparative Study Of Speckles And Splodges And Smudges.
174. Half A Dozen Reasons Why Birds Sometimes Become Encrusted With Filth.
175. Everything You Ought To Know About Hay, And Words Beginning With Hay-.
176. Several Anagrams Of OO NOOKY, Informed By My Unique Insight Into Popular Culture
177. Dictionary Of Fruit- And Nut-Related Jazz And Blues Nomenclature
178. Fortune-Telling By Interpreting The Patterns Created By Crockery Smithereens Smashed According To The Dusty Springfield Method.
179. Breakfast Favourites Of The Austrian Empire Foreign Ministry 1809–1821.
180. Arithmetic For The Blind.
181. Marmalade : Does It Come In A Jar Or A Pot?


?JARDIN
BOTANICO
NACIONAL
“DR.
RAFAEL
M.
MOSCOSO”
SANTO
DOMINGO,
REPUBLICA
DOMINICANA
37054
Poaceae
Andropogon
glomeratus
(Walt.)
B.S.P.
Rep.
Dominicana:
Llanura
Costera:
Distrito
Nacional:
Isla
La
Piedra
(local
name
is
Isla
de
Pinos)
off
coast
at
town
of
Boca
Chica
nearer
to
Puerto
Andres;
sand
and
coralline
rock
with
dredged-up
coralline
rock
from
harbour;
not
natural
island!
grassy
with
Casuarina
and
with
mangroves
along
NW
side.
18°16.5'N,
69°38'W;
elev.
to
10
m.??
2
sept.
1986
T.
Zanoni,
J.
Pimentel,
R.
Garcia
NEW
YORK
BOTANICAL
GARDEN
362168
01362168
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Form Pickers
Flatpickr - Date picker
A lightweight and powerful datetimepicker
Flatpickr - Time Picker
A lightweight and powerful datetimepicker
Colorpicker
Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4
Clock Picker
A clock-style timepicker for Bootstrap.
Bootstrap Datepicker
Bootstrap-datepicker provides a flexible datepicker widget in the Bootstrap style.


Educations
- Korea Advanced Institute of Science and Technology (link)Sep. 2021 - Aug. 2023
- M.S. candidate in Industrial and Systems Engineering
- Research interest: Graph Neural Networks with their applications
- Advisor: Chanyoung Park
- Hanyang University (link) Mar. 2015 - Aug. 2021
- B.S. in Industrial Engineering (Summa Cum Laude)
- Advisor: Kichun Lee
Research Experience
- Visting Researcher, Murata Lab@Tokyo Tech Oct. 2022 - Feb. 2023
-
- Explored weaknesses of structured-based and GNN-based methods in graphs with missing features
- Proposed supervised contrastive learning that incorporates pseudo-labels in graph domains
- Submitted a paper that alleviates missing feature problem on graphs at NeurIPS 2023
- Research Intern, DSAIL@KAIST Dec. 2020 - Feb. 2021
-
- Explored the theoretical basis and practical implementation of GNNs such as GCN and GAT (link)
- Student Researcher, IDSL@HYU Sep. 2020 - Aug. 2021
-
- Proposed an advanced version of Neural Graph Collaborative Filtering using a heterogeneous graph
- Implemented Matrix Factorization of the BPR model using multiprocessing on the Epinion dataset
- Implemented One-Class SVM on anomaly detection task using MNIST dataset
Teaching Experience
- IE343: Statistical Machine Learning, Spring 2022
-
- Hosted Kaggle Competition (Course Project) for predicting person's income using demographic dataset


{{ page.title }}
{{ content }}Search
Newsletter
Travis CI for Private Repositories
Guides
- Getting started
- Validate your .travis.yml
- Services & Database setup
- Headless Testing with Browsers
- Skipping a Build
- Speeding up the build
Reference
- Customizing Your Build
- Installing Dependencies
- The Lifecycle of a Build
- Build configuration
- Notifications
- Encrypting Sensitive Data
- Encrypting Files
- Environment Variables
- Build Status Images
- The CI Environment
- The OS X CI environment
- Common Build Problems
- Command Line Client
- GitHub Permissions used by Travis CI
- Building on Multiple Operating Systems
- Uploading Build Artifacts
- Adding to SSH Known Hosts
- Build Environment Updates (December 2014 and later)
Travis Pro
Services and Databases
Integrations
Language-specific Guides
- Android
- C
- C++
- Clojure
- C#
- Dart
- D
- Erlang
- F#
- Go
- Groovy
- Haskell
- Haxe
- Java
- JavaScript (with Node.js)
- Julia
- Objective-C
- Perl
- PHP
- Python
- R
- Ruby
- Rust
- Scala
- Visual Basic
Deployment
- Overview
- Appfog
- biicode
- Cloud 66
- Heroku
- AWS CodeDeploy
- Modulus
- Nodejitsu
- Engine Yard
- OpenShift
- cloudControl
- RubyGems
- OpsWorks
- PyPI
- npm
- S3
- Ninefold
- Divshot
- Rackspace Cloud Files
- GitHub Releases
- Deis
- Hackage
- Google Cloud Storage
- packagecloud
- Custom Script
- Other Providers
Developer Guides
3rd Party Tools and Resources
Contact
Contributing
This documentation site is open source. The README in our Git repository explains how to contribute.


Inter
stellar
About
Planets
Games
News
GitHub
About
Planets
Games
News
GitHub
Our goal is to take you on
Interstellar Journey to explore
The Solar System and The Space.
Unwrap Now


This website uses cookies
Read More
×
Airport ICAO:
More Options
0.4.2
Runway Configuration
DEPARTURES
ARRIVALS
APRON TRAFFIC - P/B S/U
TAXI
LOADING
LOADING
LOADING


I’m about to use Python in one of my projects. Because of this, I’ve been reading about some of the technologies commonly used together with Python. One of these is virtualenv
.
virtualenv is something similar to Ruby’s RVM. In a nutshell, it is used to isolate the different dependencies used by your projects so they don’t interfere with each other. I decided to use virtualenvwrapper. This is a wrapper for virtualenv
to make operations like deleting, copying, creating a virtual environment simpler.
I currently have two installations of Python - Python 2.7 and Python 3.5. I wanted to install this via Python 3.
I was following this tutorial to help me get started. These are the steps I did to install virtualenvwrapper on my Mac OS machine.
- pip3 install virtualenvwrapper
- mkdir ~/.virtualenvs
We need to set the WORKON_HOME
variable needed by virtualenv
to work. In my case, since I’m putting it in ~/.virtualenvs, I added this in my ~/.bash_profile
export WORKON_HOME=$HOME/.virtualenvs
You need to source the virtualenv wrapper script to activate it. If you’re not sure where it is, you can simply use the which
command like which virtualenvwrapper_lazy.sh
source /Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenvwrapper_lazy.sh
I’m using iTerm2 and my terminal crashes, so instead of using the lazy script, I just use the virtualenvwrapper script. I replaced the above line to:
source /Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenvwrapper_lazy.sh
To check whether virtualenv works for you, you can try to create your own virtual environment
mkvirtualenv test
And if it succeeds, you have successfully install virtualenvwrapper in your machine.
Just to add on this, I encountered an additional issue where I’m getting this error:
/usr/bin/python: No module named virtualenvwrapper
I managed to fix it thanks to this thread in Stackoverflow. I had to set some additional variables so that the script would work correctly.
export VIRTUALENVWRAPPER_SCRIPT=/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
After setting this up, my final .bash_profile
looks something like this:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$DEV_PATH/workspace
export VIRTUALENVWRAPPER_SCRIPT=/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
source /Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenvwrapper.sh
If you’re not sure what to put in some of the variables there, you can simply use which
. Hope this helps!


Announcing the engagement of Caleb Eubanks and Maria Perez.
It is with great joy that we invite you to celebrate the next chapter of our lives together.
Venue: The Dallas Zoo
Menu: Chicken (Duh!)
Cake: Gonna Be Yummy
DJ: Spotify
Time: Ceremony starts at 6:00PM, Guests should begin arriving at 5:30PM. A shuttle will be waiting at the front gate to take you to the ceremony site


ImageResolver
Try one of these examples:
medium.com
techcrunch.com
theverge.com
dribbble.com
npr.org
qz.com
reuters.com


I really enjoyed my introductory operating systems class at Berkeley. The class focused on classic high level OS concepts like process models, virtual memory, concurrency, and more. To go along with the material, teams of 4 formed to implement components in a toy OS called Nachos. The purpose of this was to keep students focused on the concepts rather than wade through the quagmire that is x86 assembly.
I was very proud of the finished project. We wrote basic processes and threads with priorities, memory manangement, system calls, and a C chat program. All of this could be booted up and ran on the virtual 'Machine' object that emulated a MIPs architecture machine.
Unfortunately, I did not follow up with more advanced topics after the class, and while those high level concepts are solid fundamentals, I sorely wish to see what designs have been tried in practice, along with their benefits and drawbacks. Rather than dive blindly into the source of popular open source kernels from Linux and BSD, I plan to start by reading some research papers on kernel design. Hopefully this will refresh my memory about some key terms while letting me survey what's available.
The Mach kernel is a microkernel developed by CMU in the eighties to address issues with multiprocessors and networked environments, and the growing complexity of BSD systems.
BSD began with a very clean and simple abstraction of files to model major components such as devices and memory. Using files allowed for very natural manipulation of these resources with pipes and simple utilities. Unfortunately, this abstraction did not fit later desired features. This lead to adding orthogonal abstractions for different tasks. Mach tries to bring back a clean uniform interface with a objected-oriented abstraction. The 4 basic abstractions are:
task - execution environment. Think of this as a basic container for everything needed to run a program. Things like virtual memory address space, file descriptors, threads, capabilities and other resources. Example messages: fork, allocate (memory)
thread - basic unit of computation. Similar to threads in processes for Unix. Example messages: destroy, suspend, resume.
port - communication channel. A way to reference other tasks and threads. An object sends a 'message' to another object through a port on the receiving object. Messages are queued up in ports. Think classic Smalltalk and Objective-C style message passing.
message - actions and data between tasks and threads.
The emphasis on separating tasks and threads seems like a big idea of the paper. I originally thought that Unix had multiple threads per process, but from the paper, it sounds like at that time Unix used very expensive forks and hacks in order to achieve concurrency. A great example they used for supporting the task/thread abstraction is machines with N processors. Instead of creating N heavy weight processes with 1 thread each, Mach would create 1 heavy weight task to describe what's needed to run, and N relatively lightweight threads to take advantage of the concurrency.
The abstraction for virtual memory allows Mach to be machine independent. Each task holds it's own 'address map' of what memory it owns. This is the same as the basic concept I learned in class. The maps map from address to either virtual memory (VM) objects, or to 'shared maps'. The 'shared maps' are a way for tasks to share memory. VM objects are either pages that have already been fetched, or instructions of where to fetch the page if it hasn't been fetched. Pages themselves have attributes that specify their current status and properties.
BSD sockets are simply streams of bytes left up to the application to interpret. Mach's port/message abstraction provides uniform interprocess communication. There is no difference between two processes on the same host talking, verus two processes on different network hosts talking. On top of that, the port/message mechanism lets you add meaning and stricter checking on the data that is passed around. Capabilites of who can send and receive what can also be enforced.


The command @run¶
The command @run
starts a simulation. It takes as input the name(s) of the phase(s) that should
be used, in that order:
@run phase_name
or:
@run phase_name1, phase_name2, ...
With multiple runs, one may label the different @run
commands to be able to
refer to them in postprocessing:
@run phase_name runlabel:run1
...
@run phase_name runlabel:run2
Multiple runs¶
The simulation depends on the value of a number of parameters, such as
n_subjects
, mechanism
, etc. It will use the values that are set at the point of the @run
command.
In other words, it is possible to re-set the value of a parameter and perform a @run
again. In a script
with several @run
commands, use the label runlabel
to label a @run
command:
n_subjects = 10
@run phase_name runlabel:ten_individuals
n_subjects = 100
@run phase_name runlabel:hundred_individuals
These labels (ten_individuals
and hundred_individuals
) can then be used in the postprocessing stage in order to, for example,
plot the data from the simulation with ten individuals, or from the simulation with 100 individuals:
runlabel = ten_individuals
@vplot e->b # Plots the associative strength betweeen e and b in the simulation with 10 individuals
runlabel = hundred_individuals
@vplot e->b # Plots the associative strength betweeen e and b in the simulation with 100 individuals


黒の手番です。22 はどう動かしますか？
Unlimited
pips Black=147 White=154
(CorrectAnswer= 0/0, ErrorScore= 0)
1. 10/6 3/1*(2) eq:-0.463 38.97% (G:19.44% B:0.16%) 61.03% (G:17.22% B:0.80%) 2. 6/4(2) 3/1*(2) eq:-0.497 (-0.034) 38.08% (G:17.48% B:0.14%) 61.92% (G:16.59% B:0.74%) 3. 10/8 6/4 3/1*(2) eq:-0.514 (-0.051) 37.46% (G:18.49% B:0.12%) 62.54% (G:18.68% B:0.83%) 4. 10/4 3/1* eq:-0.519 (-0.056) 38.27% (G:17.04% B:0.28%) 61.73% (G:17.93% B:0.84%) 5. 5/1*(2) eq:-0.591 (-0.128) 35.90% (G:16.54% B:0.11%) 64.10% (G:20.53% B:1.01%)


First, double-click the JTextField
and JButton
to change
the default text that was inserted by the IDE. When you erase the text from the
JTextField
, it will shrink in size as shown below. Change the text of
the JButton
from "JButton1" to "Convert." Also change the top
JLabel
text to "Celsius" and the bottom to "Fahrenheit."
Setting the Component Text
Next, shift-click the JTextField
and JButton
components. This will
highlight each showing that they are selected. Right-click
(control-click for mac users) Same Size -> Same Width. The
components will now be the same width, as shown below. When you
perform this step, make sure that JFrame
itself is not also selected. If it is, the Same Size menu will not be active.
Setting the JTextField and JButton Sizes
JFrame
and adjust its size to
eliminate any extra whitespace. Note that if you eliminate all of the extra space (as shown below)
the title (which only appears at runtime) may not show completely. The end-user is free to resize
the application as desired, but you may want to leave some extra space on the right side
to make sure that everything fits correctly. Experiment, and use the screenshot of the finished GUI
as a guide.
The Completed GUI
To see the code in its entirety, scroll up and down within the IDE as necessary. You can expand or collapse certain blocks of code (such as method bodies) by clicking the + or - symbol on the left-hand side of the source editor.


1 write to _worker
System.Management.Automation (1)
engine\hostifaces\LocalPipeline.cs (1)
1158
_worker
= new Thread(WorkerProc, LocalPipeline.DefaultPipelineStackSize);
7 references to _worker
System.Management.Automation (7)
engine\hostifaces\LocalPipeline.cs (7)
1166
_worker
.SetApartmentState(apartmentState);
1178
return
_worker
;
1195
if (
_worker
.ThreadState == System.Threading.ThreadState.Unstarted)
1197
_worker
.Start();
1239
if (
_worker
.ThreadState != System.Threading.ThreadState.Unstarted && Thread.CurrentThread !=
_worker
)
1241
_worker
.Join();


Selected Talks
- 05/11/2020, Functional renormalization for Bose-Bose mixtures, at ERG2020 Conference, Online/Kyoto (Japan).
- 12/03/2020, Cold atom gases from functional Renormalization, ICCUB seminar, Barcelona (Spain).
- 25/07/2019, Cold quantum gases from functional Renormalisation, at Ab initio nuclear theory workshop, University of Surrey, Guildford (UK).
- 05/04/2019, Functional renormalisation group for Bose gases: From linear to hydrodynamic fluctuations, at EMMI Workshop Functional Methods in Strongly Correlated Systems, Hirschegg (Austria).
- 01/11/2018, Application of the functional renormalisation group to Bose gases, at 7th UK Nuclear Theory Meeting, The University of Manchester, Manchester (UK).
- 03/06/2016, Materia nuclear y la ecuación de estado de estrellas de neutrones, Seminario DFI-UChile, Santiago (Chile).
Posters


30k Digital Bodies From Ready Player Me
What started as a Covid-prompted experiment to hook Wolf3D's digital body creation technology, ReadyPlayerMe, to Mozilla Hubs turned into a hit. In just one month over thirty thousand bodies were created and used on the immersive web.
Three.js Releases Experimental WebGPU Support
Progress marches on with a new release of the popular 3D engine, Three.js. In addition to build improvements that result in smaller Javascript files, this release brings with it experimental support for the WebGPU API which promises to improve rendering in XR.
Frame Academy Teaches WebXR For STEM
The past few weeks have seen Frame make regular improvements to their immersive web event hosting platform but they didn't stop there. They now have a series of six project-based lessons that teach students how to create their own XR experiences. They also offer companion online workshops to start STEM teachers and students with everything they need to use WebXR.
js13kGames Announces WebXR Winners
After weeks of consideration and comparison, the judges have announced the winners of the first js13kGames competition to include WebXR:
🍾 1st place: Exit
🍾 2nd place: 13kb-404
🍾 3rd place: Ned Snow
See the rest of the categories and winners on js13kGames.
Two Communities Create WebXR Discords
A couple of community organizers have reached out to your editor in order to invite Immersive Web Weekly readers to take part in their XR-centric Discord servers:
M2: server invite
Neurohaxor: server invite
Discord has long been a gathering place for game communities but is quickly growing beyond that with servers for many topics related to the immersive web.
Moon Rider Is Sticky
Moon Rider was one of the first WebVR experiences with high quality graphics and stable performance which led it to become a common demonstration for people interested in the immersive web. It turns out that it's more than a demo for many people because the creator tweeted this week that 18 months after release it has more than 500 users who play every day for more than 15 minutes.


In our experience it can be difficult to find useful resources for chemistry and computer science. It may take hours for us to find a site that further explores our areas of expertise with reliable and credible information. Google is an incredible tool that will greatly expedite the search for information, but it is only useful if you know what you are searching for. Our website is designed so that a variety of useful resources, some you may not have even known you needed, can all be found in one spot. This will allow others to avoid the problems that we encountered. Every resource found on our website is one that we have used in the past and would recommend to anyone else in our field.
Who We Are
Our Sources
Criteria
Chemistry
I chose each of these links based on how useful they are. Some of them I have used extensively and others I have heard good reviews from my teachers. My sources include chemical databases, chemical calculators, educational platforms, reaction tables, unit converters, scientific articles, forums, and several periodic tables to choose from. As I discover more useful websites I will add them to my sources.
Computer Science
I personally had a fun time going through each source I saved and determining if they should be a part of this list. My criteria for wading through the good sources vs the bad was: the amount of times I used them, how many people use them, and how easy it is for someone to find valuable information off them. Hence why this table include Java and C++ documentation, but not ACL2. I also included sites that are commonly used by web developers in order to make applications or websites as most people, like me, want to code something functional.
| Name | Description |
|---|---|
|
{{item.name}} |
{{item.discription}} |
|
{{item.name}} |
| Name | Description |
|---|---|
|
{{item.name}} |
{{item.discription}} |


Rajanand Ilangovan
Home
Blog
Data viz
MS Dhoni
Datasets
Certifications
Contact
MS Dhoni's Cricket career


UMD client for Telepat, using Browserify to run in browsers. Available on GitHub.
Telepat is an open-source backend stack, designed to deliver information and information updates in real-time to clients, while allowing for flexible deployment and simple scaling. Read more about how it works and why it's different here.
bower install telepat-js
, if you're using Bowernpm install telepat-js
, if you're using NPM<script src="dist/telepat.js"></script>
Documentation is available here, and you can check out a simple demo in the example
folder.
Read on about working with the library:
Clone this repo, then run npm install
. After that, you can build the project using gulp build
.
Released under the MIT License.
Telepat is built on top of the following awesome libraries:


'use strict';
var Ishmael = require('ishmael');
'use strict';
var Ishmael = require('ishmael');
Because this same code will run in the browser and node, you can use this simple pattern to get a basic class such as a View:
var View = View || Ishmael.View;
var ViewController = ViewController || Ishmael.ViewController;
var App = App || Ishmael.App;
First-party
var StoryListView = StoryListView || require('./storylistview.js');
Ishmael uses a very basic classical inheritance model. This provides a baseline. If you want to get fancy, feel free!
var BasicApp = function() {
Here’s where we apply the constructor of the superclass:
App.apply(this, arguments);
By default, an app does nothing. We’re going to instantiate a new StoryListView
(see storylistview.js
), add it to a generic view controller, and add it to our app’s stack of viewControllers.
var storyListView = new StoryListView();
var aViewController = new ViewController('/', storyListView);
if (aViewController) {
this.viewControllers.push(aViewController);
aViewController.setApp(this);
}
blah
this.requirePaths = [
'../../../lib/',
'./',
];
Finally, we register this class as ‘BasicApp’. Because we’re faking classical inheritance and JavaScript has no real object introspection, we need this to know what class an object is.
this.registerClass('BasicApp');
};
Complete the inheritance by copying the prototype for our superclass, and make sure the constructor is the function we just defined.
BasicApp.prototype = Object.create(App.prototype);
BasicApp.prototype.constructor = BasicApp;
module.exports = BasicApp;


MD-PhD candidate at the Carle-Illinois College of Medicine, the world's first engineering-based medical school. Entering the physician-innovator class of 2020 with goals to become involved in surgical augmentation and medical advancement.
Worked with the I-STAR lab and Carnegie Center for Surgical Innovation learning, applying, and teaching the leading research in biomedical imaging and instrumentation.
Cutting-edge innovation and research developing robotic surgery techniques through software engineering, applied physics, and a KUKA medical robot.
Machine learning software development alongside education research with goals to provide a better learning experience for students and teachers.
Involved in the reconstruction of a prior senior project relating to spectrogram analysis and student education in Spanish classes. Designed and implemented spectrogram synthesizer and a model for student - teacher interfacing & grading in a MEAN Stack application framework.
In collaboration with the departments of Biomedical Engineering and Pathology at Johns Hopkins University
Oral presentation at the Biomedical Engineering Society 52nd Annual Meeting | San Diego, CA
In collaboration with the departments of Biomedical Engineering and Neurosurgery Saint Louis University
IEEE - Transactions on Medical Robotics and Bionics
Oral presentation at the Biomedical Engineering Society 50th Annual Meeting | Atlanta, GA
Poster presentation at the 10th Image Guided Therapy Workshop | Boston, MA
Oral Presentation at the Biomedical Engineering Society 49th Annual Meeting | Phoenix, AZ
Elected President of MEDLaunch, a biomedical incubator curating teams of excellent engineers, clinicians, and businesspeople in the Saint Louis community. MEDLaunch aims for excellence in medicine through innovation and scientific advancement, followed by business foundation and growth of the Saint Louis economy.
Focused on promotion of entrepreneurship and innovation in students, engineers, practitioners, businessmen, and professors in the Saint Louis Area. Improved process management, elucidated problems in management and organization while offering solutions, helped organize events, and improved website design.
Software engineer for voice recognition and dialog parsing algorithms, website design, and integration of extensive database information to improve the electronic medical record organization and usage for patients and physicians.
Innovating the medical field with high-end neurological monitoring, artificial intelligence, software engineering, and creation of revolutionary medical technologies.
Statistical comprehension using powerful programs including MiniTab and Microsoft Excel, data analysis, and number crunching crucial for the fast delivery of valuable consultative information for a variety of companies.
Team leadership and rapid delivery of packaged goods to big name retailers.
GPA: TBD
GPA: 4.00
GPA: 3.80


STEP A: INTRODUCTION
Control is the process by which an organism acts on the environment to make some aspect of it conform to an inner image, standard, or reference condition that the behaving system selects. In this series of interactive demonstrations you will experience the phenomenon of control. We will not get into theory at all. Before theory can make any sense, you have to know what needs explaining. The phenomena you will see here can't be explained by any conventional cause-effect theory of behavior. Don't worry about explanations during Part 1: just concentrate on observing and noticing relationships between what you do and what happens on the screen. The theory disk, Part 2, will answer the questions that you will undoubtedly have by the time you finish with Part 1.
STEP B: MEASURING ACTION
In control theory we refer to actions and other processes not as events but as continuous variations in continuous variables. We don't count behaviors or processes -- we measure them, we think of them as variables that can change over some range. Even when behavior involves the use of discrete symbols, it is almost always possible to see an underlying continuum, with the symbol referring to one point or a subrange of that continuum. Control systems operate in this underlying continuum. We will be concerned here only with simple motor behavior acting in an arc or along a line. No matter what you are controlling during these demonstrations, you will do it by placing one hand in some position or some series of positions along a continous range of positions.
In all these experiments, pay particular attention to the continuity of motion and to the way all the variables, including your own actions, change at the same time. The effects of your actions go on at the same time as the actions, not after they are finished. You act while the images on the screen are changing, not after they have finished changing. Thinking in terms of continuous variables will help you to see this simultaneous interaction clearly.
STEP C: MEASURING HANDLE POSITION
Your control handle is connected to the computer, which samples its position 60 times per second (as near to continuously as we can achieve). Its center position is represented by ZERO. When the handle moves right, the position is measured as a positive number; when it moves left, the position is represented as a negative number. To the computer, that number IS the position of the handle: it can "feel" but it can't see. Move the handle left and right and watch the numbers change. You will see that the representation is continuous. If you're using a game joystick or mouse, only one of the directions is sensed; the other is ignored. The reading is scaled so that the maximum up/forward position corresponds to a reading of about 200, and the other extreme corresponds to about -200.
HERE IS THE HANDLE POSITION: h = 0
STEP D: EFFECT OF HANDLE ON CURSOR
The handle affects a cursor -- a short vertical bar that can move left and right. The number representing handle position is used by the computer to position the cursor in the left-right direction. The cursor position is also represented by a number. In this step the number is the same as for handle position. The cursor is called an input quantity because it is a visual input to you, the controlling system.
Handle: 0
Cursor: 0
STEP E: DISTURBANCES
In the real world, our own actions are not the only influences that can alter variables outside us. There are also disturbances. The input quantities that we sense and control are affected both by our own actions and by independent disturbances. In general there can be many simultaneous disturbing influences. In control theory when we say "disturbance" we mean the cause of a disturbance, not its effect. Influences that might cause disturbances do not necessarily have any effect -- control actions may cancel the effect.
In this step we add an independent disturbance that influences the position of the cursor. The magnitude of the disturbing quantity is expressed as a number, just as the handle and cursor positions are. Now the cursor position is found by adding the handle number to the disturbance number. If you hold the handle centered you can see the changing effect of the disturbance. When you move the handle, the cursor now doesn't move exactly as the handle moves. The disturbance interferes with the effect of the handle on the cursor.
Handle: 0
Cursor: 0
Disturbance: 0
Hold the handle still to see the effect of the disturbance acting alone. Cursor position below is always exactly equal to handle number + disturbance number. It's not determined either by handle or by disturbance alone. It's a joint effect of both. You can pause and restart the action with the Start disturbance button to check the numbers. The cursor number positions the bar.
STEP F: COMPENSATORY TRACKING
Now you are ready to try the simplest kind of control experiment, called "compensatory tracking." That name really comes from a wrong model of how this works, but for tradition's sake we keep it. This isn't compensation: it's control.
You will see two stationary bars now, with the cursor moving left and right between them. The object is simple: keep the cursor bar exactly between the target bars for 30 seconds. You will have about 5 seconds to gain control; then data recording will start. At the end of the 30 seconds, the handle, cursor, and disturbance numbers will be plotted, showing you what you did. The x-axis of the plot is time.
HOLD CURSOR BETWEEN TARGET BARS.
The handle goes in the opposite direction from the disturbance. That is what keeps the cursor stable. This is rather remarkable, as you could not sense the disturbance directly. The cursor trace doesn't resemble the handle trace. In fact, for the run shown, the correlation of cursor position and handle position is .... On the other hand, the correlation between handle position and the (invisible) disturbance magnitude is ....
STEP G: PURSUIT TRACKING
Compensatory tracking requires holding a cursor next to a stationary target. When the target moves, the task is called "pursuit tracking." In fact there is almost no difference between these tasks. In both cases, the cursor is being kept near the target. In both cases the controlled variable can be defined as the difference in target and cursor positions: the target position is zero in compensatory tracking.
In step G we apply a disturbance to the target as well as to the cursor. After an experimental run, we plot the distance between target and cursor instead of just cursor position. The effective disturbance is now the disturbance applied to the cursor minus the disturbance applied to the target. This effective disturbance is also plotted. The third tracing will be the handle position as before.
HOLD CURSOR BETWEEN TARGET BARS.
The plot looks the same as for compensatory tracking. Now, however, the "cursor" is the difference between cursor and target positions, and the "disturbance" is the difference between the target disturbance and cursor disturbance. The correlation of handle with cursor minus target is now ..., and the correlation between handle and net disturbance is now ....
STEP H: BEYOND TRACKING
There is much more to the idea of control than tracking, the control of relative position. Anything that can vary, that can be sensed, and that can be affected by action can be controlled. In this demonstration you have a choice of variables to control.
Select the type of variable you want to control:
Relative size
Orientation
Shape
Pitch of sound
Numbers
As long as the state of the controlled variable can be represented as a one-dimensional number, the remainder of the control system works just as before. The correlation of handle with the controlled variable is ..., and between handle and net disturbance is now ....
STEP I: ACCIDENTAL VS INTENTIONAL CONSEQUENCES
In a stimulus-response or lineal model of behavior, stimuli or cerebral commands cause behavior, and behavior leads to consequences in the environment. If a given action has multiple effects, there is no way to say that one of those effects was intentional and the rest were accidental or side-effects. They are all simply effects, or consequences.
Control theory says that action is varied to control some perceived consequence of action. The same action may have other consequences, but they are not under control. We can tell which effect of action is under control by applying disturbances to it. If a particular effect is under control, the system's action will vary in exact opposition to changes in the disturbance. If there is no control, action and disturbance will still combine to produce an effect, but there will be no systematic opposition.
In this demonstration, the control handle affects three cursors, all in exactly the same way. Each cursor is subject to a different pattern of disturbance. You will pick one cursor to hold steady. At the end of a short experimental run, you will see plots that show how handle movement, disturbance, and cursor movement were related for each cursor. (Three disturbances are selected at random).

DETECTING THE INTENDED EFFECT
The cursor that varies the least is the one you were controlling. The computer finds it by looking for the lowest correlation of handle position & cursor position.
STEP J: EFFECT OF CHANGING THE FEEDBACK FACTOR
In all the demonstrations so far, moving the handle has had a fixed amount of effect on the cursor movement. Suppose we increase or decrease the effect of the handle on the cursor, so that moving the handle a certain amount makes the cursor move either more or less than it moved before for the same handle movement. If, for example, a given handle movement moves the cursor twice as much, do you think the cursor will move twice as much? That seems reasonable, but that is not what happens. In this demonstration we will see what actually happens.
We will use the compensatory tracking experiment to demonstrate the effect. Before starting the experimental run, you will be asked to pick a "feedback factor" somewhere between 50 and 200 percent of the factor that has been used in the previous demonstrations (numbers outside that range will be ignored). You will have the opportunity to rerun the experiment as often as you like, trying different factors, to see the effect. You might like to start with a factor of 200, giving the handle twice as much effect as before, to see the answer to the question proposed above.
Please enter a feedback factor between 50 and 200. If you enter 100, the factor will be the same as it has been in all the previous demonstrations. A factor of 50 makes the cursor move half as much as before, a factor of 200 makes it move twice as much. If you type a number outside the range of 50 to 200, it will be ignored.
HOLD THE CURSOR EXACTLY ALIGNED WITH THE OUTER TWO (TARGET) LINES
Feedback factor: %When you DECREASE the effect of the handle on the cursor, the handle must move MORE to cancel the effect of the disturbance. INCREASING the effect requires LESS handle movement to keep the cursor controlled. Here, the handle effect is 100% of the "normal" amount; the handle movement is times as much as normal. The cursor remains essentially at zero, between the two target marks. Feedback effects do not work like ordinary cause and effect.
STEP K: CONTROL OF REMOTE EFFECT
In either stimulus-response theory or cognitive theory, behavior is the final product of the organism. If action produces a regular effect, it is assumed that the world between the action and the effect must have remained constant. We will now look at an action that produces a regular effect by employing a link that is subject to two disturbances between the action and the effect. You will see that it is the final effect, not the action, that remains constant. William James said 100 years ago that living systems alone achieve regular ends by variable means. You will now see what he was talking about.
In this experiment, your control handle moves a vertical bar as usual. The bar marks the lower end of a "string" that passes over one pulley, up and over another pulley, and finally up to a free end on top. Your task is to keep the top end aligned with the stationary mark that you will see. When you start the run, the pulleys begin to wander left and right at random, adding their effects to the position of the string's free end. You will see that the task is easy if you ignore the pulleys and just watch the free end. If you try to do it by watching the pulleys and figuring how how much to move, it will be almost impossible. The final effect, not the action, is controlled.
HOLD THE FREE (TOP) END OF THE STRING EVEN WITH THE STATIONARY MARK
The plot is made using exactly the same analysis used for pursuit tracking, with two disturbances. The effective disturbance is the sum of pulley movements. The controlled variable is the position of the string's end. Clearly, the handle moves exactly as it must in order to keep the free end of the string near the target mark. The causal chain between action and result contains two independent disturbances, yet the final effect remains under close control. We are seeing here Aristotle's "fourth cause."
STEP L: FEEDFORWARD VERSUS FEEDBACK
The term "feedforward" is sometimes heard in discussions of living control systems. Feedforward means sensing the cause of a disturbance instead of sensing the controlled variable itself, and calculating the amount of output that will just cancel the effect of the disturbance on the controlled variable. This is also known as "compensation." It is basically a non-feedback process, because the actual state of the controlled variable does not affect the action.
In this experiment you can choose feedforward or feedback. If you choose feedback, the experiment will be an ordinary compensatory tracking experiment (perhaps you can see where that term came from now). If you choose feedforward, the "cursor" will now actually represent the disturbing quantity itself. You can't see the real cursor. In that case, you will have to estimate how far to move the handle (opposite to the direction of the cursor) so that the invisible cursor would remain near the middle. As you practice over and over, seeing the results in the data plot, you can gradually adjust the amount of feedforward for the best results (this is actually a higher level of feedback). You can judge for yourself which works best: feedback or feedforward. The same disturbance will be used throughout.
FEEDFORWARD: The stabilization of the (invisible) cursor it shown by its root-mean-square (RMS) deviation from the zero position. For this run it is .... The correlation of the handle position with the invisible cursor position you were trying to stabilize by feedforward was .... The correlation of handle position with the displayed disturbance was .... While this last correlation is high, the cursor is not very well stabilized. For good control, the handle effect must cancel the disturbance much better than this.
FEEDBACK: The stabilization of the cursor is shown by its root-mean-square (RMS) deviation from the zero position. For this run it is .... The correlation of the handle position with the cursor position you were trying to stabilize by feedback was .... The correlation of handle position with the displayed disturbance was .... Note that the handle position correlates with the disturbance better when you can't see the disturbance than when you can! Note how small the RMS error in cursor position is, compared with its value in the feedforward case.
A final word on feedforward. If you went back and forth between feedforward and feedback a number of times, you got better and better at the feedforward. But suppose you didn't have the feedback experience at all, and never saw the real cursor. How could you have found the right amount of action to go with the disturbance magnitudes? You would just have been guessing.
This experiment was done with a constant feedback factor. If the feedback factor changes, as you saw in an earlier experiment, you can still control the cursor very accurately. How well do you think feedforward would work, however, if the feedback factor changed by an unknown amount? In fact this demonstration was done under conditions that give feedforward the best possible chance of working, under repeatable conditions and with plenty of information about the actual effects on the cursor.
Feedforward can be adjusted to work (reasonably well) if a higher system can see the effects on the controlled variable and change the relationship between disturbance and action. Then it is just evidence of higher-level feedback. Pure feedforward never works as well as feedback, and in most real circumstances it barely works at all. Feedforward is not an important aspect of most behavior.
STEP M: THE REFERENCE LEVEL OF THE CONTROLLED VARIABLE
In all the experiments you have done so far, you were told what the task was: it was to keep the cursor between the target marks, or to keep the display in some easily-described condition when other variables were being controlled. No doubt you were docile about this, as you wanted to learn about the phenomenon of control. But only your willingness to do as you were told kept the display in that state. You could just as easily keep it in some other state.
For example, you could keep the cursor some small distance left or right of the target. You could make the square larger than or smaller than the circle; orient the figure to point left, right, or in any other direction; pick a different shape to maintain for the squiggly figure.
The controlled variable is a VARIABLE. You can pick any state of such a variable as the "right" state. That state is called the REFERENCE LEVEL of the controlled variable. It is set by you, the behaving system, not by the outside world. You might now want to return to some of the earlier experiments and see what happens (especially how the plots look) when you use a different reference level for the controlled variable. If you choose a constant reference level, the correlations will be much as before. Yes, you can choose a changing reference level. That's also interesting to do. So give it a try.
Continue with Part 2 of the tutorial.
Text and concept by W.T. Powers, circa 1989
Original programs for DOS: Demo1


The virtualized active message send abstraction. Each instantiation of AMSenderC has its own queue of depth one. Therefore, it does not have to contend with other AMSenderC instantiations for queue space. The underlying implementation schedules the packets in these queues using some form of fair-share queueing.


REQUEST A DEMO
First Name
Last Name
Email *
Phone Number
School/Organization*
Role on Campus*
What are your goals for DemoSystem?
I agree to the DemoSystem
Terms of Service
and
Privacy Policy
Submit
Cancel


{% extends 'MainApp/base.html' %} {% comment %} * REFERENCES * Title: Get Started with Bootstrap * Author: Bootstrap * Date Published: N/A Continuous updates * Date Accessed: October 4, 2020 * Code version: v4.5.3 * URL: https://getbootstrap.com/ * Software License: Code licensed MIT, docs CC BY 3.0. * REFERENCES * Title: Get Started with Django * Author: Django * Date Published: N/A Continuous updates * Date Accessed: September 13, 2020 * Code version: v3.1.3 * URL: https://www.djangoproject.com/ * Software License: BSD-3 * REFERENCES * Title: Login with Google and Facebook account in Python/Django |All-Auth Social Login Authentication | API * Author: CODEV (Youtube name) * Date Published: Jul 29, 2019 * Date Accessed: October 4th, 2020 * Code version: N/A * URL: https://www.youtube.com/watch?v=-TUEM2NCuVE * Software License: None {% endcomment %} {% load static %} {% load socialaccount %} {% block content %}


# Changelog
## 0.9.4 - 2011/08/22
- Fix an issue with the compilation include paths which allowed compilation against conflicting libv8’s
## 0.9.3 - 2011/08/11
- Better documentation for the C extension memory management
- Always lock V8 operations, always.
- GH-86 Context#[], Context#[]= always looks up values from the JavaScript scope, even when it’s a Ruby object
## 0.9.2 - 2011/06/23
- fix issue with 1.8.7 where object allocation inside of GC was segfaulting
## 0.9.1 - 2011/06/17
- never perform V8 operations inside Ruby GC
- refactor locking interface
- add documentation for v8_handle
## 0.9.0 - 2011/06/10
- extract libv8 into installable binary for most platforms
- fix numerous memory leaks
- expose the V8 debugger via V8::C::Debug::EnableAgent()
- force UTf-8 encoding on strings returned from javascript in ruby 1.9
- remove deprecated evaluate() methods
- make the currently executing JavaScript stack available via Context#stack
## 0.8.1 - 2011/03/07
- upgrade to v8 3.1.8
- remove bin/v8 which conflicted with v8 executeable
- decruft all the crap that had accumulated in the gem
- Javascript Objects are now always mapped to the same V8::Object when read from the context
## 0.8.0 - 2010/12/02
- every V8 Context gets its own unique access strategy
- ruby methods and procs embedded in javascript always return the same function per context.
- ruby classes and subclasses are now all connected via the javascript prototype chain
- better error reporting on syntax errors
- upgrade to rspec 2
- several bug fixes and stability fixes
## 0.7.5 - 1010/08/03
- upgrade to V8 2.3.3
- property interceptors from ruby via [] and []=
- indexed property access via [] and []=
- property
- several bugfixes
- stability: eliminate many segfaults
- don’t enumerate property setters such as foo= from javascript
## 0.7.4 - 2010/06/15
- bug fix for rvm ruby installs incorrectly detected as 32bit
## 0.7.3 - 2010/06/15
- don’t catch SystemExit and NoMemoryError
- fix bug bundling gem
## 0.7.2 - 2010/06/14
- embed ruby classes as constructors
- support for rubinius
- uniform backtrace() function on JSError mixes the ruby
- String::NewSymbol() is now scriptable
- InstanceTemplate(), PrototypeTemplate(), Inherit() methods on v8::FunctionTemplate now scriptable.
- reuse the standard ruby object access template
- fix a bunch of compile warnings
- Store any ruby object in V8 with V8::C::External
## 0.7.1 - 2010/06/03
- Function#call() now uses the global scope for ‘this’ by default
- Function#methodcall() added to allow passing in ‘this’ object
- Function#new() method to invoke javascript constructor from ruby
- access javascript properties and call javascript methods from ruby
- bundled Jasmine DOM-Less browser testing framework.
- added Object::GetHiddenValue() to v8 metal
- added Handle::IsEmpty() to v8 metal
- fixed bug where iterating over arrays sometimes failed
- numerous bug /segfault fixes.
## 0.7.0 - 2010/05/31
- upgraded to V8 2.1.10
- added low level scripting interface for V8 objects
- ruby object property/method access is now implemented in ruby
- auto-convert javascript arrays to rb arrays and vice-versa
- auto-convert ruby hashes into javascript objects
- auto-convert javascript Date into ruby Time object and vice versa.
- better exception handling when passing through multiple language boundaries
- objects maintain referential integrity when passing objects from ruby to javascript and vice-versa
- added debug compile option for getting C/C++ backtraces whenever segfaults occur.
- official support for REE 1.8.7
- fixed numerous segfaults
- implemented V8::Value#to_s
- the global scope is available to every V8::Context as the ‘scope’ attribute
- properly convert ruby boolean values into V8 booleans.
## 0.6.3 - 2010/05/07
- FIX: linkage error on OSX /usr/bin/ruby
## 0.6.2 - 2010/05/06
- FIX: linkage error on OSX 10.5
## 0.6.1 - 2010/05/03
- call JavaScript functions from Ruby
## 0.6.0 - 2010/03/31
- ruby 1.9 compatible
- full featured command line bin/v8 and bin/therubyracer
- self validating install (v8 —selftest)
- Only dependency to build gem from source is rubygems.
## 0.5.5 - 2010/03/15
- fix string encoding issue that was breaking RHEL 5.x
- fix pthread linking issue on RHEL 5.2
## 0.5.4 - 2010/03/09
- add ext directory to gem require paths which was causing problems for non-binary gems
## 0.5.3 - 2010/03/01
- added full back trace to javascript code
## 0.5.2 - 2010/02/26
- added javascript shell (bin/therubyracer)
- added to_s method for embedded ruby objects
- added line number and file name to error message.
## 0.5.1 - 2010/02/17
- fix bug in 1.8.6 by creating Object#tap if it does not exist
## 0.5.0 - 2010/02/17
- support for Linux 64 bit
## 0.4.9 - 2010/02/16
- support for Linux 32 bit
## 0.4.8 - 2010/02/08
- expose line number and source name on JavascriptErrors.
## 0.4.5 - 2010/01/18
- case munging so that ruby methods(perl_case) are accessed through javascript in camelCase.
- access 0-arity ruby methods as javascript properties
- invoke ruby setters from javascript as properties
- contexts detect whether they are open or not and open when needed
## 0.4.4 - 2010/01/14
- Ruby objects embedded into javascript are passed back to ruby as themselves and not a wrapped V8 object wrapping a ruby object.
- Use any ruby object as the scope of eval().
- quick and dirty V8.eval() method added
- native objects have a reference to the context that created them.
- context now has equality check.
- expose InContext() and GetCurrent() methods.
- fix a couple of segmentation faults
## 0.4.3 - 2010/10/11
- access properties on Ruby objects with their camel case equivalents
- reflect JavaScript objects into Ruby and access their properties
- load JavaScript source from an IO object or by filename
## 0.4.2 - 2010/10/10
- embed Ruby Objects into Javascript and call their methods
## 0.4.1 - 2010/01/09
- embed bare Proc and Method objects into JavaScript and call them
- catch JavaScript exceptions from Ruby
## 0.4.0 - 2009/12/21
- evaluate JavaScript code from inside Ruby.


Prediction Game
Now let's move on to the first part of the game!
You need to predict where the food will move.
You must click prior to the food moving.
Start Game
Licenses and Credits


Torso.Utils.templateRenderer Class
Static Template Engine. All template renders should be piped through this method.
Item Index
Methods
copyTopElement
-
el
Produces a copy of the element tag with attributes but with no contents
Parameters:
-
el
Elementthe DOM element to be copied
Returns:
a shallow copy of the element with no children but with attributes
getCaretPosition
-
elem
Method that returns the current caret (cursor) position of a given element. Source: http://stackoverflow.com/questions/2897155/get-cursor-position-in-characters-within-a-text-input-field
Parameters:
-
elem
Elementthe DOM element to check caret position
Returns:
the cursor index of the given element.
hotswap
-
currentNode
-
newNode
-
ignoreElements
Changes DOM Nodes that are different, and leaves others untouched.
Algorithm: Delegates to a particular swapMethod, depending on the Node type. Recurses for nested Element Nodes only. There is always room for optimizing this method.
hotswapKeepCaret
-
currentNode
-
newNode
-
ignoreElements
Call this.hotswap but also keeps the caret position the same
render
-
$el
-
template
-
context
-
[opts]
Performs efficient re-rendering of a template.
Parameters:
-
$el
JQueryObjectThe Element to render into
-
template
Handlebars TemplateThe HBS template to apply
-
context
ObjectThe context object to pass to the template
-
[opts]
Object optionalOther options
-
[force=false]
Boolean optionalWill forcefully do a fresh render and not a diff-render
-
[newHTML]
String optionalIf you pass in newHTML, it will not use the template or context, but use this instead.
-
[ignoreElements]
Array optionaljQuery selectors of DOM elements to ignore during render. Can be an expensive check
-
setCaretPosition
-
elem
-
caretPos
Method that returns sets the current caret (cursor) position of a given element and puts it in focus. Source: http://stackoverflow.com/questions/512528/set-cursor-position-in-html-textbox
Parameters:
-
elem
Element -
caretPos
IntegerThe caret index to set
Returns:
the cursor index of the given element.
supportsSelection
-
el
Determines if the element supports selection. As per spec, https://html.spec.whatwg.org/multipage/forms.html#do-not-apply selection is only allowed for text, search, tel, url, password. Other input types will throw an exception in chrome
Parameters:
-
el
Elementthe DOM element to check
Returns:
boolean indicating whether or not the selection is allowed for {Element} el


Isabell Danell
Linkedin
Github
Return to Homepage
View My Resume
View My Projects
Feel free to reach out!
Email me at<EMAIL_ADDRESS>Alternatively, contact me at<PHONE_NUMBER>
Made with ❤ by Isabell Danell


--- title: Swig - Documentation --- {% extends '../_layouts/documentation.html' %} {% block content %}
Via NPM:
$ npm install swig --save
Swig has multiple ways to compile and render templates. Check the API documentation for more detailed information and usage.
{% raw %}var swig = require('swig');
// Compile a file and store it, rendering it later
var tpl = swig.compileFile('/path/to/template.html');
console.log(tpl({ article: { title: 'Swig is fun!' }}));
// Immediately render a Swig template from a string
console.log(swig.render('{% if foo %}Hooray!{% endif %}', { locals: { foo: true }}));
{% endraw %}
Variables that are passed to templates can be output using double-curly-brackets: {{ foo }}
. All variable output is automatically autoescaped, with the exception of function output.
Accessing properties of objects can be done using either dot-notation or bracket-notation. The following examples are equivalent:
{% raw %}{{ foo.bar }}
// is equivalent to
{{ foo['bar'] }}{% endraw %}
However, notation style follows the same rules as JavaScript. If a key includes non-alpha-numeric characters, it must be accessed using bracket-notation, not dot-notation.
{% raw %}{{ foo.chicken-tacos }}{% endraw %}
The above would be the same as attempting to subract tacos from foo.chicken:
{% raw %}{{ foo.chicken - tacos }}{% endraw %}
{% raw %}{{ foo['chicken-tacos'] }}{% endraw %}
If a variable is not defined, don't worry, your template won't explode. Instead, an empty-string will be output in its place. However, falsy values like null, false, 0
will be rendered as they are.
Variables can be modified using using special, chainable control structures called Filters:
{% raw %}{{ name|title }} was born on {{ birthday|date('F jS, Y') }}{% endraw %}
// => Jane was born on July 6th, 1985
Variables can also be JavaScript functions. It is important to note that, regardless of your autoescape setting, functions will not be auto-escaped.
{% raw %}var locals = { mystuff: function mystuff() { return 'Things!
'; } };
swig.render('{{ mystuff() }}', { locals: locals });
// =>
Things!
{% endraw %}
If you want to enforce escaping output on functions, just pipe them to the escape filter.
{% raw %}{{ mystuff()|escape }}{% endraw %}
// =>
Things

Any whitespace in your templates is left in your final output templates. However, you can control the whitespace around logic tags by using whitespace controls.
To remove whitespace, simply put a dash (-
) at the beginning or end of your tag to remove the preceding or following whitespace, respectively.
{% raw %}// seq = [1, 2, 3, 4, 5]
{% for item in seq -%}
{{ item }}
{%- endfor %}{% endraw %}
// => 12345
Note: there must not be any space between the tag open/close mark and the dash.
Swig uses extends
& block
for template inheritance.
{% raw %}<!doctype html>

<meta charset="utf-8">
<title>{% block title %}My Site{% endblock %}</title>
{% block head %}
<link rel="stylesheet" href="main.css">
{% endblock %}

{% block content %}{% endblock %}

{% endraw %}
{% raw %}{% extends 'layout.html' %}
{% block title %}My Page{% endblock %}
{% block head %}
{% parent %}
<link rel="stylesheet" href="custom.css">
{% endblock %}
{% block content %}

This is just an awesome page.

{% endblock %}{% endraw %}
Swig is easily compatible with Express, the simple web application framework for node. The following is a basic example of integrating Swig with Express:
var app = require('express')(),
swig = require('swig'),
people;
// This is where all the magic happens!
app.engine('html', swig.renderFile);
app.set('view engine', 'html');
app.set('views', __dirname + '/views');
// Swig will cache templates for you, but you can disable
// that and use Express's caching instead, if you like:
app.set('view cache', false);
// To disable Swig's cache, do the following:
swig.setDefaults({ cache: false });
// NOTE: You should always cache templates in a production environment.
// Don't leave both of these to `false` in production!
app.get('/', function (req, res) {
res.render('index', { /* template locals context */ });
});
app.listen(1337);
console.log('Application Started on http://localhost:1337/');
Comments
Comment tags are simply ignored by the parser. They will removed before your templates are rendered so that no one can see them unless they have access to your source code. Comments are written using the curly-hash syntax:


This section will lead you through some samples on how to build client applications for consuming API RESTFul services.
You don't need too much in order to get a quick start up. For test purpose you can type any service address onto your web browser and you'll get back some resource. Or you might prefer to use some utility for non-interactive download files like GNU Wget or cURL. Those utilities can be used for building shell scripts in UNIX-like systems or batch file in Windows-like systems in order to dynamically consume services.
wget --header="Accept: application/xml" http://server-host/apirest/bibles
wget --header="Accept: application/json" http://server-host/apirest/bibles
curl --header "Accept: application/xml" -XGET http://server-host/apirest/bibles
curl --header "Accept: application/json" -XGET http://server-host/apirest/bibles
It is up to you to use any dynamic programming language in order to build smart client applications for consuming services. Bellow there are some examples on how to start up using some well-known programming languages. If you are a Java programmer you may be pleased to know this java client API.


Biography About me
Languages I am Learning :
- French
- Russian
- Turkish
Experince in:
- sql
- plsql
- Forms
- Reports
The Most Ten Animals I like Are :
- Lion
- Horse
- Cat
- Dolphin
- Bird
- Butterfly
- Dogs
- Rabbit
- Bear
- wolf
Languages I am Learning :
Experince in:
The Most Ten Animals I like Are :


I purchased two 40 mg Oxycontin time-release pills from friend. I have tried oxycodone before about 7 or 8 times but this time I was interested in trying my highest dose yet, 60 mg. First, let me tell you my drug history. I have used a variety of different substances including cannabis, cocaine, nitrous, mushrooms, salvia, adderall, alprazolam, diazepam, and alcohol. Truly though, my favorite category of drug is opiates. I have tried opium in its raw form once, hydrocodone, and oxycodone numerous times. My favorite opiate that I have had the pleasure to experiment with has been oxycodone, most likely because it is also the strongest. As an aside I do not take any prescription drugs and feel that I have a very stable mentality.
I owed my friend P 20 mg because we had made a trade earlier in the week. I didnít plan on doing the full 60 mg but the day ended up that way. I brought the two yellow pills back to my room and called my friend to come over. When he arrived I took one pill and sucked off the yellow outer coating. This coating is not the time-release and is only used to distinguish the dosage of the pill.   I could see the indentations on the pill and it was white. Next I crushed the pill up and separated the white powder into two 20 mg lines. P did one and I did the other at approximately 1:30 pm. I like to do oxycodone early in the day so that I can enjoy it all day. If I do it at night then I feel like itís somewhat of a waste because I canít enjoy the feeling for long enough.
The first rush I felt from the 20 mg dosage was absolutely wonderful. I felt the oxycodone about 5 minutes after snorting the line and oddly enough felt it in my arms first. They seemed to take on a weightless feeling and then I knew the rush is coming. The feeling next runs up to the mind and wraps it in a nice warm blanket of drugs. All worries are lifted and the world takes on a glowing look of positive energy. I canít help but smile. Next the feeling runs down my spine and encompasses the entire body. Once the rush takes over my body, I lie back in my chair and exhale deeply. When I take oxycodone, I look around at other people and think I feel so much better than everyone else.
The feeling of oxycodone alone is great. Euphoria, relaxation, pain relief, everything one associates with opiate use. However, I prefer to smoke cannabis when using oxycodone. This increases the euphoria and sends me into a blissful state. My friend P and I smoked cannabis soon after consuming the lines. After smoking we listened to some music. When using this combination of drugs, music sounds wonderful and is extremely relaxing. Time flew by as I sat back and watched the snow fall outside.
By 4:00pm I was coming down from the peak euphoria and decided to do another 20 mg. I prepared another pill and blew another line half in each nostril. I bounced back up again to peak effects. This was great I said to myself I think Iíll stay like this all day. At dinner that night I commented that I thought I was going to spill something because I felt so clumsy but man did I feel good.
After dinner I went back to Pís room and played some Xbox 360. At 7:00 I was coming down once again but still feeling relaxed. I smoked some more cannabis and prepared to go to my meditation class. Meditating on cannabis does help me concentrate but this was the first time meditating on oxycodone. I must say it allowed me to calm my mental state down and helped me to concentrate. I almost fell over once while nodding but caught myself and regained focus. During the guided meditation relaxation I was in complete bliss and felt rejuvenated and the effects of the oxycodone were almost nonexistent.
After my meditation class I went back and blew the last 20 mg line at 9:30 pm. I returned to euphoria but it was not as intense as the first 20 mg at 1:30. Nothing is ever as good as the first line. I chilled out and watched some television and smoked some more cannabis. Went to bed at 1:30 am and had a wonderful relaxing sleep.
Oxycodone is a great substance and probably my favorite drug. The feeling I get while on oxycodone is the best I think a person can feel. The only real side effect of the drug when used alone is addiction. Oxycodone is powerfully addictive and the next day I did have cravings for the drug.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


WAYNE'S WORLD 2 A film review by Scott Renshaw Copyright 1993 Scott Renshaw
Starring: Mike Myers, Dana Carvey, Tia Carrere, Christopher Walken. Screenplay: Mike Myers, Bonnie Turner & Terry Turner. Director: Stephen Surjik.
"Wayne's World" was already a minor miracle by the standards of "Saturday Night Live" sketches before it ever made it to the big screen. Where most SNL premises exhaust all charm in roughly a minute, Wayne and Garth provided consistent laughs. Then they tempted fate by turning a five-minute sketch into a full length film, and it became a huge, goofy hit. So the question became, would the inevitable sequel finally show a concept running on fumes? Happily, the answer is no. WAYNE'S WORLD 2 is a collection of more good-natured pokes at popular culture, propelled by the infectious exuberance of Mike Myers as our hero.
WAYNE'S WORLD 2 again follows the adventures of Aurora, Illinois' favorite public access television stars, Wayne Campbell (Myers) and Garth Algar (Dana Carvey). The boys have finally moved out of their parents' homes, but all is not well. Wayne, fearing the advances of shady agent Bobby Cahn (Christopher Walken) on his girlfriend Cassandra (Tia Carrere), looks for a greater purpose to his life. He finds it in a vision which leads him to organize a music festival called Waynestock, lacking only any actual bands. Garth, meanwhile, faces the advances of the seductive Honey Hornee (Kim Basinger).
Of course, plot ultimately means very little. WAYNE'S WORLD, in both its television and film incarnations, is about a generation whose collective consciousness is a swirl of pop culture icons. The gags play on both genre conventions and particular images, but somehow they manage to be sharper and more "in" than the slew of genre parodies which littered theaters this year. The best known targets in WAYNE'S WORLD 2 (kung fu films, THE GRADUATE, THE DOORS) get the most extensive treatments, but Myers isn't afraid to pull out obscure references to Mahogany Rush or 70's detergent and shampoo commercials. Wayne and Garth, for all the inevitable comparisons, are no Beavis and Butthead; they're clever and sharp- witted, simply with all their literacy derived from the media. They're in on the joke with their audience, and they're willing to assume that audience can keep up with them.
Social commentary aside, WAYNE'S WORLD 2 is just plain laugh- out-loud funny. Even the most obvious gags, like the performance of Village People's "Y.M.C.A." which is destined to become this film's "Bohemian Rhapsody," are handled with real zest. The kung fu sequence, a showdown between Cassandra's father (played by veteran actor James Hong) and Wayne, is a hysterical parody of the exaggerated sound effects in "chop-socky" films, and the sequence from THE GRADUATE features such minor but funky flourishes as using The Lemonheads' recent cover of "Mrs. Robinson." Through it all struts Mike Myers, sporting Wayne's trademark wiseguy grin. The sense of fun he pumps into Wayne is almost always engaging, and most importantly he never seems to be trying to put anything over on his audience. As a performer, his enthusiasm can make up for numerous rough edges.
And there are rough edges in WAYNE'S WORLD 2. Christopher Walken's character is basically a retread of Rob Lowe's from the first film, but without the campy appeal. The Dana Carvey/ Kim Basinger segments never really worked for me, primarily because I generally find Carvey annoying. Overall, the direction isn't as creative as Penelope Spheeris' work in the first, but Spheeris turned out THE BEVERLY HILLBILLIES, so maybe that makes it even. Like many recent sequels, WAYNE'S WORLD 2 includes copycat elements from its predecessor, but far fewer than most, and there's plenty of fresh fun to be found.
Party on and on and on, guys.
On the Renshaw scale of 0 to 10 hurls: 7.
-- Scott Renshaw Stanford University Office of the General Counsel
.
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


“Historic elegance. The soft Old White deserves its name because it is the most historic shade of white on the colour chart. He feels just as comfortable in the old building as in the kitchen of a modern single-family house. Old white is part of the Traditional Neutrals range. White and light primer tones.” Adler Wohndesign GmbH 9
To be able to understand the white all around us –the white of the here and now– is to understand the white that was and how it came to occupy the space. In the same process in which my body came to be shaped by the space it inhabited, spaces are also being shaped by the bodies that inhabit them.
One of the prevalent signs installed through the expansion is language: not only as a marker of those belonging to the institution and a tool for recruitment but also as a powerful instrument for demarcation. Through a set of grammar of difference, white placed itself as that which others have to be compared to and judged.13 With the use of language, the self-proclaimed “developed” white classified the world and put itself in the first position, while placing others as below: as second or third. By taking the highest position in the hierarchy it created, the white that was was able to put in place a set of rules and standards that others have to follow if they ever want to be seen as equal. In contrast to the “developed” white, the others become underdeveloped or in the process of becoming developed. As the self-appointed leader, white then feels entitled to impose its help on others, justifying its expansion as charity.
This is the white we inherited, the accumulation of past actions that have formed the house that built us. Through processes of expansion, recruitment and demarcation, white came to shape the spaces around us and painted it in its own colour. The violent habitual proximity of white bodies moulded the space and turned it white.


Deployment properties
Edit (pull request)The Alien4Cloud cloudify 2.X provider provides some properties to setup or customize a deployment:
| Property | Default Value | Possible values | Description |
|---|---|---|---|
| startDetection_timeout_inSecond | 600 (Seconds) | > 0 | Cloudify startDetection timeout: Timeout for the application to be fully started |
| disable_self_healing | No(False) | Yes(True), No(False) | Whether to disable or not the cloudify’s self-healing mechanism for this deployment. |
| events_lease_inHour | 2 (hour)) | > 0 | Lease time in hour for alien4cloud events. After this time, events will e deleted. |
| deletable_blockstorage | No(False) | Yes(True), No(False) | Whether to delete or not the created volumes when undeploying. |
| log_level | INFO | OFF, ERROR, INFO, DEBUG | Log level for this deployment. |


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/bug.20in.20lean.20imports.html ---
@Sebastian Ullrich I guess no one has ever tried to use 7 dots in a row in relative imports, but it doesn't work. The =
should be a +=
here, and I tested that if you put import .......test
it counts as only one level up (and in general k
dots means k mod 3
levels up)
Last updated: Apr 24 2020 at 19:02 UTC


The keybinding API allows you to add keyboard shortcuts that trigger actions in your extension. An action can be opening the browser action or page action popup or sending a command to the extension.
In addition to the "experimental" permission you must declare the "keybinding" permission in your extension's manifest to use this API.
{ "name": "My extension", ... "permissions": [ "experimental", "keybinding", ], ... }
The keybinding API allows you to define specific commands, and bind them to a default key combination. Each command your extension accepts must be listed in the manifest as an attribute of the 'commands' manifest key. Note: Combinations that involve Ctrl+Alt are not permitted in order to avoid conflicts with the AltGr key.
{ "name": "My extension", ... "commands": { "toggle-feature-foo": { "key": "Ctrl+Shift+Y", "description": "Toggle feature foo" }, "browserAction": { "key": "Ctrl+Shift+B" }, "pageAction": { "key": "Alt+P" } }, ... }
In your background page, you can bind a handler to each of the commands defined in the manifest (except for 'browserAction' and 'pageAction') via onCommand.addListener. For example:
chrome.experimental.keybinding.onCommand.addListener(function(command) { console.log('Command:', command); });
The 'browserAction' and 'pageAction' commands are reserved for the action of opening your extension's popups. They won't normally generate events that you can handle. If you need to take action based on your popup opening, consider listening for an 'onDomReady' event inside your popup's code.


- Career Counseling & Other Services
- CareerLink (Online Job Bank)
- Programs & Events
- - Recruitment
Programs - Events Calendar
- JD Distinguished
Fellowship Program
- - Recruitment
Connect with OCPD!
Have trouble finding or viewing a page on this site? Contact our Resources Coordinator, Kendall Brown<EMAIL_ADDRESS>Office of Career & Professional Development • American University Washington College of Law
4801 Massachusetts Avenue, NW, Suite 122 Washington, DC 20016 •<PHONE_NUMBER> F:<PHONE_NUMBER>


Wow, wow, wow. This week marked the halfway point of my time at Hacker School. It’s been an exciting time, with the incoming of the new batch (28 new Hacker Schoolers!) and 455 Broadway is much more lively than it was before. It’s been harder to find a place to sit, which is a good problem to have. :)
I haven’t blogged since last week, so a lot has happened since then:
- Very proud to say that I made the
cats
stream on Zulip. - My implementation of gunzip is undergoing debugging, so hopefully I can have that done by the end of the week.
- Dana taught me how to solder! I soldered wires onto a strip of NeoPixels.
- Dana and I checked out HackManhattan, a space for hardware hackers. They were kind enough to let us go through their extra parts and we found the power sources we were looking for for the party on Friday.
- Mel Chua, our first resident, gave us very informative talks on different learning styles and how to maximize our time at Hacker School. I do sort of wish this happend on the first week for “seconds” since I feel like some of us floundered at figuring out how to get used to self-directedness.
- I missed my first Friday session to go visit my mom in North Carolina.
- I am back to being addicted to coffee. Porto Rico Importing Co. is my vice.
Here’s to another six weeks! Well, more like 5 and a half weeks. :D:D:D:D:D:D: <— Some alums taught me this happy/sad combo face.


It’s been more than 2 months since we’ve started at the Allia Serious Impact incubator, and we’ve had an overall exciting, rewarding experience. In the coming weeks, I’ll be sharing with our followers what we’ve been up to so far! But before I do that, let me share with you the reasons why we’re set on doing what we’re doing.
“To improve market access and decision-making in the supply chain for smallholder farmers and buyers.”
Brought together by our passion to reduce poverty and hunger, my co-founders David, Paul, and I are developing an integrated digital platform that provides all of the marketplace tools in one place.
Unlike countries like the UK, where about 1% of the population work in farming, over 60% of the population in sub-Saharan African countries work in agriculture. Many are smallholder farmers, who produce about 80% of the domestic food supply. Agriculture is also a primary source of household income for smallholders - for example, in Tanzania, about 56% of a smallholder family’s income comes from farming. That’s an incredibly large percentage of their annual household income, which can average less than US$ 1,005 or between US$ 1,006 and US$ 3,995 for low-income and lower-middle countries, respectively.
Given the majority of the population in low- and lower-middle income countries in smallholder agriculture, we believe there’s a huge opportunity in agriculture to generate a big social good impact.
As Bill Gates said:
“Helping the poorest smallholder farmers grow more crops and get them to market is the world’s single most powerful lever for reducing hunger and poverty.”
-Bill Gates, World Food Prize speech, 15 October 2009.
Countries across the continent of Africa are leapfrogging over old communication technologies. With the proliferation of mobile phones, sub-Saharan Africa is the fastest growing mobile market in the world!
Because of these growing opportunities, we believe now is the time! For innovative solutions like ours to develop useful technologies that contribute to reducing poverty and hunger.
But simply developing the technology will not solve the issue. We strongly recognise the need for a user-centric approach. Without input and feedback from stakeholders, any technology that’s being developed might not even be effective at the end! Which is why we are actively reaching out and engaging with them.
This blog is part of a series that I hope will demonstrate to you the specific mission of our startup, the developments as we progress, and other findings along our journey. Next, I’ll share with you what we’ve been up to so far, so stay tuned!
If you have any questions or want to connect with us, feel free to contact us through email<EMAIL_ADDRESS>or Twitter (@farming_data)!


5 functions to do Principal Components Analysis in R
17 Jun 2012Principal Component Analysis (PCA) is a multivariate technique that allows us to summarize the systematic patterns of variations in the data.
From a data analysis standpoint, PCA is used for studying one table of observations and variables with the main idea of transforming the observed variables into a set of new variables, the principal components, which are uncorrelated and explain the variation in the data. For this reason, PCA allows to reduce a “complex” data set to a lower dimension in order to reveal the structures or the dominant types of variations in both the observations and the variables.
PCA in R
In R, there are several functions from different packages that allow us to perform PCA. In this post I'll show you 5 different ways to do a PCA using the following functions (with their corresponding packages in parentheses):
prcomp()
(stats)princomp()
(stats)PCA()
(FactoMineR)dudi.pca()
(ade4)acp()
(amap)
Brief note: It is no coincidence that the three external packages ("FactoMineR"
, "ade4"
, and "amap"
) have been developed by French data analysts, which have a long tradition and preference for PCA and other related exploratory techniques.
No matter what function you decide to use, the typical PCA results should consist of a set of eigenvalues, a table with the scores or Principal Components (PCs), and a table of loadings (or correlations between variables and PCs). The eigenvalues provide information of the variability in the data. The scores provide information about the structure of the observations. The loadings (or correlations) allow you to get a sense of the relationships between variables, as well as their associations with the extracted PCs.
The Data
To make things easier, we'll use the dataset USArrests
that already comes with R. It's a data frame with 50 rows (USA states) and 4 columns containing information about violent crime rates by US State. Since most of the times the variables are measured in different scales, the PCA must be performed with standardized data (mean = 0, variance = 1). The good news is that all of the functions that perform PCA come with parameters to specify that the analysis must be applied on standardized data.
Option 1: using prcomp()
The function prcomp()
comes with the default "stats"
package, which means that you don't have to install anything. It is perhaps the quickest way to do a PCA if you don't want to install other packages.
# PCA with function prcomp
pca1 = prcomp(USArrests, scale. = TRUE)
# sqrt of eigenvalues
pca1$sdev
## [1] 1.5749 0.9949 0.5971 0.4164
# loadings
head(pca1$rotation)
## PC1 PC2 PC3 PC4
## Murder -0.5359 0.4182 -0.3412 0.64923
## Assault -0.5832 0.1880 -0.2681 -0.74341
## UrbanPop -0.2782 -0.8728 -0.3780 0.13388
## Rape -0.5434 -0.1673 0.8178 0.08902
# PCs (aka scores)
head(pca1$x)
## PC1 PC2 PC3 PC4
## Alabama -0.9757 1.1220 -0.43980 0.15470
## Alaska -1.9305 1.0624 2.01950 -0.43418
## Arizona -1.7454 -0.7385 0.05423 -0.82626
## Arkansas 0.1400 1.1085 0.11342 -0.18097
## California -2.4986 -1.5274 0.59254 -0.33856
## Colorado -1.4993 -0.9776 1.08400 0.00145
Option 2: using princomp()
The function princomp()
also comes with the default "stats"
package, and it is very similar to her cousin prcomp()
. What I don't like of princomp()
is that sometimes it won't display all the values for the loadings, but this is a minor detail.
# PCA with function princomp
pca2 = princomp(USArrests, cor = TRUE)
# sqrt of eigenvalues
pca2$sdev
## Comp.1 Comp.2 Comp.3 Comp.4
## 1.5749 0.9949 0.5971 0.4164
# loadings
unclass(pca2$loadings)
## Comp.1 Comp.2 Comp.3 Comp.4
## Murder -0.5359 0.4182 -0.3412 0.64923
## Assault -0.5832 0.1880 -0.2681 -0.74341
## UrbanPop -0.2782 -0.8728 -0.3780 0.13388
## Rape -0.5434 -0.1673 0.8178 0.08902
# PCs (aka scores)
head(pca2$scores)
## Comp.1 Comp.2 Comp.3 Comp.4
## Alabama -0.9856 1.1334 -0.44427 0.156267
## Alaska -1.9501 1.0732 2.04000 -0.438583
## Arizona -1.7632 -0.7460 0.05478 -0.834653
## Arkansas 0.1414 1.1198 0.11457 -0.182811
## California -2.5240 -1.5429 0.59856 -0.341996
## Colorado -1.5146 -0.9876 1.09501 0.001465
Option 3: using PCA()
A highly recommended option, especially if you want more detailed results and assessing tools, is the PCA()
function from the package "FactoMineR"
. It is by far the best PCA function in R and it comes with a number of parameters that allow you to tweak the analysis in a very nice way.
# PCA with function PCA
library(FactoMineR)
# apply PCA
pca3 = PCA(USArrests, graph = FALSE)
# matrix with eigenvalues
pca3$eig
## eigenvalue percentage of variance cumulative percentage of variance
## comp 1 2.4802 62.006 62.01
## comp 2 0.9898 24.744 86.75
## comp 3 0.3566 8.914 95.66
## comp 4 0.1734 4.336 100.00
# correlations between variables and PCs
pca3$var$coord
## Dim.1 Dim.2 Dim.3 Dim.4
## Murder 0.8440 -0.4160 0.2038 0.27037
## Assault 0.9184 -0.1870 0.1601 -0.30959
## UrbanPop 0.4381 0.8683 0.2257 0.05575
## Rape 0.8558 0.1665 -0.4883 0.03707
# PCs (aka scores)
head(pca3$ind$coord)
## Dim.1 Dim.2 Dim.3 Dim.4
## Alabama 0.9856 -1.1334 0.44427 0.156267
## Alaska 1.9501 -1.0732 -2.04000 -0.438583
## Arizona 1.7632 0.7460 -0.05478 -0.834653
## Arkansas -0.1414 -1.1198 -0.11457 -0.182811
## California 2.5240 1.5429 -0.59856 -0.341996
## Colorado 1.5146 0.9876 -1.09501 0.001465
Option 4: using dudi.pca()
Another option is to use the dudi.pca()
function from the package "ade4"
which has a huge amount of other methods as well as some interesting graphics.
# PCA with function dudi.pca
library(ade4)
# apply PCA
pca4 = dudi.pca(USArrests, nf = 5, scannf = FALSE)
# eigenvalues
pca4$eig
## [1] 2.4802 0.9898 0.3566 0.1734
# loadings
pca4$c1
## CS1 CS2 CS3 CS4
## Murder -0.5359 0.4182 -0.3412 0.64923
## Assault -0.5832 0.1880 -0.2681 -0.74341
## UrbanPop -0.2782 -0.8728 -0.3780 0.13388
## Rape -0.5434 -0.1673 0.8178 0.08902
# correlations between variables and PCs
pca4$co
## Comp1 Comp2 Comp3 Comp4
## Murder -0.8440 0.4160 -0.2038 0.27037
## Assault -0.9184 0.1870 -0.1601 -0.30959
## UrbanPop -0.4381 -0.8683 -0.2257 0.05575
## Rape -0.8558 -0.1665 0.4883 0.03707
# PCs
head(pca4$li)
## Axis1 Axis2 Axis3 Axis4
## Alabama -0.9856 1.1334 -0.44427 0.156267
## Alaska -1.9501 1.0732 2.04000 -0.438583
## Arizona -1.7632 -0.7460 0.05478 -0.834653
## Arkansas 0.1414 1.1198 0.11457 -0.182811
## California -2.5240 -1.5429 0.59856 -0.341996
## Colorado -1.5146 -0.9876 1.09501 0.001465
Option 5: using acp()
A fifth possibility is the acp()
function from the package "amap"
.
# PCA with function acp
library(amap)
# apply PCA
pca5 = acp(USArrests)
# sqrt of eigenvalues
pca5$sdev
## Comp 1 Comp 2 Comp 3 Comp 4
## 1.5749 0.9949 0.5971 0.4164
# loadings
pca5$loadings
## Comp 1 Comp 2 Comp 3 Comp 4
## Murder 0.5359 0.4182 -0.3412 0.64923
## Assault 0.5832 0.1880 -0.2681 -0.74341
## UrbanPop 0.2782 -0.8728 -0.3780 0.13388
## Rape 0.5434 -0.1673 0.8178 0.08902
# scores
head(pca5$scores)
## Comp 1 Comp 2 Comp 3 Comp 4
## Alabama 0.9757 1.1220 -0.43980 0.15470
## Alaska 1.9305 1.0624 2.01950 -0.43418
## Arizona 1.7454 -0.7385 0.05423 -0.82626
## Arkansas -0.1400 1.1085 0.11342 -0.18097
## California 2.4986 -1.5274 0.59254 -0.33856
## Colorado 1.4993 -0.9776 1.08400 0.00145
Of course these are not the only options to do a PCA, but I'll leave the other approaches for another post.
PCA plots
Everybody uses PCA to visualize the data, and most of the discussed functions come with their own plot functions. But you can also make use of the great graphical displays of "ggplot2"
. Just to show you a couple of plots, let's take the basic results from prcomp()
.
Plot of observations
# load ggplot2
library(ggplot2)
# create data frame with scores
scores = as.data.frame(pca1$x)
# plot of observations
ggplot(data = scores, aes(x = PC1, y = PC2, label = rownames(scores))) +
geom_hline(yintercept = 0, colour = "gray65") +
geom_vline(xintercept = 0, colour = "gray65") +
geom_text(colour = "tomato", alpha = 0.8, size = 4) +
ggtitle("PCA plot of USA States - Crime Rates")
Circle of correlations
# function to create a circle
circle <- function(center = c(0, 0), npoints = 100) {
r = 1
tt = seq(0, 2 * pi, length = npoints)
xx = center[1] + r * cos(tt)
yy = center[1] + r * sin(tt)
return(data.frame(x = xx, y = yy))
}
corcir = circle(c(0, 0), npoints = 100)
# create data frame with correlations between variables and PCs
correlations = as.data.frame(cor(USArrests, pca1$x))
# data frame with arrows coordinates
arrows = data.frame(x1 = c(0, 0, 0, 0), y1 = c(0, 0, 0, 0), x2 = correlations$PC1,
y2 = correlations$PC2)
# geom_path will do open circles
ggplot() + geom_path(data = corcir, aes(x = x, y = y), colour = "gray65") +
geom_segment(data = arrows, aes(x = x1, y = y1, xend = x2, yend = y2), colour = "gray65") +
geom_text(data = correlations, aes(x = PC1, y = PC2, label = rownames(correlations))) +
geom_hline(yintercept = 0, colour = "gray65") + geom_vline(xintercept = 0,
colour = "gray65") + xlim(-1.1, 1.1) + ylim(-1.1, 1.1) + labs(x = "pc1 aixs",
y = "pc2 axis") + ggtitle("Circle of correlations")


---
layout: post
title: I'm Supposed to do Something in Worship?
date: '2008-09-06T12:46:00.002-05:00'
author: Jabell
tags:
- Affections
- Church
- Quotes
- Christian Living
modified_time: '2008-09-06T12:52:13.685-05:00'
blogger_id: tag:blogger.com,1999:blog-19739956.post-4595892612272583371
blogger_orig_url: http://theabellsix.blogspot.com/2008/09/im-supposed-to-do-something-in-worship.html
---
"Most denominations have done studies in worship and may even review it frequently; they have also produced books that set forth their worship and their hymns. This is as it should be, of course. But all worshippers need to discover for themselves what worship is all about and how to improve it, and this must come from the Bible itself. After all, our worship of God must continue to develop throughout life" (Allen P. Ross, Recalling the Hope of Glory, p. 63n2, emphasis mine).


{% extends "prov_vo/base.html" %} {% block title %}Provenance graph{% endblock %} {% block content %}
The sankey chart is based on https://bost.ocks.org/mike/sankey/, the force directed graph layout was derived from the example at http://bl.ocks.org/mbostock/4062045.
{% load staticfiles %} {% endblock %}


{% extends "base.html" %} {% load i18n %} {% load static %} {% block title %} {% trans "About" %} {% endblock title %} {% block additional_css %} {% endblock additional_css %} {% block additional_js %} {% endblock additional_js %} {% block content %}
I'm Kiefer, and I used to be a professional software engineer, dealing with web and mobile technologies before becoming an ALT. I've switched between front-end (client-side/UI/UX/etc.) and back-end (server-side/background logic/etc.) in various projects during my software engineering career.
After becoming an ALT, I noticed that a lot of things would become way easier and much more convenient if there was a centralized system managing everything, and automating things that can be automated.
The system is currently tailored for my personal use, so if there are any specific modifications that are desired (e.g.: Schedulers can manage the schedule of the ALTs, ALTs can only view their schedule and only have access to certain parts of the site, etc.), please feel free to contact me.
Thank you for taking the time to read this. I hope that this system is helpful!


What is nine-slicing?
Nine slicing is the process of turning a big texture into a smaller one by shrinking the sides and center of the texture, retaining the corners. So the texture can be stretched or tiled later in engine. This is used often in UI to save texture space/memory.
Setup
Pressing the setup button will take the current selected layer, duplicate it into a new document, rasterize the layer and then trim the document. Providing with a clean doc, move the generated guides to where the texture should be sliced.
Slice
Pressing the slice button will execute the slice process. This will scale down the sides, move the corners and trim doc, the texture will then be ready to export
Reset
Pressing the reset button (it will be disabled when no applicable), will undo the changes to the sliced sprite and set it back to where the guides have been moved. This allows for any adjustments if the slicing does not look correct.
Settings
To nearest Po2:
Enabling this will ignore the scale for center and will try to get to the nearest power of 2 size below the current size. This is ideal for improving texture size in engine. If texture is going into an atlas this is less important but is recommended nonetheless.
Scale for center:
This will determine how much the center will decrease to (in %). This defaults to 33% if left unchanged, use this to get the lowest possible size.
Select Engine:
This will change the guides position number to correspond with the engine. Unreal uses a normal value (0-1), whilst Unity used absolute (0-TextureDimension)
Top
Right
Bottom
Left
To nearest Po2
Scale for center (%)
Unity
Unreal
None


Products are an important part of the information sharing process at DHS. Products can include a wide variety of


Blogen
dashboard
posts
categories
users
Welcome Brad
Profile
Settings
Logout
Settings
Back To Dashboard
Save Changes
Edit Settings
Allow User Registration
Yes
No
Homepage Format
Blog Page
Home Page