{% extends "web/base.html" %} {% block title %}Creating your first site on NB{% endblock %} {% block style %} ul.errorlist{ color: #ff0000; font-weight: bold; list-style: none; } {% endblock %} {% block content %}
Welcome to NB ! With this form, you can create your user profile and the site for your first class.
Important This form is for new NB users only. If you already have an account on NB, please use your NB Admin Console instead, in order to create your site.
IMPORTANT By using this form, you certify that you've read and approved the NB Terms and Conditions.
{% endblock %}


/
T
Some Title
12345
to
67890
(X)
(Get Children)
E
Some Title
12345
A
Thingy
+(Expand Description)
-(Collapse)
TBD


Public Member Functions | |
| void | begin (Ogre::Real lineThickness=1.0f, const Ogre::ColourValue &colour=Ogre::ColourValue::White) |
| void | begin (Ogre::Real lineThickness, Gorilla::Colours::Colour colour) |
| void | position (Ogre::Real x, Ogre::Real y) |
| void | position (const Ogre::Vector2 &) |
| void | end (bool isClosed=false) |
| void | _redraw () |
Protected Member Functions | |
| LineList (Layer *parent) | |
Protected Attributes | |
| Layer * | mLayer |
| Ogre::Real | mThickness |
| Ogre::ColourValue | mColour |
| bool | mIsClosed |
| buffer< Ogre::Vector2 > | mPositions |
| bool | mDirty |
| buffer< Vertex > | mVertices |
Friends | |
| class | Layer |
Definition at line 2257 of file Gorilla.h.
| void Gorilla::LineList::_redraw | ( | ) |
function. _redraw desc. Redraw the line list note. This should not be needed to be called by the user.
Definition at line 1700 of file Gorilla.cpp.
| void Gorilla::LineList::begin | ( | Ogre::Real | lineThickness, | |
| Gorilla::Colours::Colour | colour | |||
| ) | [inline] |
| void Gorilla::LineList::begin | ( | Ogre::Real | lineThickness = 1.0f , |
|
| const Ogre::ColourValue & | colour = Ogre::ColourValue::White | |||
| ) |
function. begin desc. Clear lines and start again
Definition at line 1676 of file Gorilla.cpp.
| void Gorilla::LineList::end | ( | bool | isClosed = false |
) |
function. end desc. Stop line drawing and calculate vertices. note. If "isClosed" is set to true, then the line list joins back to the first position.
Definition at line 1694 of file Gorilla.cpp.
| void Gorilla::LineList::position | ( | const Ogre::Vector2 & | position | ) |
function. position desc. Extent the list to given coordinates.
Definition at line 1689 of file Gorilla.cpp.
| void Gorilla::LineList::position | ( | Ogre::Real | x, | |
| Ogre::Real | y | |||
| ) |
function. position desc. Extent the list to x and y.
Definition at line 1684 of file Gorilla.cpp.


The demo shown in this tutorial can be obtained by running pyGPs/Demo/demo_GPC.py.
First, we import the data:
# GPC target class are +1 and -1
demoData = np.load('data_for_demo/classification_data.npz')
x = demoData['x'] # training data
y = demoData['y'] # training target
z = demoData['xstar'] # test data
The data points were generated from two Gaussians with different means and covariances. One Gaussian is isotropic and contains of the data (blue), the other is highly correlated and contains of the points (red). Note, that the labels for the targets are specified to be (and not ).
In the plot, we superimpose the data points with the posterior equi-probability contour lines for the probability of the second class given complete information about the generating mechanism.
Again, lets see the simplest use of gp classification at first
model = pyGPs.gp.GPC() # binary classification (default inference method: EP)
model.getPosterior(x, y) # fit default model (mean zero & rbf kernel) with data
model.optimize(x, y) # optimize hyperparamters (default optimizer: single run minimize)
model.predict(z) # predict test cases
Note, that inference is done via expectation propagation (EP) approximation by deault. How to set inference to Laplace approximation, see A bit more things you can do.
So we first state the model to be classification now:
model = pyGPs.GPC()
The rest is similar to GPR:
k = pyGPs.cov.RBFard(log_ell_list=[0.05,0.17], log_sigma=1.)
model.setPrior(kernel=k)
model.setData(x, y)
model.plotData_2d(x1,x2,t1,t2,p1,p2)
model.getPosterior()
model.optimize()
model.predict(z, ys=np.ones((z.shape[0],1)))
[Theory] In this example, we used an RBF kernel (squared exponential covariance function) with automatic relevance determination (ARD). This covariance function has one characteristic length-scale parameter for each dimension of the input space (here in total), and a signal magnitude parameter, resulting in a total of hyperparameters. ARD with separate length-scales for each input dimension is a very powerful tool to learn which inputs are important for the predictions: if length-scales are short, input dimensions are very important, and when they grow very large (compared to the spread of the data), the corresponding input dimensions will be mostly ignored.
Note, pyGPs.GPC().plot() is a toy method for 2-d data:
model.plot(x1,x2,t1,t2)
The contour plot for the predictive distribution is shown below. Note, that the predictive probability is fairly close to the probabilities of the generating process in regions of high data density. Note also, that as you move away from the data, the probability approaches , the overall class probability.
Examining the two ARD characteristic length-scale parameters after learning, you will find that they are fairly similar, reflecting the fact that for this data set, both input dimensions are important.
GPC uses expectation propagation (EP) inference and Error function likelihood by default, you can explictly change to other methods:
model.useInference("Laplace")


lcd_hd44780_8
LCD library for HD44780 compatible LCDs, with 8 bits wide datatransfer
|
Author
|
Rob Hamerling, Copyright © 2008..2009, all rights reserved.
|
|
Adapted-by
|
Eur van Andel, Joep Suijs (refactoring),Richard Zengerink (lcd_init)
|
|
Compiler
|
2.4p
|
Description
Port interface for HD44780 compatible alphanumeric LCD screens.
Uses 8 bits wide datapath + 2 handshake lines (total 10 PIC pins).
Expects: 2 pins for handshake: 'lcd_rs' and 'lcd_en'
and:
1 complete port for data: 'lcd_dataport'
or
2 nibbles for data: 'lcd_dataport_low' and 'lcd_dataport_high'
or
8 individual pins for data: lcd_dataline_d0 .. _d7
.
note: a complete ports gives faster and more compact code then
two port 'nibble'' (the lower or higher 4 bits of a port)
which is on its turn faster than 8 individual pins.
.
Directions for use of this library in application programs
(in this sequence):
1. Declare the following constants:
const byte LCD_ROWS = 2 -- 1, 2 or 4 lines
const byte LCD_CHARS = 16 -- 8, 16 or 20 chars per line
and aliases for handshake lines:
alias lcd_rs is pin_D2 -- cmd/data select
alias lcd_en is pin_D3 -- trigger
and aliases for 8 data lines:
alias lcd_dataport is portF -- 8 databits
or
alias lcd_dataport_low is portD_high -- 4 low order databits
alias lcd_dataport_high is portC_high -- 4 high order databits
or
alias lcd_d0 is pin_D0 -- lcd databit d0
alias lcd_d1 is pin_D1 -- lcd databit d1
alias lcd_d2 is pin_C6 -- lcd databit d2
alias lcd_d3 is pin_C7 -- lcd databit d3
alias lcd_d4 is pin_B0 -- lcd databit d4
alias lcd_d5 is pin_B1 -- lcd databit d5
alias lcd_d6 is pin_C0 -- lcd databit d6
alias lcd_d7 is pin_C2 -- lcd databit d7
.
2. Set the chosen LCD handshake pins to output:
pin_D2_direction = output
pin_D3_direction = output
and the data port to output:
portF_direction = ALL_OUTPUT
or 2 data port nibbles to output:
portD_high_direction = ALL_OUTPUT
portC_high_direction = ALL_OUTPUT
or 8 individual data pins to outout:
pin_D0_direction = output
pin_D1_direction = output
pin_C6_direction = output
pin_C7_direction = output
pin_B0_direction = output
pin_B1_direction = output
pin_C0_direction = output
pin_C2_direction = output
.
3. Include this library.
.
4. Call lcd_init() to initialize the lcd controller.
.
Above is an example for a 2x16 LCD.
.
See hd_44780_common for the LCD API.
Dependencies
Private
Private
Here are the list of samples which use this library:


| Class | Description |
|---|---|
| ARIA | |
| ArrayUtils |
Utility class for managing arrays
|
| Attribute |
classed used for pass through attribute support on mobility components.
|
| CollectionUtils | |
| ComponentUtils | |
| Constants | |
| DeferredLocaleFacesMessage |
FacesMessage objects created by the FileEntry can exist before there is a
UIViewRoot, and so before there is a Locale.
|
| HTML |
Constant declarations for HTML rendering.
|
| IceOutputResource | |
| JSONBuilder |
Utility API that builds the parameter strings, performs param escaping.
|
| MediaPlayerUtils | |
| MessageUtils |
This class has been designed, so the components can get FacesMessages
either from their own ResourceBundle or an application's ResourceBundle.
|
| PassThruAttributeWriter |
This class is copied over from compat and modified for mobility components
pass thru attributes.
|
| ScriptWriter |
A utility class used to easily insert a script element into the markup.
|
| Utils | |
| XMLChar |
This class defines the basic XML character properties.
|
Copyright 2014 ICEsoft Technologies Canada Corp., All Rights Reserved.


@(profileForm:Form[_])
@import controllers.security.Account
@import services.authentication.AuthenticationService
@import helper._
@import helper.twitterBootstrap._
Edit your profile
@* Display proprietary login form *@
@helper.form(controllers.security.routes.Account.doManageProfile) {
@if(profileForm.hasGlobalErrors) {
@(profileForm.globalError.message)
}
@defining(profileForm("id")) { uidField =>
}
@inputText(
profileForm("email"),
'_showConstraints -> true,
'_label -> "Email",
'class -> "form-control"
)
@inputPassword(
profileForm("password"),
'_showConstraints -> true,
'_label -> "Password",
'class -> "form-control"
)
@inputPassword(
profileForm("repeatPassword"),
'_showConstraints -> true,
'_label -> "Repeat Password",
'class -> "form-control"
)
@inputText(
profileForm("firstName"),
'_label -> "First name",
'class -> "form-control"
)
@inputText(
profileForm("lastName"),
'_label -> "Last name",
'class -> "form-control"
)
@inputRadioGroup(
profileForm("gender"),
options = options("male"->"Male", "female"->"Female", "other"->"Other"),
'_label -> "Gender",
'_id -> "gender",
'class -> "form-control"
)
@inputText(
profileForm("currentCity"),
'_label -> "Current City",
'class -> "form-control"
)
@inputText(
profileForm("hometown"),
'_label -> "Hometown",
'class -> "form-control"
)
@select(
profileForm("educationalLevel"),
options = options(scala.List(
"Some high school",
"High school graduate",
"Some college",
"Associate's and/or Bachelor's degree",
"Bachelor's degree",
"Master's and/or Doctorate and/or professional degree",
"Doctorate and/or professional degree",
"Doctorate"
)),
'_label -> "Educational Level",
'class -> "form-control"
)
@select(
profileForm("educationalField"),
options = options(scala.List(
"None",
"Humanities",
"Social sciences",
"Natural sciences",
"Formal sciences",
"Professional"
)),
'_label -> "Educational Field",
'class -> "form-control"
)
@select(
profileForm("employmentField"),
options = options(scala.List(
"Accounting / Finance",
"Advertising",
"Anthropology / Archaeology ",
"Architect",
"Arts and Entertainment ",
"Broadcast",
"Business",
"Call Center",
"Communications",
"Construction",
"Dance",
"Education",
"Environmental",
"Executive",
"Film, Television, Theatre ",
"Funeral",
"Government",
"Graphic Design",
"Green / Careers ",
"Health Care",
"Hospitality",
"Human Resources",
"Insurance",
"Internet",
"Janitorial",
"Legal",
"Library",
"Military",
"Museum",
"Music",
"Nanny",
"Non Profit",
"Outdoor",
"Real Estate",
"Religious and Ministry",
"Retail / Fashion",
"Retirement",
"Sales / Marketing",
"Science ",
"Skilled Trades ",
"Sports",
"Technology",
"Travel / Transportation ",
"Union",
"Veterans",
"Volunteer Opportunities ",
"Web Design",
"Winery",
"Zoo"
)),
'_label -> "Employment Field",
'class -> "form-control"
)
@textarea(
profileForm("bio"),
'_label -> "Bio",
'class -> "form-control"
)
@textarea(
profileForm("interests"),
'_label -> "Interests",
'class -> "form-control"
)
}


You'll be glad to know UrbanWatch tracks you in no way whatsoever! However, it does reach out to api.urbandictionary.com, which may log ur IP Address among other information. The usage of your data by the site is subject to the Urban Dictionary Privacy Policy, which can be found here: https://about.urbandictionary.com/privacy


| ML Data Source | id | Sample Name | {{ at.typename }} | |
|---|---|---|---|---|
| {{sb.sampleData[id].ml_data_source | formatMissing}} | {{id}} | {{sb.sampleData[id].name | formatMissing}} | {{ sb.sampleData[id].getAnnotation(at.typename) | formatMissing }} |
The samples below are missing activity data, either because raw data are unavailable or because they have been omitted from the ADAGE compendium for another reason. Because data are not available, these samples cannot be included in further analysis.
| ML Data Source | id | Sample Name | {{ at.typename }} | |
|---|---|---|---|---|
| {{sb.sampleData[id].ml_data_source | formatMissing}} | {{id}} | {{sb.sampleData[id].name | formatMissing}} | {{ sb.sampleData[id].getAnnotation(at.typename) | formatMissing }} |
Note: scroll to the right to see all signatures in the heatmap. Zooming feature to come in a future update.


This page demonstrates the "fixed" toolbar mode.
To enable this toolbar feature type, you apply the data-position="fixed"
attribute to both the header and footer div
elements.
This page demonstrates the "fixed" toolbar mode.
To enable this toolbar feature type, you apply the data-position="fixed"
attribute to both the header and footer div
elements.


item 1
item 2
item 3
item 4
This is paragraph 1
This is paragraph 2
This is paragraph 3
This is paragraph 4


---
title: Recent Noonday Tune contributions
comments: true
tags:
- Music
blogger_orig_url: http://stickmanscorral.blogspot.com/2013/05/recent-noonday-tune-contributions.html
---
"Junk Bond Trader" — Elliott Smith
"Love Spreads" — The Stone Roses
(Worth clicking through for the descriptions alone!)


{% include topbar.html %}
{{page.title}}
{{content}}
Join us!
Are you a Research Software Engineer?
People who combine expertise with software and an intricate understanding of research…
What can I do to help?
You can help by joining us, by raising awareness of research software engineering…
Why does it matter?
If the UK is to continue to be a major research leader, effort and resources must be invested…
Our Objectives
We will create a community for the UK’s Research Software Engineers…
Supporters
Who’s helping the community…
{% include footer.html %} {% include analytics.html %}


Dive
Commerce
BliBli
Rakuten
Tokopedia
Lazada
Post Analysis
Post that Related to User Engangement
BliBli
Rakuten
Tokopedia
Lazada
Like Number
Comment Number
Share Number
User Activity


now for experience, increasing level by .
You gain experience by enchanting, one point per arcana spent.
You will LOSE ALL CRYSTALS AND UPGRADES when you ascend.
| Level | Available Talent Points | Next Level At | Next Discovery |
|---|---|---|---|
| / | Arcana ( more) | None at Level |
(requires immediate ascent)
| Name | Level | Bonus | Description |
|---|---|---|---|
| / | Unlocks the stat. Unlocks/Boosts the stat. Adds 3 inventory slots. |


By Strike Debt Carbondale
Reposted from Midwest Campus Crisis
We held a Debtors’ Assembly on April 10 outside of the Student Center on Southern Illinois University campus. Inspired by Strike Debt, an offshoot of Occupy Wall Street, our only plan for the assembly was to come with some personal stories about how debt affects our lives and our visions for the future, and to invite others to share their own thoughts on these topics.
Speaking at the assembly, one organizer confessed that during the planning, he found himself at a loss as to what kind of “personal story” to share at the assembly.
So he called his mother.
Mom taught literature at a junior high school in rural Illinois for more than twenty years. She also raised two kids, with some financial help from grandma, a little from dad, and a lot from loans.
Stress, mom said, is inseparable from debt. It weighs you down; you feel it in your neck and back. Debt impresses itself onto our lives and our bodies through stress. This is one of the ways debt limits and controls our actions, thoughts, and desires. It changes us; we are less alive because of it.
The assembly against debt sparked recognition of that disciplinary function. We are wrapped in promises that are impossible to keep, owing our futures to banks whose power we abhor. The choice seems stark. Either we live out our lives as indentured servants, or we challenge the very principles that undergird this capitalist creditocracy.
“For me, what I like about this sort of collection—this collection of people that are also indebted—is that I can begin a transformation with myself and along with others to receive my debt as not a personal source of shame or guilt or embarrassment, but as a source of a sort of collective outrage,” said Philip Brewer, a graduate student studying philosophy. “I think that’s a really important emotion. That we need to be outraged at the creditor class that has fundamentally indentured thousands, millions of students. Our future has been erased.”
The university, an increasingly financialized capitalist institution, demands exorbitant tuition dollars from students while it sucks surplus value out of its workers. On average, graduate student workers at SIU pay more than two months of their salaries back to the university in fees. This means that even with a stipend, grad students often have to take out loans, promising to work in the future as a condition of going to work today.
Mitchel Morden, who helped coordinate the assembly, said he isn’t as directly afflicted by debt because he “sold his soul to Uncle Sam,” serving in the military, which paid him. But, Morden said, he understands the importance of consciousness-raising and solidarity in the face of such a sweeping “systemic problem.”
The aim of the assembly was to create a space in which students could concretely understand the systemic problem of debt through sharing and listening, while at the same time creating a disruption in campus life: a moment when school is interrupted so some real learning might begin. Toward the end of our assembly, spirits were so high that we decided to do it again next week, and to bring more of our friends. Our hope is that a regular, public assembly held outdoors will seduce the shy and become a body out of which new relationships are formed across ages, disciplines and employments.
We think the time is ripe for a new round of student struggles, and the issue of debt needs to be front and center. The debt assembly is one tactic that we hope will contribute to a movement of students and teachers looking to one another, and taking both their lives and the university back from a class of creditors, administrators, and corporate investors whose capitalist logic has erased the very idea of education and foreclosed on our future.


Ebola on Ethereum
The ebola genome on the Ethereum blockchain served up from a smart contract.
Smart Contract Ethereum Address: 0xe16f391e860420e65c659111c9e1601c0f8e2818
Check out the Github Repo for all the code. Or read the Medium Article about the the why and how it was created.
The contract has a few functions you can use each will produce a response. The genome file is hosted on Swarm, Ethereum's decentralized file storage. A bit.ly link will redirect you to the full Swarm URL (it's kind of long).
Interacting with the Smart Contract:
IMPORTANT: Sending Ether or tokens to this contract is a bad idea. You will not get these funds back, and there is no method to retrieve them if you do so. If you want to tip, use the tipping address (0x0).
Functions that can be used with Web3.js and Node.js or Geth and their resulting responses from the smart contract.
Callable Functions:
"getEbola()"
Returns a bit.ly URL that will redirect to the smart contract
"getInfo()"
Returns two strings. "0" Is a hello message from the creator in Esperanto. "1" Is some basic info on the ebola virus genome the contract contains a link to; sourced from here.
"tipCreator()"
Returns a text string and an Ethereum address. "0" Is a message from the creator in English. "1" Is the address you can send a tip to if you're feeling generous and or amused.
"kill()"
Returns a text string. While you can try to execute this function with a transaction, it will not do anything as only the creator can kill the contract. If you create a transaction calling this function and you are not the creator, the transaction will still process, but the contact will live on... You'd be wasting your Ether and time.


Application Login
User name:
Password:
Login
Create an account
Lookup User Name
Forgotten password
Reset forgotten password with emailed code


CIS 411 Homework 03
Home
Page 2
Contact Us
Comment Form
Name:
Email address:
Message:
Submit
Site by Michael Moser.


Meaningful Mentoring Moments 🎓
Resources & Python Tips from Trey Hunner
Hone your Python skills
I help developers level-up their Python skills with hands-on
If you'd like to deepen your Python skills, sign up for my newsletter. 💌
I share my favorite Python tips and insights every Wednesday. 📅
Coaching Resources
Resources on human connection, emotional intelligence, and coaching-related abilities
📺 “Emotional Intelligence for Engineers” by April WenselTips on improving your workplace communication
📺 “Why Generosity Turns To Rage, And What To Do About It” by A. Jesse Jiryu DavisMusings and advice on keeping your cool while attempting to be helpful
📺 “You're an expert. Here's how to teach like one” by Shannon V TurnerHelpful for coaches, conference speakers, tutorial presenters, and teachers in general
📺 “Those Who Care, Teach!” by Kenneth LoveTips for folks teaching in a group setting
📺 “The power of vulnerability” by Brené BrownThe willingness to be vulnerable is powerful, both for you and for those around you
📑 “User's Manual” from the Recurse CenterA set of guidelines with helpful advice applicable to coaching and related settings
Teaching/Pedagogy Resources
Resources that have helped me improve my teaching and coaching practices
📖 “Make it Stick: The Science of Successful Learning” by Peter C. Brown, et al.Practical advice drawn from cognitive science and learning/teaching theories
📖 “Peak: Secrets from the New Science of Expertise” by K. Anders Ericsson, Robert PoolIncludes tips on using "deliberate practice" for more effective learning
📖 “A Mind for Numbers” by Barbara OakleyTargeted at learners: includes skills to encourage your learners to internalize
📺 “The power of believing that you can improve” by Carol DweckCarol Dweck started the initial research on the "growth mindset" phenomenon
Code Review Resources
Resources on how to perform helpful and effective code reviews
📺 “Code Review Skills for Pythonistas” by Nina ZakharenkoPrimarily about submitting code, but the last 10 minutes focus on reviewing code
📺 “Code Reviews Using Art Critique Principles” by Stacy MorseAn analogy between art critiques and effective code reviews
📺 “Code Review, Forwards and Back” by Sumana Harihareswara, Jason OwenShort theatrical plays of different code review scenarios to reflect on
The slides
Just want to see the slides for this talk?
Here they are 👇


{% comment %} When this file is included, it *must* be sent a `start` and `end` value. This determines which rules are rendered. Both the `start` and `end` values are inclusive. {% endcomment -%}


I discovered my love for coding als i was 17 and didn't stopped since. Studied Computer Science back in my country for three years. Came to Berlin just to start again. Always looking for a challenge to do.
Loving to develop Webs with HTML, CSS, JavaScript.
Start learning JQuery to make my life easier. Doing and learning all the path to be a Full Stack Web Developer.


Resist! game was created using Node.js, Web sockets (socket.io) and HTML5 Canvas. It was a small experiment for me to test how those technologies could be used to create a small 2D RPG-like game.
Many thanks to the creators of the assets used in the game.
The source code of this project can be found on GitHub
I hope you like it !


class ConnectStage : StageBase
Stage with [ServersGroup] and [RoomsGroup]
It allows connecting/disconnecting to/from servers and joining/leaving rooms.
| <init> |
ConnectStage(game: GameCore)
Stage with [ServersGroup] and [RoomsGroup] |
| assets |
val assets: Assets |
| messages |
val messages: SerializedSubject<Any, Any> |
| state |
val state: State |
| style |
val style: Styles |
| subscription |
val subscription: CompositeSubscription |
| dispose |
fun dispose(): Unit |
| hide |
open fun hide(): Unit |
| show |
open fun show(): Unit |
| plusAssign |
operator fun Stage.plusAssign(actor: Actor): Unit
Adds an actor to the stage |


Recover Password
Enter the recovery code sent to your registered email
visibility
visibility
Save Password
Resend Code
© CreateBase 2021


Your Connections
-
provider name
You are connected to provider name as user display name. You are not yet connected to provider name. Click here to manage your provider name connection.
You are connected to provider name as user display name. You are not yet connected to provider name. Click here to manage your provider name connection.


Media Set¶
If media variables are present in any of the columns of the input data table, a Media Set button will appear to the right of the Point Color button. Media files are broadly defined. We currently support viewing various image formats, videos, and STLs (geometry files for a 3D printer). Each media variable in the input data table consists of a column with a shared file type, though blank entries are permitted within a column (i.e. not all ensemble members are required to have an image or video for media viewing to be used). Typically, the files in a column share a common theme, such as images showing the final state of a simulation, or an event-triggered animation, or the geometry of a specific part at a specific time. In all cases, a media file is described by a URI that provides a full path to a source file. Each URI must have the format: file://machine_name/absolute_directory_path/filename.ext.
Initially, media retrieval is disabled because the Media Set selection is set to None. Once a media variable has been selected, hovering over a scatterplot point will retrieve that point’s remote media file as defined by the URI. For the first remote access, authentication will be required. Hovering provides a convenient means for rapidly examining and comparing outputs generated by in situ visualization codes, such as Catalyst and SpyPlot. Viewers can be repositioned within the scatterplot by dragging. Each viewer is connected to its associated point in the scatterplot by a line, one end of which always tracks the viewer position (see Figure 38). For videos and STLs, the viewers include interaction controls (e.g. play buttons, or rotation axis selectors).
As with Point Color, there are two mechanisms for selecting which Media Set variable to display. Either select a variable in the Media Set dropdown list, or click on the small square to the right of the variable name in the Variable Table column header. The two mechanisms are linked, so regardless of which one is used, the selection is shown in both. As seen in Figure 38, the selected variable name (Image1) is highlighted in the dropdown, and the square to the right of the variable name is darkened in the column header. Once the selection is changed, hover will reference the new column’s URIs when retrieving remote files, but currently visible images will not be affected. This allows you to compare different media variables from one or more simulations. Selecting None (the first choice in the dropdown list) disables the hover response.
The viewer in Figure 39 shows the set of standard viewer icons in the strip across the bottom of the image. From left to right, each viewer has a close icon , a download icon , an index row icon , a pinning icon , and a resize icon . Viewers remain visible while the mouse remains within the viewer boundaries. Either clicking on the icon, resizing, playing a movie, or moving the viewer acts to pin the viewer in the scatterplot. A pinned viewer remains visible until your explicitly close it, either by clicking its icon, or by simultaneously closing all pinned views using the Close All Pins button. To simultaneously retrieve and pin media for a group of points, first select the points, then select pin in the Selection Action dropdown list. Using the icon within a viewer both pins and shrinks it to a standard thumbnail size. For arbitrary viewer sizing, press and hold the left mouse button on the icon while dragging the corner. To download a copy of the media object to your local machine, click the icon.
Note that Slycat™ video functionality is not available for all movie formats. In fact, due to technical issues related to our web-based delivery, videos must be created in a very specific way to be viewable in Slycat™.
Video Source Files¶
There is no standardized support for videos between browsers. We have found that the h264 codec in combination with an mp4 container format is compatible with Firefox, Chrome, and Safari on both Windows and Mac platforms. In our testing, we have found that initial key frames are frequently lost, rendering the following compressed frames useless. This requires explicit key frame forcing during movie creation. We use the ffmpeg utility to convert images into videos. Make sure that your version of ffmpeg was built with the h264 library, since some versions of ffmpeg don’t include this codec by default.
If you are within Sandia, we provide this custom version of the library on the cluster machines. You can generate Slycat™ compatible movies as follows:
> module load slycat
If your images are PNGs, they must be first converted to JPG format (ffmpeg won’t complain about the input images being PNG, but the movie that it generates won’t play). If you already have JPG images, skip this step:
> mogrify -format jpg myImageName.0*
This last step generates the mp4. Don’t forget to enclose the image path in single quotes:
> ffmpeg -pattern_type glob -i '/someDisk/someUser/someDirectoryPath/myImageName.0*.jpg' -force_key_frames 0.0,0.04,0.08 myMovieName.mp4


Dashboard
Submit Activities
Bonuses
Logout
Dashboard
Submit Activities
Bonuses
Logout
Report Generation
1. Select Driver's Name
2. Select Period