b2GearJoint Class Reference
#include <b2GearJoint.h>
List of all members.
Detailed Description
A gear joint is used to connect two joints together. Either joint can be a revolute or prismatic joint. You specify a gear ratio to bind the motions together: coordinate1 + ratio * coordinate2 = constant The ratio can be negative or positive. If one joint is a revolute joint and the other joint is a prismatic joint, then the ratio will have units of length or units of 1/length.
- Warning:
- The revolute and prismatic joints must be attached to fixed bodies (which must be body1 on those joints).
Constructor & Destructor Documentation
Member Function Documentation
| b2Vec2 b2GearJoint::GetAnchorA |
( |
|
) |
const [virtual] |
Get the anchor point on bodyA in world coordinates.
Implements b2Joint.
| b2Vec2 b2GearJoint::GetAnchorB |
( |
|
) |
const [virtual] |
Get the anchor point on bodyB in world coordinates.
Implements b2Joint.
| float32 b2GearJoint::GetRatio |
( |
|
) |
const |
| b2Vec2 b2GearJoint::GetReactionForce |
( |
float32 |
inv_dt |
) |
const [virtual] |
Get the reaction force on body2 at the joint anchor in Newtons.
Implements b2Joint.
| float32 b2GearJoint::GetReactionTorque |
( |
float32 |
inv_dt |
) |
const [virtual] |
Get the reaction torque on body2 in N*m.
Implements b2Joint.
| void b2GearJoint::InitVelocityConstraints |
( |
const b2TimeStep & |
step |
) |
[protected, virtual] |
| void b2GearJoint::SetRatio |
( |
float32 |
ratio |
) |
|
| bool b2GearJoint::SolvePositionConstraints |
( |
float32 |
baumgarte |
) |
[protected, virtual] |
| void b2GearJoint::SolveVelocityConstraints |
( |
const b2TimeStep & |
step |
) |
[protected, virtual] |
Friends And Related Function Documentation
Member Data Documentation
The documentation for this class was generated from the following files:


ReScrew
Sign up to Contract Rescuer
Welcome to ReScrew,
Create an account and get going
Account
Profile
Type of company
Small Scale Comapny
Large Scale Comapany
Card Details
Sign Up
By registering you agree to our
Privacy Policy


Getting Started
To get started, you’ll need to download the Breakout software, make sure you have the Arduino application installed and a compatible I/O board along with a button, LED, a couple of resistors and a breadboard.
Requirements
View system and browser requirements
Download and Install Breakout
- Clone the github repository or download the latest release
- See the Installation section of the Using Breakout Server guide.
Upload BreakoutFirmata to your I/O board
This section assumes you are familiar with the Arduino application and the process of uploading new programs (‘sketches’) to the I/O board. If you are new to Arduino, please first see the Getting Started section for your platform (Mac, Windows or Linux) on the Arduino website.
- Install the ConfigurableFirmata library in you Arduino sketchbook libraries folder. The easiest way to install it if you are using Arduino version 1.6.4 or higher is to use the Arduino Library manager (in the Arduino IDE, navigate to Sketch > Include Library > Manage Libraries, then search for “ConfigurableFirmata” and click on Install after tapping on the ConfigurableFirmata item in the filtered results. If you have an older Arduino IDE, see the installation instructions in the ConfigurableFirmata README file.
- Navigate to Breakout/firmware/BreakoutFirmata/.
- Open BreakoutFirmata.ino in Arduino 1.0 or higher (Preferably Arduino version 1.6.4 or higher).
- Compile and upload BreakoutFirmata to your I/O board (make sure your particular I/O board is selected under Tools -> Board).
BreakoutFirmata is a program that allows a client application running on a computer to communicate with the I/O board, and is just one application of the Firmata protocol. See firmata.org for a complete overview.
Wire a button and LED to your I/O board
Open schematics.pdf and wire up your components according to wiring diagram on page 2. If you have no idea what the diagram means, read through the lessons in this tutorial by ladyada..
Run Breakout Server
Assuming you performed the steps in the Download and Install Breakout section above, you can now double-click on the Breakout Server application (you’ll find it in Breakout/server/) for your platform to launch it (Linux users need to launch the jar file from the command line unless you set up a custom launcher).
When you launch the server you should see the following:
- Select the serial port your I/O board is connected to (if it is not already displayed in the drop down).
- If you have a firewall enabled for your computer or network, make sure port 8887 is open, or enter a new port number that is open (be sure to hit the enter key upon typing in a new port number).
- Click the Connect button.
You should now see this screen:
The name of your computer and the network port you are connected to should be printed along with the serial port your I/O board is connected to (on windows this will say something like “COM3”).
If you encounter any issues, refer to the Troubleshooting section of the Using Breakout Server guide.
Running the Hello World example
Assuming you were able to launch the server and connect without any issues, you should now be ready to open an example.
- Open Chrome, Firefox or Safari and enter the following url: http://localhost:8887/examples/getting_started/hello_world.html
- You should be able to click the LED On an LED Off buttons to turn the LED wired to pin 11 on or off. If you press the button wired to pin 2 of the Arduino board, the button state (pressed or released) should be displayed on the screen.
- If this is not working, double (or triple) check your wiring. You may have the Led backwards for example.
Note that if you changed the network port in the server you will also need to change the network port in the url above as well as in the hello_world.html file on line 71.
Running the Hello World example from the Web
You can also load files from external web servers (such as the one hosting this post). In this case Breakout Server is simply bridging the serial data from the I/O board with the websocket connection to the page you have loaded from an external server. Note that the example below will only work if you can connect to network port 8887 (because this is the port number set in the file you are loading).
- With Breakout Server connected, refresh this page. Use the buttons to turn the LED on or off. Pressing the physical button on the breadboard will display the button state (pressed or released) on the screen below.
Let’s take a look at the hello_world code
The minified file Breakout.js is included near the top of the file. You’ll see jQuery is also included on the following line. Many of the examples use the jQuery library. jQuery is not a requirement of Breakout and is only included for the examples. You can use any javascript framework you like with Breakout.
Breakout uses the namespace BO. If you do not want to type the full namespace for each object, you can declare variables at the top of your file to refer to the objects from the Breakout library that you are using. Here are the objects used in the hello_world example:
var IOBoard = BO.IOBoard;
var IOBoardEvent = BO.IOBoardEvent;
var LED = BO.io.LED;
var Button = BO.io.Button;
var ButtonEvent = BO.io.ButtonEvent;
See the Breakout docs for details on all of the Breakout objects.
Next an instance of the IOBoard object is created. The constructor parameters are the IP address (as a String), and the network port.
var arduino = new IOBoard(host, 8887);
Host is the IP address or hostname of the computer the IO board is connected to. The host is set to either “localhost” or window.location.hostname (which is the IP address of the computer serving this web page). Just in case the following lines don’t make sense, I’ll explain them briefly:
var host = window.location.hostname; // if the file is opened locally, set the host to "localhost" if (window.location.protocol.indexOf("file:") === 0) { host = "localhost"; }
What this does is sets the host by default to window.location.hostname, but if the file is opened directly
(double-clicking on the html file) instead of loading it from a server, the host is set to
“localhost”. This enables the file to be opened by either means. However you can leave these lines
out in your own applications and simple set the host to “localhost”,
window.location.hostname
, or a specific IP address. Setting host to
window.location.hostname
enables you to open the application locally or on a mobile device on the
same network as the computer the IO board is connected to.
When an IOBoard instance is created it must finish its initialization routine before you can send any commands. Listen for the READY event to be notified when it is safe to send data to the I/O board.
arduino.addEventListener(IOBoardEvent.READY, onReady);
When the onReady method is called, the first thing you should always do is remove the event listener for the READY event:
arduino.removeEventListener(IOBoardEvent.READY, onReady);
Next an instance of an LED object is created. Breakout provides a number of hardware abstractions such as LED, Button, Servo, etc. The LED constructor parameters are a reference to the IOBoard object, and a reference to the pin the LED is connected to. The getDigitalPin(pinNumber) and getAnalogPin(analogPinNumber) methods are used to get a reference to a Pin object. See the docs for BO.Pin for details.
led = new LED(arduino, arduino.getDigitalPin(11));
Next an instance of the Button object is created. Note that if you are using a javascript UI library that also has an object named ‘Button’ then you will need to use the full namespace for the Breakout button to avoid any naming conflicts (BO.io.Button). The Button object takes 3 parameters: A reference to the IOBoard, a reference to the Pin the button is attached to, and the button mode. The default mode is Button.PULL_DOWN. Other modes are Button.PULL_UP and Button.INTERNAL_PULL_UP. Which one you use depends on how you have wired the physical button to your I/O board. If the other end of the resistor connected to the button is connected to ground, then the mode is PULL_DOWN, if the other end is connected to power, then the mode is PULL_UP and if a resistor is not used, the mode is INTERNAL_PULL_UP.
var button = new Button(arduino, arduino.getDigitalPin(2), Button.PULL_DOWN);
Listen for PRESS and RELEASE button events to be notified when the button state changes.
button.addEventListener(ButtonEvent.PRESS, onPress);
button.addEventListener(ButtonEvent.RELEASE, onRelease);
The onPress method is called whenever the physical button is pressed and the onRelease method is called every time the button is released. The parameter passed to onPress and onRelease callback functions is a reference to the event object. Each event object has a target property which refers to the object that triggered the event. Therefore event.target gives us a reference to the button that was pressed (in the case that more than one button is connected to the I/O board, this is helpful). jQuery is used simply to print the button state to the browser window.
function onPress(evt) { // get a reference to the button object that fired the event var btn = evt.target; $('#state').html("Button " + btn.pinNumber + " state: Pressed"); } function onRelease(evt) { // get a reference to the button object that fired the event var btn = evt.target; $('#state').html("Button " + btn.pinNumber + " state: Released"); }
The following 2 lines register click events with the two on-screen buttons:
$('#btnLeft').on('click', turnLedOff); $('#btnRight').on('click', turnLedOn);
When a button is clicked, the LED is turned on or off:
function turnLedOn(evt) { // turn the LED on led.on(); } function turnLedOff(evt) { // turn the LED off led.off(); }
The remaining code is simply used to show or hide the schematic view.
Next Steps
- Take a look at the getting started examples in Breakout/examples/. Wire up the circuit on page 3 of the schematics.pdf and open Breakout/examples/index.html on a desktop/laptop computer, tablet or smartphone.
- Try out some of the sensor and actuator examples if you have the components.
- Check out the Using the Pin Object guide for a detailed explanation on how to use digital and analog input and output in Breakout.
- See the Breakout File Structure Overview guide.
- Browse the documentation to learn more about the various objects in the Breakout library.
- Read the Using Breakout Server guide to learn how to enable multi-client connections and how to select a new webserver root directory.


Created in 2005 by THE Linus Torvalds to help with developing the Linux kernel.
They were unhappy with the system they were using (BitKeeper) since the company decided to start charging them.
A Distributed version-control system
What's that?
is a system that records changes to a file or set of files over time so that you can recall specific versions later.
Meaning the entire repository is stored on each contributor's local storage
As a distributed system this means that every local repo is a complete copy of the remote.
This gives many advantages:
This does however come with a few complications:
Set github user information
> git config --global user.email<EMAIL_ADDRESS>NOTE<EMAIL_ADDRESS>is your github user email
Set github user information
> git config --global user.email<EMAIL_ADDRESS>NOTE<EMAIL_ADDRESS>is your github user email
>
cd path/to/my/project
>
git init
>
git remote add origin https://.github.com/...
If you want to pick up an existing project from a remote like github:
clone
button>
cd path/to/projects/folder
>
git clone https://.github.com/...
Now that you have a local repo we can now start tracking code changes
You have 3 parts of your local repository
Index
>
git add \<filename>
HEAD
>
git commit -m "Commit message"
>
git push origin master
git checkout -b "new-branch-name"
git checkout master
then
git merge
"new-branch-name"
.gitignore
.*.env
will ignore
all files that end with .env
.You will start to love git once you learn to use git reflog
HEAD@{#}
on each linegit reset HEAD@{1}
working directory
into the same state it was before that last actiongit push --force
WARNING: Be very careful when rewriting history on the remote. This cannot be undone and you will cause all other cloned repos to get out of sync. They will have to reclone the repo.
Inside your .gitconfig
file you can define aliases to speed up your workflow
Heres an example with git log
git log
:
click here for example aliases
Example output of git lg2


Welcome to My Website, and Enjoy !
Plaosan Temple(Candi Plaosan)
Candi Plaosan, also known as the 'Plaosan Complex', is one of the Buddhist temples located in Bugisan village, Prambanan district, Klaten Regency, Central Java, Indonesia, about 1 kilometre (2⁄3 mile) to the northeast of the renowned Hindu Prambanan Temple.
Candi Plaosan covers an area of 2,000 square metres (22,000 square feet) with an elevation of 148 metres (486 feet) above sea level. The Dengok River is located nearby, about 200 metres (220 yards) away. Candi Plaosan is surrounded by paddy fields along with vegetation such as banana and corn. .
Jungwook Beach(Pantai Jungwook)
Jungwok Beach is a beach located in Jepitu Village, Girisubo District, Gunungkidul Regency, Special Region of Yogyakarta. Jungwok Beach is one of the beaches that has a beautiful panorama with white sand that is typical of the beach at Gunung Kidul. Jungwok Beach is located east of Wediombo Beach and west of Ngusalan Beach.
The distance of Jungwok Beach from Wonosari City is around 40 km. Access road to Jungwook Beach is still quite difficult, it causes the road that has not been paved. Jungwok beach is often a tourist destination because it is a comfortable place for camping.
Hello Guys ! My name is Jihan Vera Pramayda. You can call me Jihan. I am a college student. I really like travelling.
And this blog contains information on amazing places that i visited in Yogyakarta. I hope you can enjoy it.
My Instagram : @jihanvra
My Facebook : @Jihan Vera Pramayda
My Twitter : @jihanveraa


Your code is input as one large string containing all of the code in the sleep file to be parsed. We'll call this code, the "code".
code | | -- (String) | \|/ .---> StringIterator | | | | -- (StringIterator), contains a way to iterate through each char and grab an | | associated line number, also contains some other nice functions | \|/ | LexicalAnalyzer | | | | -- (TokenList), static methods that return a TokenList which is a structure holding | | some tokens (a token is a String and a line number coupled together). Comments are | | also stripped out here and handed back to the Parser object itself. | | | \|/ | TokenParser | | | | -- (LinkedList of Statement objects), outputs a linked list of statement objects primarily. | | A statement is little more than a TokenList with a type associated with it. TokenParser | | takes the TokenList from the lexical analyzer and assigns types to a stream of tokens. | | | \|/ `-- CodeGenerator | | -- (Block), Code Generator takes the Statements output by the TokenParser looks at the type | and generates the appropriate atomic steps for that type. \|/ *Voila a runnable Block object*
The parser is a hand-coded recursive descent (aka top down) parser. I thought about using a parser generator but opted against it as this parser is now in its 3rd or 4th overhaul and well it works and the other data structures that go along with it work as well. So we're stuck with the hand coded stuff.
A kind of editorialized description of how this works:
Overall here is what I do. I take a raw stream of characters (StringIterator) and turn that raw stream of characters into tokens. Tokens are kind of like units of the program that stand alone and should not be picked apart (at least not yet).
Tokens in general are things like quoted string literals, blocks of code, and just plain single words. The stream is put into tokens so later on the tokens can be identified and analyzed looking for certain patterns to say "ah, I have a word if, followed by something in parenthesis, followed by something enclosed in { }'s.. it must be an if statement.
Once a first pass has occured, the tokens are fed into the TokenParser. The Token Parser uses a series of what are called "checkers". Checkers are functions that determine if a series of n tokens fall within a certain pattern or not. For example a checker for an if statement would take 3 tokens as its parameters, it would then look at the first token to see if it is the keyword "if", it would then analyze the second token and see if it is an expression enclosed in parentheses, finally it would look at the third token and determine if it is a block of code enclosed in { }'s. If these three things hold true then these 3 tokens comprise one statement, a statement that is labeled as an IF statement.
All the tokens are analyzed in this manner. Once this is done then they are fed into the code generator. The code generator loops through all of the statements and looks at the type of each statement.
From this type the code generator does a straight generation of the atomic steps that the interpreter executes. Although by this point the code hasn't all been 100% processed yet. In our if statement example the second token and third token which contain the predicate statement and the block of code need to be analyzed. So these items are then turned into a StringIterator, which is turned into tokens, which is parsed by the token parser, which is then fed into the code generator. Once all this has happened the code generator goes back to processing its statements.
So that is how the parser works.
Why did I do it this way? I was taking a lisp class a couple of years ago. Our main assignment for the term consisted of implementing a lisp-like language in lisp. We had a series of checkers that looked at the form of each statement and based upon that performed whatever action the statement was supposed to perform. Writing this lisp like language in lisp was incredibly easy as the structure of the program was so easy to pick at, it was just a list after all. My lisp may be rusty so excuse me if this all seems jacked up:
(def 'program (if (equals 3 3) (print 'good)))
For my if statement checker I just had to look at the first parameter (equals 'if (first program)), and make sure the second and third parameters are parameters (and (listp? (second program)) (listp? (third program)))
One day I was sitting in class kind of bored and realized that if I had an easy way to analyze the structure of a program at a high level then I could easy write a language with some more c-like syntax using this methodology. So I sat to work and wrote my scripting language sleep in a weekend. None of these ideas I used are original or new or anything. Just fun. This is by far one of my favorite programming adventures ever.
Dr. John Lowther did an excellent job teaching the programming languages class at Michigan Tech. Dr. Lowther had an incredible amount of enthusiasm and a fun approach to teaching CS students about programming languages (make them implement one... good idea!). Anyways his teaching style made the topic click very well and this project is a product of that knowledge gained.


Toggle navigation
Notepad -
-
Save to file
About
×
Notepad--
An offline capable notepad powered by ServiceWorker
Go to the repository
×
Save your notes
Filename
myfile.txt
Save


Before Change
if connection_id == packet_conn_id:
del self.packet_map[packet_id]
// Clean up other resources
del self.queues[connection_id]
def close_all_channels(self):
Closes all channels by clearing the list of channels
shared_utils.print_and_log(logging.DEBUG, "Closing all channels")
After Change
"Closing channel {}".format(connection_id)
)
if connection_id in self.open_channels:
self.open_channels.remove(connection_id)
with self.packet_map_lock:
packet_ids = list(self.packet_map.keys())
for packet_id in packet_ids:
packet = self.packet_map[packet_id]


SemaphoreError ThreadPSem( SemaphoreHandle sem); /* semaphore to grab */
This routine attempts to grab the passed semaphore via a "P" operation. If the semaphore has already been grabbed, the thread will block until the semaphore becomes available, even if it was grabbed by the same thread.
ThreadPSem()
returns an error code of type
SemaphoreError
. The error code is intended to indicate abnormal return by the previous thread; if the semaphore never becomes available, the thread will block indefinitely and the routine will not return.
Be Sure To: When the thread no longer needs the semaphore, it should release it with
ThreadVSem()
.
Warnings: This routine provides no deadlock protection. If threads will grab multiple common semaphores, they should always grab/release them in the same order, minimizing the chances for deadlock.
A thread may not try to grab a particular semaphore twice without releasing it in between grabs. The thread will block on itself and will deadlock. If a thread may need to grab the semaphore twice in a row, it should use a thread lock instead (see
ThreadAllocThreadLock()
for more information).
Include: sem.h
See Also: ThreadAllocSem()
,
ThreadVSem()
,
ThreadFreeSem()
,
ThreadPTimedSem()
.
SemaphoreError ThreadPTimedSem( SemaphoreHandle sem, /* semaphore to grab */ word timeout); /* ticks before timeout */
This routine attempts to grab the passed semaphore via a "P" operation. If the semaphore has already been grabbed, the thread will block for at most the number of ticks specified in
timeout
.
Often
timeout
is passed as zero to indicate that if the semaphore isn't available right now, the thread will go on with some other action.
Be Sure To: When the thread no longer needs the semaphore, it should release it with
ThreadVSem()
.
Warnings: This routine provides no deadlock protection. If threads will grab multiple common semaphores, they should always grab/release them in the same order, minimizing the chances for deadlock.
A thread may not try to grab a particular semaphore twice without releasing it in between grabs. The thread will block on itself and will deadlock. If a thread may need to grab the semaphore twice in a row, it should use a thread lock instead, though there is no timeout equivalent for thread locks (see
ThreadAllocThreadLock()
for more information).
Include: sem.h
See Also: ThreadAllocSem()
,
ThreadPSem()
,
ThreadVSem()
,
ThreadFreeSem()
.
void ThreadReleaseThreadLock( ThreadLockHandle sem); /* threadlock to release */
This routine releases the specified thread lock previously grabbed with
ThreadGrabThreadLock()
. Pass the handle of the thread lock as returned by
ThreadAllocThreadLock()
.
Do not try to release a thread lock that has not previously been grabbed. The results are unpredictable.
Include: sem.h
See Also: ThreadAllocThreadLock()
,
ThreadGrabThreadLock()
.
void ThreadVSem( SemaphoreHandle sem); /* semaphore to release */
This routine releases a semaphore that was grabbed with
ThreadPSem()
or
ThreadPTimedSem()
. Pass the handle of the semaphore as returned by
ThreadAllocSem()
.
Do not try to release a semaphore that has not previously been grabbed with one of the above routines. The results are unpredictable.
Include: sem.h
See Also: ThreadAllocSem()
,
ThreadPSem()
,
ThreadFreeSem()
,
ThreadPTimedSem()
.
dword TimerGetCount();
This routine returns the value of the system counter. The returned value is the number of ticks since GEOS started.
Include: timer.h
void TimerGetDateAndTime( TimerDateAndTime * dateAndTime); /* buffer for returned values */
This routine returns the current time and date. Pass it a pointer to an empty
TimerDateAndTime
structure to be filled in by the routine.
Include: timedate.h
TimerFileDateTime TimerGetFileDateTime();
This routine returns the current time and date in a structure equivalent to a
FileDateAndTime
. As such, it is useful for constructing time stamps for files.
void TimerSetDateAndTime( word flags, /* which item to set */ const TimerDateAndTime * dateAndTime); /* new values */
This routine sets the current date and/or time of the system. Pass it the following:
flags
dateAndTime
TimerDateAndTime
structure containing the information to be set.Include: timedate.h


FlightSurety
Flight
Submit to Oracles
Registered Airline
#
Address
Funds
Register Airline
Airline address
Select one:
Register
Fund Airline
Airline address
Select one:
Fund
Buy Flight Insurance
Airline
Select one:
Flight Number
Select one:
FX1234
FX4567
FX2020
Insurance Value
Up to 1 ether (Please type value in wei)
Date
Buy
Withdraw Credit
Fund


New year resolutions for 2012
First of all - Happy New Year to all my readers.
As is the norm, everybody makes a new year resolution list (with sliding scale of perseverance to complete the list). Here is mine for this year:
- Read as many books as I can from this list.
- Since I have always been interested in having my own startup, another list of books to read about startups.
- After working with C/C++ and dramatically opposite Ruby/Python, its time for me to learn something in between and my goal is to learn and write a simple progam in Scala.
- Learn rock climbing. To fulfill this destiny, I have already join Mission Cliffs which is just behind my workplace.
- Cook more. I have been kinda slacking off on this after moving to SF.
- Travel. 2011 was the worst year for me in terms of travelling and I plan to change that.
- Last but not least, make 2012 better than 2011 which was not a particularly satisfying year for me.


Libsimu1 was initially written to simulate the NMR behavior of a 1-spin system under free evolution or radio-frequency pulse action.
Libsimu1 is able to compute the matrix that is associated to a rotation of given angle and axis, and to apply it to a vector.
This is a C API. The user has to write a C program to use it. A simple executable program named demo can be built from the distribution file. The demo.c file provides an example of libsimu1 use.
The 120.0 degrees rotation
around the (1.0 1.0 1.0) axis
transforms the (0.0 0.0 1.0) vector
into the (1.0 -0.0 0.0) vector.
defines two data types:
Mat33
as double Mat33[3][3]
.
It is used to store the matrix of a rotation in a 3D vector space.
Vec3
as double Vec3[3]
.
It describes a vector of the physical 3D space.
and two functions:
void matrot(Mat33 r, Vec3 axis, double angle)
computes the matrix m of the rotation that is defined by its angle,
in radians, and its axis.
The latter is defined by axis, a unitaryvector.
Libsimu1 will not normalize axis for you.
A non-normalized axis vector produces a wrong rotation matrix.
You have been warned.
void matvec(Mat33 r, Vec3 v1, Vec3 v2)
applies the rotation of matrix r to vector v1 to give vector v2.
v1 and v2 parameters may be identical.
Jean-Marc Nuzillard
<EMAIL_ADDRESS>July 15th 2019


Treatment
- Give 100% O2, evaluate ventilation, stop N2O and volatiles
- Stop local anesthetic
- What was given? Drug, dose, site? Does this = a crisis or not?
- If crisis, request intralipid (available in CCD block cart, DCAM block room, CLI carts, pharmacy)
- Ensure adequate IV access, monitoring of continuous ECG, BP, and SaO2
- Avoid propofol, vasopressin, calcium channel blockers
- To suppress seizures, give midazolam 0.05-0.1 mg/kg IV
- To suppress seizures, give midazolam
mg (0.05-0.1 mg/kg) IV
- To treat hypotension, give Epinephrine 1 MICROgram/kg IV/IO, as needed, may need infusion 0.02-0.2 MICROgrams/kg/min
- To treat hypotension, give Epinephrine
MICROgrams (1 MICROgrams/kg)MICROgram/kg IV/IO, as needed, may need infusion
MICROgrams/min (0.02-0.2 MICROgrams/kg/min)
- To treat acidosis, Draw serial ABGs, consider a-line
- To treat Hyperkalemia, see
HYPERKALEMIA


GUIDELINES FOR CUSTOM START UP IMAGE:
1. THE IMAGE FILE SIZE IS LIMITED TO 30KB.
2. RESOLUTION OF THE IMAGE SHOULD BE LESS THAN 640X480.
3.
2. RENAME THE IMAGE AS FOLLOWS.
...BITMAP FILE --> LOGO.BMP
...JPEG FILE --> LOGO.JPG
...GIF FILE --> LOGO.GIF
3. RUN WINUPTP.EXE AND FOLLOW INSTRUCTIONS.


index
Proxy examples
00 - Basic example of using a Proxy
01 - Default values
02 - Hiding private properties
03 - A better enum
03 - A better enum (with a nameOf function)
04 - OnChange event for objects and arrays
05 - Cache with property specific TTL
06 - Using the "in" operator like "includes"
07 - Singleton pattern
08 - Validation and revocable access
09 - Cookie object
10 - Python-like array slicing
+1 - Proxy as a proxy handler
Performance measurements


{% extends "base.html" %} {% block title %}
Medieval catalogues > BENEDICTINES: THE SHORTER CATALOGUES > Glastonbury > Books copied for Abbot Henry of Blois (1126-71)
{% endif %}39 identified entries found.
All data was derived from the List of Identifications by Professor Richard Sharpe.
{% if not printing %}
A key to codes used in the List is available (opens in new tab).{% endif %}


Unlocking Sleep
Thariq Shihipar, Sara Taylor
- Sleep is important, and everyone is different (n=1) but planning helps
- Planning requires logging
- Logging is hard
We think we can use our phone unlocks screens to log data & give us feedback on sleep planning.
How can we scale n-of-1 experiments?
- Real-time data collection & analysis
- Limit in-person requirements
- Dynamic feedback on questions
- Build to be generalizable for any behavior change
Technology
- Firebase
- Android App
- Web Interface (d3.js)
Study Design & Deployment
We recruited 19 MIT students with Android phones.
6 males, 13 females.
Study Outline
| Week 1 |
Fill out daily Google Surveys through email |
| Weeks 2-3 |
Use the app, answer static questions while unlocking |
| Week 4 |
Questions become dynamic based on data collected |
Questions asked:
(at most 10 questions were asked per day)
- When do you plan to wake up & go to sleep
- When did you actually wake up & go to sleep
- How are you feeling about:
- Stress
- Health
- Alertness
- Mood
Acutal Data Collected
- When & where users unlocked their phones
- Daily answers to every question (sampling sleep and health metrics)
- How long it took to answer questions
Data Collected
| Days of Data |
442 |
| Times Unlocked |
19176 |
| Questions Asked |
7511 |
| Avg Unlocks/day |
42 |
People aren't good at planning for sleep
We can help people think about sleep
“I like the app in general because I try to track my sleeping patterns, and this helps me remember my sleep by asking often…”
Unlocking is a very automatic action
“I found myself swiping to unlock without noticing that there was a question”
Things we don't know
- How can we give feedback using more than just questions?
- Is it a problem with the implementation or paradigm?
Conclusions
- Built a scalable system for asking health related questions
- Ran a pilot study
- Got some encouraging data, but mostly inconclusive due to implementation & scale
We're gonna do this again
- Improved design & reliability
- More dynamic feedback systems
- Purely digital consent & installation
Conclusions
- Built a scalable system for asking health related questions
- Ran a pilot study
- Got some encouraging data, but mostly inconclusive due to implementation & scale
(We're gonna do this again.)


The Cookie Stand
Home
Sales
Add Branch Form
Branch Name
Min / Customers
Max / Customers
Avg. Cookie / Sale


This is sentence one as a paragraph element. This is sentence two as a span element. This is sentence three with italic formating. This is sentence four with bold formating. This is sentence five as a paragraph.


Middendorp: Why Shouldn’t I Rate Him?
by Mazola MolefeErnst Middendorp says he knew six years ago already that attacker Dumsani Zuma was a player with great potential.
The two, now both at Kaizer Chiefs, met for the first time at Bloemfontein Celtic during the German mentor’s brief stint at the Free State-based outfit, with Zuma still only a teenager who’s just celebrated his 18th birthday.
Read: Rulani: If You Look At The Numbers
Zuma joined Amakhosi two years ago while Steve Komphela was head coach and has only recently just caught the eye and last week – in a midweek Absa Premiership clash away to Chippa United – he was the Glamour Boys’ two-goal hero.
“Why shouldn’t I rate him? He came in 2013 to Bloemfontein and he was at another club playing in front of other coaches who were looking at his abilities, but was not taken,” Middendorp said after he’d handed Zuma his first league start in the 2-0 win against Chippa at the Nelson Mandela Bay Stadium.
“At that time somebody phoned me and asked me if I wanted to have a look at a player with a lot of potential. He trained one hour and signed a contract. So, why should I change my mind when I saw it in 2013 already? He was a pleasure from the first second to the last, and I think now he is better and is surrounded with a more professional structure. He is challenged a little bit more – it’s good for him and his progress. He is still young.”


Functions for converting network data from a SpatialLinesDataFrame object to an 'igraph'-Class object.
| Version: | 0-5 |
| Depends: | R (≥ 3.0.0), igraph |
| Imports: | methods, maptools, sp |
| Published: | 2018-08-20 |
| Author: | Binbin Lu |
| Maintainer: | Binbin Lu <lubinbin220 at gmail.com> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | yes |
| Citation: | shp2graph citation info |
| In views: | Spatial |
| CRAN checks: | shp2graph results |
| Reference manual: | shp2graph.pdf |
| Package source: | shp2graph_0-5.tar.gz |
| Windows binaries: | r-devel: shp2graph_0-5.zip, r-release: shp2graph_0-5.zip, r-oldrel: shp2graph_0-5.zip |
| OS X binaries: | r-release: shp2graph_0-5.tgz, r-oldrel: shp2graph_0-5.tgz |
| Old sources: | shp2graph archive |
Please use the canonical form https://CRAN.R-project.org/package=shp2graph to link to this page.


Before Change
assert isinstance(sqid, int), "sqid must be an integer"
PDB_CLUSTERS_PATH = os.path.join(getPackagePath(), "pdbclusters")
if sqid not in PDB_CLUSTERS:
raise ValueError("PDB cluster data is not available for sequence "
"identity {0:d}%, try one of {1:s}"
.format(sqid, PDB_CLUSTERS_SQIDS))
clusters = PDB_CLUSTERS[sqid]
if clusters is None:
loadPDBClusters(sqid)
After Change
raise TypeError("sqid must be an integer")
if not (30 <= sqid <= 100):
raise ValueError("sqid must be between 30 and 100")
sqid = PDB_CLUSTERS_SQIDS[abs(PDB_CLUSTERS_SQIDS-sqid).argmin()]
PDB_CLUSTERS_PATH = os.path.join(getPackagePath(), "pdbclusters")
clusters = PDB_CLUSTERS[sqid]
if clusters is None:
loadPDBClusters(sqid)


| Recorded Crime Offences (Number) by Garda Station, Type of Offence and Year |
|||||||
|---|---|---|---|---|---|---|---|
| 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | ||
| Pearse Street, D.M.R. South Central Division | 03 ,Attempts/threats to murder, assaults, harassments and related offences | 551 | 451 | 481 | 520 | 633 | 606 |
| 06 ,Robbery, extortion and hijacking offences | 165 | 241 | 186 | 179 | 178 | 139 | |
| 07 ,Burglary and related offences | 579 | 572 | 586 | 531 | 501 | 399 | |
| 08 ,Theft and related offences | 4595 | 5751 | 6511 | 5952 | 5612 | 4829 | |
| See Background Notes |


git show
Show various types of Git objects (commits, tags, etc.).
More information: home page
- Show information about the latest commit (hash, message, changes, and other metadata):
git show
- Show information about a given commit:
git show commit
- Show information about the commit associated with a given tag:
git show tag
- Show information about the 3rd commit from the HEAD of a branch:
git show branch~3
- Show a commit's message in a single line, suppressing the diff output:
git show --oneline -s commit
- Show only statistics (added/removed characters) about the changed files:
git show --stat commit
- Show only the list of added, renamed or deleted files:
git show --summary commit
- Show the contents of a file as it was at a given revision (e.g. branch, tag or commit):
git show revision:path/to/file


Ranbeer Singh
Familiar with culture
Place of interest: Heritage buildings
We never sit idle, always in action.
Expect the same ;)
Contact no.: +918826860569
Deepak Rajput
Familiar with eateries
Place of interest: City
We never sit idle, always in action.
Expect the same ;)
Contact no.: +918826860569
Ramesh
Knowledge about history
Place of interest: City palace
We never sit idle, always in action.
Expect the same ;)
Contact no.: +918826860569
Anamika
Knowledge about lakes
Place of interest: Udaipur Palace
We never sit idle, always in action.
Expect the same ;)
Contact no.: +918826860569
Sapna
Familiar with culture
Place of interest: Villages
We never sit idle, always in action.
Expect the same ;)
Contact no.: +918826860569


TopBox is derived from Nivo Lightbox. I created a stack addon for the RapidWeaver publishing platform (named TopBox) around 2012, which made use of Nivo Lightbox. I also added Nivo Lightbox to a number of plugins, themes and client websites as things progressed. Along the way, I found and fixed several bugs in the original Nivo Lightbox and made improvements of my own. Because Nivo Lightbox is seemingly no longer actively updated, I have released my variant of Nivo Lightbox opensource, under the name of 'TopBox'.
TopBox is MIT licensed, so you are free to download and use it wherever and however you want.
Some of the things that are different in TopBox, compared with the original Nivo Lightbox:
TopBox is used in thousands of websites; ranging from small blogs right-up to fortune 100 companies. A durable and flexible lightbox effect you can depend upon. TopBox is maintained on Github as an opensource project.
Download the source code files from Github. Click here. Use the ZIP download option.
Upload the TopBox files (within the /src/
directory) to your web server.
Add a call to topbox.css stylesheet within the
section of your webpage like this:
<link rel="stylesheet" media="screen" href="path/to/topbox.css">
Then add the jQuery Javascript call, topbox.js and your function to the end of your webpage, ideally before the closing
tag, like this:

The chances are that your webpage already includes CSS and / or jQuery. You might not need the extra jQuery call. So feel free to take only what you need and merge the TopBox code into your existing website code.
To make a link (like an image) open in TopBox with a title, the HTML markup is as simple as this:Click me!
By default, any link with a class of lightbox
will trigger a TopBox. However this can be changed to another selector name, attribute, or element type, if you prefer.
Tip: We add the aria-haspopup="dialog"
attribute to our link, to improve webpage accessibility.
Much like any lightbox or modal window effect, TopBox is best-used in moderation for the sensible display of simple content types. Here are some examples of what it can do:
Tip: The HTML5 Audio, HTML5 Video, Vimeo and YouTube examples here use custom controls via the excellent Plyr plugin. Setup of this plugin to work with TopBox is documented here.
Content Types
A couple of content types require some additional attributes on your 'trigger' link or button, to tell TopBox how you want the target content handled:
data-lightbox-type="iframe"
attribute.data-lightbox-type="ajax"
attribute.data-lightbox-type="inline"
attribute.data-lightbox-type="video-iframe"
attribute.For example, our iFrame example above has the following markup:
iFrame
You may be wondering what's the difference between iframe
and video-iframe
lightbox types? The latter has its height permanently locked to 56.25% tall (16:9 ratio) making it good to use for embedded video types like Internet Archive, Veoh, Vidyard, Wistia, and many others. Some of these video providers require additional code adding to your webpage or verification of your webpage link; hence we don't detect these specific video providers automatically like we do with Brighteon, Dailymotion, YouTube or Vimeo.
Galleries
The example TopBoxes presented above open and close singular items. By giving two or more items a data-lightbox-gallery
data attribute, you can effortlessly 'chain' multiple items together like
this, with next and previous buttons, and swipe support on touch screens:
Click me!
Example Image Gallery
Example Gallery
Example Gallery
Example Gallery
Example Gallery
Swipe Support
Swipe support lets the end user navigate through a TopBox gallery using finger swipe gestures on their smartphone or tablet device. Swipe to the right to navigate to the previous gallery item or swipe to the
left to navigate to the next gallery item.
Swipe support is already enabled by default; there is nothing further you need to add. We are using the excellent TouchSwipe jQuery Plugin to accomplish this.
On the rare occasions you wish to disable swipe support, remove the TouchSwipe plugin code from the top of your topbox.js file and everything within the 'swipe support' comments towards the bottom of your topbox.js file.
PDF Support
Support for embedded PDF files is historically quite poor on devices like the iPhone and iPad. iOS handles a PDF similar to an image. It will only display the first page of a PDF and will restrict the ability to scroll through a PDF file.
To circumvent these problems, we detect common tablet and mobile devices. The embedded PDF file iFrame will be replaced with a simple text instruction and download button. The message displayed is customisable within the API, using the
pdfMessage
and pdfButton
options (documented below). The button works to simply open the PDF in a new browser tab.
TopBox continues to reuse many of the former Nivo Lightbox options and hooks. Some new ones have been added too. You can pass these options to the plugin like this:

Here is a complete list of the options available to you:
| Name | Type | Default | Description |
|---|---|---|---|
| effect | String | 'fade' | The opening CSS transition effect. Can be one of either none , fade , slideLeft , slideRight , slideDown , or slideUp . |
| backgroundBlur | Boolean | false | Blurring takes the contents of the page body and wraps them inside a new topbox_blur_wrapper divisional container. A skin is able to blur or change the opacity of this content using CSS filters, when the
lightbox is opened. This can have performance implications in certain setups, so please use with care. |
| skin | String | 'darkroom' | Name of the skin (theme) to use. |
| keyboardNav | Boolean | true | If enabled, a person can navigate through the lightbox using their keyboard left, right and escape keys. |
| clickImgToClose | Boolean | false | Closes the lightbox when the image is clicked or tapped. |
| clickOverlayToClose | Boolean | true | Makes the lightbox close when its window shade is clicked or tapped. |
| closeToolTip | String | 'Close' | Title tooltip text displayed on the lightbox close button. |
| previousToolTip | String | 'Previous' | Title tooltip text displayed on the lightbox previous arrow button. |
| nextToolTip | String | 'Next' | Title tooltip text displayed on the lightbox next arrow button. |
| titleSource | String | 'title' | The attribute to use for your titles. Can be a simple title attribute or an HTML5 data attribute like data-lightbox-title if you want something different. |
| pdfMessage | String | 'View the PDF in a new window:' | The message displayed on touch devices, where embedded PDF files are not supported. |
| pdfButton | String | 'Tap Here' | The button label for the PDF button, displayed on touch devices. |
| errorMessage | String | 'The requested content cannot be loaded. Please try again later.' | Message displayed if the content cannot be loaded. |
TopBox also has a number of hooks. Code you place between the opening and closing braces will be run, when the lightbox is in that particular state:

Skins (or themes) offer a quick method towards restyling TopBox. By its nature, TopBox is extensively customisable. If you know the basics of CSS, then you are already well on your way towards designing your own lightbox styling! Alterations like changing colours are quite simple to do.
The default skin used by TopBox is called 'Darkroom'. As the name suggests, this offers a light-on-dark colour scheme. By taking the CSS for Darkroom (towards the end of topbox.css) you can use this as a basis for creating your own skin. Or take one of the skins listed below to rework. The name of our new skin can be passed via the TopBox function (see API for details).
The /src/skins/
directory (within the TopBox source code download) provides a few ready-made lightbox styles to experiment with or modify. Skins included TopBox include:
<link rel="stylesheet" media="screen" href="path/to/skins/ghost/styles.css">
Within the Javascript function for TopBox, you will want to switch the skin from darkroom
to skin_name
replacing 'skin_name' with the name of the actual skin you want to use.
Basic Copy Protection
You can impose basic copy protection on your TopBox content by means of disabling mouse events with CSS:
.topbox_content {
pointer-events: none;
}
This will stop the 'save image as' option showing, when a user right-clicks on an image. Obviously this will not stop the user still getting the image via other methods (like screengrabs or from the source code)! Pointer events should not be used for content that requires interaction with, such as video.
Change the lightbox size
TopBox makes use of simple and modern CSS markup to control content sizing. We use a mixture of CSS Flexbox, transforms and viewport units of measurement. In essence, the markup to control
lightbox sizing is as simple as this:
.topbox_content {
width: 80vw;
height: 80vh;
}
As you can see, we use viewport units of measurement (viewport width and viewport height). This provides us a perfectly flexible box and avoids content clashing with lightbox navigation controls or titles. Through this configuration,
our completed lightbox is completely fluid on different screen sizes, it responds to the screen changing size or orientation, and there is unlimited space reserved for the lightbox titles of any length. Single images and video scale
proportionally to fit. If content (like iFrames, Inline or AJAX) does not fit within the viewable area, they will display scroll bars. Media breakpoints could potentially be used too.
Disable on mobile
Lightboxes serve little purpose on mobile. Disable their triggers below a certain breakpoint width, with simple CSS like this:
@media screen and (max-width: 460px) {
.lightbox {
pointer-events: none;
}
}
In this instance, thumbnail images continue to show but won't do anything when clicked or tapped on screens less-than 460px wide.
Disable scrolling
You can prevent the page background scrolling when the lightbox is open, using some CSS like this:
body.topbox_open {
overflow: hidden;
}
When the lightbox is opened, the webpage will no longer scroll. Scrolling resumes again, when the lightbox is closed.
Trigger from a URL hash
Make a TopBox open on page load via a 'hash' in the page URL. Add this jQuery within your $(window).on("load", function ()
handler:
if(window.location.hash) {
var hashValue = location.hash.replace(/^#/, '');
$("." +hashValue).trigger('click');
}
For example, https://example.com/#mountain would do a 'virtual' click on the TopBox link that has a class of mountain
applied to itself.
Custom video controls
Content types like HTML5 Video, YouTube and Vimeo support custom player controls, using a plugin like Plyr. You may choose to use custom video controls, to give your embedded video's a bit more
professionalism. Per the setup instructions for Plyr, add a CSS call to the top of your page:
<link rel="stylesheet" href="path/to/plyr.css">
Then before your TopBox Javascript code at the bottom of the page, call your Plyr script:

The final stage is to initiate the Plyr plugin, when TopBox is opened. This is done by passing the Plyr initialisation through our afterShowLightbox
hook, like this:
$(document).ready(function() {
$('.lightbox').topbox({
skin: 'darkroom',
afterShowLightbox: function(lightbox){
const player = new Plyr('#player', {
/* Player options */
autoplay: true
});
}
});
});
Now you should find that HTML5, YouTube and Vimeo video are shown with customisable player controls. Other video types (like Dailymotion, Brighteon and TED) are not supported by Plyr, and we'll display their standard player controls, as
normal.
Like the sound of TopBox? You can download the source code for TopBox from Github and follow the setup instructions provided on this page.
I am a strong advocate of free and opensource software. The source code for TopBox is a free download and provided under the MIT license. Donations via PayPal are welcomed and I am also available for hire as a freelance full-stack web developer.


This is a compilation of all the exercises and projects I've done as part of The Odin Project's Ruby Programming course. The repository contains all my solutions to the regular ruby exercises, but I'm particularly proud of my work on the projects.
This page is a reflection on the important concepts I learned during the projects rather than the details of the projects themselves. The source code can be found on my GitHub.
I tried to go above and beyond for each of the projects, so I hope you can take the time to see them in action. I tried to learn and implement a new best-practice in each of my successive projects. For instance, several projects come with their own unit tests using RSpec while others also have their own RDoc documentation.
Several of the early projects in The Odin Project are simple games meant to be played in the terminal. This lent itself well to learning and applying the syntax for parsing user input and saving files. Two games that I feel I implemented really well are Tic-Tac-Toe and Mastermind. The source code for each of these games as well as a playable version online are available as replit.io repositories.
Of the two, Mastermind is my favorite. I was able to use a gem that allowed for colored output, and I feel like I handled errors and exceptions well. I also implemented a basic algorithm that allows the player to input a code and the computer to "guess" their code. Feel free to play a couple of rounds of the game by clicking here. Tic-Tac-Toe, however, is a cleaner, more standard project as I went back and refactored the code when I was learning more about automated testing.
Using the spec files provided for the exercises and looking up the documentation, I started to create RSpec test files for most of the projects. I wanted to practice writing unit tests and try RSpec's "behavior driven development" methodology. My previous experience with Python during my undergraduate research (see my Rootfinding fork) instilled in me the importance of creating and using unit tests. I created my own unit tests for nearly all of the projects before the course formally covered testing.
Out of them all, I'm most proud of the work I did with Linked List. It was the first project that I really tried to do Test-Driven Development. I wrote out the spec file that tested for the specific behaviors and outputs for my LinkedList class before implementing any of the methods. Doing so gave me not only a clear end-goal, but it also helped me identify errors when handling the edge cases that I may not have caught otherwise. I had a similar experience when implementing the Binary Search Tree project.
Additionally, I started to learn a little bit about generating documentation using RDoc. You can find the source code for the classes and the spec files by clicking here. If you're interested in browsing the generated documentation, that can be found here.
The Odin Project provided me with several opportunities to implement algorithms from pseudocode. For instance, my Mastermind implementation includes an algorithm that allows the program to systematically determine the user's secret code. The sections on recursion, including the Binary Search Tree, also gave me a lot of opportunity to consider carefully how to translate an abstract structure and algorithm into clean, usable code.
As I have a lot of experience implementing data structures and alogrithms from my undergraduate coursework in Python and C++, I felt very capable of breaking-down, implementing, and analyzing algorithms in Ruby.


A new utility in openark kit allows for online ALTER TABLE operation. That is, the modification of table structure without locking down the entire table for the duration of the operation. The oak-online-alter-table utility works under the following restrictions:
- The table has at least one single-column UNIQUE KEY [*]
- Altered table shares a single-column UNIQUE KEY with the original table [*]
- No 'AFTER' triggers are defined on the table (the utility creates its own triggers for the duration of the operation)
- The table has no FOREIGN KEYs [*][#]
- Table name is no longer than 57 characters
[*]: Restriction is scheduled to be removed or partly removed.
[#]: 'Child-side' foreign keys may actually work, but have not been tested.
Follows is a mini FAQ which attempts to introduce the utility.
So what exactly does this utility provide?
- First and foremost, the ability to perform a non blocking ALTER TABLE. This has long been an issue with MySQL, and complex Master-Master, application aware solutions are currently required in order to perform an ALTER TABLE with minimal downtime. The utility offers a no-downtime solution, albeit there is performance penalty for the duration of its runtime, and some requirements to meet.
- It also supports a 'null' ALTER. That is, an ALTER TABLE which does not change anything. This effectively means rebuilding of the table. For InnoDB tables with innodb_file_per_table, for example, this could be the means of regaining disk space after removing many rows from the table. Also, while it does not strictly act like OPTIMIZE TABLE, the effect of running this utility should build a better organized table on disk (this as yet unverified).
- Another thing this utility supports is the building of a ghost table: a duplicate of a given table, which keeps mirroring the original table via triggers. [May be removed in future versions]
How does it work?
Well, there are some wiki pages [1] [2] [3] which explain the details, but in general it goes as follows:
- The utility creates an empty 'ghost' table, a copy of the original
- The ghost table is ALTERed (or left unchanged, if no ALTER specified)
- Triggers are created on the original table, which propagate changes to the ghost table.
- In two passes, data is copied from the original table to the ghost table, then reviewed for deletion.
- The ghost table is renamed to take place of the original table; the original table is dropped.
Here's an invocation sample, in which we modify the type of the AUTO_INCREMENT column, add a column, add a key and drop a column - all at the same time, all online:
oak-online-alter-table -u root --ask-pass --socket=/tmp/mysql.sock --database=world --table=City --alter="MODIFY Id BIGINT UNSIGNED AUTO_INCREMENT, ADD COLUMN Mayor VARCHAR(64) CHARSET utf8, DROP COLUMN District, ADD KEY(Population)"
What kind of ALTERs are supported?
- ADD COLUMN (new column must have a default value)
- DROP COLUMN (as long as there's still a shared single-column UNIQUE KEY between the old table and the altered one)
- MODIFY COLUMN (change type, including UNIQUE KEY columns)
- ADD KEY (normal, unique, fulltext etc.)
- DROP KEY (as long as there's still a shared single-column UNIQUE KEY between the old table and the altered one)
- Change ENGINE: works, but great care should be taken when dealing with non-transactional engines
- Adding FOREIGN KEY constraints is possible
- More... Not all ALTERS have been tested, e.g. CONVERT, partition handling...
- none: it is possible to just do an online rebuild of the table, with no modification to its structure
The following are not allowed while the utility is running:
- An ALTER TABLE on the original table (well, obviously)
- A TRUNCATE on the original table
- LOAD DATA INFILE into the original table
- OPTIMIZE on the original table
In short, while this utility runs, just act normal...
Which engines are supported?
MyISAM & InnoDB are both supported. Any engine which uses table level locks is implicitly supported (Memory, Archive). There is currently no support for Maria (transactional), PBXT or Falcon. No plans for the near future include these.
It is possible to ALTER the ENGINE of a table, but this is highly unrecommended (due to differences in transactional behavior, or lack of transactional support altogether).
With InnoDB, and when running long transactions during the runtime of this utility, one of the steps (which requires a LOCK TABLES...WRITE) may take some time to complete: it repeatedly attempts to set up locks until successful. However, there is no blocking during these attempts, and the lock time, once the locks are gained, is minor.
What impact does this utility have?
For the duration of runtime, you can expect a performance penalty. There are many reasons for that:
- Triggers are added to your table. This, by itself, is performance penalty.
- Any changes to your table is propagated to the ghost table. So every INSERT makes for two, actually.
- More locks are held. While this utility is non-blocking, it does lock small chunks in turns, and for very short periods. But still locks are held.
- While the ghost table is being built, disk space of up to the same size as your original table is consumed. Depending on your ENGINE and storage means, some disk space may be released later on.
I was drunk when I decided to run it, but now that I'm sober, I find out it's still running and I want to undo everything!
OK. First, don't drink and DBA. Next, stop the utility, run it again with --cleanup. All should be back to normal.
How mature is this utility? I think there's a bug!
It is very experimental. It seems to be working well as far as I know, but community feedback is appreciated. Please report bugs here. Thank you!
comments powered by Disqus


We "decorate" (yes, the decorator pattern could be used) our code, at specific points (pointcuts). Two approaches:


--- layout: links-page title: Wi-Fi Setup sections: - body: - name: PC url: /wifisetup/windows width: 1-3 - name: Mac url: /wifisetup/macos width: 1-3 - name: Mobile url: /wifisetup/mobile width: 1-3 - type: small body: - text: If you're using the HP Spectre, you'll want to click PC. ---


<test a=" content of attribute ">
<test a="
">
Fix for backticks within HTML tag: like this
Here's how you put `backticks` in a code span.
`backticks`


The login information you have presented is not acceptable. Please try again.
Not a member? Register Here


Portable GIS: 10th Birthday Update
Jo Cook | Astun Technology | @archaeogeek
Portable GIS (noun)
Born 2006 (ish)
"por.ta.ble": capable of being carried or moved about
"g.i.s": geographical information systems
aka: GIS on a stick
What it is:
A self-contained set of the common open source GIS packages, designed to run in windows, from a USB stick
Installed using a single installer file, requiring no additional configuration or setup
Along with some Ordnance Survey Open Data
It also has a control panel for easy access to all the components
What it is not:
A Bootable Drive (like OSGeo Live)
Cross-Platform
Compatible with "portableapps.com"
Small- current installation is a 1GB download and 3GB installed
also not a stealth system
It has many potential uses; like rapid-deployment scenarios, education, training workshops, any time you want to take your work home with you...
But what software does it contain?
QGIS
PostgreSQL/PostGIS
Apache
Mapserver
Geoserver
Loader
OGR/GDAL
Python
Utilities (pdf reader, text editor, firefox)
Where can I get it?
Download the exe file (~1GB) from:
What's exciting about the new release (5.6)
QGIS 2.14
Geoserver 2.8
Loader update
...and...
Next release
PostgreSQL/PostGIS -> Latest Stable
Next QGIS LTR
Other program updates?
Thanks!
Jo Cook | Astun Technology | @archaeogeek


| Doctor Schema | |
|---|---|
| First Name: | |
| Last Name: | |
| Job Title: | Dentist Orthodontist Oral and Maxillofacial Surgeon Periodontist Prosthodontist Endodontist Oral Pathologist Oral Radiologist Pediatric Dentist |
| Doctor Description: | |
| Award(s): | |
| College or University | (enter name and link before adding) |
| Name: | |
| Link: | |
| Affiliation | (enter name and link before adding) |
| Name: | |
| Link: |
<script type="application/ld+json"> { "@context": { "@vocab": "https://schema.org/" }, "@graph": [{ "@type": "Person", "honorificPrefix": "Dr.", "givenName": "", "familyName": "", "jobTitle": "", "award": [], "description": "", "alumniOf": [], "memberOf": [] }] } </script>


Documentation
Introduction
Corona React Admin is a responsive React template that is based on the CSS framework Bootstrap 4 and it is built with Sass. Sass compiler makes it easier to code and customize. If you are unfamiliar with Bootstrap or Sass, visit their website and read through the documentation. All of Bootstrap components have been modified to fit the style of Corona React Admin and provide a consistent look throughout the template.
Before you start working with the template, we suggest you go through the pages that are bundled with the theme. Most of the template example pages contain quick tips on how to create or use a component which can be really helpful when you need to create something on the fly.
File Structure
Once you have download the package you will see the following folder structure inside the folder.
Installation
Set up the Development Environment
Install Node.js and npm if they are not already on your machine.
Template Installation
Go to the project directory and install the React local project dependencies.
Run npm install
. This command install the dependencies in the local node_modules
folder.
By default, npm install
will install all modules listed as dependencies in package.json
.
The npm start
command launches the server, watches your files, and rebuilds the app as you make changes to those files.
For more detailed information to install the React application, visit this official React documentation website.
Deployment
Deploy React app
For the simplest deployment, create a production build and copy the output directory to a web server.
1. Start with the production build:
2. Copy everything within the output folder (build/) to a folder on the server.
Basic Structure
App Component
Navbar
Sidebar
Footer
Customer Support
If you face any issue while building your dashboard with Corona React Admin, please contact us via Bootstrapdash support form .
We will respond to you as quickly as we can. Thank you.


DOM Manipulation
Forms
This
Creating Elements
Objects
Object Constructor
Practice
Forms are a pretty complex beast. Accessing the user content can be potentially complicated and done in a number of ways. We'll look at a simple form and a complex form.
A function's this keyword behaves a little differently in JavaScript compared to other languages. In most cases, the value of this is determined by how a function is called. It can't be set by assignment during execution, and it may be different each time the function is called.
Virtually everything in JavaScript is an Object. An Object can hold many different things, but it starts with a variable. Just like a variable is a container, an object is a variable as well except it can hold many different values. Each item that's saved in an object is known as a name:value
pair.
The object constructor gives us a skeleton of an object that can be used over and over. Each usage creates a new instance of the object
Click "Edit in jsfiddle"
Click "Fork" to edit the code
Click "Edit in jsfiddle"
Click "Fork" to edit the code
Complete assignment and Save
Slack me your links
Timers
Browser Storage
JSON
XMLHttpRequest()
Closure
localStorage
The localStorage property allows you to access a local Storage object. Data stored in localStorage has no expiration time. Active tab can be refreshed, same destination can be opened in a new tab and data remains, and browser can be completely closed, but upon return to same destination, data remains.
sessionStorage
The sessionStorage property allows you to access a session Storage object for the current origin. Data stored in sessionStorage gets cleared when the page session ends. A page session lasts for as long as the browser is open and survives over page reloads and restores. Opening a page in a new tab or window will cause a new session to be initiated.
JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application.
The two primary parts that make up JSON are keys and values. Together they make a key/value pair.
"characterName" : "Mufasa"
characterName
is the key, and Mufasa
is the value.
XMLHttpRequest is an API that provides client functionality for transferring data between a client and a server. It provides an easy way to retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just a part of the page without disrupting what the user is doing.
Everything begins however with a new instance of the XMLHttpRequest()
var req = new XMLHttpRequest();


! - turn sound off or mute
First though's (not literally) about DBC
Tuesday May 20, 2015
From everything I've seen, heard, read, and researched, the DBC experience is not to be underestimated. What I took away from the Kitchen talk with Shereef was realizing that, from the moment I started watching the video, and since I had started the phase-0-unit-1/week-1 work , I was in the restaurant mindset.I was in a position of expecting something because I paid for it. I agreed whole heartedly that falling into that idealism was easy and automatic, and trainned. However what knowledge did was encourage me to, at that very moment, switch out of that mindset. I hate to say this because I know how it might be taken, but listening to Shereef as he spoke about those different mindset, almost felt like I was "drinking the Koolade", at a cult. I was an instant believer in making this journey my own. I wan to get the most out of this experience and for me that means talking control and responsibility for my own learning.
Read more...
Version Control, Git, and GitHub
Tuesday May 19, 2015
setup
Do you remember highschool group projects? Do you remember the difficulty in getting your group together and on the same page. Well if you work in tech these days or if you are the lead organizer for any kind of group, you will find that those highschool dilemma's are still plaguing your life. The problem has always been finding time and gathering the right tools to make a group successful. Enter Version Control, Git, and Github.
Read more...
Thinking outside of the box
Monday May 25, 2015
Did you know that on a webpage everything is a box? It's true! Every div, every table, every paragraph, everything! They are all boxes. They have a height and a width. Not only this but everything on a webpage has a natural postion by default. This is called it's static postion. That means that when you create a paragraph or any other html markdown object, it has a natural position on the webpage.
So why does this matter?
Well in the field of website design placement of objects is crucial to site usuablity, that is why most often you will find navigation links either at the top or at the left of a web page, or why copyright information is most oftern at the bottom of a webpage. These things are not often by choose, but by convention. or rather by user preferences that have become conventions.
Read more...
Hashes... that good good!
Wednesday June 3, 2015
Now i know what your thinking : But isn't a hash just an array. Sorry that is incorrect. well at least in ruby. In ruby a hashes is an associative array instead of being indexed like the normal array.
here is an example of a normal array:
variable1 = [100, 'two', 'knife' 'cheeseburger' ]
now here is an example of a hash:
variable2 = {"name" => "Sally", "number" => 42, "sports" => ["basketball", "baseball", "Hockey"] }
Read more...
thinking styles
Friday June 5, 2015
My expience in phase 0:
Up to this point my experience has been comforting, I understand the material and I am able to build relationships with people I've never meet face to face. both these experiences have been contrary to my initail fears in joining the program. My biggest struggle is time management. Even though I am getting the work done on time I feel like I am not managing that time efficiently. I feel I could do more. This struggle is definitely do to my learning style. I am a Concrete Random learner and rules and regulations are not something I like. Well I like to break them. My strategy for managing my time going forward will be to turn it into a game, since I like games. This game will be in the vien of SuperBetter and with the help of my fellow boots it will become a daily habit for me.
Read more...
I wish I had a map
Tuesday June 9, 2015
sometimes in code you want to do a task repeatedly to a set object and get something different then what was put in. For example say we had an application that sent out thank you emails to all our feed subscriber. Now imagine the case where you have an extremely popular feed. It would probably take you days if not weeks to send all those emails, not to mention if you wanted to customize those message even just a little bit. The solution to this kind of problem is map. Map allows you to run a block of code repeatedly on an object usually an array. Those of you who have used ruby before will undoubtly inquiry on the difference between map vs each. While at the surface it may seem like map and each do the same thing, there is a subtle but important difference. using map returns the contents of the object it is called on changing the objects in place, while each only return the same object it was called on.
Read more...
Designing for Accessibility
Wednesday June 10, 2015
First off let me say that this subject doesn't get nearly enough attention. I hold no false hopes that this post will inspire designer, developers, and would be technoligist, to take up arms and fight for this cause. This is truly and absolutely a social issue.
As an American society we put less value on the lives of the less able. So it's no superise that the technology we create puts the disabled at a further and further disadvantage. This post is not for society at large and to be honest if you don't believe that there is a problem then nothing you read will ever change your mind. However for those of you who have seen the disadvantage and divide, for you would be designer and technologist, I have a story for you.
Read more...
feedmeback
Monday Jun 15, 2015
Pairing
Pair is an experience. it's always different and so far, no matter how many times I do it. It doesn't seem to get any less stressful. The inner voice is always there. Telling me that I probably don't know enough to be a good pair. But that is also the beauty of pair. I do learn something every time. I find something that my peer is doing well and I ask myself if I am doing that thing as well, or if could be doing it better. The most rewarding part of peer pairing is of course the relationship you build in the process. Not second to this is the admiration you tend to find do to the empathy you receive from the process. I find that perhaps the most frustrating part of peer pairing is usually the first 5-10 minutes...
Read more...
Modeling a motorcycle
Monday Jun 15, 2015
Classes in programming represent real world objects. the best place to use a class is when you anticipate repeatedly make a certain object. For example lets image that we want to create a program which creates motorcycle. Assuming that our program already has knowledge of a vehicle class, which covers having wheels and steering and traveling we can focus on the particulars of a motorcycle.
our class may look something like this:
Read more...
 If you are imagining correctly then I have no doubt that you are feeling uncomfortable. Stereotype threat is that uncomfortableness. Stereotype threat is the experience of being in a situation or doing something for which a negative stereotype about one of your identities is relevant. In this situation your gender is one of your identities and it may seem very relevant. what makes the stacks even higher is imagining that a promotion you have been waiting for is riding on this speech.
Read more...
Lambda, Lambda, Lambda
Tuesday June 23, 2015
Desipte the title, this post is not about the movie Revenge of the nerds, it's not about Half-life and it has almost nothing to do with the 11th letter in the greek alphabet with numerical value is 30 for those things google has you covered. This is about the programming object Lambda. A lambda is a Proc, and a Proc is a Block but even though one thing is another it doesn't mean they are all the same thing.
Read more...
TL:DR;
Rails is an application built for Ruby developers in order to expediate the process of building web applications and websites. The way rails does this is by establishing convention. Essentailly when you start to build a project in rails you get a lot of stuff for free. Stuff like routes, which sets up communication between files, you get ActiveRecord, you get scaffolding, you get generate, you get gemfile, and database options and much more. Rails enforces MVC and breaks down your projects with that paradigm in mind. Rails also comes with a local webserver so that you can test your project as you build it.
Read more...
if you asked me today to break down the conflict into psuedocode this is what I would say:
- girlfriend want to be closest person to me. - wants love
- her hearing things second hand or after the fact hurts her - feels hurt
- openness is a problem for me in general (it's not personal) - doesn't trust
- girlfriend takes it personally - feels untrusted
- need to convince her to not take it personally - wants understanding
- --or--
- I must leave. - needs distance
Read more...
The best app you never new existed
thank you interwebs
Do you ever wish you could download that amazing youtube video you just discovered?
Well guess what you're about 9 years behind the curve there. Not to insult you late adopters but the ablitilty to download youtube video's and music has been avaliable since 2006. That being said it really didn't gain mainstream recognition until 2011.
It's call youtube-dl and it's a command line application. Despite the name this little program doesn't only work with youtube, there are well over six hundered support urls from which to download content. here is how it works:
Read more...
Atom and things
Mon Jun 29, 2015
I've been trying to use Atom as my defacto text editor for the past few days and I found a few things I thought I'd share with you. If you are considering switching text editors (which if you are reading this you are), then I can recommend Atom 1.0. For one thing the version control support is on point. If you make a change to a file that is already tracked by git then Atom gives you an indication of whether that change has been saved, staged, or commited. This is done by color coding the file(s) in question.
- green : for changes staged
- orange: for saved but unstaged changes
- black: for commited changes
Read more...


File types chosen:
application/octet-stream
application/zip
application/x-executable
application/pdf
application/xhtml+xml
application/x-sh
application/xml
image/jpeg
image/png
audio/mpeg
video/quicktime
text/html
text/plain
text/x-matlab
message/rfc822
CLEAR
Hover on the chart to see details