|
target
:
The element that will be dragged.
|
|
opt_handle
: Element=
An optional handle to control the drag, if null the target is used.
|
|
opt_limits
: goog.math.Rect=
Object containing left, top, width, and height.
|
|
calculatePosition_(dx, dy)
⇒
Calculates the drag position.
Returns:
The newly calculated drag element position.
|
code » | |||||
|
defaultAction(x, y)
Overridable function for handling the default action of the drag behaviour.
Normally this is simply moving the element to x,y though in some cases it
might be used to resize the layer. This is basically a shortcut to
implementing a default ondrag event handler.
|
code » | |||||
|
disposeInternal()
No description.
|
code » | |||||
|
doDrag(e, x, y, dragFromScroll)
No description.
Arguments:
|
code » | |||||
|
endDrag(e, opt_dragCanceled)
Event handler that is used to end the drag
Arguments:
|
code » | |||||
|
endDragCancel(e)
Event handler that is used to end the drag by cancelling it.
Arguments:
|
code » | |||||
|
getEnabled()
⇒
No description.
Returns:
Whether the dragger is enabled.
|
code » | |||||
|
getHandler()
⇒
Returns the event handler, intended for subclass use.
Returns:
The event handler.
|
code » | |||||
|
getHysteresis()
⇒
Gets the distance the user has to drag the element before a drag operation is
started.
Returns:
distance The number of pixels after which a mousedown and move is considered a drag.
|
code » | |||||
|
initializeDrag_(e)
Event handler that is used to start the drag
Arguments:
|
code » | |||||
|
limitX(x)
⇒
Returns the 'real' x after limits are applied (allows for some
limits to be undefined).
|
code » | |||||
|
limitY(y)
⇒
Returns the 'real' y after limits are applied (allows for some
limits to be undefined).
|
code » | |||||
|
mouseMoved_(e)
Event handler that is used on mouse move to update the drag
Arguments:
|
code » | |||||
|
onScroll_(e)
Event handler for scroll target scrolling.
Arguments:
|
code » | |||||
|
setCancelIeDragStart(cancelIeDragStart)
Enables cancelling of built-in IE drag events.
Arguments:
|
code » | |||||
|
setEnabled(enabled)
Set whether dragger is enabled
Arguments:
|
code » | |||||
|
setHysteresis(distance)
Sets the distance the user has to drag the element before a drag operation is
started.
Arguments:
|
code » | |||||
|
setLimits(limits)
Sets (or reset) the Drag limits after a Dragger is created.
Arguments:
|
code » | |||||
|
setScrollTarget(scrollTarget)
Sets the SCROLL event target to make drag element follow scrolling.
Arguments:
|
code » | |||||
|
setupDragHandlers()
Sets up event handlers when dragging starts.
|
code » | |||||
|
startDrag(e)
Event handler that is used to start the drag
Arguments:
|
code » |
|
addEventListener(type, handler, opt_capture, opt_handlerScope)
Adds an event listener to the event target. The same handler can only be
added once per the type. Even if you add the same handler multiple times
using the same type then it will only be called once when the event is
dispatched.
Supported for legacy but use goog.events.listen(src, type, handler) instead.
Arguments:
|
code » | |||||
|
dispatchEvent(e)
⇒
Dispatches an event (or event like object) and calls all listeners
listening for events of this type. The type of the event is decided by the
type property on the event object.
If any of the listeners returns false OR calls preventDefault then this
function will return false. If one of the capture listeners calls
stopPropagation, then the bubble listeners won't fire.
Arguments:
Returns:
If anyone called preventDefault on the event object (or if any of the handlers returns false this will also return false.
|
code » | |||||
|
disposeInternal()
Unattach listeners from this object. Classes that extend EventTarget may
need to override this method in order to remove references to DOM Elements
and additional listeners, it should be something like this:
MyClass.prototype.disposeInternal = function() { MyClass.superClass_.disposeInternal.call(this); // Dispose logic for MyClass }; |
code » | |||||
|
getParentEventTarget()
⇒
Returns the parent of this event target to use for bubbling.
Returns:
The parent EventTarget or null if there is no parent.
|
code » | |||||
|
removeEventListener(type, handler, opt_capture, opt_handlerScope)
Removes an event listener from the event target. The handler must be the
same object as the one added. If the handler has not been added then
nothing is done.
Arguments:
|
code » | |||||
|
setParentEventTarget(parent)
Sets the parent of this event target to use for bubbling.
Arguments:
|
code » |
|
dispose()
No description.
|
code » | |
|
disposeInternal()
Deletes or nulls out any references to COM objects, DOM nodes, or other
disposable objects. Classes that extend
goog.Disposable should
override this method. For example:
mypackage.MyClass = function() { goog.Disposable.call(this); // Constructor logic specific to MyClass. ... }; goog.inherits(mypackage.MyClass, goog.Disposable); mypackage.MyClass.prototype.disposeInternal = function() { mypackage.MyClass.superClass_.disposeInternal.call(this); // Dispose logic specific to MyClass. ... }; |
code » | |
|
getDisposed()
⇒
No description.
Returns:
Whether the object has been disposed of.
|
code » | |
|
isDisposed()
⇒
No description.
Returns:
Whether the object has been disposed of.
|
code » |
|
deltaX
:
Current x position of drag relative to target's parent.
|
Code » | |
|
deltaY
:
Current y position of drag relative to target's parent.
|
Code » | |
|
dragging_
:
Whether object is currently being dragged.
|
Code » | |
|
enabled_
:
Whether dragging is currently enabled.
|
Code » | |
|
hysteresisDistanceSquared_
:
The amount of distance, in pixels, after which a mousedown is considered a
drag.
|
Code » | |
|
ieDragStartCancellingOn_
:
Whether IE drag events cancelling is on.
|
Code » | |
|
mouseDownTime_
:
Tiemstamp of when the mouse down occurred.
|
Code » | |
|
screenX
:
Current x position of mouse relative to screen.
|
Code » | |
|
screenY
:
Current y position of mouse relative to screen.
|
Code » | |
|
startX
:
The x position where the first mousedown occurred.
|
Code » | |
|
startY
:
The y position where the first mousedown occurred.
|
Code » |
|
goog.fx.Dragger.cancelIeDragStart(e)
Event handler used to cancel IE's 'ondragstart' event.
Arguments:
|
code » |


|
||||||||||
| PREV LETTER NEXT LETTER | FRAMES NO FRAMES |
setupScenario
method
and instantiates all involved entities, taking into account the nature (static or dynamic) of the scenario
and, when applicable, the demographic data provided.
setupScenario
method
that programmatically builds all entities involved in the scenario "described" in the input file "SimpleDynamicScenario.txt".
setupScenario
method
that programmatically builds all entities involved in the scenario "described" in the input file "SimpleStaticScenario.txt".
setupScenario
method
that parses the information required to setup a scenario from a properly formatted input file.
|
||||||||||
| PREV LETTER NEXT LETTER | FRAMES NO FRAMES |


Hi! I'm Allison, and I love good design and big ideas. With degrees in both art and advertising, I know the importance of great design as well as a great strategy to achieve my clients' goals. Everything I make either has a well-thought-out strategy behind it or has a unique feature to make it special.
I currently work full-time as a multimedia design specialist for University of Nebraska–Lincoln
EdMedia. Day-to-day work at EdMedia is a similar feel to working at a fast-paced digital/ad agency, where we mostly serve clients within
UNL and
IANR. I also enjoy working on freelance and personal side projects. I'd love to help with your design needs – drop me an email at
<EMAIL_ADDRESS>and we'll chat!
When I'm not at work, you'll find me relaxing at Woodcliff Lake, playing some pickup soccer, rehearsing with the Lincoln Community Concert Band, or just chillin' with
Paul and
Stevie.


!
Ghanaian Akan Names
Akan names in Ghana are based on
gender
day of the week one was born
Select your gender and key in your date of birth, submit the information for your Akan name
Birthday
Gender
[choose yours]
F
M
Submit


For course descriptions and pre-requisite information click on the subject column next to the appropriate catalog number.
THIS DEPARTMENT ENFORCES UNDERGRADUATE PREREQUISITES. Please note that the registration system may not factor in transfer work when determining if prerequisites have been met. If you are unable to register for a course and think you have met the prerequisite(s), please contact an advisor from this department to inquire about obtaining a permission code. You may be administratively dropped from a course if the prerequisite has not been met.
- Schedule Builder
- Student Handbook (dates, deadlines, and policy information)
- General Catalog Information
- Academic Calendar
- Textbook Requirements
- Spring 2019 Class Schedule
- List of Attribute Definitions
- Previous Screen
| Advisor Type | Name | Contact Information |
|---|---|---|
| Undergraduate Studies Office | Vicki Jackson | MEB 3190 |
| Graduate Studies Office | Leslie Wallwork | MEB 3190 |
| Class # | Subject | Cat. # | Sec. | Component | Units | Title | Days/Time & Session | Location | Class Attrs | Instructor | Feed back | Pre Req | Fees | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CS | 1001 | 001 | Lecture | 1.5 | Eng Computing MATLAB |
MoWe / 03:00PM-04:20PM |
Y | |||||||
|
Sections 2 - 6 belong to this lecture. This course requires registration for a lab section. Students will be automatically registered for this lecture section when registering for the pertinent lab section. | ||||||||||||||
| 6635 | CS | 1001 | 002 | Laboratory | -- | Eng Computing MATLAB |
Fr / 08:35AM-09:25AM |
Y | ||||||
| CS | 1030 | 001 | Lecture | 3.0 | Foundations of CS |
MoWe / 02:00PM-02:50PM |
Y | |||||||
|
Sections 2 -8 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. This course may be waived by passing a proficiency test. See http://www.cs.utah.edu/placement for details. | ||||||||||||||
| 8268 | CS | 1030 | 002 | Laboratory | -- | Foundations of CS |
TuTh / 12:55PM-01:45PM |
Y | ||||||
| 8269 | CS | 1030 | 003 | Laboratory | -- | Foundations of CS |
TuTh / 02:00PM-02:50PM |
Y | ||||||
| 8270 | CS | 1030 | 004 | Laboratory | -- | Foundations of CS |
TuTh / 03:05PM-03:55PM |
Y | ||||||
| 8266 | CS | 1030 | 005 | Laboratory | -- | Foundations of CS |
TuTh / 04:10PM-05:00PM |
Y | ||||||
| 10330 | CS | 1030 | 006 | Laboratory | -- | Foundations of CS |
TuTh / 11:50AM-12:40PM |
Y | ||||||
| 11186 | CS | 1030 | 008 | Laboratory | -- | Foundations of CS |
TuTh / 10:45AM-11:35AM |
Y | ||||||
| CS | 1410 | 001 | Lecture | 4.0 | Object-Oriented Prog |
MoWeFr / 10:45AM-11:35AM |
Y | |||||||
|
Sections 002 - 007 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. This course requires a proficiency test or the required pre-requisites in order to register. Go to http://www.cs.utah.edu/placement for the proficiency test required to waive CS 1030. | ||||||||||||||
| 8801 | CS | 1410 | 002 | Laboratory | -- | Object-Oriented Prog |
Tu / 08:35AM-09:25AM |
Y | ||||||
| 6646 | CS | 1410 | 003 | Laboratory | -- | Object-Oriented Prog |
Tu / 09:40AM-10:30AM |
Y | ||||||
| 6647 | CS | 1410 | 004 | Laboratory | -- | Object-Oriented Prog |
Tu / 10:45AM-11:35AM |
Y | ||||||
| 6648 | CS | 1410 | 005 | Laboratory | -- | Object-Oriented Prog |
Tu / 11:50AM-12:40PM |
Y | ||||||
| 6649 | CS | 1410 | 006 | Laboratory | -- | Object-Oriented Prog |
Tu / 12:55PM-01:45PM |
Y | ||||||
| 6650 | CS | 1410 | 007 | Laboratory | -- | Object-Oriented Prog |
Tu / 02:00PM-02:50PM |
Y | ||||||
| 15689 | CS | 1410 | 008 | Laboratory | -- | Object-Oriented Prog |
Tu / 03:05PM-03:55PM |
Y | ||||||
| 15754 | CS | 1410 | 009 | Laboratory | -- | Object-Oriented Prog |
Tu / 04:10PM-05:00PM |
Y | ||||||
| 16563 | CS | 1410 | 010 | Laboratory | -- | Object-Oriented Prog |
Tu / 05:15PM-06:05PM |
Y | ||||||
| CS | 2100 | 001 | Lecture | 3.0 | Discrete Structures |
TuTh / 12:25PM-01:45PM |
Y | |||||||
|
Sections 002-007 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. | ||||||||||||||
| 7912 | CS | 2100 | 002 | Discussion | -- | Discrete Structures |
Fr / 10:45AM-11:35AM |
Y | ||||||
| 7913 | CS | 2100 | 003 | Discussion | -- | Discrete Structures |
Fr / 11:50AM-12:40PM |
Y | ||||||
| 9987 | CS | 2100 | 004 | Discussion | -- | Discrete Structures |
Fr / 09:40AM-10:30AM |
Y | ||||||
| 11270 | CS | 2100 | 005 | Discussion | -- | Discrete Structures |
Fr / 12:55PM-01:45PM |
Y | ||||||
| 13993 | CS | 2100 | 006 | Discussion | -- | Discrete Structures |
Fr / 02:00PM-02:50PM |
Y | ||||||
| CS | 2420 | 001 | Lecture | 4.0 | Intro Alg & Data Struct |
MoWe / 03:00PM-04:20PM |
Y | |||||||
|
Sections 2 - 13 belong to this lecture. This course requires registration for a lab section. Students will be automatically registered for this lecture section when registering for the pertinent lab section. | ||||||||||||||
| 6658 | CS | 2420 | 002 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 08:35AM-09:25AM |
Y | ||||||
| 6659 | CS | 2420 | 003 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 09:40AM-10:30AM |
Y | ||||||
| 6660 | CS | 2420 | 004 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 10:45AM-11:35AM |
Y | ||||||
| 6661 | CS | 2420 | 005 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 11:50AM-12:40PM |
Y | ||||||
| 6662 | CS | 2420 | 006 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 12:55PM-01:45PM |
Y | ||||||
| 8103 | CS | 2420 | 007 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 02:00PM-02:50PM |
Y | ||||||
| 10570 | CS | 2420 | 008 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 03:05PM-03:55PM |
Y | ||||||
| 10640 | CS | 2420 | 009 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 04:10PM-05:00PM |
Y | ||||||
| 15745 | CS | 2420 | 010 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 09:40AM-10:30AM |
TBA . |
Y | |||||
|
This class meets in MEB 3167. | ||||||||||||||
| 15746 | CS | 2420 | 011 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 10:45AM-11:35AM |
TBA . |
Y | |||||
|
This class meets in MEB 3167. | ||||||||||||||
| 16102 | CS | 2420 | 012 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 12:55PM-01:45PM |
TBA . |
Y | |||||
|
This class meets in MEB 3167. | ||||||||||||||
| 16103 | CS | 2420 | 013 | Laboratory | -- | Intro Alg & Data Struct |
Fr / 11:50AM-12:40PM |
TBA . |
Y | |||||
|
This class meets in MEB 3167. | ||||||||||||||
| 7231 | CS | 3011 | 001 | Lecture | 1.0 | Industry Forum |
Fr / 10:45AM-11:35AM |
Y | ||||||
| 9293 | CS | 3130 | 001 | Lecture | 3.0 | Eng Prob Stats |
MoWeFr / 09:40AM-10:30AM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 6663 | CS | 3200 | 001 | Lecture | 3.0 | Intro Sci Comp |
MoWe / 08:05AM-09:25AM |
Y | ||||||
| CS | 3500 | 001 | Lecture | 4.0 | Software Practice |
TuTh / 02:00PM-03:20PM |
Y | |||||||
|
Sections 2 - 5 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. | ||||||||||||||
| 10907 | CS | 3500 | 002 | Discussion | -- | Software Practice |
We / 08:35AM-09:25AM |
Y | ||||||
| 10908 | CS | 3500 | 003 | Discussion | -- | Software Practice |
We / 09:40AM-10:30AM |
Y | ||||||
| 10909 | CS | 3500 | 004 | Discussion | -- | Software Practice |
We / 10:45AM-11:35AM |
Y | ||||||
| 11192 | CS | 3500 | 005 | Discussion | -- | Software Practice |
We / 11:50AM-12:40PM |
Y | ||||||
| 14156 | CS | 3500 | 006 | Discussion | -- | Software Practice |
We / 12:55PM-01:45PM |
Y | ||||||
| 17550 | CS | 3500 | 007 | Discussion | -- | Software Practice |
We / 02:00PM-02:50PM |
Y | ||||||
| CS | 3505 | 001 | Lecture | 3.0 | Software Practice II |
TuTh / 02:00PM-03:20PM |
Y | |||||||
|
Sections 2 - 7 belong to this lecture. This course requires registration for a discussion section. Students will be automatically registered for this lecture section when registering for the pertinent discussion section. | ||||||||||||||
| 6665 | CS | 3505 | 002 | Discussion | -- | Software Practice II |
We / 08:35AM-09:25AM |
Y | ||||||
| 6666 | CS | 3505 | 003 | Discussion | -- | Software Practice II |
We / 09:40AM-10:30AM |
Y | ||||||
| 6667 | CS | 3505 | 004 | Discussion | -- | Software Practice II |
We / 10:45AM-11:35AM |
Y | ||||||
| 6668 | CS | 3505 | 005 | Discussion | -- | Software Practice II |
We / 11:50AM-12:40PM |
Y | ||||||
| 6909 | CS | 3505 | 006 | Discussion | -- | Software Practice II |
We / 12:55PM-01:45PM |
Y | ||||||
| CS | 3700 | 001 | Lecture | 4.0 | Digital System Design |
TuTh / 12:25PM-01:45PM |
Y | $60.00 | ||||||
|
Section 2 belongs to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. Meets With
|
||||||||||||||
| 6950 | CS | 3700 | 002 | Laboratory | -- | Digital System Design |
TBA |
TBA |
Y | |||||
|
This class meets in MEB 3133. Meets With
|
||||||||||||||
| 10911 | CS | 3810 | 001 | Lecture | 4.0 | Computer Organization |
TuTh / 09:10AM-10:30AM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 6691 | CS | 3992 | 001 | Seminar | 3.0 | Pre-Thesis/Clinic/Proj |
TuTh / 10:45AM-12:05PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 11876 | CS | 4000 | 001 | Lecture | 3.0 | Senior Capstone Design |
MoWeFr / 10:45AM-11:35AM |
Y | ||||||
| 9160 | CS | 4010 | 001 | Field Work | 1.0 - 3.0 | CS Internship |
TBA |
TBA |
Y | |||||
|
Instructor permission required to register. | ||||||||||||||
| 6698 | CS | 4150 | 001 | Lecture | 3.0 | Algorithms |
TuTh / 10:45AM-12:05PM |
Y | ||||||
| 17279 | CS | 4300 | 001 | Lecture | 3.0 | Artificial Intelligence |
TuTh / 10:45AM-12:05PM |
Y | ||||||
| CS | 4400 | 001 | Lecture | 4.0 | Computer Systems |
MoWe / 03:00PM-04:20PM |
Y | |||||||
|
Sections 002-005 belong to this lecture. Students will be automatically registered for this lecture section when registering for the pertinent discussion section. | ||||||||||||||
| 12967 | CS | 4400 | 002 | Laboratory | -- | Computer Systems |
Th / 09:40AM-10:30AM |
Y | ||||||
| 12968 | CS | 4400 | 003 | Laboratory | -- | Computer Systems |
Th / 10:45AM-11:35AM |
Y | ||||||
| 12969 | CS | 4400 | 004 | Laboratory | -- | Computer Systems |
Th / 12:55PM-01:45PM |
Y | ||||||
| 12970 | CS | 4400 | 005 | Laboratory | -- | Computer Systems |
Th / 02:00PM-02:50PM |
Y | ||||||
| 15211 | CS | 4440 | 001 | Lecture | 3.0 | Computer Security |
TuTh / 12:25PM-01:45PM |
Y | ||||||
| 15216 | CS | 4470 | 001 | Lecture | 3.0 | Compilers |
TuTh / 02:00PM-03:20PM |
Y | ||||||
| 7915 | CS | 4480 | 001 | Lecture | 3.0 | Computer Networks |
MoWe / 01:25PM-02:45PM |
Y | ||||||
| 6692 | CS | 4500 | 001 | Lecture | 3.0 | Senior Capstone Project |
TuTh / 03:40PM-05:00PM |
Y | ||||||
| 12954 | CS | 4530 | 001 | Lecture | 3.0 | Mobile App Programming |
MoWe / 06:00PM-07:20PM |
Y | ||||||
| 12955 | CS | 4530 | 002 | Lecture | 3.0 | Mobile App Programming |
MoWe / 04:35PM-05:55PM |
Y | ||||||
| 18041 | CS | 5100 | 001 | Lecture | 3.0 | Theory of Computation |
MoWe / 01:25PM-02:45PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 10364 | CS | 5140 | 001 | Lecture | 3.0 | Data Mining |
MoWe / 03:00PM-04:20PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 15921 | CS | 5350 | 001 | Lecture | 3.0 | Machine Learning |
MoWe / 04:35PM-05:55PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 8966 | CS | 5460 | 001 | Lecture | 3.0 | Operating Systems |
TuTh / 09:10AM-10:30AM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 7820 | CS | 5530 | 001 | Lecture | 3.0 | Database Systems |
MoWe / 11:50AM-01:10PM |
Y | ||||||
| 10912 | CS | 5610 | 001 | Lecture | 3.0 | Interactive Comp Graph |
TuTh / 02:00PM-03:20PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 15205 | CS | 5635 | 001 | Lecture | 3.0 | Vis for Scientific Data |
TuTh / 12:25PM-01:45PM |
|||||||
|
Meets With
|
||||||||||||||
| 17681 | CS | 5740 | 001 | Lecture | 3.0 | CAD of Digital Circuits |
MoWeFr / 11:50AM-12:40PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| CS | 5780 | 001 | Lecture | 4.0 | Embedded Sys Design |
TuTh / 12:25PM-01:45PM |
Y | $35.00 | ||||||
|
Sections 2-4 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. Meets With
|
||||||||||||||
| 9405 | CS | 5780 | 002 | Laboratory | -- | Embedded Sys Design |
We / 07:30AM-10:30AM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 9406 | CS | 5780 | 003 | Laboratory | -- | Embedded Sys Design |
We / 03:05PM-06:05PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 9407 | CS | 5780 | 004 | Laboratory | -- | Embedded Sys Design |
Fr / 07:30AM-10:30AM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 11215 | CS | 5780 | 005 | Laboratory | -- | Embedded Sys Design |
Mo / 03:05PM-06:05PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 15994 | CS | 5780 | 006 | Laboratory | -- | Embedded Sys Design |
Tu / 07:30AM-10:30AM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 17275 | CS | 5789 | 001 | Lecture | 3.0 | Emb Sys & Kinetic Art |
TuTh / 03:40PM-05:00PM |
Y | $55.00 | |||||
|
Meets With
|
||||||||||||||
| 19073 | CS | 5963 | 001 | Special Topics | 3.0 | Virtual Reality |
MoWe / 04:35PM-05:55PM |
Y | ||||||
|
"C-" or better in CS 3500 and Full Major status in (Games or Computer Science or Computer Engineering) Meets With
|
||||||||||||||
| 8078 | CS | 6020 | 001 | Lecture | 3.0 | Early-Career Research |
TBA |
TBA |
Y | |||||
| 17280 | CS | 6100 | 001 | Lecture | 3.0 | Theory of Computation |
MoWe / 01:25PM-02:45PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 10363 | CS | 6140 | 001 | Lecture | 3.0 | Data Mining |
MoWe / 03:00PM-04:20PM |
|||||||
|
Meets With
|
||||||||||||||
| 17273 | CS | 6150 | 001 | Lecture | 3.0 | Advanced Algorithms |
MoWeFr / 10:45AM-11:35AM |
Y | ||||||
| 17277 | CS | 6170 | 001 | Lecture | 3.0 | Computational Topology |
TuTh / 09:10AM-10:30AM |
Y | ||||||
| 15200 | CS | 6235 | 001 | Lecture | 3.0 | Parallel Prog Many-Core |
TuTh / 03:40PM-05:00PM |
|||||||
| 6704 | CS | 6300 | 001 | Lecture | 3.0 | Artificial Intelligence |
TuTh / 12:25PM-01:45PM |
Y | ||||||
| 8961 | CS | 6320 | 001 | Lecture | 3.0 | Computer Vision |
MoWe / 01:25PM-02:45PM |
Y | ||||||
| 9411 | CS | 6330 | 001 | Lecture | 3.0 | Intro to Robot Control |
MoWe / 03:00PM-04:20PM |
Y | $40.00 | |||||
|
Meets With
|
||||||||||||||
| 15922 | CS | 6350 | 001 | Lecture | 3.0 | Machine Learning |
MoWe / 04:35PM-05:55PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 19055 | CS | 6360 | 001 | Lecture | 3.0 | Virtual Reality |
MoWe / 04:35PM-05:55PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 9093 | CS | 6460 | 001 | Lecture | 3.0 | Operating Systems |
TuTh / 09:10AM-10:30AM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 10913 | CS | 6610 | 001 | Lecture | 3.0 | Interactive Comp Graph |
TuTh / 02:00PM-03:20PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 15210 | CS | 6635 | 001 | Lecture | 3.0 | Vis for Scientific Data |
TuTh / 12:25PM-01:45PM |
|||||||
|
Meets With
|
||||||||||||||
| 17276 | CS | 6660 | 001 | Lecture | 3.0 | Physics-based Animation |
TuTh / 10:45AM-11:35AM |
|||||||
| 17682 | CS | 6740 | 001 | Lecture | 3.0 | CAD of Digital Circuits |
MoWeFr / 11:50AM-12:40PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| CS | 6780 | 001 | Lecture | 4.0 | Embed Sys Design |
TuTh / 12:25PM-01:45PM |
Y | |||||||
|
Sections 2-4 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. Meets With
|
||||||||||||||
| 9408 | CS | 6780 | 002 | Laboratory | -- | Embed Sys Design |
We / 07:30AM-10:30AM |
Y | $35.00 | |||||
|
Meets With
|
||||||||||||||
| 9410 | CS | 6780 | 004 | Laboratory | -- | Embed Sys Design |
Fr / 07:30AM-10:30AM |
Y | $35.00 | |||||
|
Meets With
|
||||||||||||||
| 11216 | CS | 6780 | 005 | Laboratory | -- | Embed Sys Design |
Mo / 03:05PM-06:05PM |
Y | $35.00 | |||||
|
Meets With
|
||||||||||||||
| 17274 | CS | 6956 | 001 | Special Topics | 3.0 | Deep Learning for NLP |
MoWe / 11:50AM-01:10PM |
|||||||
| 18661 | CS | 6960 | 001 | Special Topics | 3.0 | Fund. of Cloud Systems |
TuTh / 02:00PM-03:20PM |
|||||||
|
Meets With
|
||||||||||||||
| 12956 | CS | 6963 | 001 | Special Topics | 3.0 | Functional Programming |
TuTh / 12:25PM-01:45PM |
Y | ||||||
| 6703 | CS | 7930 | 001 | Seminar | 1.0 | SoC Colloquium |
MoWeFr / 09:40AM-11:35AM |
Y | ||||||
| 15197 | CS | 7931 | 001 | Seminar | 1.0 | Computer Vision Seminar |
Tu / 10:45AM-11:45AM |
Y | ||||||
| 7475 | CS | 7933 | 001 | Seminar | 1.0 | Graphics Seminar |
Tu / 12:10PM-01:55PM |
Y | ||||||
| 7298 | CS | 7934 | 001 | Seminar | 1.0 | Computer Systems Seminar |
Fr / 02:00PM-03:30PM |
Y | ||||||
| 10366 | CS | 7935 | 001 | Seminar | 1.0 | Natural Lang. Processing Sem. |
Tu / 11:00AM-12:00PM |
Y | ||||||
| 15196 | CS | 7936 | 001 | Seminar | 1.0 | Security Seminar |
We / 12:00PM-01:00PM |
Y | ||||||
| 8786 | CS | 7937 | 001 | Seminar | 1.0 | Arch/VLSI |
Fr / 01:30PM-02:30PM |
Y | ||||||
|
Class meets in MEB 3383. | ||||||||||||||
| 7665 | CS | 7938 | 002 | Seminar | 1.0 | Image Analysis Seminar |
Mo / 12:00PM-01:00PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 6914 | CS | 7939 | 001 | Seminar | 1.0 | Robotics |
Tu / 02:00PM-02:50PM |
Y | ||||||
|
Meets With
|
||||||||||||||
| 9105 | CS | 7941 | 001 | Seminar | 1.0 | Data Science Seminar |
Th / 12:15PM-01:30PM |
Y | ||||||
| 9161 | CS | 7942 | 001 | Seminar | 1.0 | Visualization Seminar |
We / 12:00PM-01:00PM |
TBA . |
Y | |||||
|
This class meets in WEB 3780. | ||||||||||||||
| 11417 | CS | 7943 | 001 | Seminar | 1.0 | Networking Seminar |
Fr / 02:00PM-03:30PM |
Y | ||||||
| 15926 | CS | 7944 | 001 | Seminar | 1.0 | Comp Narrative Seminar |
Mo / 11:00AM-12:00PM |
Y |


This article is for facilitators holding space and organizers of Open Space events that moved–or want to move–online.
This article assumes you know what Open Space Technology is and participated in a physical one.
The focus of the article is to share my experience with the “law of two feet” in an online space and I reflect on preparation of online open spaces.
In a physical open space you probably experienced getting up and walking to another session when you felt you were not contributing or you were not getting anything out of it.
“Briefly stated, this law says that every individual has two feet, and must be prepared to use them. Responsibility for a successful outcome in any Open Space Event resides with exactly one person—each participant. Individuals can make a difference and must make a difference. If that is not true in a given situation, they, and they alone, must take responsibility to use their two feet, and move to a new place where they can make a difference.” - https://annualexchange.com/2018/06/30/the-law-of-two-feet/
How does “law of two feet” translate when you are in an open space event that moved online? By the way I am not sure if we should still call it Open Space but that’s for another article.
Responsibility for a successful outcome in any Open Space Event resides with exactly one person—each participant
they, and they alone, must take responsibility to use their two feet, and move to a new place where they can make a difference
Works in a physical open space. We all know how to go from point A to point B. But what about online? Does all my audience know where to click how to navigate to other rooms?
Do you know how to get to another session?
My first time as a session host in open space online, after welcoming the group I asked “do you know how to get to another session?”. I think that’s of paramount importance but…
as an openspace organizer I can’t expect all session hosts to do that. Some might not think about that, some might have a million other things happening as they’re hosting and some might simply cling to their audience.
As an openspace organizer I must prepare the space to account for the “the law of clicks”. I first heard that name from Gerardo De Luzenberger from the italian chapter of IAF. It means moving to another session with just a couple of mouse clicks.
The law of two clicks
Gerardo and IAF run for a few weeks an open space #FACILITA2020 event with about 100 people and used QiQo chat. Qiqo chat seaminglessly assigns Zoom rooms to your open space sessions and it reduces risk for the audience to make mistakes.
You still have to account for individuals that might not see Zoom messages and having technical difficulties. I don’t think there is a one size fits all technical solution.
I could have an online spreadsheet–or slide or text document–with a list of Zoom room URLs (or Google Meet or Jitsi ot whatever).
Is my audience able to add and navigate those without messing up other meeting IDs? What’s my contigency if Jack accidentally deletes Luke’s meeting URL? A backchannel? Is everybody aware/invited?
I could let the session organizers self-organize and pick their remote video call tool.
Will the audience be familiar with those tools? And willing to perhaps install a new one? The online agile coach camp coming up in August addressed that by asking all participant to bring their personal (free) Zoom Account to (I assume) have sessions hosts create personal meetings.
Regardless of the video call tool, there must be a clear way for the participants to view current sessions and navigate between rooms and to communicate with me (the organizer) when they have technical difficulties.
every individual is X clicks away from another room, and must be prepared to click. Responsibility for a successful outcome resides with exactly one person—each participant. Individuals can make a difference and must make a difference. If that is not true in a given situation, they, and they alone, must take responsibility to use their two clicks, and move to a new place where they can make a difference or ask for help.
How many clicks does my audience need to get to another room?
The click bus experiment
An experiement I conducted to assess how the law of two feet translated online was the click bus.
I was in an open space with over 80 people and I hosted a session called the “click bus” virtually moving around the online open space sessions.
The click bus’ purpose was to help folks stuck in open space online rooms to navigate and move to other rooms.
The click bus group met in a Zoom call where we assigned a head and tail member. The bus head would tell the click bus participants what was the next stop, make sure we all understood then be the first to leave. The tail would wait for all members to be out of the current room, and be the last to leave for the next room. Both head and tail were tech savvy.
The click bus had a dedicated backchannel (we used a free online chat called http://www.e-chat.co) so we wouldn’t disturb the conversation or chat of the rooms we visited.
Once in the new room the bus head would silently announce to the session participants that the click bus arrived. That was done either in the chat or via videocamera post-it. The announce would include an invite for people that wanted to leave with a link to the backchannel chat.
Everyone (beside the head and tail volunteers) were free to leave and stay in the visited room–or go anwhere else–at any time.
Clickbus could be run before the space opens as a technical pre-check activity or offered as a service to bring some of the human contact you get walking around in a physical open space.
Conclusions
With about 20 years of software development and product management I really don’t have a problem moving around but COVID made me realise even more how many folks are having technical trouble out there.
“As an open space organizer we must provide support mechanisms to avoid folks feeling stupid for not “getting it”, which could be the case if we said “whatever happens is the only thing that could happen. If we support the audience there is a better chance they will contribute and enjoy it”.
Also, people might be calling from tablets, Windows, OSX so as organizers we need to be ready / aware to deal with technical difficulties on different systems. Do we ask the audience to run a speed test before the event? What do we do if out of 300 people 150 have dialup? Do we change our setup accordingly? How do we support people with slower connections?
I don’t think there is a one size fits all solution, but I think we need to do better and prepare for our audience. What are you doing to make it better for your participants?


The Shopify SDK for Unity lets you add commerce features to games made with the Unity game engine. You can use it to connect in-game purchase experiences with physical products in Shopify.
You can use the Shopify SDK for Unity to:
- fetch information about a single product or a collection of products in Shopify
- create an in-game shopping cart where customers can select product options and quantities
- generate a checkout for a single product or an entire cart.
Getting started
If you want to learn more about how this SDK works with Unity, then see the Shopify SDK for Unity tutorial.
Examples
This guide contains code examples that show different ways that you can use the Shopify SDK for Unity.
The Shopify SDK for Unity queries Shopify's Storefront API, which is a GraphQL API. GraphQL APIs accept queries that define the data that you want to retrieve. The Shopify SDK for Unity lets you query various data from Shopify, including store information, checkout URLs, products, and collections.
Table of contents
Before you begin
Before you can start using the Shopify SDK for Unity, you need:
Supported build targets
See Build Target Requirements for information on setting up the SDK on iOS and Android
Initialize the SDK
This code example initializes the SDK. The ShopifyBuy.Init
method takes two arguments. The first is a storefront access token to communicate with the Storefront API. The second is the domain name of your shop.
string accessToken = "b8d417759a62f7b342f3735dbe86b322";
string shopDomain = "unity-buy-sdk.myshopify.com";
ShopifyBuy.Init(accessToken, shopDomain);
After you initialize the SDK, you can use ShopifyBuy.Client()
to query Shopify. You need to initialize the SDK only once.
Supporting multiple languages
If your store supports multiple languages, then you can use the Storefront API to return translated content for supported resource types and fields. Learn more about translating content.
To return translated content, include the locale
parameter in ShopifyBuy.Init
:
string accessToken = "b8d417759a62f7b342f3735dbe86b322";
string shopDomain = "unity-buy-sdk.myshopify.com";
string locale = "es";
ShopifyBuy.Init(accessToken, shopDomain, locale);
Query Products
The following example shows how to query two pages of products in your Shopify store:
void Start () {
string accessToken = "b8d417759a62f7b342f3735dbe86b322";
string shopDomain = "unity-buy-sdk.myshopify.com";
ShopifyBuy.Init(accessToken, shopDomain);
ShopifyBuy.Client().products((products, error, after) => {
if (error != null) {
Debug.Log(error.Description);
switch(error.Type) {
case ShopifyError.ErrorType.HTTP:
break;
case ShopifyError.ErrorType.GraphQL:
break;
};
} else {
Debug.Log("Here is the first page of products:");
foreach(Product product in products) {
Debug.Log("Product Title: " + product.title());
Debug.Log("Product Description: " + product.descriptionHtml());
Debug.Log("--------");
}
if (after != null) {
Debug.Log("Here is the second page of products:");
ShopifyBuy.Client().products((products2, error2, after2) => {
foreach(Product product in products2) {
Debug.Log("Product Title: " + product.title());
Debug.Log("Product Description: " + product.descriptionHtml());
Debug.Log("--------");
}
}, after: after);
} else {
Debug.Log("There was only one page of products.");
}
}
});
}
Definition: ImageHelper.cs:6
Query Collections
The following example shows how to query one page of collections in your Shopify store:
void Start () {
string accessToken = "b8d417759a62f7b342f3735dbe86b322";
string shopDomain = "unity-buy-sdk.myshopify.com";
ShopifyBuy.Init(accessToken, shopDomain);
ShopifyBuy.Client().collections((collections, error, after) => {
if (error != null) {
Debug.Log(error.Description);
switch(error.Type) {
case ShopifyError.ErrorType.HTTP:
break;
case ShopifyError.ErrorType.GraphQL:
break;
};
} else {
Debug.Log("Loaded the first page of collections:");
foreach(Collection collection in collections) {
Debug.Log("Collection title: " + collection.title());
Debug.Log("Collection updated at: " + collection.updatedAt());
List<Product> products = (List<Product>) collection.products();
foreach(Product product in products) {
Debug.Log("Collection contains a product with the following id: " + product.id());
}
}
if (after != null) {
Debug.Log("We also have a second page of products");
} else {
Debug.Log("We don't have a second page of products");
}
}
});
}
In this example, if you called product.title()
then an exception would be thrown. Since the Shopify SDK for Unity is built on GraphQL queries, when collections
are queried using this method only id
is queried on Product
. To learn which fields are queried using this method, see DefaultQueries.cs
.
You can also make more complex requests using custom queries.
Build a cart
The following example shows how to create a cart and add line items to the cart using product variants:
void Start () {
string accessToken = "b8d417759a62f7b342f3735dbe86b322";
string shopDomain = "unity-buy-sdk.myshopify.com";
ShopifyBuy.Init(accessToken, shopDomain);
ShopifyBuy.Client().products((products, error, after) => {
Cart cart = ShopifyBuy.Client().Cart();
List<ProductVariant> firstProductVariants = (List<ProductVariant>) products[0].variants();
ProductVariant firstProductFirstVariant = firstProductVariants[0];
cart.LineItems.AddOrUpdate(firstProductFirstVariant, 3);
Debug.Log("First line item's variant id is: " + cart.LineItems.All()[0].VariantId);
});
}
If you want to adjust or change quantity on a line item, then you can call AddOrUpdate
again with the new quantity. For example, if you want to adjust the quantity for firstProductFirstVariant
to 1 in the code above, then you could call:
cart.LineItems.AddOrUpdate(firstProductFirstVariant, 1);
To delete a line item do the following:
cart.LineItems.Delete(firstProductFirstVariant);
To get a line item do the following:
LineItemInput lineItem = cart.LineItems.Get(firstProductFirstVariant);
Build a cart based on selected options
In Shopify, a product can have many options. These options map to variants of a product. The following example shows how to create line items in a cart based on selected product variants:
void Start () {
string accessToken = "b8d417759a62f7b342f3735dbe86b322";
string shopDomain = "unity-buy-sdk.myshopify.com";
ShopifyBuy.Init(accessToken, shopDomain);
ShopifyBuy.Client().products((products, error, after) => {
Cart cart = ShopifyBuy.Client().Cart();
Product firstProduct = products[0];
List<ProductOption> options = firstProduct.options();
Debug.Log("Options:\n-------");
foreach(ProductOption option in options) {
foreach(string value in option.values()) {
Debug.Log(option.name() + ": " + value);
}
}
Debug.Log("-------");
Dictionary<string,string> selectedOptions = new Dictionary<string,string>() {
{"Size", "M"},
{"Color", "Ash"}
};
cart.LineItems.AddOrUpdate(firstProduct, selectedOptions, 1);
Debug.Log("First line item's variant id is: " + cart.LineItems.All()[0].VariantId);
});
}
If you want to Delete
or Get
a line item, then use the following:
cart.LineItems.Get(firstProduct, selectedOptions);
cart.LineItems.Delete(firstProduct, selectedOptions);
Checkout with a checkout link
void Start () {
string accessToken = "b8d417759a62f7b342f3735dbe86b322";
string shopDomain = "unity-buy-sdk.myshopify.com";
ShopifyBuy.Init(accessToken, shopDomain);
ShopifyBuy.Client().products((products, error, after) => {
Cart cart = ShopifyBuy.Client().Cart();
List<ProductVariant> firstProductVariants = (List<ProductVariant>) products[0].variants();
ProductVariant firstProductFirstVariant = firstProductVariants[0];
cart.LineItems.AddOrUpdate(firstProductFirstVariant, 3);
cart.GetWebCheckoutLink(
success: (link) => {
Application.OpenURL(link);
},
failure: (checkoutError) => {
Debug.Log(checkoutError.Description);
}
);
});
}
Checkout with a Web View
After creating an instance of Cart
and adding items to it, you can use the CheckoutWithWebView
method to start a web view that contains the checkout for the cart.
CheckoutWithWebView
takes in 3 callback parameters:
CheckoutSuccessCallback
is called when the user has completed a checkout successfully.
CheckoutCancelCallback
is called when the user cancels out of the checkout.
CheckoutFailureCallback
is called when an error was encountered during the web checkout. The callback will pass an instance of ShopifyError
describing the issue.
...
ShopifyBuy.Client().products((products, error, after) => {
var cart = ShopifyBuy.Client().Cart();
var firstProduct = products[0];
var firstProductVariants = (List<ProductVariant>) firstProduct.variants();
ProductVariant productVariantToCheckout = firstProductVariants[0];
cart.LineItems.AddOrUpdate(productVariantToCheckout, 1);
cart.CheckoutWithWebView(
success: () => {
Debug.Log("User finished purchase/checkout!");
},
cancelled: () => {
Debug.Log("User cancelled out of the web checkout.");
},
failure: (e) => {
Debug.Log("Something bad happened - Error: " + e);
}
);
});
Checkout with Native Pay (Apple Pay)
You can allow users to pay with Apple Pay, depending on the device OS, providing a seamless checkout experience.
To determine whether the user is able to make a payment with Native Pay, you can use the CanCheckoutWithNativePay
method. If the user has this capability, then you can use CheckoutWithNativePay
to present the native pay authentication interface to the user. If they do not, then you can accept payment using Web View Checkout.
CheckoutWithNativePay
takes in 4 parameters:
key
CheckoutSuccessCallback
is called when the user has completed a checkout successfully.
CheckoutCancelCallback
is called when the user cancels out of the checkout.
CheckoutFailureCallback
is called when an error was encountered during the checkout. The callback will be passed an instance of ShopifyError
describing the issue.
// Sample code for adding some product variants to your cart.
...
ShopifyBuy.Client().products((products, error) => {
var cart = ShopifyBuy.Client().Cart();
var firstProduct = products[0];
var firstProductVariants = (List<ProductVariant>) firstProduct.variants();
ProductVariant productVariantToCheckout = firstProductVariants[0];
cart.LineItems.AddOrUpdate(productVariantToCheckout, 1);
var key = null;
#if UNITY_IOS
key = "com.merchant.id";
#elif UNITY_ANDROID
key = "BL9QiRljozDhgfyfVHoK+l1l98fBY0x/in0rCYJxmTfnzJDWsX1+8l4HEa4LO0WeKQlYtuk8zcJtzimTMhr1UL8=";
#endif
// Check to see if the user can make a payment through Apple Pay
cart.CanCheckoutWithNativePay((isNativePayAvailable) => {
if (isNativePayAvailable) {
cart.CheckoutWithNativePay(
key,
success: () => {
Debug.Log("User finished purchase/checkout!");
},
cancelled: () => {
Debug.Log("User cancelled out of the native checkout.");
},
failure: (e) => {
Debug.Log("Something bad happened - Error: " + e);
}
);
}
});
});
Additional build settings (Apple Pay only)
To use Apple Pay, you must also enable Background fetch in the Player Settings:
- In Unity, open Player Settings, and then click Edit > Project Settings > Player.
- Select Settings for iOS.
- Under Other Settings, set Behavior in Background to Custom.
- Enable Background fetch.
Enabling native pay on your Store
To enable native pay for your store through an app:
- Follow these instructions to create a private app in your Shopify admin page.
- Enable Allow this app to access your storefront data using the Storefront API flag in your private app configuration.
Notes
CheckoutWithNativePay
will throw an exception if the device is unable to make a payment through Apple Pay. So it is essential that CanCheckoutWithNativePay
is used.
Errors
On failure, you will receive a ShopifyError
. There are 3 types of ShopifyError
that you will have to handle:
HTTP
NativePaymentProcessingError
GraphQL
HTTP
errors will be thrown when there was an issue connecting or downloading to a required web server.
NativePaymentProcessingError
This error is thrown whenever something goes wrong on the native pay side of the checkout. It is unrecoverable and you should fall back to a different payment method, or allow the user to try going through the process again. The reasons for this error to be thrown depend on the platform:
- iOS: will be thrown when Apple Pay fails to generate a token while trying to authenticate the user's card.
GraphQL
error will be thrown when there is something wrong with the SDK. This error is unrecoverable and you should fall back to a different payment method.
cart.CheckoutWithNativePay(
key,
success: () => {
Debug.Log("User finished purchase/checkout!");
},
cancelled: () => {
Debug.Log("User cancelled out of the native checkout.");
},
failure: (e) => {
switch(e.Type) {
case ShopifyError.ErrorType.HTTP:
// Let the user know that there is no internet connection
break;
default:
// Let the user know that checkout could not be completed
// Fallback to Web Checkout
break;
}
}
);
Extras
You might want to optionally drive users to setup their payment cards with Apple Pay. You can do so by using CanShowNativePaySetup
and ShowNativePaySetup
. CanShowNativePaySetup
lets you know whether the device supports this, and ShowNativePaySetup
launches the native Wallet
app prompting the user to set up his or her card.
Custom queries
The Shopify SDK for Unity is built on top of Shopify's Storefront API, which is a GraphQL Web API. In GraphQL, you send queries to the endpoint and receive back a JSON responses.
The following example shows a GraphQL query that retrieves a store's name and some details about its domain address:
query {
shop {
name
primaryDomain {
url
host
}
}
}
When this query is sent to the Storefront API, the JSON response from the server looks like this:
{
"data": {
"shop": {
"name": "graphql",
"primaryDomain": {
"url": "https://unity-buy-sdk.myshopify.com",
"host": "unity-buy-sdk.myshopify.com"
}
}
}
}
As you can see, the data output takes the same form as the query sent to the GraphQL endpoint. To learn more about how GraphQL handles queries and responses, see graphql.org.
In the previous example, the queries for products
and collections
were made using client-side utility functions that create generic queries for the most common types of information. But you can also send custom queries to the Storefront API to access additional data. To learn more about how the Storefront API works, see the Storefront API documentation.
The following example shows how to build a custom query in C# that matches the GraphQL query mentioned above. It retrieves the same information that was queried in the previous example:
- the shop's
name
- the shop's
primaryDomain
void Start () {
string accessToken = "b8d417759a62f7b342f3735dbe86b322";
string shopDomain = "unity-buy-sdk.myshopify.com";
ShopifyBuy.Init(accessToken, shopDomain);
ShopifyBuy.Client().Query(
buildQuery: (query) => query
.shop(shopQuery => shopQuery
.name()
.primaryDomain(primaryDomainQuery => primaryDomainQuery
.url()
.host()
)
),
callback: (result, error) => {
Debug.Log("Shop name: " + result.shop().name());
Debug.Log("Shop url: " + result.shop().primaryDomain().url());
}
);
}
To create mutations, you can use ShopifyBuy.Client().Mutation
in a similar way.


Step #1
On-Site IntroductionExpert full stack lead developer on site with over 10 years experience
Step #2
Map Product GoalsStating the scope of work and creating a road map to meet those requirements
Step #3
Meet Your TeamSpeaking with any individual with working knowledge of the current or desired application being implemented
Step #4
Application DevelopmentGetting to work creating or improving your application day to day
Step #5
Equipping ScalabilityDocumenting and presenting code to fellow application developers both remotely and locally for future use.
Step #6
Finishing Project DeliveryMeeting the product goals of your organization and handing them off to our remote team or your local team
Step #7
Remote support availableSeating 30,000
Step #8
Full time on site maintenaceSeating 60,000


Response - Change Status Code
You probably read before that you can set a default Response Status Code.
But in some cases you need to return a different status code than the default.
Use case¶
For example, imagine that you want to return an HTTP status code of "OK" 200
by default.
But if the data didn't exist, you want to create it, and return an HTTP status code of "CREATED" 201
.
But you still want to be able to filter and convert the data you return with a response_model
.
For those cases, you can use a Response
parameter.
Use a Response
parameter¶
You can declare a parameter of type Response
in your path operation function (as you can do for cookies and headers).
And then you can set the status_code
in that temporal response object.
from fastapi import FastAPI
from starlette.responses import Response
from starlette.status import HTTP_201_CREATED
app = FastAPI()
tasks = {"foo": "Listen to the Bar Fighters"}
@app.put("/get-or-create-task/{task_id}", status_code=200)
def get_or_create_task(task_id: str, response: Response):
if task_id not in tasks:
tasks[task_id] = "This didn't exist before"
response.status_code = HTTP_201_CREATED
return tasks[task_id]
And then you can return any object you need, as you normally would (a dict
, a database model, etc).
And if you declared a response_model
, it will still be used to filter and convert the object you returned.
FastAPI will use that temporal response to extract the status code (also cookies and headers), and will put them in the final response that contains the value you returned, filtered by any response_model
.
You can also declare the Response
parameter in dependencies, and set the status code in them. But have in mind that the last one to be set will win.


We all want fast sites, right? One step to achieve this is setting up your web server to serve its assets compressed as opposed to uncompressed. This will greatly aid in reducing the size of the files your server is sending across the wire, effectively decreasing the load time for your clients.
Last week I posted a blog titled Developing A .NET Core Site In Windows and Deploying It To A Budget Linux Host. In it, I outlined the steps I took to move Pioneer Code from an IIS hosting service to a Linux host ( DigitalOcean). Prior to making the hosting service switch, I was enabling Gzip by providing a web.config file with the following configuration.
One big problem though, the concept of web.config is platform specific. Meaning web.config only works in IIS. NGINX has not concept of it.
NGINX by default only compresses HTML files. This can be demonstrated by opening up chrome and checking the headers in of a fresh NGINX server.
HTML Request
Non-HTML Request
As you can see in the HTML Request we see Content-Encoding: gzip in the response header and in the Non-HTML Request we don't.
First things first, SSH into your server. Once connected, follow these steps...
SSH into your machine and open the NGINX config file in the editor of your choice. I currently have been using nano, but any editor will work fine.
sudo nano /etc/nginx/nginx.conf
There are plenty of settings inside this config file. I would highly recommend reading up more about them at, Nginx Gzip Configuration.
That being said, the following is what I am currently using. In your config file, locate the section titled "Gzip Settings" to compare.
## # Gzip Settings ## gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/x-component text/css text/xml text/javascript application/atom+xml application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml application/json application/javascript font/opentype image/svg+xml image/x-icon application/xml application/xml+rss; gzip_min_length 256;
It is worth noting that the specific section in configuration that tells NGINX to compress assets types other then HTML is gzip_types. As you can see, we have to explicitly add mime types we want to include.
Save your configuration once you are done. In nano, we do this by hitting ctrl+x, then y and finally enter.
To get NGINX to take this new configuration into play, we need to restart the NGINX services.
sudo service nginx restart
At this point when you view response headers of non-HTML assets inside Chrome dev tools, you should now see the appropriate Content-Encoding header being set.
That is it! Your clients will thank you and Google will have one less reason to penalize you.


[page:Geometry] →
[name]
Creates a tube that extrudes along a 3d curve
Example
var CustomSinCurve = THREE.Curve.create(
function ( scale ) { //custom curve constructor
this.scale = (scale === undefined) ? 1 : scale;
},
function ( t ) { //getPoint: t is between 0-1
var tx = t * 3 - 1.5,
ty = Math.sin( 2 * Math.PI * t ),
tz = 0;
return new THREE.Vector3(tx, ty, tz).multiplyScalar(this.scale);
}
);
var path = new CustomSinCurve( 10 );
var geometry = new THREE.TubeGeometry(
path, //path
20, //segments
2, //radius
8, //radiusSegments
false //closed
);
Constructor
[name]([page:Curve path], [page:Integer segments], [page:Float radius], [page:Integer radiusSegments], [page:Boolean closed])
path — [page:Curve] - A path that inherits from the [page:Curve] base class
segments — [page:Integer] - The number of segments that make up the tube, default is 64
radius — [page:Float] - The radius of the tube, default is 1
radiusSegments — [page:Integer] - The number of segments that make up the cross-section, default is 8
closed — [page:Boolean] Is the tube open or closed, default is false
Properties
[property:Object parameters]
An object with all of the parameters that were used to generate the geometry.
[property:Array tangents]
An array of [page:Vector3] tangents
[property:Array normals]
An array of [page:Vector3] normals
[property:Array binormals]
An array of [page:Vector3] binormals
Methods
THREE.TubeGeometry.FrenetFrames([page:Curve path], [page:Integer segments], [page:Boolean closed])
path — A path that inherits from the [page:Curve] base class
segments — The number of segments that make up the tube
closed — Is the tube open or closed
A static method that generates the Frenet Frames. This is internally run on any new TubeGeometry and then the
generated tangents, normals, and binormals are exposed as properties on the TubeGeometry object.
Source
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]


[gecode-users] propagator PropCond
Guido Tack
tack at ps.uni-sb.de
Mon May 15 22:29:52 CEST 2006
> But I m a bit confused. My internal propagation functions
> "removeNonNeighbors" returns the ModEvents
>
> - ME_GEN_FAILED (caught by the macro Gecode_ME_CHECK)
> - ME_GEN_ASSIGNED (if both variables are assigned and fullfill my
> constraint)
> - ME_GEN_NONE (if nothing changed via propagation
> - ME_GEN_DOM (if on of the domain is changed)
>
> in the case of ME_GEN_ASSIGNED the propagator is done and dont have to
> be recalled in this branch... ES_SUBSUMED should be the right return
> choice isnt it? or is ES_FIX my choice and a solution corresponds with a
> fixpoint at that point?
You have to return ES_SUBSUMED at the latest when all your variables are
assigned - otherwise the propagator will not be destroyed, resulting in a
space leak. You can return it earlier, when you detect that your
propagator doesn't have to be called again. For instance, in a propagator
for x<y, you can return ES_SUBSUMED once the maximum of x is smaller than
the minimum of y, even if neither is yet assigned.
> in the two remaining cases something else should be thrown but I m not
> sure what! ES_OK? ES_NOFIX???
>From propagate, you should only return ES_FAILED, ES_SUBSUMED, ES_FIX, or
ES_NOFIX (and special versions of the latter two for staged propagation,
which you can ignore for now). Whether to return FIX or NOFIX depends on
whether you know that your propagator has reached a fixpoint. If unsure,
return NOFIX. This may result in your propagator being called too often
(which may be less efficient but correct). Returning FIX although you're
not at a fixpoint can result in the propagator being called not often
enough, and you might miss a failure: dangerous!
Cheers,
Guido
--
Guido Tack
http://www.ps.uni-sb.de/~tack
More information about the gecode-users
mailing list


Kustomize Components
As of v3.7.0
Kustomize supports a special type of kustomization that allows
one to define reusable pieces of configuration logic that can be included from
multiple overlays.
Components come in handy when dealing with applications that support multiple optional features and you wish to enable only a subset of them in different overlays, i.e., different features for different environments or audiences.
For more details regarding this feature you can read the Kustomize Components KEP.
Use case
Suppose you’ve written a very simple Web application:
apiVersion: apps/v1
kind: Deployment
metadata:
name: example
spec:
template:
spec:
containers:
- name: example
image: example:1.0
You want to deploy a community edition of this application as SaaS, so you add support for persistence (e.g. an external database), and bot detection (e.g. Google reCAPTCHA).
You’ve now attracted enterprise customers who want to deploy it on-premises, so you add LDAP support, and disable Google reCAPTCHA. At the same time, the devs need to be able to test parts of the application, so they want to deploy it with some features enabled and others not.
Here’s a matrix with the deployments of this application and the features enabled for each one:
| External DB | LDAP | reCAPTCHA | |
|---|---|---|---|
| Community | ✔ | ✔ | |
| Enterprise | ✔ | ✔ | |
| Dev | ✅ | ✅ | ✅ |
(✔ enabled, ✅: optional)
So, you want to make it easy to deploy your application in any of the above three environments. Here’s how you can do this with Kustomize components: each opt-in feature gets packaged as a component, so that it can be referred to from multiple higher-level overlays.
First, define a place to work:
DEMO_HOME=$(mktemp -d)
Define a common base that has a Deployment
and a simple ConfigMap
, that
is mounted on the application’s container.
BASE=$DEMO_HOME/base
mkdir $BASE
cat <<EOF >$BASE/kustomization.yaml
resources:
- deployment.yaml
configMapGenerator:
- name: conf
literals:
- main.conf=|
color=cornflower_blue
log_level=info
EOF
cat <<EOF >$BASE/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: example
spec:
template:
spec:
containers:
- name: example
image: example:1.0
volumeMounts:
- name: conf
mountPath: /etc/config
volumes:
- name: conf
configMap:
name: conf
EOF
Define an external_db
component, using kind: Component
, that creates a
Secret
for the DB password and a new entry in the ConfigMap
:
EXT_DB=$DEMO_HOME/components/external_db
mkdir -p $EXT_DB
cat <<EOF >$EXT_DB/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1alpha1 # <-- Component notation
kind: Component
secretGenerator:
- name: dbpass
files:
- dbpass.txt
patchesStrategicMerge:
- configmap.yaml
patchesJson6902:
- target:
group: apps
version: v1
kind: Deployment
name: example
path: deployment.yaml
EOF
cat <<EOF >$EXT_DB/deployment.yaml
- op: add
path: /spec/template/spec/volumes/0
value:
name: dbpass
secret:
secretName: dbpass
- op: add
path: /spec/template/spec/containers/0/volumeMounts/0
value:
mountPath: /var/run/secrets/db/
name: dbpass
EOF
cat <<EOF >$EXT_DB/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: conf
data:
db.conf: |
endpoint=<IP_ADDRESS>:1234
name=app
user=admin
pass=/var/run/secrets/db/dbpass.txt
EOF
Define an ldap
component, that creates a Secret
for the LDAP password
and a new entry in the ConfigMap
:
LDAP=$DEMO_HOME/components/ldap
mkdir -p $LDAP
cat <<EOF >$LDAP/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
secretGenerator:
- name: ldappass
files:
- ldappass.txt
patchesStrategicMerge:
- configmap.yaml
patchesJson6902:
- target:
group: apps
version: v1
kind: Deployment
name: example
path: deployment.yaml
EOF
cat <<EOF >$LDAP/deployment.yaml
- op: add
path: /spec/template/spec/volumes/0
value:
name: ldappass
secret:
secretName: ldappass
- op: add
path: /spec/template/spec/containers/0/volumeMounts/0
value:
mountPath: /var/run/secrets/ldap/
name: ldappass
EOF
cat <<EOF >$LDAP/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: conf
data:
ldap.conf: |
endpoint=ldap://ldap.example.com
bindDN=cn=admin,dc=example,dc=com
pass=/var/run/secrets/ldap/ldappass.txt
EOF
Define a recaptcha
component, that creates a Secret
for the reCAPTCHA
site/secret keys and a new entry in the ConfigMap
:
RECAPTCHA=$DEMO_HOME/components/recaptcha
mkdir -p $RECAPTCHA
cat <<EOF >$RECAPTCHA/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
secretGenerator:
- name: recaptcha
files:
- site_key.txt
- secret_key.txt
# Updating the ConfigMap works with generators as well.
configMapGenerator:
- name: conf
behavior: merge
literals:
- recaptcha.conf=|
enabled=true
site_key=/var/run/secrets/recaptcha/site_key.txt
secret_key=/var/run/secrets/recaptcha/secret_key.txt
patchesJson6902:
- target:
group: apps
version: v1
kind: Deployment
name: example
path: deployment.yaml
EOF
cat <<EOF >$RECAPTCHA/deployment.yaml
- op: add
path: /spec/template/spec/volumes/0
value:
name: recaptcha
secret:
secretName: recaptcha
- op: add
path: /spec/template/spec/containers/0/volumeMounts/0
value:
mountPath: /var/run/secrets/recaptcha/
name: recaptcha
EOF
Define a community
variant, that bundles the external DB and reCAPTCHA
components:
COMMUNITY=$DEMO_HOME/overlays/community
mkdir -p $COMMUNITY
cat <<EOF >$COMMUNITY/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
components:
- ../../components/external_db
- ../../components/recaptcha
EOF
Define an enterprise
overlay, that bundles the external DB and LDAP
components:
ENTERPRISE=$DEMO_HOME/overlays/enterprise
mkdir -p $ENTERPRISE
cat <<EOF >$ENTERPRISE/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
components:
- ../../components/external_db
- ../../components/ldap
EOF
Define a dev
overlay, that points to all the components and has LDAP
disabled:
DEV=$DEMO_HOME/overlays/dev
mkdir -p $DEV
cat <<EOF >$DEV/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
components:
- ../../components/external_db
#- ../../components/ldap
- ../../components/recaptcha
EOF
Now, the workspace has the following directories:
├── base
│ ├── deployment.yaml
│ └── kustomization.yaml
├── components
│ ├── external_db
│ │ ├── configmap.yaml
│ │ ├── dbpass.txt
│ │ ├── deployment.yaml
│ │ └── kustomization.yaml
│ ├── ldap
│ │ ├── configmap.yaml
│ │ ├── deployment.yaml
│ │ ├── kustomization.yaml
│ │ └── ldappass.txt
│ └── recaptcha
│ ├── deployment.yaml
│ ├── kustomization.yaml
│ ├── secret_key.txt
│ └── site_key.txt
└── overlays
├── community
│ └── kustomization.yaml
├── dev
│ └── kustomization.yaml
└── enterprise
└── kustomization.yaml
With this structure, you can generate the YAML manifests for each deployment
using kustomize build
:
kustomize build overlays/community
kustomize build overlays/enterprise
kustomize build overlays/dev


SupCom ReplayParser in javascript
Select a replay:
Load replay from FAF by id:
Hints
You can find your replay in this folder: C:\Users\yourname\Documents\My Games\Gas Powered Games\Supreme Commander Forged Alliance\replays.
If you play on FAF, you can find your replays in this folder: C:\ProgramData\FAForever\replays.
You can also grab replays from the FAF replay vault
Drop a supcom replay file anywhere on this page.


{% extends "core/base.html" %} {% block content %}
You must define an email and password or connect to another social oauth before disconnecting from Facebook.
{% endif %} {% else %}You must define an email and password or connect to another social oauth before disconnecting from Google.
{% endif %} {% else %}You must define an email and password or connect to another social oauth before disconnecting from GitHub.
{% endif %} {% else %}Warning: data stored will be irreversibly lost.
Delete account


We recently we discovered a major problem – organizing accessories for these Apple devices while on the road or in our workspace was a major.
A man of letters. A Platonic dreamer in a dream world. A masochist with
an idealized ego that denies reality.
A man of letters. A Platonic dreamer in a dream world. A masochist with
an idealized ego that denies reality.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
A man of letters. A Platonic dreamer in a dream world. A masochist with
an idealized ego that denies reality.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
What adventures do you get yourself into everyday, but people with disability gets into some pretty seriously.
We recently we discovered a major problem – organizing accessories for these Apple devices while on the road or in our workspace was a major.
We recently we discovered a major problem – organizing accessories for these Apple devices while on the road or in our workspace was a major.
A man of letters. A Platonic dreamer in a dream world. A masochist with
an idealized ego that denies reality.
Speaker: WIlliam Hannah, CEO, Xpeedstudio
Hall Name: Hall of fame, 124/ Zigzag City
Speaker: WIlliam Hannah, CEO, Xpeedstudio
Hall Name: Hall of fame, 124/ Zigzag City
Speaker: WIlliam Hannah, CEO, Xpeedstudio
Hall Name: Hall of fame, 124/ Zigzag City
Speaker: WIlliam Hannah, CEO, Xpeedstudio
Hall Name: Hall of fame, 124/ Zigzag City
Speaker: WIlliam Hannah, CEO, Xpeedstudio
Hall Name: Hall of fame, 124/ Zigzag City
Speaker: WIlliam Hannah, CEO, Xpeedstudio
Hall Name: Hall of fame, 124/ Zigzag City
Speaker: WIlliam Hannah, CEO, Xpeedstudio
Hall Name: Hall of fame, 124/ Zigzag City
Speaker: WIlliam Hannah, CEO, Xpeedstudio
Hall Name: Hall of fame, 124/ Zigzag City
A man of letters. A Platonic dreamer in a dream world. A masochist with
an idealized ego that denies reality.


I’m Amanda, I’m currently attending school for Web Development at Seattle University, in hopes to make a career as a Web Developer, specifically in UX Design or Front-end development. My desire with coding started several months ago, after building my first webpage from scratch. Seeing the code, I learned from books turn into a webpage was mind-blowing! From there, I was hooked, making multiple pages and motivating me to enroll in school.
I love making websites, in order to make a good site, it needs to be accessible for everyone to use, making content, design, layout and functionality a priority. We all deserve a good web experience, because let’s face it, the internet is here to stay, and is advancing every day. The internet provides news from around the world, communication, education, employment and security. As digital technologies continue to advance the need for Web Developers will always be in demand and I’m excited to see where this career takes me!
In this blog, each week I will post discussions from research that i've conducted on Web Usability, Design, Usability testing, Mobile testing and overall the importance of User Accessibility. The purpose of this blog is to explore these issues, provide answer's in hope users recognize the need for this industry. Billions of people have disabilities and are still struggling navigating there way around the internet. I hope you enjoy my finding's.


city_pop_dict = {}
for dat in city_pop_data.iterrows():
row = dat[1]
city_pop_dict[row["City"]] = row["pop_april_1990"]
big_cities = {}
return input_df
train_set = housing_data_clean(train_set)
train_set.head()
//do the same to the test set at the same time so they remain consistent with one another!
test_set = housing_data_clean(test_set)
X_train = train_set.drop("median_house_value", axis=1)


| Track # | Track Title | Track Length |
|---|---|---|
| 1 | Carousel | 3:16 |
| 2 | I Don't Want to Be a Bride | 4:01 |
| 3 | London | 4:19 |
| 4 | Fairweather Friend | 3:55 |
| 5 | Hear the Bells | 3:44 |
| 6 | Dear California | 3:19 |
| 7 | Tall Tales for Spring | 4:28 |
| 8 | Get Good | 3:54 |
| 9 | The Marching Line | 3:30 |
| 10 | In the End | 2:53 |


read the following rules and regulations
- It's require of you to purify your intention only for Allaah alone and Islaam.
- It's required of you to get all the required learning materials without any form of delay.
- It's an incumbent upon you to memorize what is required of you to memorize.
- It's an incumbent upon you to memorize what is required of you to memorize.
- And lastly, you should not be found in any other jurisdiction aside from madrasah except with the
permission of your Ustaadh.


Microverse is a good place to learn
Learning to code on your own can be lonely and difficult. At Microverse, you’ll join one of the most collaborative and social learning communities in the world. Every day, you, your coding partner, and your stand-up team will support and hold each other accountable to produce great work while remote pair programming.
Tribute to Microverse


This plugin provides an implementation of an old version of the Network Information API. It provides information about the device's cellular and wifi connection, and whether the device has an internet connection.
Report issues with this plugin on the Apache Cordova issue tracker.
cordova plugin add cordova-plugin-network-information
The
connection
object, exposed vianavigator.connection
, provides information about the device's cellular and wifi connection.
This property offers a fast way to determine the device's network connection state, and type of connection.
function checkConnection() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
alert('Connection type: ' + states[networkState]);
}
checkConnection();
Until Cordova 2.3.0, the Connection
object was accessed via
navigator.network.connection
, after which it was changed to
navigator.connection
to match the W3C specification. It's still
available at its original location, but is deprecated and will
eventually be removed.
navigator.connection.type
is set to Connection.CELL
for all cellular data.When running in the emulator, always detects navigator.connection.type
as Connection.UNKNOWN
.
Windows Phone can't detect the type of cellular network connection.
navigator.connection.type
is set to Connection.CELL
for all cellular data.navigator.connection.type
as Connection.ETHERNET
.navigator.connection.type
is set to Connection.CELL_2G
for all cellular data.navigator.connection.type
is set to Connection.CELL
for all cellular data.navigator.connection.type
is always set to Connection.UNKNOWN
when online.The event fires when an application goes offline, and the device is not connected to the Internet.
document.addEventListener("offline", yourCallbackFunction, false);
The offline
event fires when a previously connected device loses a
network connection so that an application can no longer access the
Internet. It relies on the same information as the Connection API,
and fires when the value of connection.type
becomes NONE
.
Applications typically should use document.addEventListener
to
attach an event listener once the deviceready
event fires.
document.addEventListener("offline", onOffline, false);
function onOffline() {
// Handle the offline event
}
During initial startup, the first offline event (if applicable) takes at least a second to fire.
When running in the Emulator, the connection.status
is always unknown, so this event does not fire.
The Emulator reports the connection type as Cellular
, which does not change, so the event does not fire.
This event fires when an application goes online, and the device becomes connected to the Internet.
document.addEventListener("online", yourCallbackFunction, false);
The online
event fires when a previously unconnected device receives
a network connection to allow an application access to the Internet.
It relies on the same information as the Connection API,
and fires when the connection.type
changes from NONE
to any other
value.
Applications typically should use document.addEventListener
to
attach an event listener once the deviceready
event fires.
document.addEventListener("online", onOnline, false);
function onOnline() {
// Handle the online event
}
During initial startup, the first online
event (if applicable) takes
at least a second to fire, prior to which connection.type
is
UNKNOWN
.
When running in the Emulator, the connection.status
is always unknown, so this event does not fire.
The Emulator reports the connection type as Cellular
, which does not change, so events does not fire.


CI support Teams: Team Cheetah, Team Opera, Team Shadow
FW support Teams: Team GTT, Team Phobos
Build&Git support Team: Team Bob


Class Hierarchy
Compound List
Compound Members
Related Pages
CSoundMix Member List
This is the complete list of members for
CSoundMix
, including all inherited members.
AddSound
(CSoundChannel*)
AllocBuffers
()
BuildBuffer
( int bufferId )
CloseDevice
()
Construct
()
Destruct
()
EnlargeBuffers
()
FreeBuffers
()
GetScratch
()
MarkBufferComplete
(int i)
OpenDevice
()
ReleaseScratch
()
Version 1.0 of the Flash 4 Porting SDK Middlesoft, Inc.


Fabric8-analytics QA dashboard
Services liveness and readiness
Environment
Core API
Jobs API
Auth.token
to core API
Auth.token
to jobs API
Smoketests
Smoketests
history
Stage
✓
✓
✓
✓
?
Production
✓
✓
✓
✓
×
link
0/100
SLA
Benchmark
Stack analysis
Component analysis for known component
Component analysis for unknown component
Test type
Sequential
Parallel
Sequential
Parallel
Sequential
Parallel
Results
duration (s)
limit (s)
status
duration (s)
limit (s)
status
duration (s)
limit (s)
status
duration (s)
limit (s)
status
duration (s)
limit (s)
status
duration (s)
limit (s)
status
Max.time
20.91
60.00
✓
28.58
60.00
✓
0.96
1.50
✓
2.86
5.00
✓
1.64
1.50
×
4.88
5.00
✓
Avg.time
7.79
45.00
✓
15.57
45.00
✓
0.89
1.00
✓
1.56
2.00
✓
1.25
1.00
×
3.07
2.00
×
Total time
77.92
250.00
✓
71.95
200.00
✓
8.92
12.00
✓
7.20
12.00
✓
12.54
12.00
×
13.31
12.00
×
Code quality
Repository
Source files
Linter results
Pydocstyle results
Code coverage
Dead code
Common issues
Cyclomatic
Complexity
Maintainabi-
lity Index
Overall
status
Remark
Files
Total lines
Pass
Fail
Pass %
Pass
Fail
Pass %
Stmts.
Missed
Covered
A
B
C
D
E
F
A
B
C
fabric8-analytics-common
158
21144
158
0
100%
158
0
100%
ok
ok
1518
19
0
0
0
0
157
1
0
×
unit tests has not been setup
improve maintainability index
fabric8-analytics-server
23
4985
23
0
100%
23
0
100%
2133
1109
48%
ok
ok
223
34
6
1
0
0
20
2
1
×
improve code coverage
reduce cyclomatic complexity
improve maintainability index
fabric8-analytics-worker
170
15935
170
0
100%
169
0
100%
5425
1908
65%
ok
1
828
86
9
1
0
0
169
1
0
×
improve code coverage
1 file ignored by pydocstyle
reduce cyclomatic complexity
improve maintainability index
fix common errors
fabric8-analytics-jobs
65
4635
65
0
100%
65
0
100%
1994
1526
23%
ok
ok
269
31
6
0
0
0
65
0
0
×
improve code coverage
fabric8-analytics-tagger
44
4178
44
0
100%
44
0
100%
887
38
96%
ok
ok
241
31
14
0
0
0
44
0
0
✓
fabric8-analytics-stack-analysis
92
5535
92
0
100%
92
0
100%
2110
1025
51%
ok
2
260
17
3
0
0
0
92
0
0
×
improve code coverage
fix common errors
fabric8-analytics-license-analysis
29
3689
28
0
100%
28
0
100%
845
54
94%
ok
ok
200
26
13
1
0
0
28
1
0
×
not all source files are checked by linter
not all source files are checked by pydocstyle
reduce cyclomatic complexity
improve maintainability index
fabric8-analytics-data-model
27
4925
27
0
100%
27
0
100%
1279
79
94%
ok
ok
183
40
8
1
1
0
27
0
0
×
reduce cyclomatic complexity
fabric8-analytics-recommender
17
1052
17
0
100%
17
0
100%
ok
ok
62
4
0
0
0
0
17
0
0
×
unit tests has not been setup
fabric8-analytics-api-gateway
10
453
10
0
100%
10
0
100%
149
69
54%
ok
ok
27
1
0
0
0
0
10
0
0
×
improve code coverage
fabric8-analytics-nvd-toolkit
34
5152
34
0
100%
34
0
100%
1042
93
91%
ok
ok
222
24
2
0
0
0
34
0
0
✓
fabric8-analytics-auth
9
883
9
0
100%
8
1
89%
154
31
80%
ok
ok
59
3
1
0
0
0
9
0
0
×
improve code coverage
pydocstyle check failed
fabric8-gemini-server
23
2890
23
0
100%
23
0
100%
680
57
92%
ok
ok
158
13
3
0
0
0
22
1
0
×
improve maintainability index
fabric8-analytics-version-comparator
9
1147
9
0
100%
9
0
100%
217
0
100%
ok
ok
50
13
2
0
0
0
9
0
0
✓
fabric8-analytics-ingestion
16
1074
16
0
100%
16
0
100%
228
107
53%
ok
ok
53
4
0
0
0
0
16
0
0
×
improve code coverage
fabric8-analytics-npm-insights
41
2957
41
0
100%
41
0
100%
500
85
83%
ok
2
148
2
2
0
0
0
41
0
0
×
improve code coverage
fix common errors
fabric8-analytics-notification-scheduler
13
1793
13
0
100%
13
0
100%
554
190
66%
ok
ok
58
3
4
0
0
0
13
0
0
×
improve code coverage
fabric8-analytics-utils
10
1067
10
0
100%
10
0
100%
305
1
99%
ok
ok
51
12
2
0
0
0
10
0
0
✓
fabric8-analytics-github-refresh-cronjob
4
309
4
0
100%
4
0
100%
ok
ok
16
1
0
0
0
0
4
0
0
×
unit tests has not been setup
fabric8-analytics-github-events-monitor
15
1182
15
0
100%
15
0
100%
230
20
91%
ok
ok
57
8
0
0
0
0
15
0
0
✓
fabric8-analytics-release-monitor
10
819
10
0
100%
10
0
100%
126
21
83%
ok
ok
51
1
0
0
0
0
10
0
0
×
improve code coverage
f8a-server-backbone
12
2933
12
0
100%
12
0
100%
907
82
91%
ok
ok
96
21
4
0
0
0
11
1
0
×
improve maintainability index
fabric8-analytics-rudra
43
3358
41
2
95%
28
15
65%
ok
1
251
30
3
0
0
0
43
0
0
×
unit tests has not been setup
linter failed
pydocstyle check failed
fix common errors
fabric8-analytics-scaler
2
157
2
0
100%
2
0
100%
ok
ok
5
1
0
0
0
0
2
0
0
×
unit tests has not been setup
f8a-emr-deployment
9
269
9
0
100%
9
0
100%
88
49
44%
ok
ok
17
0
0
0
0
0
9
0
0
×
improve code coverage
f8a-hpf-insights
18
1097
18
0
100%
18
0
100%
164
107
35%
ok
ok
63
4
0
0
0
0
18
0
0
×
improve code coverage
f8a-golang-insights
16
974
16
0
100%
16
0
100%
222
108
51%
ok
ok
48
4
1
0
0
0
16
0
0
×
improve code coverage
f8a-pypi-insights
14
1052
14
0
100%
14
0
100%
153
72
53%
ok
ok
52
3
3
0
0
0
14
0
0
×
improve code coverage
f8a-stacks-report
20
3251
20
0
100%
20
0
100%
1052
138
87%
ok
ok
155
15
5
0
0
0
20
0
0
×
improve code coverage
f8a-data-ingestion-service
5
182
5
0
100%
5
0
100%
ok
ok
14
0
0
0
0
0
5
0
0
×
unit tests has not been setup
cvejob
39
3546
35
0
100%
30
5
86%
684
107
84%
ok
1
157
31
7
0
0
0
34
1
0
×
improve code coverage
pydocstyle check failed
improve maintainability index
fix common errors
victimsdb-lib
9
843
9
0
100%
9
0
100%
204
0
100%
ok
ok
71
8
2
0
0
0
9
0
0
✓
fabric8-analytics-jenkins-plugin
10
1028
N/A
N/A
N/A
N/A
N/A
N/A
348
112
67%
×
×
0
0
0
0
0
0
0
0
0
×
linter is not setup
docstyle checker is not setup
improve code coverage
setup dead code detection tool
setup common errors detection tool
Summary
CI jobs
Repository
Build job
Test job
Pylint job
Pydocstyle job
fabric8-analytics-common
×
fabric8-analytics-server
fabric8-analytics-worker
fabric8-analytics-jobs
fabric8-analytics-tagger
×
fabric8-analytics-stack-analysis
fabric8-analytics-license-analysis
fabric8-analytics-data-model
fabric8-analytics-recommender
×
×
fabric8-analytics-api-gateway
fabric8-analytics-nvd-toolkit
×
fabric8-analytics-auth
×
fabric8-gemini-server
fabric8-analytics-version-comparator
×
fabric8-analytics-ingestion
×
fabric8-analytics-npm-insights
fabric8-analytics-notification-scheduler
fabric8-analytics-utils
fabric8-analytics-github-refresh-cronjob
fabric8-analytics-github-events-monitor
×
fabric8-analytics-release-monitor
f8a-server-backbone
fabric8-analytics-rudra
×
×
×
×
fabric8-analytics-scaler
×
×
f8a-emr-deployment
f8a-hpf-insights
f8a-golang-insights
f8a-pypi-insights
f8a-stacks-report
f8a-data-ingestion-service
cvejob
victimsdb-lib
fabric8-analytics-jenkins-plugin
×
×
×
Generated By: Meer Sawood <
<EMAIL_ADDRESS>>
Generated on: 2020-04-28 12:44:30


JourneyMap Color Palette
Put this file in the same directory as colorpalette.json to view the color palette.
Mods:
Resource Packs:
Basic Colors:


Multiple Device Scripts¶
Multiple Device Scripts are scripts that are designed to be executed while NOT attached to a remote device (You will get an error if you try to launch a multi-device script from a connected tab). The script will prompt for an input CSV containing all of the hosts and other required details (credentials, jumpbox, etc) to be able to connect all of the devices in the list automatically. The logic of the script will be performed on each device, one at a time.
Device Import CSV File¶
The device list CSV has required columns that must be included. These are the Hostname, Protocol, Username columns (case sensitive). If these columns are missing from your CSV file an error will be returned, because these are the minimum pieces of information required to connect to a device. A sample device input CSV file is located at `templates/sample_device_list.csv`
Additional columns are allowed to be in the CSV file and will be accessible from the scripts, although the data will never be used if a script is not written to look for a particular column. For example, the “m_document_device” script will use a column called “Command List” to override which list of commands (in the settings.ini file) are used when documenting that particular device. The same device list can be used in other multi-device scripts, but they will not try to access that column.
Some standard columns that will be added with default vaules if missings are “Password”, “Enable” and “Proxy Session”:
- The “Password” field lets you override the password used with that device. Generally this is left blank because the script will prompt for a password when one isn’t defined so that you aren’t required to save a password in the file. This field may still be useful when a particular device has a different password for the same username.
- The “Enable” column will override the default enable password that the script uses (based on prompting the user).
- The “Proxy Session” column can override the default SecureCRT session to use as a proxy to reach the target device. The default SecureCRT session is in the settings.ini file (as well as a flag on whether to use a proxy or not).
Available Scripts¶
Below is a list of multi-device scripts available with this release of SecureCRT Tools.


UK lowers security level for its ships in Strait of Hormuz
LONDON (Reuters) - Britain lowered its security risk level for UK-flagged ships traveling through the Strait of Hormuz on Thursday, more than a month after one of its tankers was finally released from detention by Iran.
The Stena Impero was seized in July by Iran’s Revolutionary Guards in the Strait, a major oil shipping route, for alleged marine violations two weeks after Britain detained an Iranian tanker off Gibraltar. The Iranian ship was released in August.
“UK-flagged ships will soon be able to transit the Strait of Hormuz without close Royal Naval accompaniment, following a decrease in the specific risk of detention of these vessels,” a government spokeswoman said.
The Royal Navy’s Fleet Commander told Reuters in September that the deployment of its warships had helped to stabilize commercial shipping through the critical chokepoint.
The UK Chamber of Shipping said it had been calling for a de-escalation of tensions in the Strait of Hormuz and welcomed the news that British-flagged ships would soon be able to transit the area without close Royal Navy protection.
“We continue to urge all ships operating in the region to liaise with the relevant authorities to ensure their safety and to enable the free flow of goods across the world,” a spokesman for the trade association said on Thursday.
“Global trade relies on the safe passage of goods and without this consumers and businesses could suffer with increased costs.”
Several international merchant vessels have been attacked in the Gulf this year in incidents that have rocked world commodities trading. Washington has blamed Iran, which denies the accusation.


The Little Help Book is a collaborative led by White Bird Clinic with the goal of networking multiple resource directories so that when information in one database is updated by a provider, the updates go to all the members of the network. This is a public information network for human and social services in Lane County, Oregon.
Legend
Contribute
We'd like to expand the listings of social services for all of Lane County and your help with this is welcome. If we are missing a service, please email<EMAIL_ADDRESS>All observations and suggestions for how to improve the resource directory are appreciated. And we put together the form here with entry fields to help identify some information we hope to include.
For those with experience working with vulnerable populations, help is needed researching how to improve the ease of navigation and access to services for people-in-need. As a Code for America brigade, this is an opportunity for us to learn and practice qualitative research and draw from our organization's expertise. If you enjoy collaboration and creativity, problem definition and solution-seeking, we'd love to have you on the team. Learn more at our README and join the proj-little-help-book channel on the EugeneTech Slack workspace.
You can contribute as a backer or sponsor at our Open Eugene collective page.
Thank yous
For the first version of the print Little Help Book, every service included there contributed their information thanks to the following folks and organizations: Steve Kimes, Eric Luuvas, Brynn Grossman, Eugene Mennonite Church, Diane Kimes, Heather Sielicki, Lane County Human Services, Community Supported Shelters, City of Eugene, Sponsors, Inc., Eugene Mennonite, and HIV Alliance. Special thank you to Alicia Jones at The Child Center, and for our partners in the creation of the online directory: White Bird Clinic, New Avenues for Youth, Open Eugene, MVP Studio, Dark Matter Consulting, and Open Referral.
This site is a work in progress collaboration. Please share with us any errors or omissions as well as ideas for making this better. Thank you!


{% extends 'multiplicity/base.html' %} {% load bootstrap3 %} {% load static %} {% block title %}People{% endblock %} {% block container %}stretch-bg-head{% endblock %} {% block content %}
If this person is duplicated then you can merge this person with an existing record. This is preferred over removing the record because any links to existing publications etc. will be retained.
Select the person to merge this record with. Note: the record below will remain in existence and this record (#{{ info.id }}) will be removed. The list below will only show active records.
{% endif %} {% endblock %} {% block head %} {% endblock %} {% block sidebar %} {% include 'multiplicity/sidebar.default.html' %} {% endblock %} {% block footer %} {% endblock %}


Home
(current)
Movie Genre
All
Drama
Comedy
Action
Thriller
Romantic
Horror
Search Criteria
IMDb ID
Title, Year
Contact Us
×
Share
:
Contact Us
×
ACTION
Previous
Next
COMEDY
Previous
Next
DRAMA
Previous
Next
ROMANTIC
Previous
Next
THRILLER
Previous
Next
HORROR
Previous
Next
×


--- layout: page title: 2016-17 Packet Submission guidelines date: type: page parent_id: '0' published: false password: '' status: draft categories: [] tags: [] meta: {} author: login: gkandlikar email<EMAIL_ADDRESS>display_name: Gilbert Keith first_name: '' last_name: '' permalink: "/" ---
Any team with at least one person on it who played a regular, collegiate, academic quizbowl tournament (either as a college student or as a high school student) prior to September 1, 2015 is required to submit a packet in order to participate in an ACF tournament in 2016-2017.
FAQ: What counts as a “Regular, Collegiate, Academic quizbowl tournament”?
All ACF tournaments, NAQT Division I or Division II SCT, NAQT ICT, and typical academic invitationals and summer opens count as regular collegiate academic tournaments.
Trash or “hybrid” tournaments, College Bowl/HCASC, and tournaments played on NAQT “Invitational Series” questions do not.
This test is applied to individual team, not to your school’s contingent as a whole. If you are unsure about whether you are required to write a packet, then please contact the ACF editor for the tournament.
Want to know what a well-formatted packet looks like? Take a look at this packet ACF member Rob Carson submitted for ACF Regionals 2014.
[googleapps domain="docs" dir="document/d/1VcuDQbNYG124iqvBu6AdXbcUq-3sOc_YP_dyjXvXTFE/pub" query="embedded=true" width="800" height="400" /]
All Full Packet submissions should have 24 tossups and 24 bonuses according to the distribution outlined below.
The following distribution applies to ACF Regionals and ACF Nationals Submissions. See the 2015 ACF Fall Announcement for information about half-packet distributions.
Note: The X/Y notation used throughout this section refers to X tossups and Y bonuses. Eg. If you see Fine Arts 3/3, it means 3 tossups and 3 bonuses.
Vary questions across time periods. Do not write more than 1 question on very recent (post-1990) literature. Please make sure your questions span a variety of answers such as authors, novels, poems, criticism, essays, etc.
You may write up to 4 questions on military history (battles, wars, or people known primarily for their military accomplishments.)
You may write up to 1 question on the history of science. Questions on famous experiments which focus on the scientific principles at work are considered science rather than science history.
Write least 1 and no more than 2 questions in this category on non-Western topics. You may write about events which straddle the line between history and religion for either history or religion, but don’t write about religious history for both categories.
Write on a visual category and an auditory art Other Fine Arts. E.g. pick jazz and photography, or opera and architecture, but not opera and jazz.
Possible topics for this category include economics, psychology, sociology, linguistics, anthropology, political science, social criticism, and law. (Questions on Supreme Court cases go under history; other law questions may go here.)
Do not write more than 1 question from a particular field of study.
Possible topics for this category include physical features, countries, cities, regions, etc. Ethnic groups can be geography; languages are more likely social science.
Do not write both questions on the same kind of political or physical feature, such as rivers, bodies of water, mountains, cities etc. Do not write both questions on the same area of the world.
You can write anything you wish here except for topics included in the other broad categories above. You can write questions which mix categories here.
Do not write more than one trash question from the same general category. E.g. Don’t write two questions on sports.
Consult individual tournament announcements for difficulty guidelines.
A simple, two-line description of good tossup writing:
Write your tossups on easier topics. Use challenging clues for the leadin, and use progressively easier clues. End your tossups with a giveaway that most in the field would know.
Do NOT write tossups which are:
Nearly all bonuses should have 3 parts worth 10 points each. Bonuses should have:
If you are unsure about the difficulty of a bonus you are writing, then you should err on the side of easier or write on something else entirely.
You may, very occasionally, write a bonus with four parts, two worth 5 and two worth 10.
We prohibit specific types of bonuses and levy penalties on teams that submit packets with prohibited formats. For more information, click here.
Please follow the ACF Formatting Guidelines when formatting your packet.
Several ACF editors have provided tips on how to write good questions. Please consult the following guides:
In addition to the above question-writing guides, we encourage you to consult old ACF events as writing models.
We recommend:
Please submit your packet as a .doc, .docx, or .rtf file. Submit all questions in 10-point Times New Roman font. Your document should have 1-inch margins on all sides. PDFs, .odt, .html, .txt or any other formats are not acceptable.
If editors cannot open your packet on the first try, they will return your packet to you and have you re-send a fixed version before it is considered submitted for fee purposes.
Please follow the following file-naming scheme when submitting packets:
<Tournament Name> <Year> - <School Name> <Team Name or Letter>
For instance, if UC Irvine’s A team is submitting a packet for 2015 ACF Regionals, it should be named:
ACF Regionals 2015 – UC Irvine A
We offer discounts for early submission of packets, and levy a penalty for late packet submissions. Click here for the packet-submission discount/penalty schedules.
Gross deviation from packet-formatting guidelines: $50 penalty
Submission of prohibited types of questions: $25 penalty per question
Prohibited types of questions include:
We do not tolerate plagiarism, and there will be consequences for any instances of plagiarism. Please refer to ACF’s policy on plagiarism.