How to create with the software
The position of the time slider can be changed from the wrldTime options.
To set the horizontal position, use the 'horizontalPosition' property (accepts 'left', 'center' or 'right'), and to set the vertical position use the 'verticalPosition' property (accepts 'top' and 'bottom'):
wrldTime(map, data, {
horizontalPosition: 'left' || 'center' || 'right',
verticalPosition: 'top' || 'bottom'
});
CSS can be used to style the time slider component. The container is has the class '.time-slider-container', and the slider itself has the class '.time-slider'. Use '.time-slider::-webkit-slider-thumb' and '.time-slider::-moz-range-thumb' to style the thumb of the slider.
GeoJSON features can be styled by using the style option in the wrldTime constructor. It can either be a function which takes in feature and returns its style, or be the style object:
wrldTime(map, data, {
style: function (feature) {
return {color: feature.properties.color};
}
});
For information about styling, refer to the Leaflet GeoJSON guide.
Heatmap options can be set by setting the heatmapOptions option on the wrldTime constructor:
wrldTime(map, data, {
heatmapOptions: {
minOpacity: 0.5,
maxZoom: 16,
max: 1,
radius: 25,
blur: 15,
gradient: {0.4: 'blue', 0.65: 'lime', 1: 'red'}
}
});
The available heatmap options are:
minOpacity - the minimum opacity the heat will start at
maxZoom - zoom level where the points reach maximum intensity (as intensity scales with zoom), equals maxZoom of the map by default
max - maximum point intensity, 1.0 by default
radius - radius of each "point" of the heatmap, 25 by default
blur - amount of blur, 15 by default
gradient - color gradient config, e.g. {0.4: 'blue', 0.65: 'lime', 1: 'red'}


AMIS Meetup
Oracle Cloud Native Application Development
January 20th 2020
In this
workshop, you will learn about Cloud Native Application Development on Oracle
Cloud Infrastructure. You will see and use Functions, API Gateway, Object
Storage, Streaming, Monitoring and more.
The
workshop labs are provided in the shape of Katacoda
scenarios. These are scenarios that combine step by step instructions with
fully prepared, cloud based environments. Once you
start a scenario, a Linux environment is spun up for you and necessary
resources are installed into it, such as the OCI CLI and the Fn CLI as well as workshop sources from GitHub.
The
workshop consists of the following scenarios:
1. Introduction to Serverless Functions
with Project Fn - https://katacoda.com/lucasjellema/scenarios/introduction-fn
2. Serverless Functions on Oracle Cloud
Infrastructure - https://katacoda.com/lucasjellema/scenarios/functions-on-oci
3. API Gateway on Oracle Cloud
Infrastructure - https://katacoda.com/lucasjellema/scenarios/api-gateway-on-oci
4. Functions, Object Storage and API
Gateway on Oracle Cloud Infrastructure - https://katacoda.com/lucasjellema/scenarios/oci-functions-objects-apigateway
5. OCI (Event) Streaming – combined
with Functions and API Gateway - https://katacoda.com/lucasjellema/scenarios/oci-streaming
Please work
your way through the scenarios in this order. Note that some scenarios rely on
objects created in earlier scenarios.
The
workshop environment is hosted on three different tenancies on Oracle Cloud
Infrastructure (in the Ashburn region in US East). You might wonder why a
single tenancy does not suffice. There is a limitation on the number of
applications and functions (10 and 20) that can be created on a tenancy. This
limit can be extended through Oracle Support and I have requested this.
However, this request has not been processed yet – therefore I felt I needed to
provision two additional tenancies in order to raise the combined limit to 60
functions.
Within each
of these three tenancies, a lab compartment has been set up. In this
compartment, a VCN with two subnets as well as an API Gateway and a Stream have
been created. The user used by participants is lab-user. This user is member of the lab-participants group. This group is recipient of privileges on
the afore mentioned resources and services as defined through a set of
policies. Note: all participants use lab-user.
They do so on three different OCI tenancies. Yet they will probably run into
each other during the labs.
Participants
can access the OCI Tenancy in three ways:
·
Console
·
OCI
CLI
·
REST
APIs
The labs
make primarily use of the OCI CLI and to some extent of the Console.
Each
participant is assigned a number (LAB_ID) that is used during the labs to
prevent interference between the participants. Before you get going, make sure
you know your own LAB_ID.
The Lab Id
corresponds to one of three tenancies that have been set up for the workshop.
|
Lab Id |
OCI Tenancy Id |
Credentials Document |
|
1..13 |
lucascloudlab |
|
|
14..23 |
labuser2 |
|
|
24..33 |
labuser3 |
The
Credentials Document contains all details you will need during the workshop to
access the OCI resources in various ways. There is a separate Credentials
Document for each of the three tenancies. Make sure that you are using the
right credentials document.
The
credentials document contains the following credentials:
·
Username
and password for OCI Console
·
(Docker)
Username and password for OCIR (Oracle Container Image Registry)
·
Contents
for the OCI CLI configuration file (tenancy ocid, lab-user ocid,
…)
·
Private
key for lab-user
·
Contents
for oci-configuration.js – a file used for Node applications that access OCI
REST APIs
During the
labs, you will occasionally need to copy and paste details from the credentials
document to files in the Katacoda scenario
environment.
When you
work in the OCI console, there are a few things to remember:
·
Go
to the console URL for the right region: (ashburn:
Console URL: https://console.us-ashburn-1.oraclecloud.com/ )
·
Set
the right tenancy (one of the three)
·
Login
as Oracle Cloud Infrastructure (non-federated) user
·
Select
the right compartment (lab-compartment)
The login
page looks like this:
Do no press
the button Continue. Use the Sign In
button as credential fields. Use the Change
tenant link if the desired tenant is not currently indicated. The form for
changing the tenant looks like this:
Once you
are logged in, make sure to select the lab-compartment
as the compartment context:
GitHub Repo
– workshop resources: https://github.com/AMIS-Services/oracle-cloud-native-meetup-20-january-2020
GitHub Repo – Katacoda Scenarios- https://github.com/lucasjellema/katacoda-scenarios


Activities
Courses
Presentation in The 17th Annual Spartan Prep Mentors’ Day, December 2022
Guest lecture, EEN100 Introduction to Engineering: Ground and Underwater Robots, Fall 2021
Guest lecture, MTH382 Intro Applied Math: Applications of Fourier Transform in Wireless Signal Processing, Fall 2021
Seminars/Conferences
Tutorial in IEEE MILCOM 2022 “Beyond Identification: HF RFID and NFC for Digital Twins”
Keynote speaker at IEEE Hampton Roads chapter meeting, Sep. 15, 2022. “Robotic-assisted Internet of Things in Underground and Underwater”.
Attended Renewable Energy Faculty Workshop at Elizabeth City State University, June 2022.
MS student Clifford Boakye-Mensah presented a paper in IEEE DCOSS, May 2022. Supported by Jeffress Memorial Trust.
Attended “QEM/NSF Virtual Workshop Leveraging your Success: Research Beyond the HBCU-UP Program” on May 6, 2022, and presented HBCU-RIA project as a 3-min talk.
Senior design students Vann Dontez and Javionn Ramsey won the 3rd place finishers at the IEEE Hampton Roads Senior Capstone Competition, April 2022. Part of their project was supported by Jeffress Memorial Trust.
Attended “QEM MSI Proposal Development Workshop for the National Science Foundation’s Directorate for Engineering” April 14 to 15, 2022
MS student Clifford Boakye-Mensah presented a paper in IEEE CCNC, January 2022. Supported by Jeffress Memorial Trust.
“Laplace Meets Tesla in a Differential Equations Class”, Christopher Newport University, Department of Mathematics Research Colloquium, with Dr. Maila Brucal-Hallare, 10-07-2021
“Modeling Wireless Power Transfer”, SUMMIT-P workshop for College Math instructors (with Dr. Shahrooz Moosavizadeh and Dr. Ana Vivas Barber), 04-01-2021
MS student Albert Ofori presented a paper in IEEE CCNC, January 2021. Supported by NSF.


https://github.com/nicolaskruchten/pivottable
View-source on these to see what's going on under the hood!


Logged in as {{ state.user.name }}
Not logged in
Select the playlist you want to save the current song to
Log in to your Spotify account to see playlists
Modifiers
Choose a valid hotkey


The College of Computer Studies shall be the Center of Excellence in Information Technology and Computer Science for providing professional and technological training, scientific and innovative, and relevant community service
The College of Computer Studies shall produce Information Technology and Computer Science professionals equipped with knowledge, skills, strong moral values, well-developed personality, and exceptional abilities, thus becoming the preferred and prestigious source of services and manpower.
The BS Computer Science program includes the study of computing concepts and theories, algorithmic foundations and new developments in computing. The program prepares students to design and create algorithmically complex software and develop new and effective algorithms for solving computing problems
The program also includes the study of the standards and practices in Software Engineering. It prepares students to acquire skills and disciplines required for designing, writing and modifying software components, modules and applications that comprise software solutions
The BS Information Technology program includes the study of the utilization of both hardware and software technologies involving planning, installing, customizing, operating, managing and administering, and maintaining information technology infrastructure that provides computing solutions to address the needs of an organization
The program prepares graduates to address vairous user needs involving the selection, development, application, integration, and management of computing technologies within an organization.
Entertainment and Multimedia Computing is the study and use of concepts, principles, and techniques of computing in the design and development of multimedia products and solutions. It includes various applications such as in science, entertainment, education, simulations and advertising.
The program enables the students to be knowledgeable of the whole pipeline of Game Development and Digital Animation projects. The students will acquire the independence and creative cimpetencies to articulate project design and requirements of new projects, not necessarily based on standard templates.
A two-year BS Computer Science ladderized and non-degree program leading to a diploma in "Associate in Computer Technology"


The Class System
Phase 0. Week 5 - Saturday, November 29th, 2014
Welcome back to my blog! This post is going to be covering Class's, instance variables, and instance methods. Below is an example of a class being created and under the initialize method, an instance variable is created.
Above you see how a class is created in ruby. It's very similar to the creation of a standard method. Nested within the class of "House" you have an instance variable named address. You can tell the difference between regular variables and instance variables with the @ symbol. We have @address set to a string, under initialize. This means that anytime a new house object is created it will start with @address set to "123 First st.".
So now we're are creating methods within the class. If you notice the interpolation in the string, we're using the instance variable. This is the reason why we would use an instance variable. If we set this variable for the class, we can call that variable through out all methods created within the class. This allows for a lot more versatility for your programs. Not having to set and create the same variable over and over again. Now here is the whole program.
Now if you look at the bottom it shows us creating a new House object called my_house. Then we are calling our class instance methods on my_house.
And there you have it. Us calling our methods on our my_house object gives us the output we expected.
Thanks for reading my blog!!


This Veeam Backup & Replication use email and not Powershell snippet. It is as efficient (or more) as other method of integration with Zabbix and it requires a lot less ressources. It monitors even Backup Database backup (which others do not).
Using a specific script it can be applied to Free Agents as well.
It uses zbxsmtptrap (on an idea from here : https://www.zabbix.com/forum/showthread.php?p=186838)
https://github.com/sibiodev/zbxsmtptrap
NB: a bug was recently corrected about Veeam sending multiline subjects - not really nice… but it can happen if you have long hostnames and happen to be sudenly out of support (which adds some garbage at the begining of the title)
Give it a try!
PS: to use this script with Veeam Free Agents without a VBR server (if you use a VBR server with a Free Agent, then you do not need this script because VBR will report by email to you), you’ll need this small script to send the email :
https://github.com/sibiodev/veeamrun
Raynald de Lahondès
| Name | Description | Default | Type |
|---|---|---|---|
| {$BACKUP_PERIODICITY} |
-
 | 52h |
Text macro |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Job Discovery |
-
 | Zabbix trapper |
smtp.trap.subject.discovery[veeamjob]
Update: 0
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Job {#VEEAMJOB} message |
-
 | Zabbix trapper |
smtp.trap.subject.match.body[veeamjob,{#VEEAMJOB}]
Update: 0

LLD
 |
| Job {#VEEAMJOB} status |
-
 | Zabbix trapper |
smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status]
Update: 0

LLD
 |
| Name | Description | Expression | Priority |
|---|---|---|---|
| Failure of job {#VEEAMJOB} |
-
 |
Expression: {VEEAM SMTP trapper:smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status].str(Failed)}=1

Recovery expression:
 | high |
| Job {#VEEAMJOB} did not occur last {$BACKUP_PERIODICITY:”{#VEEAMJOB}”} |
-
 |
Expression: {VEEAM SMTP trapper:smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status].nodata(52h)}=1

Recovery expression:
 | high |
| Warning on job {#VEEAMJOB} |
-
 |
Expression: {VEEAM SMTP trapper:smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status].str(Warning)}=1

Recovery expression:
 | warning |
| Failure of job {#VEEAMJOB} (LLD) |
-
 |
Expression: {VEEAM SMTP trapper:smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status].str(Failed)}=1

Recovery expression:
 | high |
| Job {#VEEAMJOB} did not occur last {$BACKUP_PERIODICITY:”{#VEEAMJOB}”} (LLD) |
-
 |
Expression: {VEEAM SMTP trapper:smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status].nodata(52h)}=1

Recovery expression:
 | high |
| Warning on job {#VEEAMJOB} (LLD) |
-
 |
Expression: {VEEAM SMTP trapper:smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status].str(Warning)}=1

Recovery expression:
 | warning |
This Veeam Backup & Replication use email and not Powershell snippet. It is as efficient (or more) as other method of integration with Zabbix and it requires a lot less ressources. It monitors even Backup Database backup (which others do not).
Using a specific script it can be applied to Free Agents as well.
It uses zbxsmtptrap (on an idea from here : https://www.zabbix.com/forum/showthread.php?p=186838)
https://github.com/sibiodev/zbxsmtptrap
NB: a bug was recently corrected about Veeam sending multiline subjects - not really nice… but it can happen if you have long hostnames and happen to be sudenly out of support (which adds some garbage at the begining of the title)
Give it a try!
PS: to use this script with Veeam Free Agents without a VBR server (if you use a VBR server with a Free Agent, then you do not need this script because VBR will report by email to you), you’ll need this small script to send the email :
https://github.com/sibiodev/veeamrun
Raynald de Lahondès
| Name | Description | Default | Type |
|---|---|---|---|
| {$BACKUP_PERIODICITY} |
-
 | 52h |
Text macro |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Job Discovery |
-
 | Zabbix trapper |
smtp.trap.subject.discovery[veeamjob]
Update: 0
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Job {#VEEAMJOB} message |
-
 | Zabbix trapper |
smtp.trap.subject.match.body[veeamjob,{#VEEAMJOB}]
Update: 0

LLD
 |
| Job {#VEEAMJOB} status |
-
 | Zabbix trapper |
smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status]
Update: 0

LLD
 |
| Name | Description | Expression | Priority |
|---|---|---|---|
| Failure of job {#VEEAMJOB} |
-
 |
Expression: find(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],,”like”,”Failed”)=1

Recovery expression:
 | high |
| Job {#VEEAMJOB} did not occur last {$BACKUP_PERIODICITY:”{#VEEAMJOB}”} |
-
 |
Expression: nodata(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],52h)=1

Recovery expression:
 | high |
| Warning on job {#VEEAMJOB} |
-
 |
Expression: find(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],,”like”,”Warning”)=1

Recovery expression:
 | warning |
| Failure of job {#VEEAMJOB} (LLD) |
-
 |
Expression: find(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],,”like”,”Failed”)=1

Recovery expression:
 | high |
| Job {#VEEAMJOB} did not occur last {$BACKUP_PERIODICITY:”{#VEEAMJOB}”} (LLD) |
-
 |
Expression: nodata(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],52h)=1

Recovery expression:
 | high |
| Warning on job {#VEEAMJOB} (LLD) |
-
 |
Expression: find(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],,”like”,”Warning”)=1

Recovery expression:
 | warning |
This Veeam Backup & Replication use email and not Powershell snippet. It is as efficient (or more) as other method of integration with Zabbix and it requires a lot less ressources. It monitors even Backup Database backup (which others do not).
Using a specific script it can be applied to Free Agents as well.
It uses zbxsmtptrap (on an idea from here : https://www.zabbix.com/forum/showthread.php?p=186838)
https://github.com/sibiodev/zbxsmtptrap
NB: a bug was recently corrected about Veeam sending multiline subjects - not really nice… but it can happen if you have long hostnames and happen to be sudenly out of support (which adds some garbage at the begining of the title)
Give it a try!
PS: to use this script with Veeam Free Agents without a VBR server (if you use a VBR server with a Free Agent, then you do not need this script because VBR will report by email to you), you’ll need this small script to send the email :
https://github.com/sibiodev/veeamrun
Raynald de Lahondès
| Name | Description | Default | Type |
|---|---|---|---|
| {$BACKUP_PERIODICITY} |
-
 | 52h |
Text macro |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Job Discovery |
-
 | Zabbix trapper |
smtp.trap.subject.discovery[veeamjob]
Update: 0
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Job {#VEEAMJOB} message |
-
 | Zabbix trapper |
smtp.trap.subject.match.body[veeamjob,{#VEEAMJOB}]
Update: 0

LLD
 |
| Job {#VEEAMJOB} status |
-
 | Zabbix trapper |
smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status]
Update: 0

LLD
 |
| Name | Description | Expression | Priority |
|---|---|---|---|
| Failure of job {#VEEAMJOB} |
-
 |
Expression: find(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],,”like”,”Failed”)=1

Recovery expression:
 | high |
| Job {#VEEAMJOB} did not occur last {$BACKUP_PERIODICITY:”{#VEEAMJOB}”} |
-
 |
Expression: nodata(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],52h)=1

Recovery expression:
 | high |
| Warning on job {#VEEAMJOB} |
-
 |
Expression: find(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],,”like”,”Warning”)=1

Recovery expression:
 | warning |
| Failure of job {#VEEAMJOB} (LLD) |
-
 |
Expression: find(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],,”like”,”Failed”)=1

Recovery expression:
 | high |
| Job {#VEEAMJOB} did not occur last {$BACKUP_PERIODICITY:”{#VEEAMJOB}”} (LLD) |
-
 |
Expression: nodata(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],52h)=1

Recovery expression:
 | high |
| Warning on job {#VEEAMJOB} (LLD) |
-
 |
Expression: find(/VEEAM SMTP trapper/smtp.trap.subject.match[veeamjob,{#VEEAMJOB},status],,”like”,”Warning”)=1

Recovery expression:
 | warning |


Chem. atoms cobalt density {border-style phosphate px;} #ffffff;} charge negative oxygen using Figure coordination (PO DFT bond bonds face sites structure energy surface Supporting calculations charge‐depletion ions BCP) MLWFs Stalke coordinated data different multipole (Figure Co−O Phys. P−O atom calculated experimental pairs regions crystal phosphorus populations shows theoretical total values BCP VSCCs analysis atoms. model pointing properties px; slightly {font-family Crystallogr. Figure Information. Laplacian MM‐Expt atom. based bonds. catalytic font-size number performed points population positive spin‐down spin‐up used Acta Bruker DOS MM‐DFT O X Sci. Soc. adsorption basic butan‐‐ol coordinate distances distribution double; d‐orbital fivefold functions ideal local lone orthophosphate shown sites. solid topological vacant value Am. Charge Dr. However, Wannier [by]. according active agreement bonds, border-color border-width bulk contrast, covalent deformation depletion distorted eff electron faces features free greater high‐spin http://orcid.org/--- lobes maximum metal molecular occupied phosphate, plane polyhedra position refinement short solid; spherical valence {font-style {font-weight (C) APEX BCP): BCP; Bader Chemistry Density Eur. Gatti Given Göttingen Lenzi Marzari New Quantum Rev. Sect. Sheldrick [eÅ [Å] arranged atomic atoms, bands best blue bold bonding calculations, closed‐shell connected courier; depleted depletions edge‐sharing electronic em; expected, experimentally given higher independent interaction interaction. interactions. ions. larger localized nearby orientation point polyhedron presence provided pt;} ratio reaction reactivity set shared single site sixfold solid‐state states systems them. theory trigonal‐bipyramidal unit various |V|G


General Election 2019: How do I register to vote?
by Michael SearlesEverything you need to know about how to vote in the upcoming general election on Thursday 12 December.
Who is eligible to vote in the general election?
To vote you must be 18 or older on the day of election and a UK, Irish or qualifying Commonwealth citizen.
You must also be a resident in the UK, or if you are living overseas, have registered to vote in the last 15 years.
Read more: General election 2019: Tories commit to boost GP numbers
In order to vote you will also need to be on the electoral register. You can register online and only need to do so once, unless you have moved address or changed your name.
This must be done by 26 November. You can check if you are registered with your local authority, the details of which can be found here.
How do I cast my vote at the general election?
Prior to the general election date, poll cards will be sent out to all of those registered to vote detailing the location of their polling station.
You will then be able to vote there on 12 December between 7am and 10pm.
If you are unable to make it on the day, you can vote using a postal or proxy vote.
How do I apply for a postal vote?
If you unable to vote on the election date then a postal vote is a convenient alternative.
Anyone in England, Scotland and Wales can apply for a postal vote without providing a reason.
Read more: Keep an eye on these shares during the general election
You can apply for a postal vote using the form here, but must do so by 5pm on 26 November.
“Once you have completed the form and signed it, you need to send it to the electoral registration team for your local council,” says Ailsa Irvine, director of electoral administration and guidance at the electoral Commission.
“You can send your form by post. The electoral registration team at your local council should also be able to accept a scanned copy of your form by email, but it’s worth double-checking with them first.”
How do I apply for a proxy vote?
Voting in the general election by a proxy means you appoint someone to vote on your behalf, either at the polling station or by post.
For this, you will need to give a reason why you can’t get to your polling station on the day.
“This may be because you’re going to be on holiday, or have a physical condition which means you can’t get to your polling station on polling day,” explains Irvine.
“Anyone can be your proxy as long as they are eligible to vote in the election and they are willing to vote on your behalf,” she adds. “Your proxy cannot be a proxy for more than two people at any one election, unless they are a close relative.”
Read more: General election 2019: Boris Johnson and Jeremy Corbyn to go head to head in BBC debate
You can download the proxy vote form here and must send it to electoral registration team for your local council.
The deadline for applying by proxy is slightly later, at 5pm on 4 December, unless you require a postal proxy vote, in which case it’s still 26 November.
What if I’m a student with more than one address?
If you are a student with a home address and term-time address it is possible that you are lawfully registered to vote in more than one constituency.
However, it is an offence to cast more than one vote on your behalf in a general election which carries an unlimited fine in England and Wales, or £5000 in Scotland.
The Electoral Registration Officer at your local council must be satisfied that you are resident at an address before confirming your registration there.


Step 1: Filter Relevant Evidence
The objective of this task is to filter which sentences from Wikipedia that provide evidence that either supports or refutes claims.
- You are given 1 claim and part of the Wikipedia article it came from.
- You should find evidence that supports or refutes this claim.
- Evidience must be grouped together in "verdicts". Each verdict must form a chain of reasoning that provides all the information needed to verify the claim.
- You can add additional articles that provide more source information to verify this claim. Use your best judgement here to add relevant information.
- We have extracted the individual sentences (in gray boxes) and grouped them by paragraph.
What counts as evidence?
Justifications must be made using information within the Wikipedia pages. You should avoid applying your own world knowledge.
Direct evidence
- Sentence directly states information that supports/refutes the claim
- Sentence states information that is synonymous with information in the claim
- Sentence refutes the claim through negation or quantification
- Sentence provides information about a different entity and only one entity is permitted (e.g. place of birth can only be one place)
More justification needed:
- Sentence provides information about something that is more general or specific than the claim.
In this case, look up the item and add this as supporting evidence.
E.g. “Beidha is in the Middle East”. Is justified using the sentences “Beidha is in …. near Jordan” from the original page and “Jordan is considered to be among the safest of Arab countries in the Middle East” from the wiki page for Jordan.


BATMAN & MR. FREEZE: SUBZERO (1998)
Starring the voices of: Kevin Conroy (Bruce Wayne/Batman), Michael Ansara (Mr. Freeze), Loren Lester (Dick Grayson/Robin), Mary Kay Bergman [well, I'm... fairly sure it was her] (Barbara Gordon/Batgirl), George Dzunda (Dr. Robert Belson), Efrem Zimbalist Jr. (Alfred Pennyworth), Bob Hastings (Commissioner Gordon)
Not Rated (but it's probably a PG, just like the last animated Batman film was)
Reviewed by Doug Skiles
Yes, it's animated.
That having been said, let it be known that possibly the greatest interpretation of Batman to hit tv or movie screens IS the animated Bat that first appeared in the fall of 1992 on Fox. It quickly became a prime time series before hitting the big time - an animated theatrical release film. That was BATMAN: MASK OF THE PHANTASM (1993). Clearly, it was and still is the best Batman film to yet hit theaters. The plot was intelligent, the action loud and exciting, the voice-acting perfect, and the score beautiful.
As of this year, on TV, Batman has moved his animated adventures to the WB network. Characters have grown, and, most noticably, design styles for many of the characters have changed - mostly for the worse. As a result, for both those who watch the series, and those casual Bat-fans who have only seen the first animated film, this second animated feature (which has gone straight to video), BATMAN & MR. FREEZE: SUBZERO, is like reuniting with an old friend. The film tells a story that takes place before the current season of the show and after the final season on Fox, so the character designs the like are all in line with those of the earlier part of the series. Only better animated than usually seen on the show. This is a level of animation slightly under that seen in BATMAN: MASK OF THE PHANTASM but still slightly higher than that seen on the tv series. One thing this movie does have other MASK OF THE PHANTASM is more use of computer animation. There's a CG submarine, Batwing, and highway scene for your viewing pleasure, and all of them look very nice.
Of course, animation comes secondary to plot. Plot, action, dialogue, and of course, acting are what drive a film. Well, on the old Batman scale, SUBZERO is not quite as good as PHANTASM was, and maybe not even as good as the first two Tim Burton live-action films, though that could be debated. It's certainly much better than the last two Joel Schumacher films - and it's truer to the characters than any of the live action films to date. The plot goes that Mr. Freeze's wife, Nora Fries, still in cryo-sleep, has her stasis tube broken open in an accident. Now Freeze knows that the only thing that can save her is an organ transplant. He enlists the help of Dr. Belson, and, when no deceased donors of Nora's rare blood type are found, Freeze decides that he will use a live donor - which of course, will kill said donor. There's 18 live donors of Nora's blood type in Gotham. And one of them is Barbara Gordon.
Luckily, Barbara only appears in Batgirl garb for about one minute near the beginning of the movie, and stays out of costume for the rest while Batman and Robin try to save her - and she tries to save herself. The whole thing is better animated than most of the non-Disney stuff you see (Well, those big-time other-studio releases like ANASTASIA [1997] not withstanding, I guess) and has that same simple-yet-beautiful character design of the Max Fleischer Superman cartoons from the days of yore. All the characters are well-done. Of course Batman is cool, but wow, so are Robin and Barbara. Now THAT'S a feat.
In all, though it runs a too-short 67 minutes, and yes, it has appearances by Batgirl and Robin (come on, you *know* that Robin isn't always a bad character), this is still definitely worth a rent... and if you're a big Batfan... it's worth a purchase. Watch it, then rewind, and enjoy it again.
Hey WB... you want a good Batman film to add to your live-action franchise? WHY NOT PUT PAUL DINI AND BRUCE TIMM IN CHARGE?!
Rating: ***
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


WITNESS LIST Human Services Committee June 22, 2004-1:00P Interim Charge #2 For: Burton, III, Thomas (Justice For Children) Shields, James (Justice For Children) On: Carmona, Mark (Alamo Children's Advocacy Center) Cartie, MD, Richard (Bexar County Child Fatality Review Team) Chapmond, Thomas (Texas Department of Family and Protective Services) Downey, Jack (The Children's Shelter) Ferland, Megan (Texas CASA) Garcia-Garza, Norma (Self) Hagan, Nancy (Children's Advocacy Centers of Texas) Horton, Colleen (Texas Center for Disability Studies, Univ. of Texas) James, Joyce (Texas Department of Family and Protective Services) Lapham, John "Jay" (Self and Attorney) McClure, LCSW, Madeline (Tex Protects, Texas Assoc. for the Protection of Children & Prevent Child Abuse Texas) McCown, Scott (Center for Public Policy Priorities) Stuller, Judy (Bexar County Child Welfare Board) Van Hoof, Judith (Self and Attorney) Ware, Terri (Texas Department of Family and Protective Services) Registering, but not testifying: On: Kilaen, Skye (Texans Care For Children)


|
My Project
|
Classes | |
| struct | interactive_object |
| struct | interactive_participant |
| struct | interactive_control |
| struct | interactive_input |
| struct | interactive_group |
| struct | interactive_scene |
Typedefs | |
| typedef enum mixer_result_code | mixer_result_code |
| typedef void * | interactive_session |
Functions | |
| int | interactive_auth_get_short_code (const char *clientId, const char *clientSecret, char *shortCode, size_t *shortCodeLength, char *shortCodeHandle, size_t *shortCodeHandleLength) |
Get a short code that can be used to obtain an OAuth token from https://www.mixer.com/go?code=SHORTCODE . More... | |
| int | interactive_auth_wait_short_code (const char *clientId, const char *clientSecret, const char *shortCodeHandle, char *refreshToken, size_t *refreshTokenLength) |
Wait for a shortCode to be authorized or rejected after presenting the OAuth short code web page. The resulting refreshToken should be securely serialized and linked to the current user. More... | |
| int | interactive_auth_is_token_stale (const char *token, bool *isStale) |
Determine if a refreshToken returned by interactive_auth_wait_short_code is stale. A token is stale if it has exceeded its half-life. More... | |
| int | interactive_auth_refresh_token (const char *clientId, const char *clientSecret, const char *staleToken, char *refreshToken, size_t *refreshTokenLength) |
Refresh a stale refreshToken<c>. More... | |
| int | interactive_auth_parse_refresh_token (const char *token, char *authorization, size_t *authorizationLength) |
Parse a refreshToken to get the authorization header that should be passed to interactive_open_session() . More... | |
| int interactive_auth_get_short_code | ( | const char * | clientId, |
| const char * | clientSecret, | ||
| char * | shortCode, | ||
| size_t * | shortCodeLength, | ||
| char * | shortCodeHandle, | ||
| size_t * | shortCodeHandleLength | ||
| ) |
Get a short code that can be used to obtain an OAuth token from https://www.mixer.com/go?code=SHORTCODE
.
This is a blocking function that waits on network IO.
| int interactive_auth_is_token_stale | ( | const char * | token, |
| bool * | isStale | ||
| ) |
Determine if a refreshToken
returned by interactive_auth_wait_short_code
is stale. A token is stale if it has exceeded its half-life.
| int interactive_auth_parse_refresh_token | ( | const char * | token, |
| char * | authorization, | ||
| size_t * | authorizationLength | ||
| ) |
Parse a refreshToken
to get the authorization header that should be passed to interactive_open_session()
.
| int interactive_auth_refresh_token | ( | const char * | clientId, |
| const char * | clientSecret, | ||
| const char * | staleToken, | ||
| char * | refreshToken, | ||
| size_t * | refreshTokenLength | ||
| ) |
Refresh a stale refreshToken<c>.
This is a blocking function that waits on network IO.
| int interactive_auth_wait_short_code | ( | const char * | clientId, |
| const char * | clientSecret, | ||
| const char * | shortCodeHandle, | ||
| char * | refreshToken, | ||
| size_t * | refreshTokenLength | ||
| ) |
Wait for a shortCode
to be authorized or rejected after presenting the OAuth short code web page. The resulting refreshToken
should be securely serialized and linked to the current user.
This is a blocking function that waits on network IO.


Home
Info
Directions
Hours
Staff
Events
Events 1
Events 2
Events 3
Membership
Volunteer
Benefits
Shop
Contact Us


ANYWHERE BUT HERE ***1/2 (out of five stars) A review by Jamey Hughton
Starring-Susan Sarandon, Natalie Portman, Shawn Hatosy and Hart Bochner Director-Wayne Wang Rated PG 20th Century Fox
MOVIE VIEWS by Jamey Hughton http://Welcome.to/MovieViews
Is there a lot brewing within `Anywhere but Here', or does it just seem that way? There is little depth or inner context to this story of a feuding mother and daughter, but the actors submit a tremendous amount of heart and realism. In turn, the emotional impact is multiplied. And if you don't get misty-eyed during `Anywhere but Here', I'm afraid your retinas may have detached.
What could have been `just another movie' is given remarkable elevation by director Wayne Wang (`The Joy Luck Club') and the screen duo of Susan Sarandon and Natalie Portman. The majority of the film is heavily reliant on the believability of their relationship, especially when considering the supporting cast is used sparsely, and even then the actors are merely background strokes to paint a more attractive portrait of the central conflict. Both Sarandon and Portman perform wonderfully, and their emotions never ring hollow. Much like the recent underrated romance `The Story of Us', the trials and tribulations of this mother and daughter strike a powerful chord with the audience.
Moving out of Wisconsin and headed to Beverly Hills, Adele August (Sarandon) and her daughter Ann (Natalie Portman) have already began a feisty bout of feuding. Ann's occasional narration informs us of the family background: her father left when she was young, Adele married for a second time, and now the twosome are traveling to the palm tree-infested locales of Beverly Hills to try and start over. But Ann despises her mother in every sense of the word, and is eagerly awaiting her chance to slip away to college back east and escape the domineering matriarch who, naturally, only wants the best for her daughter. But even with her tender care, she doesn't let Ann voice her opinion. It soon becomes apparent that it is Adele's way... or the highway.
There was a sense of immense gratification as the credits began to roll after `American Beauty'. What generated this rare sensation was the realization that we had just experienced the lives of three perfectly realized characters. The two female leads in `Anywhere but Here' are hardly the polished characters that one would describe as `perfect', but they're more than sufficient given the demands of the screenplay. There's a hefty dose of realism present at virtually all times, and this effect is improved a notch or two by the impeccable lead performances. It's a touching and funny tale for anyone who's been in a situation resembling the emotional challenge that Ann and Adele are facing.
I found myself thinking afterward that perhaps Wang was too generous with the screen time of the central mother-to-daughter conflict. Once in a while, a supporting character is given the floor, but mainly all secondary performers are given the dramatic sidebar in this endless Sarandon-Portman buffet of emotions. I wanted a far meatier role for Hart Bochner, who plays a Beverly Hills orthodontist that Adele gets involved with.  Shawn Hatosy (`Outside Providence') is effective but used sparingly as Ann's cousin Benny. Corbin Alldred is flat-out charming as a likable doofus pining for Ann's affection, and Michael Milhoan registers nicely as an earnest cop who offers some wise to both of the ladies. Both, however, could have been relied upon more often.
Sarandon is so good at this sort of thing. With her eagerness to bite right into the role of Adele, there's absolutely no worries from minute one. But I was pleasantly surprised with Natalie Portman. The young actress was impressive as Queen Amidala in `The Phantom Menace', but the role was too stale to warrant any real dramatics. Portman is surprisingly strong alongside Sarandon, though, shedding tears without the slightest whiff of inexperience. After her appearance in `Episode 1', Portman could provide the biggest audience attraction for `Anywhere but Here'.
I would recommend this film to anyone who thinks female characters have been unfairly dismissed and underwritten as of late. `Anywhere but Here' is anything but the case, adding believable emotions and sure-fire direction to an otherwise tired formula. Bring with you only two things: a loved one, and some Kleenex.
(C) 1999, Jamey Hughton
MOVIE VIEWS by Jamey Hughton http://Welcome.to/MovieViews
Your Comments Appreciated<EMAIL_ADDRESS>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


| Class | SmartMonth::Rulesets |
| In: |
lib/smart_month/rulesets.rb
|
| Parent: | Object |
# File lib/smart_month/rulesets.rb, line 15 15: def self.add_rule(name, rule) 16: if rule.is_a?(String) 17: @@rulesets.merge!( { name => {'when' => rule } } ) 18: self.new.send(:activate_rules!) 19: end 20: end
# File lib/smart_month/rulesets.rb, line 11 11: def self.load_file(path) 12: self.load_yaml(File.open(path)) 13: end
# File lib/smart_month/rulesets.rb, line 6 6: def self.load_yaml(yaml) 7: @@rulesets = YAML::load(yaml) 8: self.new.send(:activate_rules!) 9: end
iterates through all the rules currently defined in the class and injects them if they are not currently implemented.
# File lib/smart_month/rulesets.rb, line 26 26: def activate_rules! 27: @@rulesets.each_key do |rule| 28: inject_rule(rule, @@rulesets[rule]) unless Month.respond_to?(rule) 29: end 30: end
this method parses and defines the methods in our pre-existing ruby classes
# File lib/smart_month/rulesets.rb, line 33 33: def inject_rule(name,rule) 34: meth_name = name.gsub(' ','_').downcase 35: type, data = parse_string_as_date(rule) # ||= parse_string_as_frequency(rule) 36: # don't define the rulset methods if they might override existing methods! 37: define_methods(type,meth_name,data) unless Month.respond_to?(meth_name) && Date.respond_to?(meth_name) 38: end
this is the parsing process for basic "date as string" rules (eg: ‘December 12th, 2005’ or ‘March 15th’)
# File lib/smart_month/rulesets.rb, line 44 44: def parse_string_as_date(rule) 45: # first attempt to parse the string and load structure 46: month,day,year = rule['when'].split 47: year = Time.now.year.to_i if year.nil? 48: data = {:year => year.to_i, :month => Month.new(month).to_i, :day => day.to_i} 49: return [:date,data] 50: end


Login
If you do not have an account, click the CREATE ACCOUNT button in the top right corner
- To login, Enter your username and password correctly, and click Sign In.
- If you do not have an account, click the CREATE ACCOUNT button in the top right corner
Below you can see an example of a login
Sign-Up
- You must fill out every text box on this page in order to create your account and ensure you have an avenue to recover your account in case you forget your login details.
- Please make every effort to choose a username and password you will most definetlely remember as we do not have a robust and reliable "forgotten password" system set up as yet.
- Once you are finished signing up, the application will take you to the login page, where you will use your sign up details you just entered, to login.
Signing Up
Forgotten Password
In the event that you forget your username or password, please email us at<EMAIL_ADDRESS>with a guess of your username, the email address you signed up with, and your full name.
Dashboard
- This is where you are able to see all your important details.
- From here you can navigate to your Assignments, Notes, Exams or Courses to view, add update or delete items.
Navigation
- Navigation is made very simple with this application. It works with a simple point and click mechanic
- The grey menu bar on the left, contains all that you need to navigate throughout the application and is included in every section of the app.
- To go to your Notes, Courses, Assignments or Exams from anywjere in the app, simply click the button which corresponds to your intended destination.
- To close the application, Click the "X" in the top right corner and select "Yes"
Settings
This application does not yet have any change settings functionality. This part of the Help Page will update once a settings page has been added.
Assignment
- When entering information for your Assignments, refrain from entering any of these characters (",',*,&,^,%,$,#,@,!)
- Adding an Assignment - Click the green plus button and enter the relevant details
- Viewing an Assignment - Click which Assignment you would like to view
- Update an Assignment - Click which Assignment you would you would like to update, click the button with the two blue arrows and change the details as you see fit.
- Delete an Assignment - Click which Assignment you would like to delete then click the red trash button
Course
- When entering information for your courses, refrain from entering any of these characters (",',*,&,^,%,$,#,@,!)
- Adding a Course - Click the green plus button and enter the relevant details
- Viewing a Course - Click which course you would like to view
- Update a Course - Click which Course you would like to update, click the button with the two blue arrows and change the details as you see fit.
- Delete a Course - Click which Course you would like to delete then click the red trash button
- Completing a Course - If you have completed a particular course, you may click update, and enter the grade you got into the Final Grade text box
Exam
- When entering information for your Exams, refrain from entering any of these characters (",',*,&,^,%,$,#,@,!)
- Adding an Exam - Click what date your exam falls on, if you have an exam on that date already, you must click "NO" in the message box and proceed. Enter the relevant details and hit Save
- Viewing an Exam - Click whichever date you would like to look at. If the date is bold, that means an exam is on that date.
- Update an Exam -
- Delete an Exam - Click on the Date that the exam was/is scheduled, click the Exam you would like to delete then click the red trash button
Note
- When entering information for your Notes, refrain from entering any of these characters (",',*,&,^,%,$,#,@,!)
- Adding a Note - Click the green plus button and enter the relevant details
- Viewing a Note - Click whichever Note you would like to view on the Notes Page
- Update a Note - Click which Note you would like to update, click the button with the two blue arrows and change the details as you see fit
- Delete a Note - Click the Note you would like to delete then click the red trash button
Logout
Click the Logout Button under your user name on the left


#How to create and App using Mahout
This is an example of how to create a simple app using Mahout as a Library. The source is available on Github in the 3-input-cooc project with more explanation about what it does (has to do with collaborative filtering). For this tutorial we’ll concentrate on the app rather than the data science.
The app reads in three user-item interactions types and creats indicators for them using cooccurrence and cross-cooccurrence. The indicators will be written to text files in a format ready for search engine indexing in search engine based recommender.
##Setup In order to build and run the CooccurrenceDriver you need to install the following:
- Install the Java 7 JDK from Oracle. Mac users look here: Java SE Development Kit 7u72.
- Install sbt (simple build tool) 0.13.x for Mac, Linux or manual instalation.
- Install Spark 1.1.1. Don’t forget to setup SPARK_HOME
- Install Mahout 0.10.0. Don’t forget to setup MAHOUT_HOME and MAHOUT_LOCAL
Why install if you are only using them as a library? Certain binaries and scripts are required by the libraries to get information about the environment like discovering where jars are located.
Spark requires a set of jars on the classpath for the client side part of an app and another set of jars must be passed to the Spark Context for running distributed code. The example should discover all the neccessary classes automatically.
##Application
Using Mahout as a library in an application will require a little Scala code. Scala has an App trait so we’ll create an object, which inherits from App
object CooccurrenceDriver extends App {
}
This will look a little different than Java since App
does delayed initialization, which causes the body to be executed when the App is launched, just as in Java you would create a main method.
Before we can execute something on Spark we’ll need to create a context. We could use raw Spark calls here but default values are setup for a Mahout context by using the Mahout helper function.
implicit val mc = mahoutSparkContext(masterUrl = "local",
appName = "CooccurrenceDriver")
We need to read in three files containing different interaction types. The files will each be read into a Mahout IndexedDataset. This allows us to preserve application-specific user and item IDs throughout the calculations.
For example, here is data/purchase.csv:
u1,iphone
u1,ipad
u2,nexus
u2,galaxy
u3,surface
u4,iphone
u4,galaxy
Mahout has a helper function that reads the text delimited files SparkEngine.indexedDatasetDFSReadElements. The function reads single element tuples (user-id,item-id) in a distributed way to create the IndexedDataset. Distributed Row Matrices (DRM) and Vectors are important data types supplied by Mahout and IndexedDataset is like a very lightweight Dataframe in R, it wraps a DRM with HashBiMaps for row and column IDs.
One important thing to note about this example is that we read in all datasets before we adjust the number of rows in them to match the total number of users in the data. This is so the math works out (A’A, A’B, A’C) even if some users took one action but not another there must be the same number of rows in all matrices.
/**
* Read files of element tuples and create IndexedDatasets one per action. These
* share a userID BiMap but have their own itemID BiMaps
*/
def readActions(actionInput: Array[(String, String)]): Array[(String, IndexedDataset)] = {
var actions = Array[(String, IndexedDataset)]()
val userDictionary: BiMap[String, Int] = HashBiMap.create()
// The first action named in the sequence is the "primary" action and
// begins to fill up the user dictionary
for ( actionDescription <- actionInput ) {// grab the path to actions
val action: IndexedDataset = SparkEngine.indexedDatasetDFSReadElements(
actionDescription._2,
schema = DefaultIndexedDatasetElementReadSchema,
existingRowIDs = userDictionary)
userDictionary.putAll(action.rowIDs)
// put the name in the tuple with the indexedDataset
actions = actions :+ (actionDescription._1, action)
}
// After all actions are read in the userDictonary will contain every user seen,
// even if they may not have taken all actions . Now we adjust the row rank of
// all IndxedDataset's to have this number of rows
// Note: this is very important or the cooccurrence calc may fail
val numUsers = userDictionary.size() // one more than the cardinality
val resizedNameActionPairs = actions.map { a =>
//resize the matrix by, in effect by adding empty rows
val resizedMatrix = a._2.create(a._2.matrix, userDictionary, a._2.columnIDs).newRowCardinality(numUsers)
(a._1, resizedMatrix) // return the Tuple of (name, IndexedDataset)
}
resizedNameActionPairs // return the array of Tuples
}
Now that we have the data read in we can perform the cooccurrence calculation.
// actions.map creates an array of just the IndeedDatasets
val indicatorMatrices = SimilarityAnalysis.cooccurrencesIDSs(
actions.map(a => a._2))
All we need to do now is write the indicators.
// zip a pair of arrays into an array of pairs, reattaching the action names
val indicatorDescriptions = actions.map(a => a._1).zip(indicatorMatrices)
writeIndicators(indicatorDescriptions)
The writeIndicators
method uses the default write function dfsWrite
.
/**
* Write indicatorMatrices to the output dir in the default format
* for indexing by a search engine.
*/
def writeIndicators( indicators: Array[(String, IndexedDataset)]) = {
for (indicator <- indicators ) {
// create a name based on the type of indicator
val indicatorDir = OutputPath + indicator._1
indicator._2.dfsWrite(
indicatorDir,
// Schema tells the writer to omit LLR strengths
// and format for search engine indexing
IndexedDatasetWriteBooleanSchema)
}
}
See the Github project for the full source. Now we create a build.sbt to build the example.
name := "cooccurrence-driver"
organization := "com.finderbots"
version := "0.1"
scalaVersion := "2.10.4"
val sparkVersion = "1.1.1"
libraryDependencies ++= Seq(
"log4j" % "log4j" % "1.2.17",
// Mahout's Spark code
"commons-io" % "commons-io" % "2.4",
"org.apache.mahout" % "mahout-math-scala_2.10" % "0.10.0",
"org.apache.mahout" % "mahout-spark_2.10" % "0.10.0",
"org.apache.mahout" % "mahout-math" % "0.10.0",
"org.apache.mahout" % "mahout-hdfs" % "0.10.0",
// Google collections, AKA Guava
"com.google.guava" % "guava" % "16.0")
resolvers += "typesafe repo" at " http://repo.typesafe.com/typesafe/releases/"
resolvers += Resolver.mavenLocal
packSettings
packMain := Map(
"cooc" -> "CooccurrenceDriver")
##Build Building the examples from project’s root folder:
$ sbt pack
This will automatically set up some launcher scripts for the driver. To run execute
$ target/pack/bin/cooc
The driver will execute in Spark standalone mode and put the data in /path/to/3-input-cooc/data/indicators/indicator-type
##Using a Debugger To build and run this example in a debugger like IntelliJ IDEA. Install from the IntelliJ site and add the Scala plugin.
Open IDEA and go to the menu File->New->Project from existing sources->SBT->/path/to/3-input-cooc. This will create an IDEA project from build.sbt
in the root directory.
At this point you may create a “Debug Configuration” to run. In the menu choose Run->Edit Configurations. Under “Default” choose “Application”. In the dialog hit the elipsis button “…” to the right of “Environment Variables” and fill in your versions of JAVA_HOME, SPARK_HOME, and MAHOUT_HOME. In configuration editor under “Use classpath from” choose root-3-input-cooc module.
Now choose “Application” in the left pane and hit the plus sign “+”. give the config a name and hit the elipsis button to the right of the “Main class” field as shown.
After setting breakpoints you are now ready to debug the configuration. Go to the Run->Debug… menu and pick your configuration. This will execute using a local standalone instance of Spark.
##The Mahout Shell
For small script-like apps you may wish to use the Mahout shell. It is a Scala REPL type interactive shell built on the Spark shell with Mahout-Samsara extensions.
To make the CooccurrenceDriver.scala into a script make the following changes:
- You won’t need the context, since it is created when the shell is launched, comment that line out.
- Replace the logger.info lines with println
- Remove the package info since it’s not needed, this will produce the file in
path/to/3-input-cooc/bin/CooccurrenceDriver.mscala
.
Note the extension .mscala
to indicate we are using Mahout’s scala extensions for math, otherwise known as Mahout-Samsara
To run the code make sure the output does not exist already
$ rm -r /path/to/3-input-cooc/data/indicators
Launch the Mahout + Spark shell:
$ mahout spark-shell
You’ll see the Mahout splash:
MAHOUT_LOCAL is set, so we don't add HADOOP_CONF_DIR to classpath.
_ _
_ __ ___ __ _| |__ ___ _ _| |_
| '_ ` _ \ / _` | '_ \ / _ \| | | | __|
| | | | | | (_| | | | | (_) | |_| | |_
|_| |_| |_|\__,_|_| |_|\___/ \__,_|\__| version 0.10.0
Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_72)
Type in expressions to have them evaluated.
Type :help for more information.
15/04/26 09:30:48 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Created spark context..
Mahout distributed context is available as "implicit val sdc".
mahout>
To load the driver type:
mahout> :load /path/to/3-input-cooc/bin/CooccurrenceDriver.mscala
Loading ./bin/CooccurrenceDriver.mscala...
import com.google.common.collect.{HashBiMap, BiMap}
import org.apache.log4j.Logger
import org.apache.mahout.math.cf.SimilarityAnalysis
import org.apache.mahout.math.indexeddataset._
import org.apache.mahout.sparkbindings._
import scala.collection.immutable.HashMap
defined module CooccurrenceDriver
mahout>
To run the driver type:
mahout> CooccurrenceDriver.main(args = Array(""))
You’ll get some stats printed:
Total number of users for all actions = 5
purchase indicator matrix:
Number of rows for matrix = 4
Number of columns for matrix = 5
Number of rows after resize = 5
view indicator matrix:
Number of rows for matrix = 4
Number of columns for matrix = 5
Number of rows after resize = 5
category indicator matrix:
Number of rows for matrix = 5
Number of columns for matrix = 7
Number of rows after resize = 5
If you look in path/to/3-input-cooc/data/indicators
you should find folders containing the indicator matrices.


American Psycho (2000) Reviewed by Eugene Novikov http://www.ultimate-movie.com/ Member: Online Film Critics Society
American Psycho is technically superb, tantalizingly ambitious, morally sound and very well acted. And yet I can't, in good conscience, recommend that people go see it. Though in hindsight the film is an excellent think piece, I left the theater with a sour taste in my mouth. I'm a liberal guy, but this movie goes beyond "disturbing" and gets dangerously close to "repulsive" in its portrayal of senseless sadistic violence and sexual violence. It's true that American Psycho's purpose was to jar the viewer but I wonder: should any movie being passed off as entertainment go this far?
Patrick Bateman (Christian Bale) is a yuppie living in New York in the 1980's.  This is what the lives of everyone but Bateman consist of. When Bateman himself goes home, he kills: viciously and for no apparent reason.
One of Bateman's murders doesn't go over so well. When he kills one of his co-workers, Paul Allen (Jared Leto), he makes a few mistakes which send a detective (Willem Dafoe) after him. Though the detective never makes it clear whether or not he is really on to him or whether he is simply doing routine questioning, Patrick, for the first time in his life, becomes a little paranoid and loses his seemingly perpetual cool.
American Psycho has stirred up talk in Hollywood since day 1. Originally, Leonardo DiCaprio was slated to play Patrick Bateman; when he bowed out, little-known (though prolific) British actor Bale was brought in and the budget went down. Then, as the film creeped closer to completion, new controversy came up. The film got an NC-17 rating for a graphic mé·nage à trois scene. Director Mary Harron, at first, refused to cut a minute of the film but later gave in and edited it for an R (in my opinion, the film should have still received the NC-17).
The MPAA didn't seem to be particularly concerned about the movie's violence which is abundant, but not as graphic as you might think. Still, it was presented so nonchalantly that I was genuinely shocked by some of it even though I've technically seen more explicit violence in teen slasher movies. It's all in the attitude. I agree that this was exactly the film's intention and can only counter with one argument: the movie made me feel terrible. Movies aren't supposed to do that.
Still, there's a lot to praise in this adaptation of what was widely regarded as an "unfilmable" novel (unread by me). *MAJOR SPOILER AHEAD* Mary Harron leaves some things deliberately ambiguous; at the end, she raises the question of whether these crimes may have been committed in Bateman's bored, materialistic mind. Consider, for example, the fact that nobody seems to notice when Bateman kills a half-naked woman with a noisy chainsaw on an apartment stairway. No one even peeks out of a door to see what all the ruckus is about. Harron does not emphasize this but it is hard to believe that she would just forget about it accidentally. This makes the movie good for debate later if you don't bolt out of the theater halfway through, like I was very close to doing.
Christian Bale is a wonderful actor, perfectly pulling off the darkly comedic scenes scattered throughout the movie. It would have been most amusing to see DiCaprio try it: I don't have an antipathy for the actor but I don't think he would dare play some of these scenes straight. Chloe Sevigny, an Oscar nominee for the similarly disturbing but far less lurid Boys Don't Cry also shows up for a small part as Bateman's secretary.
Look: this movie didn't warp my mind. I'm not scarred for life because I saw it. But I can tell you that it made me feel very uncomfortable, going beyond its intention of throwing the viewer somewhat off-balance. If that floats your boat, fine. But if you bring a friend, you may be severely berated afterwards.
Grade: C+
©2000 Eugene Novikov
Sent via Deja.com http://www.deja.com/ Before you buy.
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


(Brooklyn Standard Union, January 21, 1895)
Swami Vivekananda, after being presented to the audience by Dr. Janes, president of the Ethical Association, said in part:
"The product of the slums of any nation cannot be the criterion of our judgment of that nation. One may collect the rotten, worm-eaten apples under every apple tree in the world, and write a book about each of them, and still know nothing of the beauty and possibilities of the apple tree. Only in the highest and best can we judge a nation — the fallen are a race by themselves. Thus it is not only proper, but just and right, to judge a custom by its best, by its ideal.
"The ideal of womanhood centres in the Arian race of India, the most ancient in the worlds history. In that race, men and women were priests, 'sabatimini [saha-dharmini],' or co-religionists, as the Vedas call them. There every family had its hearth or altar, on which, at the time of the wedding, the marriage fire was kindled, which was kept alive, until either spouse died, when the funeral pile was lighted from its spark. There man and wife together offered their sacrifices, and this idea was carried so far that a man could not even pray alone, because it was held that he was only half a being, for that reason no unmarried man could become a priest. The same held true in ancient Rome and Greece.
"But with the advent of a distinct and separate priest-class, the co-priesthood of the woman in all these nations steps back. First it was the Assyrian race, coming of semitic blood, which proclaimed the doctrine that girls have no voice, and no right, even when married. The Persians drank deep of this Babylonian idea, and by them it was carried to Rome and to Greece, and everywhere woman degenerated.
"Another cause was instrumental in bringing this about — the change in the system of marriage. The earliest system was a matriarchal one; that is, one in which the mother was the centre, and in which the girls acceded to her station. This led to the curious system of the Polianders [polyandrous], where five and six brothers often married one wife. Even the Vedas contain a trace of it in the provision, that when a man died without leaving any children, his widow was permitted to live with another man, until she became a mother; but the children she bore did not belong to their father, but to her dead husband. In later years the widow was allowed to marry again, which the modern idea forbids her to do.
"But side by side with these excrescences a very intense idea of personal purity sprang up in the nation. On every page the Vedas preach personal purity. The laws in this respect were extremely strict. Every boy and girl was sent to the university, where they studied until their twentieth or thirtieth year; there the least impurity was punished almost cruelly. This idea of personal purity has imprinted itself deeply into the very heart of the race, amounting almost to a mania. The most conspicuous example of it is to be found in the capture of Chito [Chitor] by the Mohammedans. The men defended the town against tremendous odds; and when the women saw that defeat was inevitable they lit a monstrous fire on the market place, and when the enemy broke down the gates 74,500 women jumped on the huge funeral pile and perished in the flames. This noble example has been handed down in India to the present time, when every letter bears the words '74,500,' which means that any one who unlawfully reads the letter, thereby becomes guilty of a crime similar to the one which drove those noble women of Chito to their death.
"The next period is that of the monks; it came with the advent of Buddhism, which taught that only the monks could reach the 'nirvana', something similar to the Christian heaven. The result was that all India became one huge monastery; there was but one object, one battle — to remain pure. All the blame was cast onto women, and even the proverbs warned against them. 'What is the gate to hell?' was one of them, to which the answer was: 'Woman'. Another read: 'What is the chain which binds us all to dust? Woman'. Another one: 'Who is the blindest of the blind? He who is deceived by woman.'
"The same idea is to be found in the cloisters of the West. The development of all monasticism always meant the degeneration of women.
"But eventually another idea of womanhood arose. In the West it found its ideal in the wife, in India in the mother. But do not think that the priests were altogeher responsible for this change. I know they always lay claim to everything in the world and I say this, although I am myself a priest. I'll bend my knees to every prophet in every religion and clime, but candor compels me to say, that here in the West the development of women was brought about by men like John Stuart Mill and the revolutionary French philosophers. Religion has done something, no doubt, but not all. Why, in Asia Minor, Christian bishops to this day keep a harem!
"The Christian ideal is that which is found in the Anglo-Saxon race. The Mohammedan woman differs vastly from her western sisters in so far as her social and intellectual development is not so pronounced. But do not, on that account, think that the Mohammedan woman is unhappy, because it is not so. In India woman has enjoyed property rights since thousands of years. Here a man may disinherit his wife, in India the whole estate of the deceased husband must go to the wife, personal property absolutely, real property for life.
"In India the mother is the centre of the family and our highest ideal, She is to us the representative of God, as God is the mother of the Universe. It was a female sage who first found the unity of God, and laid down this doctrine in one of the first hymns of the Vedas. Our God is both personal and absolute, the absolute is male, the personal, female. And thus it comes that we now say: 'The first manifestation of God is the hand that rocks the cradle.' He is of the 'arian' race, who is born through prayer, and he is a nonarian, who is born through sensuality.
"This doctrine of prenatal influence is now slowly being recognized, and science as well as religion calls out: 'Keep yourself holy, and pure.' So deeply has this been recognized in India, that there we even speak of adultery in marriage, except when marriage is consummated in prayer. And I and every good Hindoo believe, that my mother was pure and holy, and hence I owe her everything that I am. That is the secret of the race — chastity."


The definitive source of online mock certification practice exams!
Our exams are created by published authors of offical certification exams.
TESTIMONIALS


--- layout: post status: publish published: true title: Vote for Matt Murton, NL All-Star author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>excerpt: "I'm going to look past Mark Derosa's great performance last night in San Francisco and instead focus on the accomplishments of my favorite Chicago Cub:\n\n\n\n \n\nMatt Murton has continued to work through his season-long extra-base dryspell and busted out with " wordpress_id: 113 wordpress_url: http://ivyenvy.wordpress.com/?p=113 date: '2008-07-01 16:01:18 +0000' date_gmt: '2008-07-01 16:01:18 +0000' categories: - Outfield tags: - Mark Derosa - Matt Murton - San Francisco comments: - id: 64 author: andy author_email<EMAIL_ADDRESS>author_url: http://journalofweightsandmeasures.blogspot.com/ date: '2008-07-01 16:31:23 +0000' date_gmt: '2008-07-01 16:31:23 +0000' content: That foul ball was hit incredibly high and far. It cleared the foul pole by a lot. - id: 65 author: Go West, Young Man! « Ivy Envy author_email: '' author_url: http://ivyenvy.wordpress.com/2008/07/10/go-west-young-man/ date: '2008-07-10 14:26:34 +0000' date_gmt: '2008-07-10 19:26:34 +0000' content: "[...] come to terms with the fact that Matt Murton is no longer a member of the Chicago Cubs. Although I knew it was going to happen, I didn’t expect it to happen this early in July. It’s hard to put your feelings into [...]" ---
I'm going to look past Mark Derosa's great performance last night in San Francisco and instead focus on the accomplishments of my favorite Chicago Cub:
Matt Murton has continued to work through his season-long extra-base dryspell and busted out with two doubles last night. Murton went 2-4 with 2 doubles and 2 RBI. He also quietly raised his batting average up 36 points.  But this thing cleared the foul pole. We're talking upper-deck foul by a few feet.
I realize Murton is probably trade bait at this point, so I feel like I owe it to him to sing his praises while he still wears Cubbie Blue.


| 1630 | U+1F1FB U+1F1EC | flag: British Virgin Islands | flag | |
| 1631 | U+1F1FB U+1F1EE | flag: U.S. Virgin Islands | flag | |
| 1632 | U+1F1FB U+1F1F3 | flag: Vietnam | flag | |
| 1633 | U+1F1FB U+1F1FA | flag: Vanuatu | flag | |
| 1634 | U+1F1FC U+1F1EB | flag: Wallis & Futuna | flag | |
| 1635 | U+1F1FC U+1F1F8 | flag: Samoa | flag | |
| 1636 | U+1F1FD U+1F1F0 | flag: Kosovo | flag | |
| 1637 | U+1F1FE U+1F1EA | flag: Yemen | flag | |
| 1638 | U+1F1FE U+1F1F9 | flag: Mayotte | flag | |
| 1639 | U+1F1FF U+1F1E6 | flag: South Africa | flag | |
| 1640 | U+1F1FF U+1F1F2 | flag: Zambia | flag | |
| 1641 | U+1F1FF U+1F1FC | flag: Zimbabwe | flag | |
| subdivision-flag | ||||
| № | Code | Sample | CLDR Short Name | Other Keywords |
| 1642 | U+1F3F4 U+E0067 U+E0062 U+E0065 U+E006E U+E0067 U+E007F | flag: England | flag | |
| 1643 | U+1F3F4 U+E0067 U+E0062 U+E0073 U+E0063 U+E0074 U+E007F | flag: Scotland | flag | |
| 1644 | U+1F3F4 U+E0067 U+E0062 U+E0077 U+E006C U+E0073 U+E007F | flag: Wales | flag |


--- layout: page title: About header-img: "img/about-bg.png" ---
Hey, my name's Arthur Song. I am currently a student in FlatIron's Software Engineering Web Development Program. I am looking to graduate in March of 2020 and switch careers from being a truck driver to a software engineer! I am a Korean American. I spent most of my life in the greater Los Angeles area and recently moved to Tucson, AZ.


--- layout: background excerpt: "Page not found. Your pixels are in another canvas." sitemap: false ---


by Goutham
We will look into the most familiar parallel programming model "OpenMP" and its functionalities from a students view. We will then get our hands dirty by trying out few examples of parallel code
OpenMP is a shared memory programming model that can improve the preformance of the code. Well that esclated quickly, From our basic operating systems course we know that threads shares the memory. A process that spawns two or more threads share memory used by it with the threads, So that the threads can effectively communicate. By default each thread has its own stack, .txt, registers, program counters but shares the heap space. Hence the thread model is the base for Fork-Join parallelism.
In order to learn multithreaded algortihms refer to chapter-27 of CLRS (needless to say, buy CLRS). CLRS talks about acheiving parallelism using the keywords Parallel, Spawn, Sync. These contructs are followed in OpenMP pragramming too.
In this post let us consider C/C++ as the language used. (OpenMP works with Fortran too)
#include<omp.h>
declares two types of functions
#pragma omp
is used tell the compiler to treat the code that follows this line, for parallel execution.
Consider the following code snippet and guess the output.
#include<omp.h>
#include<iostream>
using namespace std;
int main()
{
#pragma omp parallel
{
cout<<"Start"<< endl;
for(long i =0 ; i<1000;i++) ;
cout<<"End"<< endl;
}
return 0;
}
The popular answer for the above code(on a dual core machine) would be
Start End Start End which is not true always. Consider the case in which 'i' iterates over a huge number like 10000000, the second thread would have reached the Start statement befor the loop is completed.
Hence the output is non-determinstic it is either Start Start End End OR Start End Start End .
The above given code is targeted of g++ compiler. In addition to the normal compile syntax have to add -fopemp in the compile statement.
Eg. g++ sample.cpp -fopenmp -o << binaryname >>
Let us dive further and compute sum first 1000 numbers parallely.In addition to the previous parallel
directive, we need a new directive to parallelize the for loop.


England announce glamour friendly in Euro 2020 preparation
England will host four-time World Cup winners Italy as they step up their preparations for the Euro 2020 finals.
The Azzurri, who were crowned European champions in 1968, will head for Wembley in Friday, March 27 in the first of four friendlies in the build-up to next summer’s tournament.
An FA statement said: “Italy will visit Wembley Stadium connected by EE to face England on Friday 27 March 2020 (8pm kick-off).
“The fixture will be the first of four tests to help the Three Lions prepare for next summer’s UEFA EURO 2020.
“The occasion will also be designated as ‘The Heads Up International’ in support of The FA’s charitable partnership with HRH The Duke of Cambridge’s Heads Together mental health initiative.”
The Italians have been drawn in the same group as Wales, and Gareth Southgate’s men will face another fellow finalist four days later when Denmark head for Wembley.
They will complete their pre-tournament programme with a trip to Vienna to face Austria at the Ernst Happel Stadion on Tuesday, June 2 before a home clash with Romania at a venue still to be confirmed five days later.
England’s campaign gets under way against Croatia on Sunday, June 14 with the winner of the play-off path featuring Scotland, Israel, Norway and Serbia their next opponents on Friday, June 19 and the Czech Republic waiting in the wings for the final Group D fixture on Tuesday, June 23 with all three games taking place at Wembley.


Session Agenda
Presentations
Notes
Hands On
Search
Menu
Presentations
Notes
Hands On
# Monitoring 101  Note: This is a speaker note ---   ---   --- # Collecting data is cheap  ---  # Collecting data is cheap  # **Not having it when you need it is expensive** ---   ---  ![](../../images/monitoring101/workresourceevents-1.png) ---  ![](../../images/monitoring101/workresourceevents-2.png) ---  ![](../../images/monitoring101/workresourceevents-3.png) ---  ![](../../images/monitoring101/workresourceevents-4.png) ---  ![](../../images/monitoring101/workresourceevents-4.png) **Work - Throughput**: The server does something.
How many of those things did it do? ---  ![](../../images/monitoring101/workresourceevents-4.png) **Work - Performance**: The server does something.
How long does it take to do those things? ---  ![](../../images/monitoring101/workresourceevents-4.png) **Work - Success**: The server does something.
How many of those things were done successfully? ---  ![](../../images/monitoring101/workresourceevents-4.png) **Work - Error**: The server does something.
How many of those things were not done successfully? ---  ![](../../images/monitoring101/workresourceevents-4.png) **Resource - Utilization**: The server does something and relies on a resource.
How busy was the resource while the server did its thing? ---  ![](../../images/monitoring101/workresourceevents-4.png) **Resource - Saturation**: The server does something and relies on a resource.
How long is the queue of things waiting for the server? ---  ![](../../images/monitoring101/workresourceevents-4.png) **Resource - Error**: The server does something and relies on a resource.
How many errors is the resource experiencing with regards to the server? ---  ![](../../images/monitoring101/workresourceevents-4.png) **Resource - Availability**: The server does something and relies on a resource.
How long is the resource available for? ---  ![](../../images/monitoring101/workresourceevents-4.png) **Events - Code Changes**: You wrote the server and you updated the source code or configuration files.
 ---  ![](../../images/monitoring101/workresourceevents-4.png) **Events - Alerts**: The server that does something sent out an alert. ---  ![](../../images/monitoring101/workresourceevents-4.png) **Events - Scaling Events**: The server got busy and scaled up or out. ---  ![](../../images/monitoring101/pageandinvestigate.png) ---  ![](../../images/monitoring101/recurse-1.png) ---  ![](../../images/monitoring101/recurse-2.png) ---  ![](../../images/monitoring101/recurse-3.png) ---  ![](../../images/monitoring101/recurse-4.png) --- # Tags All the Way Down ![](../../images/monitoring101/awstags.png)  --- ![](../../images/monitoring101/tagcube.png)  --- # Asking Better Questions ![](../../images/monitoring101/betterq1.png)  --- # Metric Graphs 101 ## Timeseries Graphs ---  # Line Graphs ![](../../images/monitoring101/linegraphs.png) Note: Use Line Graphs for the same metric reported by diff scopes to spot outliers at a glance for tracking single metrics to see evolution over time related metrics with same units to see correlations metrics with clear acceptable domain ---  # Stacked Area Graphs ![](../../images/monitoring101/stackedareagraphs.png) Note: Same metric from different scopes, to check both sum and contribution of each sum complementary metrics sharing the same unit If the metrics can't be added sensibly, don't use this ---  # Bar Graphs ![](../../images/monitoring101/bargraphs.png) Note: use this for sparse metrics to convey values without jumpy or misleading interpolation metrics that represent a count and not a gauge ---  # Heat Maps ![](../../images/monitoring101/heatmap.png) Note: single metrics reported by a large number of groups to see trends and variations across a group But if there are few sources, not so useful --- # Metric Graphs 101 ## Summary Graphs Visualizations that flatten a span ---  # Aggregation Across Time ![](../../images/monitoring101/timeaggregation.png) ---  # Aggregation Across Space ![](../../images/monitoring101/spaceaggregation.png) ---  # Single Value Summary ![](../../images/monitoring101/singlevalue.png) Note: work metrics from a given system to make them more visible critical resource metrics to provide overview at a glance error metrics to draw attention computed metric changes compared to previous value ---  # Top Lists ![](../../images/monitoring101/toplists.png) Note: work or resource metrics from different hosts or groups to spot outliers or overconsumers custom metrics to see kpis in a easy to read format ---  # Change Graphs ![](../../images/monitoring101/changegraphs.png) Note: cyclic metrics that rise and fall seasonally, to separate trends from periodic baselines high level infra metrics to spot large scale trends ---  # Host Maps ![](../../images/monitoring101/hostmaps.png) Note: resource utilization to spot overloaded components at a glance id resource misallocation id degraded hosts correlation in a single graph or related metrics ---  # Distributions ![](../../images/monitoring101/distributions.png) Note: single metric to see general health or variations across members of a group
Back to the Agenda
Notes
|
Hands On Instruction


What exactly is it that a conference committee does? This post comes as response to a comment on A sneak peek at the Percona Live MySQL Conference & Expo 2014, reading:
Why the same committee each year? Community should vote on proposals and committee should just work schedule,etc.
I'll pick the glove and shed some light into the work of the committee. While this specific comment related to the Percona Live conference, I trust that my opinions expressed below apply just as well to any (technical?) professional conference; the point below can equally apply to conferences from Oracle MySQL Connect, O'Reilly Velocity to FOSDEM & PyCon.
I can sum up the entire answer with one word: "Discussion". For a breakdown, please read through.
First, what's not feasible with community-based voting, and what looks very wrong
So why not open up a voting system and let the community do the rating? I always disliked the "send an SMS to this number to vote for X" approach. It is so unbalanced and unreliable: if I were to submit a proposal describing how my company invented/develops/uses X to do great things, I can expect my co-workers to vote for me. In fact, my company would possibly ask my co-workers to do so. I stand a better chance if I work in a large company; less so in a small company.
Anonymous votes tend to be touched by politics. I could vote for my company, against a competing product, for my friends, against people I dislike, and none the wiser. We can take away anonymity, which means my votes will be public, which means they are visible to all. In which case my ranking will be affected by what people I rate would think of me; which means my rating would not be based on strictly professional/technical grounds.
But before we drop into this endless pit, let's consider: will I, as a KMyPyVelocirails community member, really engage in reviewing over 300 submissions? How many members of my community would take so many hours of their time to do so? Let me clarify, this is a part-time job. It requires time, and it requires a mindset. I'm guessing here that you cannot count on everyone rating all talks. Some more prominent talks will be reviewed by more people, others may be left little to not reviewed in the first place.
The idea of a purely community based rating is romantic and beautiful, but not feasible.
 Let's look at some of the things the committee is engaged in to clarify.
Duties, responsibility and actions of a conference committee
The following discussion cannot be an exhaustive description of a committee's work, but it can give a good glimpse into its scope. We begin with the commitment the members take upon themselves: to invest their time and will in the committee's duties. Once you join in, you are expected to work and deliver.
The duties of the reviewing committee extend beyond reviewing the proposals -- though this duty is the most critical of all, as it serves the basis for all others. So let's describe this first.
Reviewing the proposals
Reviewing papers is more than rating them (1-5 stars). We also comment and share our opinion. Members typically explain why they rated the way they did, especially on low rating. Our ratings and comments are visible to other members, and they can react on these. For example, I can disagree with one's comments and counter-comment myself. We can continue this discussion in our mailing list.
We might throw in our experience in attending the same talk in the past. Was it good? Was it bad? Yes, it matters; we want the conference to be successful, and our personal experience is something we bring to the table. We might have some inside knowledge about an emerging technology, or speakers may share with us such knowledge in private section ("By the time this talk is given, this project will have been released as open source").
We may suggest improvements: "Better make this tutorial 3 hours instead of 6", "Should include this topic as well". We might (and sometimes do) approach speakers to refine their submissions if we think they can make for good sessions.
We can express our true professional opinion on proposals. We wouldn't always want to share in public; this private discussion works for the benefit of all - there is no reason to suspect we use fluttery nor insults. We just say what we think within our small group -- and still be prepared for backfire from our peers.
But, wait. By which guidelines do we vote? Before we even start rating, we set the very basic guidelines, such as "what content are we looking for; what's this conference about, what it is not, what are the rules for rating, ...". Can I rate talks submitted by my colleagues? Would that be unfair? But if so, am I allowed to rate our competitors? Wouldn't that be unfair as well? Is there an end to it? We set these rules up front.
Meta
Throughout the reviewing process we collect meta-data about the submitted papers. Do we find content that is missing? Do we have enough "beginner" talks?
Some speakers submit 5-6 talks, in the hope than one or two make it through. But they don't really intend to submit 5 or 6 talks if all happen to get approved. And the committee also prefers a variety of speakers. The committee (or committee chairman) reaches to those speakers to understand better their limitations. We can therefore reject talks based on high submission number per speaker.
We typically very quickly stumble upon the issue of overlapping content. Some topics are proposed again and again by multiple speakers. We take notes and balance the figures. We sometimes reject talks not because the abstracts are bad, but because we have so many other competing talks on same topic.
We may choose to promote an open source product. We may be passionate about this.
When we do reach a conclusion that some content is missing, we may pursue the issue by contacting speakers or potential speakers to submit papers on the subject. We may contact specific companies or speakers that we know would provide good value.
We make backup plans: speakers cancel; some don't get Visas, some fall ill. We make a "Waitlist" of sessions and verify with speakers that they would be able to provide them upon request.
Speakers may have personal limitations, e.g. only being able to attend on this and that days.
Non reviewing tasks
We are further engaged in shaping the general shape of the conference. The organizers consult with us on various topics. I guess this really depends on the nature of the conference.
Conclusion
As you can see from all the above, this is far from just rating all the talks and picking the "top 100 talks". There are a lot of constraints, limitations, contradictions, and issues to go through. This cannot be an automated "community vote" thing. And the moment you put someone at the position of making decision, you're effectively reinventing the committee.
comments powered by Disqus


There's a lot to learn if you're trying to learn how to play or watch
League of Legends. Let's break it down.
Roles:
There are 5 roles in League of Legends. Take a quick look at the map
Summoner's Rift in
League of Legends so you can better understand where each role goes.
"Map of Summoner's Rift" Each
role has strengths and
weaknesses. I will list them below.
Top lane
The top laner the champion that earns its gold and experience by
farming the enemy minions that come marching down the top lane. Top
lane is the most independent role in the game. For the most part,
you're on your own. Top laners usually take the Teleport
summoner spell so they can join a teamfight on the other side of
the map. Typically, top laners choose champions with good sustain
so they can remain in the top lane without having to recall for
extended periods of time.
Strengths:
- Because the top laner is alone in the top lane, they doesn't have
to share any of their gold or experience. This means they can
easily become the highest level champion on the team.
- Top laners usually have pretty linear scaling so they're strong
early, mid, and late game.
Weaknesses:
- The top and bot lanes are long lanes and unlike the bot laner, the
top laner is alone in its long lane. It's dangerous to be alone in
a long lane so top laners are highly susceptible to ganks by the
enemy jungler.
- Top laners can get counter-picked. There are certain champion
matchups that favor one champion in lane. This means the top laner
can be zoned off their minions or risk being
killed in an all in.
- While top laners can safely collect all the experience available
to them, it isn't as easy for them to collect all the gold from the
minions due their lack of ranged waveclear.
Jungle
The jungler is the champion that earns its gold and experience by
clearing the neutral jungle camps that spawn in the jungle between
lanes. The jungler is the brains behind the operation. They have the
most decision making to do. While laners are focused on their lanes,
the jungler is deciding when and where to:
- Clear their jungle camps.
- Counter jungle the enemy jungle camps.
- Gank enemy laners.
- Take objectives such as the Dragon, Rift Herald,
Baron Nashor, or enemy structures.
- Getting vision down to track the enemy jungler.
Strengths:
- Clearing the jungle is safer than laning because jungle camps always
do the same thing and there are no enemy champions nearby.
- The jungler spends most of their time in the enemy's
fog of war. This gives them the element of surprise when they
show up turning a losing 1v1 into a winning 2v1.
- Junglers take the summoner spell Smite which deals a large
amount of true damage to minions or monsters. This makes it so they can
nearly guarantee the last hit on monsters so they aren't stolen by the
enemy team. They can also use smite to steal monsters from the enemy
team in a smite-off.
Weaknesses:
- Junglers take more blame from their teammates than any other role when
things go wrong.
- It's both a blessing and a curse how influential a jungler's decisions
are. Poor decisions can be hugely costly. Failing a gank can
turn a winning lane into a losing lane.
Mid lane
Similarly to the top laner, the mid laner is the champion that earns
its gold and experience by farming the enemy minions that march down
the mid lane. The mid lane is the shortest lane in the game. This
also makes it the safest lane because the mid laner never has to
venture far from the saftey of their tower. Mid laners are
typically powerful champions with good ranged waveclear. They
clear their minion wave and then have time to leave their lane
and return before their tower is in danger.
Strengths:
- Mid laners earn just as much experience as the top laner and as much
gold as the bot laner.
- Because they're in the middle of the map, after pushing their wave, the
mid laner can roam anywhere else on the map.
Weaknesses:
- The enemy mid tower is the hardest tower to take because it is the
heaviestly defended tower.
- The mid laner is a solo laner and as such is vulnerable to
being 1v2'd.
Bot lane
The bot laner is the champion that earns its gold and experience by
farming the enemy minions that come marching down the bot lane. The
bot laner is different than the top and mid laners in that it isn't
alone in the bot lane. The bot lane is a duo lane which is occupied
by both the bot laner and their support. While the bot laner gets
all the gold from farming the minions, it splits the experience
earned by the minions with their support.
Strengths:
- The bot laner has a support that is there to keep them safe while they
last-hit every minion. Because of this, the bot laner should
earn the most gold on the team.
- Bot laners scale with items better than any champion in the game. This
means they become the strongest member of the team come
lategame.
Weaknesses:
- Because bot laners scale so well with items, they're really weak until
they have items. That's why they're the ones with the support. The
support is to cover their earlygame weakness.
- The bot laner shares their minion experience with their support. This
means the bot laner and the support are the lowest leveled champions in
the game and often times the squishiest.
Support
The support is the other champion that earns its gold and experience
in the bot lane, but it doesn't earn gold by killing minions - the
minion gold in the bot lane goes to the bot laner but the experience
from the minions is split between the two. So where does the
support get gold from? Well supports get to start the game with a
special class of starting item from the item shop that is only
viable on supports. This is called a support item and they have
1 of 2 passives that allow them to earn gold:
- Tribute: Damaging spells and attacks against champions or buildings
grant 15 gold. This can occur up to 3 times every 30 seconds.
- Spoils of War: While nearby an ally, basic attacks execute minions
below 50% of their max Health (30% for ranged) and grants them kill
gold. (These effects recharge every 45 seconds. Max 3 charges.)
The support's purpose is to keep their bot laner safe throughout the early
game. They're also tasked with vision control along with the jungler.
They're always expected to have wards on hand.
Strengths:
- Freedom. The support doesn't have to last hit minions so they can put
their focus on other things. So long as their bot laner is safe, they
can focus on damaging enemy champions, getting vision down, roam mid
lane, or group up with their jungler to make a play.
- The support can be a playmaker. Supports are usually champions that
don't need items to be effective. Their kits bring utility or crowd
control to their team.
Weaknesses:
- The support is the poorest champion in the game. There aren't any
minions or jungle monsters for them to last hit.
- The support is the lowest leveled champion in the game. They share
experience with their bot laner, but they often times miss experience
when they leave the lane.