| Class and Description |
|---|
| AccountApi
Provides synchronous access to cloudstack via their REST API.
|
| AddressApi
Provides synchronous access to cloudstack via their REST API.
|
| AsyncJobApi
Provides synchronous access to cloudstack via their REST API.
|
| ConfigurationApi
Provides synchronous access to cloudstack via their REST API.
|
| DomainAccountApi
Provides synchronous access to CloudStack Account features available to Domain
Admin users.
|
| DomainDomainApi
Provides synchronous access to CloudStack Domain features available to Domain
Admin users.
|
| DomainLimitApi
Provides synchronous access to CloudStack Limit features available to Domain
Admin users.
|
| DomainUserApi
Provides synchronous access to CloudStack User features available to Domain
Admin users.
|
| EventApi
Provides synchronous access to cloudstack via their REST API.
|
| FirewallApi
Provides synchronous access to cloudstack via their REST API.
|
| GlobalAccountApi
Provides synchronous access to CloudStack Account features available to Global
Admin users.
|
| GlobalAlertApi
Provides synchronous access to CloudStack Account features available to Global
Admin users.
|
| GlobalCapacityApi
Provides synchronous access to CloudStack Account features available to Global
Admin users.
|
| GlobalConfigurationApi
Provides synchronous access to CloudStack Configuration features available to Global
Admin users.
|
| GlobalDomainApi
Provides synchronous access to CloudStack Domain features available to Global
Admin users.
|
| GlobalHostApi
Provides synchronous access to cloudstack via their REST API.
|
| GlobalOfferingApi
Provides synchronous access to cloudstack via their REST API.
|
| GlobalPodApi
Provides synchronous access to CloudStack Pod features available to Global
Admin users.
|
| GlobalStoragePoolApi
Provides synchronous access to CloudStack storage pool features.
|
| GlobalUsageApi
Provides synchronous access to CloudStack usage features.
|
| GlobalUserApi
Provides synchronous access to CloudStack User features available to Global
Admin users.
|
| GlobalVlanApi
Provides synchronous access to cloudstack via their REST API.
|
| GlobalZoneApi
Provides synchronous access to CloudStack Account features available to Global
Admin users.
|
| GuestOSApi
Provides synchronous access to cloudstack via their REST API.
|
| HypervisorApi
Provides synchronous access to cloudstack via their REST API.
|
| ISOApi
|
| LimitApi
Provides synchronous access to CloudStack SSHKeyPair features.
|
| LoadBalancerApi
Provides synchronous access to cloudstack via their REST API.
|
| NATApi
Provides synchronous access to cloudstack via their REST API.
|
| NetworkApi
Provides synchronous access to cloudstack via their REST API.
|
| OfferingApi
Provides synchronous access to cloudstack via their REST API.
|
| ProjectApi
Provides synchronous access to CloudStack project features.
|
| SecurityGroupApi
Provides synchronous access to cloudstack via their REST API.
|
| SessionApi
Provides synchronous access to Cloudstack Sessions
|
| SnapshotApi
Provides synchronous access to CloudStack Snapshot features.
|
| SSHKeyPairApi
Provides synchronous access to CloudStack SSHKeyPair features.
|
| TemplateApi
Provides synchronous access to cloudstack via their REST API.
|
| VirtualMachineApi
Provides synchronous access to cloudstack via their REST API.
|
| VMGroupApi
Provides synchronous access to CloudStack VM group features.
|
| VolumeApi
Provides synchronous access to cloudstack via their REST API.
|
| ZoneApi
Provides synchronous access to cloudstack via their REST API.
|
| Class and Description |
|---|
| AccountApi
Provides synchronous access to cloudstack via their REST API.
|
| ConfigurationApi
Provides synchronous access to cloudstack via their REST API.
|
| DomainAccountApi
Provides synchronous access to CloudStack Account features available to Domain
Admin users.
|
| DomainDomainApi
Provides synchronous access to CloudStack Domain features available to Domain
Admin users.
|
| DomainUserApi
Provides synchronous access to CloudStack User features available to Domain
Admin users.
|
| LimitApi
Provides synchronous access to CloudStack SSHKeyPair features.
|
| OfferingApi
Provides synchronous access to cloudstack via their REST API.
|
| ZoneApi
Provides synchronous access to cloudstack via their REST API.
|
| Class and Description |
|---|
| AddressApi
Provides synchronous access to cloudstack via their REST API.
|
| Class and Description |
|---|
| SessionApi
Provides synchronous access to Cloudstack Sessions
|
| Class and Description |
|---|
| SessionApi
Provides synchronous access to Cloudstack Sessions
|
Copyright © 2009-2013 The Apache Software Foundation. All Rights Reserved.


Diagnostic
Patient Name
Home
Diagnostic
Prescriptions
meetingDate
Information Date
Diagnostic
Select one...
Suggest
Patient's Profile
Medicine
Foods
Practices
Appointment
Patient's Profile
Name
BirthDay
Gender
Weight
Kg
Height
Cm
Medical history
Symptoms
Medicine
#
Medicine
Times
Quanlity
Note
1
Add
Foods
#
Name
Times
Quantitative
Note
1
Add
Practices
#
Name
Times
Quantitative
Note
1
Add
Appointment
Appointment Date
Appointment Date
Do you want to make appointment?
Appointment Date
Confirm
Do you want to make prescription?


const cardContainer = document.querySelector('.react-card'); // React component for form inputs class CardInput extends React.Component { render() { return(
) } } // React component for textarea class CardTextarea extends React.Component { render() { return( ) } } // React component for form button class CardBtn extends React.Component { render() { return( ) } } return(When Spidey isn't fighting the baddies, he enjoys dating readheads, blondes, actresses, and ballerinas. He is not afraid to cry.
 He is a Taurus.
When Spidey isn't fighting the baddies, he enjoys dating readheads, blondes, actresses, and ballerinas. He is not afraid to cry.
 He is a Taurus.
When Spidey isn't fighting the baddies, he enjoys dating readheads, blondes, actresses, and ballerinas. He is not afraid to cry.
 He is a Taurus.


{block name="meta"}{include file="../application/admin/view/meta.html" /}{/block} {block name="css"}{/block}
{block name="header"}{include file="../application/admin/view/header.html" /}{/block} {block name="left"}{include file="../application/admin/view/left.html" /}{/block} {block name="main"}{/block} {block name="footer"}{include file="../application/admin/view/footer.html" /}{/block} {block name="script"}{/block} {block name="js"}{/block}


A
lollipop plot
is basically a barplot, where the bar is
transformed in a line and a dot. It shows the relationship between a
numeric and a categorical variable. This page displays many lollipop
plots made with R
with their source code.
Lollipop charts can be created using ggplot2
: the trick
is to combine geom_point()
for the dots with
geom_segment()
for the stems. See this
basic example to see how to
proceed.
The web is full of astonishing R charts made by awesome bloggers. The R graph gallery tries to display some of the best creations and explain how their source code works. If you want to display your work here, please drop me a word or even better, submit a Pull Request!


Made with
Where teams come together
Track projects work-flows and teams with ease. Flexible in managing on-going projects on daily basis in the team, between the teams and within the organisations.


Courtney Williams
Researcher - Software Developer - Leader
I am a masters student in the CHISEL lab as part of the Department of Computer Science at the University of Victoria. I am currently employed as a Naval Combat Systems Engineering Officer in the Royal Canadian Navy.
Outside of work, I am passionate about food, fitness, and travel. Ask me about my cupcakes!


最后一遍-L12-Integer to Roman
12. Integer to Roman
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.
Symbol Value
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
For example, two is written as II in Roman numeral, just two one's added together. Twelve is written as, XII, which is simply X + II. The number twenty seven is written as XXVII, which is XX + V + II.
Roman numerals are usually written largest to smallest from left to right. However, the numeral for four is not IIII. Instead, the number four is written as IV. Because the one is before the five we subtract it making four. The same principle applies to the number nine, which is written as IX. There are six instances where subtraction is used:
I can be placed before V (5) and X (10) to make 4 and 9.
X can be placed before L (50) and C (100) to make 40 and 90.
C can be placed before D (500) and M (1000) to make 400 and 900.
Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 to 3999.
Example 1:
Input: 3
Output: "III"
Example 2:
Input: 4
Output: "IV"
Example 3:
Input: 9
Output: "IX"
Example 4:
Input: 58
Output: "LVIII"
Explanation: L = 50, V = 5, III = 3.
Example 5:
Input: 1994
Output: "MCMXCIV"
Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.
Constraints:
1 <= num <= 3999
转化，理解题意
代码：
public class L12 {
static String M[] = {"", "M", "MM", "MMM"};
static String C[] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
static String X[] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
static String I[] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
public static String intToRoman(int num) {
return M[num/1000] + C[(num%1000)/100] + X[(num%100)/10] + I[num%10];
}
public static void main(String[] args) {
System.out.println(L12.intToRoman(3456));
}
}


lib
/
com.maltaisn.recurpicker
/
Recurrence
/
Period
/
WEEKLY
WEEKLY
WEEKLY
Period for a recurrence that occurs every X week(s), on one or several days of the week.


Issue One
AN AUTOBIOGRAPHY
I first wisped out like silk curled around corn. They called me
choclo and stuck their fingers through me, wondering for two
years why I stayed short. They didn’t know corn takes twice as
long to grow than to silk. After that, I learned to stick
my neck up to see a little better and all I saw was more fields.
After five years I was scythed for the first time and it smelled
like chocolate frosting and sharpened Ticonderogas. I grew
long and got dirt on me. I got stuck between pages of chapter
books. Ballerina twists melted in chlorine and dripped off like
new ice. One day all I hung towards
were cement sidewalks and dog scat that stuck in their cracks.
I never saw another cornfield. I fainted straight between hot
metal and was severed short again, boiled in red corn syrup,
left alone. Some months I got washed in cool grey lakewater.
No soap. Just smoke suds. Once I layed waste to dog
shears. Then I dragged in Clorox, then pink, then brown like
Lake Delahey’s mud, then someone’s Pacific Ocean, a color like
husk or Granny Smith, like bruises made in lavender patches,
old Navajo turquoise, the sand on Little Corona beach, Clorox,
Little Corona, blue, blue, Lake Delahey’s mud. Fuzzy
like moth bodies. Dizzy like earthworms around corn—dippity-
do— they didn’t know corn takes twice as long to worm than
to grow.
9:05 AM
This poem can be found in the in-print version of Issue One.
Stefania Gomez is a sophomore at Brown University who likes wood-canvas canoes and Kathleen Hanna. She is a 2013 YoungArts finalist in poetry and has published in Neurology Today, Renaissance, The Blue Pencil, and NPR's WBEZ/Chicago Amplified, among others. As a spoken word poet, in 2012 she placed 7th out of 800 poets in Louder Than a Bomb, Chicago's teen poetry festival and the largest of its kind in the world, and has performed on the stages of Chicago's Biograph and Steppenwolf Theaters. She has had the opportunity to work closely with such writers as Kevin Coval, Regina Taylor, and David Lee and attended the Iowa Young Writer's Studio in the summer of 2012. She will never write anything as great as this old guy she passed once at a south side funk festival who yelled, mid-pelvic gyration, "OLD SCHOOL FOR LIFE."
Copyright © 2012-2015, The Postscript Journal. All rights reserved.


{{ page.title }}
{% if page.category != null %} – {{page.category}}{% endif %}
{% if page.category != null %} – {{page.category}}{% endif %}
Here are all the notes in this garden, along with their links, visualized as a graph.
{% include notes-graph.html %}{%- endif -%}


Welcome to the Mixed Reality Toolkit
Developing Mixed Reality Applications in Unity is hard, and today we're proud to announce the formation of the XRTK (pronounced “Mixed Reality Toolkit”). This is a direct fork of the Microsoft Mixed Reality Toolkit (MRTK).
I know there are many developers who are frustrated with the current state of both game and general application development within the Mixed Reality ecosystem: a quickly developing market that encompasses the whole spectrum from Mobile Augmented Reality to high end Virtual Reality.
Compounded with the fact that developing for an emerging tech markets can be time consuming, expensive, and fraught with peril. There are many complexities with targeting multiple platforms and no single framework currently available is able to fulfil this in a true Mixed Reality approach (covering AR / XR / VR completely). This results in developers and enterprises having to build a multitude of solutions on the many SDK's provided by suppliers to fulfil the needs of the business.
To improve this situation, our vision is simple, to provide a complete cross-platform solution for AR/XR/VR development that supports three different developer skill levels:
Beginner No Coding Required: Perfect for artists, Hackathons, and Quick Prototyping.
Intermediate Customizable: The framework is flexible enough so coders can customize what they need to cover edge cases with ease.
Advanced Extensible: The framework is easy to extend and modify to add additional custom services to meet specific criteria and needs.
Our philosophy is to enable developers to focus on building content and structure and not have to worry about the underlying complexities for supporting multiple platforms in order to build it everywhere and on each device as required. In Short, built it once and ship it everywhere with as little effort as possible.
We’d like to invite all the major hardware vendors to help guide their platform specific implementations, from Microsoft’s Windows Mixed Reality and Magic Leap’s Lumin OS to Google’s ARCore and Apple’s ARKit. Including any upcoming Mixed Reality capable devices that would like to be included for adoption.
Join us on Slack
There are many channels on Slack, covering the wide variety of Mixed Reality platforms out there, as well as a dedicated XRTK channel for discussing XRTK implementations.
Build Status
| Modules | Windows Build Agent |
|---|---|
| Core | |
| UPM | |
| WMR | |
| SDK |
Supported Platforms
- [x] Linux
- [x] OSX Standalone
- [ ] iOS
- [ ] ARKit
- [ ] Android
- [ ] ARCore
- [ ] WebAssembly
- [ ] WebVR
- [ ] WebXR
- [x] Windows Standalone
- [x] Open VR
- [ ] Steam VR
- [x] Windows Mixed Reality
- [x] HoloLens
- [x] Windows Mixed Reality HMDs
- [ ] HoloLens 2
- [ ] Lumin (aka Magic Leap)
FAQ
How do I get started quickly?
While we are still preparing XRTK specific documentation and guidance, all the current Tutorials and Videos related to the MRTK will also work for the XRTK (which some subtle differences in screens).
Most notably:
- Mixed Reality Toolkit Quickstart Quickstart video session demonstrating getting started with the MRTK and building your project for multiple patforms.
- Getting Started With The XRTK (coming soon) Documented walk-through for creating your first project.
- Mixed Reality Configuration Guide (coming soon) Screen by screen walk through of the major MRTK configuration screens (some will vary from the XRTK, but similar enough to get the picture)
What is the relationship between the XRTK and Microsoft's MRTK SDK
We work very closely with the MRTK to evolve their road-map to ensure it is the best it can be. When new features are added to the MRTK, then being a fork of the MRTK, the XRTK project can easily port those features over easily (for instance the upcoming HL2 support and hand tracking). In a lot of cases, there will be many extensions that will simply work seamlessly on both MRTK and XRTK without change, such as the Light Estimation extension released in January 2019.
It is our intention to always cooperate with the MRTK as they have similar goals, we just different aspirations to the developers adoption strategy.
How do I migrate from the MRTK to the XRTK?
All the project GUIDs have been regenerated so there will not be conflicts between assets.
To update any script references do a global find and replace for the following:
Microsoft.MixedReality.Toolkit
->XRTK
- Check for any missing scripts in prefabs as e.g.
Pointer Click Handler, Canvas Utility, Mixed Reality Line Data Provider,...
has updated namespace
How do I migrate from the HoloToolkit to the XRTK?
Currently there isn't a direct path from the HTK to the XRTK, also Microsoft are still in the process of defining an "upgrade guide" for HTK -> MRTK upgrade. Once available we shall update that here with similar guidance.


I am a 1st year PhD student at the University of Washington. I am part of the PLSE group and am advised by Ras Bodik. Before joining UW, I got my BS in Computer Science from UC San Diego.
I am interested in generating programs through Program Synthesis. I am also interested in creating tools for people who might not be as CS inclinded, which includes non-programmers and programmer novices.
Resume: pdf
Email<EMAIL_ADDRESS>Last updated: November 2021
I am currently working on a Program Synthesis + HCI project that aims to build a synthesis tool for visual programming. The tool is aimed towards children who are just learning to program for the first time. We are writing our synthesis tool in Rosette. This project is in collaboration with Ras Bodik (professor), Amy Ko (professor), and Stefania Druga (PhD student).
In my undergrad, I worked with Nadia Polikarpova on building a type-guided top-down enumerative synthesis tool for fully polymorphic and higher-order programs in Haskell. It was built as an alternative search algorithm to Hoogle+, a tool that allows users to provide a type signature and optional examples and get back a code snippet that consists of a composition of Haskell library functions. With this research, I won 1st place at the 2021 POPL Student Research Competition with my 3-page abstract that I co-wrote with another undergrad, Daniel Wang.
Before that, I worked with Jishen Zhao on targetting the exploration of various software caching mechanisms in key-value store database on SSD using C++ and Linux. We further analyzed the access patterns of various applications and aimed to identify bottlenecks of Linux's mmap() system call. This research was part of the Early Research Scholars Program, a research program designed for 2nd year CSE students to gain access to the Computer Science research. I presented my work through a poster presentation at the UCSD CSE Research Expo.
PETSY: Polymorphic Enumerative Type-Guided Synthesis, Darya Verzhbinsky, Daniel Wang (1st Place). POPL'21 Student Research Competition. [3-page abstract] [poster video] [slides]
Exploring Performance of Memory Mapping, Bonnie Dai, Darya Verzhbinsky, Clair Li, Shayan Raisi. 2019 UC San Diego CSE Research Expo. [poster]
I am not a TA right now.
CSE 130: Programming Languages [Spring 2021]
CSE 8A: Introduction to Computer Science (Python) [Winter 2021]
CSE 8A: Introduction to Computer Science (Python) - head tutor to around 35 undergraduate tutors [Fall 2020]
CSE 130: Programming Languages [Spring 2020]
CSE 130: Programming Languages [Winter 2020]
CSE 8A: Introduction to Computer Science (Java + Python) - head tutor to around 35 undergraduate tutors [Fall 2019]
CSE 20: Introduction to Discrete Mathematics [Spring 2019]
CSE 12: Basic Data Structures and OOD (Java + C) - assigned grading and managed scheduling [Winter 2019]
CSE 8A: Introduction to Computer Science (Java) [Fall 2018]
Girls Who Code
Summer Immersion Program:
non-profit "building the world's largest pipeline of future female engineers". Taught a classrom of
20 high school girls on the basics of Computer Science (Scratch, Python, Arduino C / Robotics, Web Development,
Data Science, Algorithms). Also helped the students build their final projects during their final week.
[Summer 2018]
When I was applying to PhD programs for the Fall 2021 cycle, I spent a lot of time trying to find examples of what a Statement of Purpose (SOP) should look like. All I found were websites that alluded to what a statement should look like without actually showing one. I felt that most, if not all, of the advice I got on how to write one was from people in my life telling/showing me. I wanted to put my own application documents on my website so that people who were interested in applying to Computer Science PhD programs had an actual example to look at.
I wish the entire application process was more transparent. I find that there are many ways to make it more accessible to people, and that departments have a ways to go in this area. I want to do what I can to bridge this gap as much as possible. If you would like to get more advice on applying to grad school, such as feedback on a statement or more information on how my application cycle went, please feel free to email me whenever.
Statement of Purpose
Diversity Statement
(only some schools required this)
Here are some general guidelines that I followed that I think made my SOP good, and most importantly, sound like me.
There were some links I found that I think offer a nice perspective on this process as well. Here are the ones I used:


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.io.input; | |
| 18 | ||
| 19 | import java.io.Closeable; | |
| 20 | import java.io.File; | |
| 21 | import java.io.IOException; | |
| 22 | import java.io.RandomAccessFile; | |
| 23 | import java.io.UnsupportedEncodingException; | |
| 24 | import java.nio.charset.Charset; | |
| 25 | import java.nio.charset.CharsetEncoder; | |
| 26 | import java.nio.charset.StandardCharsets; | |
| 27 | ||
| 28 | import org.apache.commons.io.Charsets; | |
| 29 | ||
| 30 | /** | |
| 31 | * Reads lines in a file reversely (similar to a BufferedReader, but starting at | |
| 32 | * the last line). Useful for e.g. searching in log files. | |
| 33 | * | |
| 34 | * @since 2.2 | |
| 35 | */ | |
| 36 | public class ReversedLinesFileReader implements Closeable { | |
| 37 | ||
| 38 | private final int blockSize; | |
| 39 | private final Charset encoding; | |
| 40 | ||
| 41 | private final RandomAccessFile randomAccessFile; | |
| 42 | ||
| 43 | private final long totalByteLength; | |
| 44 | private final long totalBlockCount; | |
| 45 | ||
| 46 | private final byte[][] newLineSequences; | |
| 47 | private final int avoidNewlineSplitBufferSize; | |
| 48 | private final int byteDecrement; | |
| 49 | ||
| 50 | private FilePart currentFilePart; | |
| 51 | ||
| 52 | private boolean trailingNewlineOfFileSkipped = false; | |
| 53 | ||
| 54 | /** | |
| 55 | * Creates a ReversedLinesFileReader with default block size of 4KB and the | |
| 56 | * platform's default encoding. | |
| 57 | * | |
| 58 | * @param file | |
| 59 | * the file to be read | |
| 60 | * @throws IOException if an I/O error occurs | |
| 61 | * @deprecated 2.5 use {@link #ReversedLinesFileReader(File, Charset)} instead | |
| 62 | */ | |
| 63 | @Deprecated | |
| 64 | public ReversedLinesFileReader(final File file) throws IOException { | |
| 65 | this(file, 4096, Charset.defaultCharset()); | |
| 66 | } | |
| 67 | ||
| 68 | /** | |
| 69 | * Creates a ReversedLinesFileReader with default block size of 4KB and the | |
| 70 | * specified encoding. | |
| 71 | * | |
| 72 | * @param file | |
| 73 | * the file to be read | |
| 74 | * @param charset the encoding to use | |
| 75 | * @throws IOException if an I/O error occurs | |
| 76 | * @since 2.5 | |
| 77 | */ | |
| 78 | public ReversedLinesFileReader(final File file, final Charset charset) throws IOException { | |
| 79 | this(file, 4096, charset); | |
| 80 | } | |
| 81 | ||
| 82 | /** | |
| 83 | * Creates a ReversedLinesFileReader with the given block size and encoding. | |
| 84 | * | |
| 85 | * @param file | |
| 86 | * the file to be read | |
| 87 | * @param blockSize | |
| 88 | * size of the internal buffer (for ideal performance this should | |
| 89 | * match with the block size of the underlying file system). | |
| 90 | * @param encoding | |
| 91 | * the encoding of the file | |
| 92 | * @throws IOException if an I/O error occurs | |
| 93 | * @since 2.3 | |
| 94 | */ | |
| 95 | public ReversedLinesFileReader(final File file, final int blockSize, final Charset encoding) throws IOException { | |
| 96 | this.blockSize = blockSize; | |
| 97 | this.encoding = encoding; | |
| 98 | ||
| 99 | // --- check & prepare encoding --- | |
| 100 | final Charset charset = Charsets.toCharset(encoding); | |
| 101 | final CharsetEncoder charsetEncoder = charset.newEncoder(); | |
| 102 | final float maxBytesPerChar = charsetEncoder.maxBytesPerChar(); | |
| 103 |
1
1. |
if (maxBytesPerChar == 1f) { |
| 104 | // all one byte encodings are no problem | |
| 105 | byteDecrement = 1; | |
| 106 |
1
1. |
} else if (charset == StandardCharsets.UTF_8) { |
| 107 | // UTF-8 works fine out of the box, for multibyte sequences a second UTF-8 byte can never be a newline byte | |
| 108 | // http://en.wikipedia.org/wiki/UTF-8 | |
| 109 | byteDecrement = 1; | |
| 110 |
5
1. 2. 3. 4. 5. |
} else if(charset == Charset.forName("Shift_JIS") || // Same as for UTF-8 |
| 111 | // http://www.herongyang.com/Unicode/JIS-Shift-JIS-Encoding.html | |
| 112 | charset == Charset.forName("windows-31j") || // Windows code page 932 (Japanese) | |
| 113 | charset == Charset.forName("x-windows-949") || // Windows code page 949 (Korean) | |
| 114 | charset == Charset.forName("gbk") || // Windows code page 936 (Simplified Chinese) | |
| 115 | charset == Charset.forName("x-windows-950")) { // Windows code page 950 (Traditional Chinese) | |
| 116 | byteDecrement = 1; | |
| 117 |
2
1. 2. |
} else if (charset == StandardCharsets.UTF_16BE || charset == StandardCharsets.UTF_16LE) { |
| 118 | // UTF-16 new line sequences are not allowed as second tuple of four byte sequences, | |
| 119 | // however byte order has to be specified | |
| 120 | byteDecrement = 2; | |
| 121 |
1
1. |
} else if (charset == StandardCharsets.UTF_16) { |
| 122 | throw new UnsupportedEncodingException("For UTF-16, you need to specify the byte order (use UTF-16BE or " + | |
| 123 | "UTF-16LE)"); | |
| 124 | } else { | |
| 125 | throw new UnsupportedEncodingException("Encoding " + encoding + " is not supported yet (feel free to " + | |
| 126 | "submit a patch)"); | |
| 127 | } | |
| 128 | ||
| 129 | // NOTE: The new line sequences are matched in the order given, so it is important that \r\n is BEFORE \n | |
| 130 | newLineSequences = new byte[][] { "\r\n".getBytes(encoding), "\n".getBytes(encoding), "\r".getBytes(encoding) }; | |
| 131 | ||
| 132 | avoidNewlineSplitBufferSize = newLineSequences[0].length; | |
| 133 | ||
| 134 | // Open file | |
| 135 | randomAccessFile = new RandomAccessFile(file, "r"); | |
| 136 | totalByteLength = randomAccessFile.length(); | |
| 137 |
1
1. |
int lastBlockLength = (int) (totalByteLength % blockSize); |
| 138 |
2
1. 2. |
if (lastBlockLength > 0) { |
| 139 |
2
1. 2. |
totalBlockCount = totalByteLength / blockSize + 1; |
| 140 | } else { | |
| 141 |
1
1. |
totalBlockCount = totalByteLength / blockSize; |
| 142 |
2
1. 2. |
if (totalByteLength > 0) { |
| 143 | lastBlockLength = blockSize; | |
| 144 | } | |
| 145 | } | |
| 146 | currentFilePart = new FilePart(totalBlockCount, lastBlockLength, null); | |
| 147 | ||
| 148 | } | |
| 149 | ||
| 150 | /** | |
| 151 | * Creates a ReversedLinesFileReader with the given block size and encoding. | |
| 152 | * | |
| 153 | * @param file | |
| 154 | * the file to be read | |
| 155 | * @param blockSize | |
| 156 | * size of the internal buffer (for ideal performance this should | |
| 157 | * match with the block size of the underlying file system). | |
| 158 | * @param encoding | |
| 159 | * the encoding of the file | |
| 160 | * @throws IOException if an I/O error occurs | |
| 161 | * @throws java.nio.charset.UnsupportedCharsetException thrown instead of {@link UnsupportedEncodingException} in | |
| 162 | * version 2.2 if the encoding is not supported. | |
| 163 | */ | |
| 164 | public ReversedLinesFileReader(final File file, final int blockSize, final String encoding) throws IOException { | |
| 165 | this(file, blockSize, Charsets.toCharset(encoding)); | |
| 166 | } | |
| 167 | ||
| 168 | /** | |
| 169 | * Returns the lines of the file from bottom to top. | |
| 170 | * | |
| 171 | * @return the next line or null if the start of the file is reached | |
| 172 | * @throws IOException if an I/O error occurs | |
| 173 | */ | |
| 174 | public String readLine() throws IOException { | |
| 175 | ||
| 176 | String line = currentFilePart.readLine(); | |
| 177 |
1
1. readLine : negated conditional → NO_COVERAGE |
while (line == null) { |
| 178 | currentFilePart = currentFilePart.rollOver(); | |
| 179 |
1
1. readLine : negated conditional → NO_COVERAGE |
if (currentFilePart != null) { |
| 180 | line = currentFilePart.readLine(); | |
| 181 | } else { | |
| 182 | // no more fileparts: we're done, leave line set to null | |
| 183 | break; | |
| 184 | } | |
| 185 | } | |
| 186 | ||
| 187 | // aligned behaviour with BufferedReader that doesn't return a last, empty line | |
| 188 |
2
1. readLine : negated conditional → NO_COVERAGE 2. readLine : negated conditional → NO_COVERAGE |
if("".equals(line) && !trailingNewlineOfFileSkipped) { |
| 189 | trailingNewlineOfFileSkipped = true; | |
| 190 | line = readLine(); | |
| 191 | } | |
| 192 | ||
| 193 |
1
1. readLine : mutated return of Object value for org/apache/commons/io/input/ReversedLinesFileReader::readLine to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return line; |
| 194 | } | |
| 195 | ||
| 196 | /** | |
| 197 | * Closes underlying resources. | |
| 198 | * | |
| 199 | * @throws IOException if an I/O error occurs | |
| 200 | */ | |
| 201 | @Override | |
| 202 | public void close() throws IOException { | |
| 203 |
1
1. close : removed call to java/io/RandomAccessFile::close → NO_COVERAGE |
randomAccessFile.close(); |
| 204 | } | |
| 205 | ||
| 206 | private class FilePart { | |
| 207 | private final long no; | |
| 208 | ||
| 209 | private final byte[] data; | |
| 210 | ||
| 211 | private byte[] leftOver; | |
| 212 | ||
| 213 | private int currentLastBytePos; | |
| 214 | ||
| 215 | /** | |
| 216 | * ctor | |
| 217 | * @param no the part number | |
| 218 | * @param length its length | |
| 219 | * @param leftOverOfLastFilePart remainder | |
| 220 | * @throws IOException if there is a problem reading the file | |
| 221 | */ | |
| 222 | private FilePart(final long no, final int length, final byte[] leftOverOfLastFilePart) throws IOException { | |
| 223 | this.no = no; | |
| 224 |
2
1. 2. |
final int dataLength = length + (leftOverOfLastFilePart != null ? leftOverOfLastFilePart.length : 0); |
| 225 | this.data = new byte[dataLength]; | |
| 226 |
2
1. 2. |
final long off = (no - 1) * blockSize; |
| 227 | ||
| 228 | // read data | |
| 229 |
2
1. 2. |
if (no > 0 /* file not empty */) { |
| 230 |
1
1. |
randomAccessFile.seek(off); |
| 231 | final int countRead = randomAccessFile.read(data, 0, length); | |
| 232 |
1
1. |
if (countRead != length) { |
| 233 | throw new IllegalStateException("Count of requested bytes and actually read bytes don't match"); | |
| 234 | } | |
| 235 | } | |
| 236 | // copy left over part into data arr | |
| 237 |
1
1. |
if (leftOverOfLastFilePart != null) { |
| 238 |
1
1. |
System.arraycopy(leftOverOfLastFilePart, 0, data, length, leftOverOfLastFilePart.length); |
| 239 | } | |
| 240 |
1
1. |
this.currentLastBytePos = data.length - 1; |
| 241 | this.leftOver = null; | |
| 242 | } | |
| 243 | ||
| 244 | /** | |
| 245 | * Handles block rollover | |
| 246 | * | |
| 247 | * @return the new FilePart or null | |
| 248 | * @throws IOException if there was a problem reading the file | |
| 249 | */ | |
| 250 | private FilePart rollOver() throws IOException { | |
| 251 | ||
| 252 |
2
1. rollOver : changed conditional boundary → NO_COVERAGE 2. rollOver : negated conditional → NO_COVERAGE |
if (currentLastBytePos > -1) { |
| 253 | throw new IllegalStateException("Current currentLastCharPos unexpectedly positive... " | |
| 254 | + "last readLine() should have returned something! currentLastCharPos=" + currentLastBytePos); | |
| 255 | } | |
| 256 | ||
| 257 |
2
1. rollOver : changed conditional boundary → NO_COVERAGE 2. rollOver : negated conditional → NO_COVERAGE |
if (no > 1) { |
| 258 |
2
1. rollOver : Replaced long subtraction with addition → NO_COVERAGE 2. rollOver : mutated return of Object value for org/apache/commons/io/input/ReversedLinesFileReader$FilePart::rollOver to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return new FilePart(no - 1, blockSize, leftOver); |
| 259 | } else { | |
| 260 | // NO 1 was the last FilePart, we're finished | |
| 261 |
1
1. rollOver : negated conditional → NO_COVERAGE |
if (leftOver != null) { |
| 262 | throw new IllegalStateException("Unexpected leftover of the last block: leftOverOfThisFilePart=" | |
| 263 | + new String(leftOver, encoding)); | |
| 264 | } | |
| 265 |
1
1. rollOver : mutated return of Object value for org/apache/commons/io/input/ReversedLinesFileReader$FilePart::rollOver to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return null; |
| 266 | } | |
| 267 | } | |
| 268 | ||
| 269 | /** | |
| 270 | * Reads a line. | |
| 271 | * | |
| 272 | * @return the line or null | |
| 273 | * @throws IOException if there is an error reading from the file | |
| 274 | */ | |
| 275 | private String readLine() throws IOException { | |
| 276 | ||
| 277 | String line = null; | |
| 278 | int newLineMatchByteCount; | |
| 279 | ||
| 280 |
1
1. readLine : negated conditional → NO_COVERAGE |
final boolean isLastFilePart = no == 1; |
| 281 | ||
| 282 | int i = currentLastBytePos; | |
| 283 |
2
1. readLine : changed conditional boundary → NO_COVERAGE 2. readLine : negated conditional → NO_COVERAGE |
while (i > -1) { |
| 284 | ||
| 285 |
3
1. readLine : changed conditional boundary → NO_COVERAGE 2. readLine : negated conditional → NO_COVERAGE 3. readLine : negated conditional → NO_COVERAGE |
if (!isLastFilePart && i < avoidNewlineSplitBufferSize) { |
| 286 | // avoidNewlineSplitBuffer: for all except the last file part we | |
| 287 | // take a few bytes to the next file part to avoid splitting of newlines | |
| 288 |
1
1. readLine : removed call to org/apache/commons/io/input/ReversedLinesFileReader$FilePart::createLeftOver → NO_COVERAGE |
createLeftOver(); |
| 289 | break; // skip last few bytes and leave it to the next file part | |
| 290 | } | |
| 291 | ||
| 292 | // --- check for newline --- | |
| 293 |
2
1. readLine : changed conditional boundary → NO_COVERAGE 2. readLine : negated conditional → NO_COVERAGE |
if ((newLineMatchByteCount = getNewLineMatchByteCount(data, i)) > 0 /* found newline */) { |
| 294 |
1
1. readLine : Replaced integer addition with subtraction → NO_COVERAGE |
final int lineStart = i + 1; |
| 295 |
2
1. readLine : Replaced integer subtraction with addition → NO_COVERAGE 2. readLine : Replaced integer addition with subtraction → NO_COVERAGE |
final int lineLengthBytes = currentLastBytePos - lineStart + 1; |
| 296 | ||
| 297 |
2
1. readLine : changed conditional boundary → NO_COVERAGE 2. readLine : negated conditional → NO_COVERAGE |
if (lineLengthBytes < 0) { |
| 298 | throw new IllegalStateException("Unexpected negative line length="+lineLengthBytes); | |
| 299 | } | |
| 300 | final byte[] lineData = new byte[lineLengthBytes]; | |
| 301 |
1
1. readLine : removed call to java/lang/System::arraycopy → NO_COVERAGE |
System.arraycopy(data, lineStart, lineData, 0, lineLengthBytes); |
| 302 | ||
| 303 | line = new String(lineData, encoding); | |
| 304 | ||
| 305 |
1
1. readLine : Replaced integer subtraction with addition → NO_COVERAGE |
currentLastBytePos = i - newLineMatchByteCount; |
| 306 | break; // found line | |
| 307 | } | |
| 308 | ||
| 309 | // --- move cursor --- | |
| 310 |
1
1. readLine : Replaced integer subtraction with addition → NO_COVERAGE |
i -= byteDecrement; |
| 311 | ||
| 312 | // --- end of file part handling --- | |
| 313 |
2
1. readLine : changed conditional boundary → NO_COVERAGE 2. readLine : negated conditional → NO_COVERAGE |
if (i < 0) { |
| 314 |
1
1. readLine : removed call to org/apache/commons/io/input/ReversedLinesFileReader$FilePart::createLeftOver → NO_COVERAGE |
createLeftOver(); |
| 315 | break; // end of file part | |
| 316 | } | |
| 317 | } | |
| 318 | ||
| 319 | // --- last file part handling --- | |
| 320 |
2
1. readLine : negated conditional → NO_COVERAGE 2. readLine : negated conditional → NO_COVERAGE |
if (isLastFilePart && leftOver != null) { |
| 321 | // there will be no line break anymore, this is the first line of the file | |
| 322 | line = new String(leftOver, encoding); | |
| 323 | leftOver = null; | |
| 324 | } | |
| 325 | ||
| 326 |
1
1. readLine : mutated return of Object value for org/apache/commons/io/input/ReversedLinesFileReader$FilePart::readLine to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return line; |
| 327 | } | |
| 328 | ||
| 329 | /** | |
| 330 | * Creates the buffer containing any left over bytes. | |
| 331 | */ | |
| 332 | private void createLeftOver() { | |
| 333 |
1
1. createLeftOver : Replaced integer addition with subtraction → NO_COVERAGE |
final int lineLengthBytes = currentLastBytePos + 1; |
| 334 |
2
1. createLeftOver : changed conditional boundary → NO_COVERAGE 2. createLeftOver : negated conditional → NO_COVERAGE |
if (lineLengthBytes > 0) { |
| 335 | // create left over for next block | |
| 336 | leftOver = new byte[lineLengthBytes]; | |
| 337 |
1
1. createLeftOver : removed call to java/lang/System::arraycopy → NO_COVERAGE |
System.arraycopy(data, 0, leftOver, 0, lineLengthBytes); |
| 338 | } else { | |
| 339 | leftOver = null; | |
| 340 | } | |
| 341 | currentLastBytePos = -1; | |
| 342 | } | |
| 343 | ||
| 344 | /** | |
| 345 | * Finds the new-line sequence and return its length. | |
| 346 | * | |
| 347 | * @param data buffer to scan | |
| 348 | * @param i start offset in buffer | |
| 349 | * @return length of newline sequence or 0 if none found | |
| 350 | */ | |
| 351 | private int getNewLineMatchByteCount(final byte[] data, final int i) { | |
| 352 |
3
1. getNewLineMatchByteCount : changed conditional boundary → NO_COVERAGE 2. getNewLineMatchByteCount : Changed increment from 1 to -1 → NO_COVERAGE 3. getNewLineMatchByteCount : negated conditional → NO_COVERAGE |
for (final byte[] newLineSequence : newLineSequences) { |
| 353 | boolean match = true; | |
| 354 |
4
1. getNewLineMatchByteCount : changed conditional boundary → NO_COVERAGE 2. getNewLineMatchByteCount : Changed increment from -1 to 1 → NO_COVERAGE 3. getNewLineMatchByteCount : Replaced integer subtraction with addition → NO_COVERAGE 4. getNewLineMatchByteCount : negated conditional → NO_COVERAGE |
for (int j = newLineSequence.length - 1; j >= 0; j--) { |
| 355 |
3
1. getNewLineMatchByteCount : Replaced integer addition with subtraction → NO_COVERAGE 2. getNewLineMatchByteCount : Replaced integer subtraction with addition → NO_COVERAGE 3. getNewLineMatchByteCount : Replaced integer subtraction with addition → NO_COVERAGE |
final int k = i + j - (newLineSequence.length - 1); |
| 356 |
4
1. getNewLineMatchByteCount : changed conditional boundary → NO_COVERAGE 2. getNewLineMatchByteCount : Replaced bitwise AND with OR → NO_COVERAGE 3. getNewLineMatchByteCount : negated conditional → NO_COVERAGE 4. getNewLineMatchByteCount : negated conditional → NO_COVERAGE |
match &= k >= 0 && data[k] == newLineSequence[j]; |
| 357 | } | |
| 358 |
1
1. getNewLineMatchByteCount : negated conditional → NO_COVERAGE |
if (match) { |
| 359 |
1
1. getNewLineMatchByteCount : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return newLineSequence.length; |
| 360 | } | |
| 361 | } | |
| 362 |
1
1. getNewLineMatchByteCount : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return 0; |
| 363 | } | |
| 364 | } | |
| 365 | ||
| 366 | } | |
Mutations | ||
| 103 |
1.1 |
|
| 106 |
1.1 |
|
| 110 |
1.1 2.2 3.3 4.4 5.5 |
|
| 117 |
1.1 2.2 |
|
| 121 |
1.1 |
|
| 137 |
1.1 |
|
| 138 |
1.1 2.2 |
|
| 139 |
1.1 2.2 |
|
| 141 |
1.1 |
|
| 142 |
1.1 2.2 |
|
| 177 |
1.1 |
|
| 179 |
1.1 |
|
| 188 |
1.1 2.2 |
|
| 193 |
1.1 |
|
| 203 |
1.1 |
|
| 224 |
1.1 2.2 |
|
| 226 |
1.1 2.2 |
|
| 229 |
1.1 2.2 |
|
| 230 |
1.1 |
|
| 232 |
1.1 |
|
| 237 |
1.1 |
|
| 238 |
1.1 |
|
| 240 |
1.1 |
|
| 252 |
1.1 2.2 |
|
| 257 |
1.1 2.2 |
|
| 258 |
1.1 2.2 |
|
| 261 |
1.1 |
|
| 265 |
1.1 |
|
| 280 |
1.1 |
|
| 283 |
1.1 2.2 |
|
| 285 |
1.1 2.2 3.3 |
|
| 288 |
1.1 |
|
| 293 |
1.1 2.2 |
|
| 294 |
1.1 |
|
| 295 |
1.1 2.2 |
|
| 297 |
1.1 2.2 |
|
| 301 |
1.1 |
|
| 305 |
1.1 |
|
| 310 |
1.1 |
|
| 313 |
1.1 2.2 |
|
| 314 |
1.1 |
|
| 320 |
1.1 2.2 |
|
| 326 |
1.1 |
|
| 333 |
1.1 |
|
| 334 |
1.1 2.2 |
|
| 337 |
1.1 |
|
| 352 |
1.1 2.2 3.3 |
|
| 354 |
1.1 2.2 3.3 4.4 |
|
| 355 |
1.1 2.2 3.3 |
|
| 356 |
1.1 2.2 3.3 4.4 |
|
| 358 |
1.1 |
|
| 359 |
1.1 |
|
| 362 |
1.1 |


Preparation time
30 mins to 1 hour
Cooking time
over 2 hours
Serves
Serves 4
This is a meatball dish you will not forget in a hurry! A winning combination of pork and fennel is topped with creamy homemade ricotta for a truly mouthwatering meal.
For the chicken stock, put all the stock ingredients in a large saucepan. Cover with cold water and slowly bring to the boil. Reduce the heat and simmer for 3 hours.
Strain the stock through a sieve lined with a fine cloth. Slowly pour it through - don’t press or it will become cloudy. Pour the strained stock into a clean saucepan and simmer until the volume of liquid has reduced by half. Strain again and chill.
For the onion jam, heat the olive oil in a saucepan. Add the onions and bay leaf and cook gently until soft. Cook over a low heat for about an hour, or until the onions are golden-brown and their natural sugars have caramelised. Remove from the heat. When cool, place in a airtight container and transfer to the fridge.
To make the ricotta, heat the milk until just below boiling, then add the salt and lemon juice. Remove from the heat and set aside for 10 minutes. After this time, the milk should be curdled. Strain through a muslin cloth and leave to rest for 30 minutes (leave for longer if you prefer a drier ricotta). Store in an airtight container and in the fridge.
Preheat the oven to 180C/160C Fan/Gas 4.
For the meatballs, melt 50g/1¾oz butter in a frying pan over a medium heat. Add the breadcrumbs and toast until golden-brown, stirring often. If they start to colour too quickly, lower the heat. Set aside to cool.
Mix the mince, salami, egg, fennel seeds and herbs in a bowl.  Heat a drizzle of olive oil in a frying pan, then add the meatballs and fry them all over to seal. Transfer to an ovenproof dish.
Put the fennel and a tablespoon olive oil in the pan and cook gently for about 10 minutes. Add 2 tablespoons of the onion jam and all of the chicken stock. Bring to the boil, then reduce the heat and simmer until the volume of liquid has reduced by three-quarters. Add the remaining butter and swirl it around so it emulsifies and combines into a sauce. Season with salt and pepper and pour the mixture over the meatballs.
Bake the meatballs for 10 minutes, then remove, sprinkle with Parmesan and spoon over a few tablespoons of ricotta. Return to the oven for 5 minutes, or until the Parmesan has browned. Sprinkle the reserved breadcrumbs and pine nuts evenly over the top and serve immediately.


Preparation time
less than 30 mins
Cooking time
less than 10 mins
Serves
Serves 2
Dietary
Preheat oven to 200C/400F/Gas 6.
Prepare a baking sheet by lining it with non-stick baking paper.
For the spun sugar, heat the sugar and water in a clean saucepan over a medium heat, without stirring, until the sugar dissolves.
Increase the heat and boil rapidly until the dissolved sugar thickens and darkens in colour.
Carefully dip an oiled fork into the hot liquid sugar and flick it over an oiled wooden spoon to create fine strands of sugar. (NB: Cover the surrounding surfaces with newspaper beforehand as the sugar may scatter).
For the chocolate glaze, place the cocoa and water into a bowl and combine to make a paste. Using a palette knife spread a thin layer onto a serving plate.
Carve designs in the edge of the chocolate paste, with a fork while still slightly soft, then leave to set. Once set, use a pastry brush to glaze with honey.
Place the vanilla tuille ingredients into a bowl and mix together. Using a knife, spread thin strips onto a piece of non-stick baking paper on the baking sheet, place into the oven and bake for five to eight minutes, until golden around edges. Remove immediately and carefully bend each tuille around a rolling pin to shape. Allow to cool.
Grease the inside of two chefs' rings with butter and place on a greased baking sheet.
For the fondant, place the flour, cornflour, caster sugar, egg yolk and chocolate into a food processor and blend until combined.
Transfer the chocolate mixture into a bowl and gently fold in the egg whites and fill both greased chefs' rings.
Arrange the macadamia nuts on top of each fondant, transfer onto a baking sheet and place into the oven to cook for 8-10mins, until golden and cooked on the outside but still runny in the centre.
Carefully lift off the chefs' rings and cool slightly. Place onto the chocolate glazed plate.
Arrange the bent vanilla tuille and spun sugar on top.
To serve, decorate with a mint sprig.


Alumni & Friends
The University of Delaware Department of Computer Information & Sciences greatly values our alumni & friends and their contributions to the profession and continued commitment to the department. Keep in touch with news and events in the department. Please consider giving to the department to support educational opportunities for current students and expand our excellent research facilities.
We love to hear from you. Please register with UD Connection, the University of Delaware's online alumni community. Through UD Connection you can network with fellow alumni, post and view class notes, get the latest news, and stay involved.


Result: {{ip}}
Change Event:
{{event.timestamp}}: {{event.val}}
Blur Event:
{{event.timestamp}}: {{event.val}}


In a core of each computer there is...
let's start short esoteric journey. we give you binary to run, you let us know what were in registers at the end of execution
don't forget you have 5 seconds to respond
0x0ACE.BIN
CPU description:
num registers: 4
endianess: little
register width: 16bit
opcode format:
0 bit 16 bit 32 bit
| (opt) (opt) | (opt) |
| code mod dest-reg src-reg | immediate value (imm) |
| xxxxxxxx xxxx xx xx | xxxxxxxx xxxxxxxx |
mod:
0x0 - imm
0x1 - reg
0x2 - reg+imm
0x3 - reg+reg
0x4-0xf - reserved
{dest,src}-reg:
0x0 - r0
0x1 - r1
0x2 - r2
0x3 - r3
example:
bin: 00000000 00010010 00011010 10011111
hex: 00 12 9f 1a
explanation: move value 6815 to r1
instructions:
| code | operation |
| 0x00 | move |
| 0x01 | bitwise or |
| 0x02 | bitwise xor |
| 0x03 | bitwise and |
| 0x04 | bitwise negation |
| 0x05 | addition |
| 0x06 | subtraction |
| 0x07 | multiplication |
| 0x08 | shift left |
| 0x09 | shift right |
| 0x0a | increment |
| 0x0b | decrement |
| 0x0c | push on stack |
| 0x0d | pop from stack |
| 0x0e | compare |
| 0x0f | jump to nth opcode when not zero* |
| 0x10 | jump to nth opcode when zero* |
* - nth opcode is not nth byte in binary
All arithmetic and logical instructions set zero
flag according to the result - if result of operation
was 0 - zero flag is set, else zero flag is cleared.
Compare operation executes subtraction without writing any
registers (just setting the zero flag).
Shift operations are not circular!
Good luck!


--- layout: post title: Utgard Keep video tags: - 5 man - dungeon - instance - tanking - warrior - wow - wrath of the lich king status: publish type: post published: true meta: aktt_notify_twitter: 'yes' _aktt_hash_meta: '' _edit_last: '2' aktt_tweeted: '1' _wp_old_slug: '' --- Just a testing video captured using fraps and merged using iMovie.
One of the interesting things I noticed was that hello I am a clicker :) As a result of watching this video, I re-arranged my UI quite a bit and set up a number of key bindings. Still getting used to the new set up, I guess it'll take time for the muscle memory to set in.


 Scroll down to learn about its key features, or visit the
getting started guide for a step-by-step guide on using drift.
{% endblock %}
{% block "blocks/lead.html" color="dark" %}
Drift is an easy to use, reactive persistence library for Flutter apps. Define tables in Dart or
SQL and enjoy a fluent query API, auto-updating streams and more!
{% endblock %}
{% block "blocks/section.html" color="primary" %}
{% block "blocks/feature.html" icon="fas fa-lightbulb" title="Declarative tables, fluent queries" %}
{% block "blocks/markdown.html" %}
With drift, you can write your database tables in pure Dart without having to miss out on
advanced sqlite features. Drift will take care of creating the tables and generate code
that allows you run fluent queries on your data.
[Get started now]({{ "docs/Getting started/index.md" | pageUrl }})
{% endblock %}
{% endblock %}
{% block "blocks/feature.html" icon="fas fa-database" title="Prefer SQL? Drift got you covered!" %}
{% block "blocks/markdown.html" %}
Drift contains a powerful sql parser and analyzer, allowing it to create typesafe APIs for all your sql queries. All sql queries are
validated and analyzed during build-time, so drift can provide hints about potential errors quickly and generate efficient mapping
code.
[Learn more]({{ 'docs/Using SQL/index.md' | pageUrl }})
{% endblock %}
{% endblock %}
{% block "blocks/feature.html" icon="fas fa-star" title="And much more!" %}
{% block "blocks/markdown.html" %}
Drift provides auto-updating streams for all your queries, makes dealing with transactions and migrations easy
and lets your write modular database code with DAOs. We even have a [sql IDE]({{ 'docs/Using SQL/sql_ide.md' | pageUrl }}) builtin to the project
When using drift, working with databases in Dart is fun!
{% endblock %}
{% endblock %}
{% endblock %}
{% block "blocks/section.html" color="light" type="section" %}
{% block "blocks/markdown.html" %}
## Key features
Here are some of the many ways drift helps you write awesome database code:
* __Auto-updating streams__: With drift, any query - no matter how complex - can be turned into a stream that emits new data as the underlying data changes.
* __Polyglot__: Drift lets you write queries in a fluent Dart api or directly in SQL - you can even embed Dart expressions in SQL.
* __Boilerplate-free__: Stop writing mapping code yourself - drift can take of that. Drift generates Dart code around your data so you can focus
on building great apps.
* __Flexible__: Want to write queries in SQL? Drift verifies them at compile time and generates Dart apis for them. Prefer to write them in Dart?
Drift will generate efficient SQL for Dart queries too.
* __Easy to learn__: Instead of having to learn yet another ORM, drift lets you write queries in SQL and generates typesafe wrappers. Queries and tables
can also be written in Dart that looks similar to SQL without loosing type-safety.
* __Fast _and_ powerful__: With the new `ffi` backend, drift can outperform key-value stores without putting any compromises on the integrity
and flexibility that relational databases provide. Drift is the only major persistence library with builtin support for multiple isolates.
* __Well tested and production ready__: Each component of drift is verified by a wide range of unit and integration tests. Drift powers many Flutter apps
in production.
* __Cross-Platform__: Drift works on iOS, Android, Linux, macOS, Windows and on the web. It doesn't even require Flutter. See [supported platforms]({{ "docs/platforms.md" | pageUrl }}).
{% endblock %}
{% endblock %}


| DOSE: T+ 0:00 |
6 glasses |
oral |
Alcohol - Beer/Wine |
(liquid) |
| T+ 3:00 |
4 bowls |
smoked |
Cannabis |
(plant material) |
| T+ 3:00 |
repeated |
inhaled |
Nitrous Oxide |
(gas) |
| T+ 6:00 |
1 tablet |
oral |
MDMA |
(pill / tablet) |
| T+ 7:00 |
1 tablet |
oral |
MDMA |
(pill / tablet) |
| T+ 8:00 |
1 tablet |
oral |
MDMA |
(pill / tablet) |
This is my strange story. It is one of the key changing points of my life.
I was invited to a private rave, in Florida, that was held in an open field by the woods. The rave started at 3:00 pm with drinking beer in the hot June sun while listening to music. I stopped drinking two hours before the sun went down and started taking whippets and smoking marijuana. Around 9:00 pm I took one ecstasy pill. The ecstasy was not pure. I noticed MDMA in it; but it evidently had a hallucinogenic drug that I did not recognize. Once I began to feel the ecstasy I started walking around the field talking to the other ravers. One group told me that people are getting strange effects from the kind of ecstasy I took. Another person, I did not know, told me that seeing me reminded him of the movie Beatle Juice.
Around 10:00 pm I took another ecstasy pill. It was around this time that the rave started to get more intense. More people were in the field doing light shows and playing music. Wisely one of my friends had the idea of leaving while one of us could still drive. Around 11:00 pm we reached the house and I took another ecstasy pill. My roll reached its peak during the hours of 11:00-12:00. During this time I used whippets and light sticks to increase the roll.
Around 12:00 am while on a whippet, my mind entered into an advanced state of thinking. I began to feel that the entire world we know is only an illusion of a greater truth and design. As this happened my state of conscious began to open into what seemed to be true existence without regard to emotions or desires. While in this trance state I began to merge all the areas of knowledge known to me. I mixed western science, cosmology, Buddhist philosophy, western atheism, and Islamic thinking into a single hegemony of thought.
I began to see the entire human species as a developing chemical compound that is organizing into a living organism. I began to see that religion and political ideology is the mind of the organism. I began to realize that depending on what state of consciousness or ideology humanity accepts will be the life cycle and function of the organism. Then I began to realize this is the illusion of reality the Buddhist talk about. Different religions have called this evolving organism different things. Jesus called the organism the body of Christ.
I then began to see history with a different view. Nations falling and nations developing are actually different parts of the organism establishing itself as the equivalent of organs. Nazi Germany was actually a part of the organism that tried establishing itself as the brain but the other parts of the organism did not recognize it as the brain because the physics of the earth were not in submission to Germany.
I then realized the true nature of the system of Islam. Islam is a program that’s entire purpose is to design the organism. The Mosque is the think tank or brain of the organism, where all politics and economics are discussed. The Quran is actually the physical programming of the organism. The Quran is the social equivalent of DNA. It is a health standard that regulates every area of the organism and ensure that the organism never destroys itself but only destroy the “parasites” or “infidels” that seek to harm the overall benefit of the organism.
I could not leave this state of thought. My friends tried to get me to rave with them; but I did not have any desire to party. I lost interest in everything around me and began to write all the ideas that came to my mind. During this entire time I did not leave my trance, but wrote for three hours straight. I would have continued to write more but the drugs in combination with the emotions I was experiencing made it too difficult to continue. Around 3:00 am I smoked enough marijuana to allow me to relax and lie down.
I believe it was the combination of drugs, alcohol, summer heat, and the unfamiliar environment that created this unusual state of conscious in me. It took one week for my mind to get back to its normal state and even now the psychological impact is with me. This experience was in every since spiritual but just as dangerous as it was spiritual.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


If you don't want to use the DocuScope dictionaries, Ubiqu+Ity allows you to create your own simple rules. Rules are declared in a CSV file that looks like this:
- Column 1: Whitespace-Separated Words and Punctuation
- Column 2: The Rule's Name
Ubiqu+Ity will look for exact instances of the rules that are specified. Column headings (i.e. Words, Rule
on the first line of the CSV file) are optional, but recommended.
Here's an example:
Words, Rule
I have a question, GenericQuestionQuery
Have you had, PresentPerfectQuery
Stand ho, ExclamatoryStatement
In the future, we will allow users to create more complex, hierarchical rule structures.


Class-based object-oriented languages, such as Java and C++, are founded on the concept of two distinct entities: classes and instances.
- A class defines all of the properties that characterize a certain set of objects (considering methods and fields in Java, or members in C++, to be properties). A class is abstract rather than any particular member in a set of objects it describes. For example, the
Employee
class could represent the set of all employees. - An instance, on the other hand, is the instantiation of a class; that is, one of its members. For example,
Victoria
could be an instance of theEmployee
class, representing a particular individual as an employee. An instance has exactly the same properties of its parent class (no more, no less).
A prototype-based language, such as JavaScript, does not make this distinction: it simply has objects. A prototype-based language has the notion of a prototypical object, an object used as a template from which to get the initial properties for a new object. Any object can specify its own properties, either when you create it or at run time. In addition, any object can be associated as the prototype for another object, allowing the second object to share the first object's properties.
In class-based languages, you define a class in a separate class definition. In that definition you can specify special methods, called constructors, to create instances of the class. A constructor method can specify initial values for the instance's properties and perform other processing appropriate at creation time. You use the new
operator in association with the constructor method to create class instances.
JavaScript follows a similar model, but does not have a class definition separate from the constructor. Instead, you define a constructor function to create objects with a particular initial set of properties and values. Any JavaScript function can be used as a constructor. You use the new
operator with a constructor function to create a new object.
In a class-based language, you create a hierarchy of classes through the class definitions. In a class definition, you can specify that the new class is a subclass of an already existing class. The subclass inherits all the properties of the superclass and additionally can add new properties or modify the inherited ones. For example, assume the Employee
class includes only the name
and dept
properties, and Manager
is a subclass of Employee
that adds the reports
property. In this case, an instance of the Manager
class would have all three properties: name
, dept
, and reports
.
JavaScript implements inheritance by allowing you to associate a prototypical object with any constructor function. So, you can create exactly the Employee
— Manager
example, but you use slightly different terminology. First you define the Employee
constructor function, specifying the name
and dept
properties. Next, you define the Manager
constructor function, calling the Employee
constructor and specifying the reports
property. Finally, you assign a new object derived from Employee.prototype
as the prototype for the Manager
constructor function. Then, when you create a new Manager
, it inherits the name
and dept
properties from the Employee
object.
In class-based languages, you typically create a class at compile time and then you instantiate instances of the class either at compile time or at run time. You cannot change the number or the type of properties of a class after you define the class. In JavaScript, however, at run time you can add or remove properties of any object. If you add a property to an object that is used as the prototype for a set of objects, the objects for which it is the prototype also get the new property.
Employee
has the propertiesname
(whose value defaults to the empty string) anddept
(whose value defaults to "general").Manager
is based onEmployee
. It adds thereports
property (whose value defaults to an empty array, intended to have an array ofEmployee
objects as its value).WorkerBee
is also based onEmployee
. It adds the projects property (whose value defaults to an empty array, intended to have an array of strings as its value).SalesPerson
is based onWorkerBee
. It adds thequota
property (whose value defaults to 100). It also overrides thedept
property with the value "sales", indicating that all salespersons are in the same department.Engineer
is based onWorkerBee
. It adds themachine
property (whose value defaults to the empty string) and also overrides thedept
property with the value "engineering"
There are several ways to define appropriate constructor functions to implement the Employee hierarchy. How you choose to define them depends largely on what you want to be able to do in your application.
This section shows how to use very simple (and comparatively inflexible) definitions to demonstrate how to get the inheritance to work. In these definitions, you cannot specify any property values when you create an object. The newly-created object simply gets the default values, which you can change at a later time.
In a real application, you would probably define constructors that allow you to provide property values at object creation time (see More flexible constructors for information). For now, these simple definitions demonstrate how the inheritance occurs.
function Employee() {
this.name = '';
this.dept = 'general';
}


- Ellipsoid - Class in cip.render.raytrace.geometry
-
This is the implementation of an ellipsoid of some radii centered at 0,0,0 in the object coordinate system.
- Ellipsoid() - Constructor for class cip.render.raytrace.geometry.Ellipsoid
-
Creates a new instance of Ellipsoid
- equals(AngleF) - Method in class cip.render.util.AngleF
-
- equals(Object) - Method in class cip.render.util.AngleF
-
- equals(Line3f) - Method in class cip.render.util3d.Line3f
-
Tests another line, ln, for equality with this line.
- equals(Object) - Method in class cip.render.util3d.Line3f
-
Tests another object, obj, for equality with this line.
- equals(Plane3f) - Method in class cip.render.util3d.Plane3f
-
Tests another plane, pln, for equality with this plane.
- equals(Object) - Method in class cip.render.util3d.Plane3f
-
Tests another object, obj, for equality with this plane.
- equals(Point3f) - Method in class cip.render.util3d.Point3f
-
Tests another point, pt, for equality with this vector.
- equals(Object) - Method in class cip.render.util3d.Point3f
-
Tests another object, obj, for equality with this point.
- equals(Vector3f) - Method in class cip.render.util3d.Vector3f
-
Tests another vector, v, for equality with this vector.
- equals(Object) - Method in class cip.render.util3d.Vector3f
-
Tests another object, obj, for equality with this vector.
- equals(RGBf) - Method in class cip.render.utilColour.RGBf
-
Tests another RGB colour, rgb, for equality with this RGB colour.
- equals(Object) - Method in class cip.render.utilColour.RGBf
-
Tests another object, obj, for equality with this RGB colour.
- evaluate(Vector3f, Vector3f, Vector3f, Vector3f) - Method in interface cip.render.raytrace.interfaces.IRtD
-
Evaluate the slope-distribution function.
- evaluate(Vector3f, Vector3f, Vector3f, Vector3f) - Method in interface cip.render.raytrace.interfaces.IRtG
-
Evaluate the geometric attenuation function.
- evaluate(Vector3f, Vector3f, Vector3f, Vector3f) - Method in class cip.render.raytrace.material.D.Blinn
-
- evaluate(Vector3f, Vector3f, Vector3f, Vector3f) - Method in class cip.render.raytrace.material.D.Gaussian
-
- evaluate(Vector3f, Vector3f, Vector3f, Vector3f) - Method in class cip.render.raytrace.material.D.Phong
-
- evaluate(Vector3f, Vector3f, Vector3f, Vector3f) - Method in class cip.render.raytrace.material.D.TrowRietz
-
- evaluate(Vector3f, Vector3f, Vector3f, Vector3f) - Method in class cip.render.raytrace.material.G.Torrance
-


If you want to dig a little deeper, you are in the right place
The United States Centers for Disease Control maintains a database of behavioral health risk factors survey data. This data is freely available for download. Numerous visualizations are also available.
Most geographic visualizations either capture current values on a chloropleth or heat map, or they capture trends using a line chart. Sometimes, though, it is useful to see both the spatial and temporal trends in one graphic, which is why this visualization tool was made.
For this tool, ten specific indicators were chosen based on the recorded summary of CDC BRFSS survey responses. Eight of these indicators come directly from specific categories directly computed by the CDC and made available as part of the data.
In addition, two new categories were used for this visualization. For body mass index, the CDC uses a 5-category response that records overweight and obesity prevalence as separate categories. For this dataset, both categories were combined into a single overweight / obese category.
 For this visualization, the prevalence of high cholesterol was estimated simply by taking the fraction who had been told their cholesterol was high and dividing by the fraction of people ever tested. Using this approach as a quantitaive estimate implies that these two factors are independent, which may not be true. As a qualitative indicator, though, it seems reasonable.
The specific questions and answers used were:
| # | Question ID | Question Text | Answer IDs | How Answer Was Used |
|---|---|---|---|---|
| 1 | _HCVU651 | Adults aged 18-64 who have any kind of health care coverage | RESP046 "Yes" (+CDC calculation) | "Yes" / Total as estimated by CDC |
| 2 | BLOODCHO | Adults who have ever had their blood pressure checked | RESP046 "Yes" | "Yes" / Total as estimated by CDC |
| 3 | _TOTINDA | During the past month, did you participate in any physical activities? | RESP046 "Yes" | "Yes" / Total as estimated by CDC |
| 4 | DRNKANY5 | Adults who have had at least one drink of alcohol within the past 30 days | RESP046 "Yes" (CDC calculation) | "Yes" / Total as estimated by CDC |
| 5 | _RFSMOK | Adults who are current smokers (per CDC calculation) | RESP046 "Yes" | "Yes" / Total as estimated by CDC |
| 6 | _RFHLTH | Health Status | RESP061 ("Good" or better) (CDC calculated) | "Good" or better / Total as estimated by collected |
| 7 | Custom (based on _BMI5CAT) | Body Mass Index 5-category | "RESP039" and "RESP040" (CDC calculations) | Body Mass Index > 25.0 / Total (based on sum of 25.5-29.9 and 30.0+ categories) |
| 8 | DIABETE3 | Have you ever been told by a doctor that you have diabetes? | RESP046 "Yes" | "Yes" / Total as estimated by CDC |
| 9 | _RFHYPE5 | Adults who have been told they have high blood pressure | RESP046 "Yes" (+CDC calculation) | "Yes" / Total as estimated by CDC | 10 | Custom (_RFCHOL & BLOODCHO) | Adults who have been told blood cholesterol was high / Adults who have ever had it checked | Custom (based on multiple RESP046 "Yes") | _RFCHOL "Yes" / Total divided by BLOODCHO "Yes" / Total |
Trends in health indicators and behavioral risk factors are clearly important to try and understand, but how can we visualize them easily? For this tool, I chose a categorization approach. If you look at the data, you wll see that over 7 years, the trends can be more complex than simply an increase or a decrease. In Charlotte, NC for instance, diabetes and overweight prevalences appear to have crept up steadily, while the prevalence of smokers dropped in the last 3-4 years after holding steady for the first 3-4 years. You will also notice that the data has some noise, and most year-to-year changes are well within the margin of error, so, with only 7 years of data, complex time-series analysis is hard to justify.
Ideally, what would be nice is to have something that goes a step beyond just a positive or negative trend, something that could help identify the locales where more interesting changes may be taking place. To accomplish that, the positive and negative trends have been divided into three sub-classes, "speeding up", "steady", and "slowing/reversing". This was done by comparing linear and quadratic time-series model fits. For the linear cases, an analysis of variance was performed based on the reported means and estimated variances of the data series. Where ANOVA indicated a change with a Type I error probability of 5% or less, the trend was classified as positive (progress) or negative (decline) based on the difference in "best fit" values (using least squares regressio with inverse variance weighting), and based on common assumptions about what constituted a "healthy" change. Specifically, increases in diabetes, hypertension, overweight/obesity, and high blood cholesterol prevalence were "unhealthy", as were increases in alcohol consumption and smoking prevalence. When these trends are described with the term "decline", it means that they indicate a decline in the health of the population, not that the prevalence itself is declining. I have always tried to make this distinction clear in the visualizations. Increases in physical activity, blood cholesterol screening, health insurance coverage, and self-reported general health were considered "healthy".
Once a trend was established as significant, the adjusted squared Pearson correlation coefficients for the linear and quadratic time-dependent models were compared. If the quadratic fit gave a higher adjusted R-squared, then the absolute value of the estimated slope (vs. time) at the first and last year were compared. A higher absolute value of the slope was deemed "speeding up" (or "accelerating"), while a lower value was classified as "slowing/reversing". Note that speeding up vs. slowing down can be determined independently from whether or not a reversal is indicated in the trend, but to keep things simple the slowing / reversing effects were lumped together as described. If the linear (in time) fit provided a higher adjusted R-squared, then the trend was classified as improving or declining "steadily".
If the results on the "summary" page are examined, you will see that most trends tended to fall into the "steady" category. This is useful as it fulfills the purpose of pointing out what may be the more interesting trends. For instance, for smoking prevalence, out of almost 200 metro areas with a discernible trend, only 17 were classified as "accelerating improvement / progress speeding up" while only two were classified as having a "decline speeding up" / "accelerating decline". A look at the map page will show that many of the 17 areas where progress has accelerated lately are in Kentucky, Tennessee, and the Carolinas -- which gives an interesting insight into what may be a recently emerging health trend in the heart of tobacco country. (To see this for yourself, click on almost any metro area, then find the graph for smoking -- click the "behaviors" radio button if you don't see it -- then click on "compare trends", or, if you are quite unlucky and chose one of the two out of about 250 metro areas where no smoking data is available, just click on a different metro area and the graph will populate with data.)
One of the two metro areas where the smoking trend is an "accelerating decline" is my former home of Akron, OH. I will use it to briefly mention some of the limitations of this visualization approach. To find Akron, if you are not an expert in geography, and you don't feel like reading all the tooltips, you could take a side trip to a map server, or with the smoking trends still displayed, you could look click on one of the two darkest brown dots on the screen. Hint: Akron is the harder dot to find, being obstructed on most screens by other nearby metros. Alas, making the metro "dots" large enough to click on easily makes a few of them more difficult to find if you are looking for one in particular. Thus, a search box is a good choice for a future feature. If you do manage to look at the data for Akron, you will notice there are four data points for most measures. Four is an interesting number as it does allow for an adjusted R-squared comparison between linear and quadratic models, but with only four points an L-, U-, or V-shaped pattern can happen by chance quite frequently, which means that a larger than normal number of fits are misclassified as non-linear. You'll notice quite a few trends in Akron classified as non-linear. You may also notice that the trends in smoking and alcohol consumption are quite similar, yet the smoking trend is classified as a "decline (in health) speeding up" because the 2015 prevalence is slightly higher than the 2011 prevalence, while for alcohol use, the trend is merely "progress slowing/reversing" because the 2015 prevalence is slightly lower than the 2011 prevalence. Thus, the non-linear trends, although doing a good job of making the hunt for interesting data easier, need to be interpreted with more caution!
Please note that the statistical methods used here are reasonable choices for "exploratory grade" analysis. They are not "publication grade" and not intended for publication and peer review (sometimes data can simply be informative and -- academics, avert your eyes! -- fun).
The reason for the "exploratory" grade involve two simplifications made with the data. First, the complex sample design used to get population estimates by CDC was not taken into account. When, for instance, it is reported that about 15% of respondents in Austin were current smokers, this does not mean that 15% of survey respondents answered yes. About 15% answered yes, but then the CDC adjusted the proportion to take into account the characteristics of the sample, in order to estimate what the responses would have been for a perfectly representative sample. If interested, pleae feel free to read all about it on the CDC website.
What the above means for statistics is that the sampling errors are not what one would normally calculate for a given number of responses. In many cases, the CDC has helpfully provided 95% confidence intervals, but from that we can only approximate the expected variance in the measurements. Which leads us to simplification #2: for this analysis, the response data is assumed to be normally distributed. These data were collected from surveys, often with several hundred to several thousand responses, so the calculated variance in responses based on the binomial distribution should be well-approximated by a normal distribution. The complex sampling design, however, may introduce unexpected features in the distribution. If you want to do publication-quality statistics, you should read the CDC's published papers (or ask them about it).
Where this matters most is in the custom categories (overweight and high cholesterol prevalence). For these categories, the error bars you see are 95% confidence intervals based on assumptions of normality as well as independence of the component measurements and a disregard of the complex sampling design. To see how much this matters, I compared the CDC's own multi-category derived error estimates with ones I computed using the above simplifications. The results agreed within about 10%, but did not coincide perfectly. Thus, the error bars on those two categories should be treated as approximate. Otherwise, the error bars correspond to the 95% confidence limits reported by the CDC, and as long as you simply take them at face value and don't try to further manipulate them for statistical purposes, they should be reliable.
If you're still reading after all that, then you probably like data as much as I do. So you may be interested in knowing (fi you don't already) that the CDC is a great place to get your hands on clean, free data sets that can be quite massive. In addition to thanking them, I would also like to thank Michelle Chandra, whose bl.ocks.org US map came in handy, as well as Trang Tran, whose d3-colorbar also also added a nice touch. The GeoJSON source data (from the US census bureau) came via the helpful site by Eric Celeste, with some helpul hints from a helpful article by Florian Ledermann.
The data munging was done wtih Python3 in a Jupyter Notebook using Pandas, SciPy.stats and the linear regression models from scikit-learn, and the visualization was done with a big chunk of d3.js (v5). Hint: pure d3 is great on your own time because it will pay you back with better graphics skills, but if someone else is paying by the hour, use Plotly.js if you can! Finally, I couldn't have been good enough with these tools to consider doing all this as a quick project without Danny Clifford and his fellow instructors at the UC Berkeley Data Analytics program. If you like Excel but would love to take it to the next level quickly, it's worth the effort!


8 Pin SMD (SOP) 3.6v Voltage Regulator 2 A - VS836
Summary
Name: 8 Pin SMD (SOP) 3.6v Voltage Regulator 2 A
ID: VREG-SP08-X-V36D-A2
Hex ID: VS836
WebPage: https://github.com/oomlout/oomlout-OOMP/wiki/VREG-SP08-X-V36D-A2
Short URL: http://oom.lt/VS836
Revision History: https://github.com/oomlout/oomlout-OOMP/blob/master/parts/VREG-SP08-X-V36D-A2/
| Type |
Size |
Color |
Description |
Index |
VREG Voltage Regulator |
SP08 8 Pin SMD (SOP) |
X
|
V36D 3.6v |
A2 2 A |
Images
About
This part is awaiting a description.
Specifications
| Info |
Value |
| Type |
Voltage Regulator |
| Size |
8 Pin SMD (SOP) |
| Description |
3.6v |
| Index |
2 A |
Extra Details
Spotted a mistake, want to add more? Let us know<EMAIL_ADDRESS>All images and resources are licensed [CC BY-SA] unless otherwise stated (ie. the datasheets)


Select a calculator
Welcome to Tibia Calculators
Here you, tibian, can enjoy our useful calculators to calculate things such the experience needed to achieve some level, party minimum and maximum level to share experience and so on..
Calculator under maintenance
We're working to launch it as soon as possible!
Party experience calculator
Calculate the minimum and the maximum character level that can share experience with you. You can find more information on Tibia Wiki.

Calculator under maintenance
We're working to launch it as soon as possible!
Calculator under maintenance
We're working to launch it as soon as possible!


{% extends "base.html" %}
{% block title %}Download User Private Keys{% endblock title %}
{% block content %}
Download certificate key for {{ curr_user.username }}
Your certificate has been generated successfully. Your private key is available for ONE time download only. Keep it safe as this key cannot be recovered if lost.


Contest results for the Auckland Brass Bands Contest at Hawkins Theatre on Sunday, 18th October 2015.
Download Programme
| Draw | Band | Music | Public Appeal | Aggregate |
|---|---|---|---|---|
| 1 | North Shore Youth Brass Band | 40 | 40 | 80 |
| 2 | Kumeu Evolution Brass | 35 | 38 | 73 |
| 3 | Takapuna Grammar School | 38 | 39 | 77 |
| 4 | Dalewool Youth Brass Band | 37 | 40 | 77 |
1st: North Shore Youth Band 2nd: Takapuna Grammar School Brass and Dalewool Youth 3rd: Kumeu Brass
Winner: Isabella Thomas - North Shore Youth Band
Winner: Takapuna Grammar School Brass
Winner: The Kumeu Kids
| Draw | Band | Major Work | Sacred Item | March | Solo | Light Music | Public Appeal | Aggregate |
|---|---|---|---|---|---|---|---|---|
| 1 | Auckland City Brass | 134 | 42 | 39 | 43 | 42 | 40 | 340 |
| 2 | Waitakere Auckland Brass | 141 | 45 | 45 | 46 | 43 | 39 | 359 |
| 3 | Dalewool Auckland Brass | 144 | 44 | 47 | 47 | 44 | 41 | 367 |
| 4 | North Shore Brass | 140 | 46 | 45 | 44 | 43 | 40 | 358 |
1st: North Shore Brass 2nd: Waitakere Auckland Brass 3rd: Dalewool Auckland Brass
1st: Dalewool Auckland Brass 2nd: Waitakere Auckland Brass 3rd: North Shore Brass
1st: Dalewool Auckland Brass 2nd: Waitakere and North Shore Brass 3rd: Auckland City Brass
Winner: John Lewis of Dalewool Auckland Brass
1st: Dalewool Auckland Brass 2nd: Waitakere and North Shore Brass 3rd: Auckland City Brass
1st: Dalewool Auckland Brass 2nd: Waitakere and North Shore Brass 3rd: Auckland City Brass
1st: Dalewool Auckland Brass 2nd: Waitakere Auckland Brass 3rd: North Shore Brass
| Draw | Band | Sacred Item | Major Work | March | Solo | Light Music | Public Appeal | Aggregate |
|---|---|---|---|---|---|---|---|---|
| 1 | North Shore Brass Academy | 124 | 34 | 33 | 34 | 36 | 37 | 298 |
| 2 | Kumeu Brass | 125 | 32 | 34 | 36 | 37 | 38 | 302 |
| 3 | Howick Brass | 130 | 38 | 36 | 35 | 37 | 37 | 313 |
1st: Howick Brass 2nd: Kumeu Brass 3rd: North Shore Brass Academy
1st: Howick Brass 2nd: Kumeu Brass 3rd: North Shore Brass Academy
1st: Howick Brass 2nd: Kumeu Brass 3rd: North Shore Brass Academy
Winner: Jake Krishnamurti of Kumeu Brass
1st: Howick and Kumeu Brass 2nd: North Shore Brass Academy
1st: Kumeu Brass 2nd: Howick Brass and North Shore Brass Academy
1st: Howick Brass 2nd: Kumeu Brass 3rd: North Shore Brass Academy
Emily Sullivan of North Shore Brass Academy
Mark Close of Kumeu Brass


Writing
My first love was writing.
I write for my own blog, and I am a contributor to a few other publications, including The Rising and Bedlam Magazine.
About Me
This is my story.
People ask me sometimes why I chose to become a web developer, and I usually tell them it was an accident. I was a teacher for about five years before I caught the bug. I woke up one day, and wanted to be more in charge of my career and my life.
I started by teaching myself some HTML, CSS and JavaScript. I thought that was super fun, so I enrolled in more classes, and I am currently a student at Dev Bootcamp in Chicago. I got hooked on code, and my life has never been quite the same.Blog
-
{% for post in site.posts %}
-
{{ post.title }}
{{ post.content | strip_html | truncatewords:40 }}
Read more...
{% endfor %}
subscribe via RSS


---
layout: post
title: PublicEngineering Research Trip
date: '2013-12-07T04:30:56+00:00'
tags:
- bochum
- hackspace
tumblr_url: http://cheapjackprojects.tumblr.com/post/69254995773/last-month-had-awesome-inspiring-research-trip
---
Last month had awesome inspiring research trip with Urbanekuensteruhr to @dasLabor with @lambdafu looking into hackspace & maker/geek culture in Bochum. Love dasLabor projects; a talented and important community in Bochum https://www.das-labor.org/wiki/LABOR_Wiki
Great friendly and interesting creative people. Working on some sort of exchange with @DoESLiverpool next summer. Marcus Brinkmann & co took me to amazing space http://www.dienstagstreff.de/ with restored pinball machines, studio spaces, 8bit tapestry & C64 lab.
Now to design & build some sort of large social construction machine…more on project soon…