LSD, H.B. Woodrose, Gabapentin (Neurontin), & Cannabis
So this last weekend I had the house to myself and I decided to have some friends over for the weekend. My parents were paying me to watch over my dog while they were out of town, so I figured hey why not have a little fun. At school the previous week I had purchased two hits of some so-so blotter called dragons, although I never saw any sort of dragon on the paper so I'm sort of just thinking they made up the name. I had had an experience with one hit of this stuff prior and had a very mild not so mind blowing trip. I figured two hits would give me a better time. I popped the hits at around six while sitting with my friend Gregg. Whenever I dose I always have doubts about the acidís potency or even overall actuality of it being real. But I try to let these thoughts go as not to somehow diminish my trip. After about a half hour I decided to eat five Hawaiian baby woodrose seeds. I was curious as to how the ergot compounds played off each other. I sat back and let the drugs take hold.
At about an hour I was noticing the acid a little, it was a very slow come on and by this time I was starting to feel some nausea from the seeds. My friend Jason called around this time and told me he was coming over to buy some adderall. I told him just head over anytime. While waiting for him I started to get very energized and nervous. I just wanted to get the deal over so I could enjoy my trip. I started pacing around my house. Running into everything feeling somewhat intoxicated. My friend Gregg was just sitting there and we were trying to discuss things but my mind was drifting and I knew I wouldnít be able to make any sense. I sat down on the floor and my dog came over and I looked in her eyes and I swear to god I could communicate with her. I felt she knew something was different about me and she obeyed my commands in an uncanny fashion.
After that Jason came over, he wanted twenty addies. I had the hardest time counting them out and had to let Gregg do it for me. After all was figured out I got really ancy because I didnít know what to do with myself and the hallucinogens were really starting to effect my perception. There were faces bubbled outward and morphed I could see fractally patterns seeming to tie their faces together. I started pacing frantically. I couldnít make eye contact with either of them and I just started babbling about everything that was on my mind. I couldnít stop moving. My friend Gregg urged me to just sit down but I couldnít. My friend Jason said he had some downers if I wanted any, but I had never heard of them. He called them neurontins and said hey had done some research on them and that they were legit. Trusting him I took two 300mg caps and just waited.
I felt a little calmer and I decided I wanted to smoke a bowl. We all went out on my porch it was really cold out and I was shivering. I took several hits holding them in for a very long time it seemed, and when I exhaled I felt like my lungs were collapsing. The snow and the shadows of the night were warping and dancing. I felt really alone. That no one knew what I was seeing and thinking. We finished it and Jason took off.   Or at least try. Bad idea. We started watching Half Baked, but I couldnít follow it. I felt like I couldnít even look directly at the screen because it was too bright and the screen was bulging out and swirling.
I looked away, constantly staring at the ceiling and the walls. They were breathing heavily. My field of vision started to tunnel and my peripheral vision started patterning but if I tried to look at it would disappear. Then things started to get really strange. this sounds totally bizarre and I still cant fully explain it. From the fractally patterns which resembled groups of linking numbers started 'reaching' into my mind. Vivid pictures started to penetrate my third eye. I started seeing images of middle aged women, very average looking, overweight in some cases.  It looked as if they were being videotaped or photographed by someone who I couldnít see. I couldnít figure out what they were doing there.
I started to think they were actually in my house. The images were not scary but the breach from reality and the emergence of the unconcious psyche startled me, where did these people come from? Why was I seeing them? The faces were not familiar at all and it started freaking me out. No one knew what I was seeing and I couldnít describe it accurately. My friend Dan came over and I tried to tell him what was happening but he seemed not to know what to do. I felt completely psychotic. I couldnít erase or evade the images. They were permeating every corner of my conciousness. I started to become terrified. I curled up into a ball on the couch and just tried to relax. They still remained in my mind and I felt like I was floating. Then I felt like I weighed a ton and my head felt extremely heavy. I just wanted to go to sleep.
Later on my friend Sean came and pretty much as soon as he walked in I was fine. I was still seeing visuals but the 'lysergic ladies' were starting to fade from my visual/mental field. I started babbling to him on and on about what happened. he seemed genuinely interested where as the others did not. we went in my hot tub and I mellowed out and drank some beers. the surface of the bubbling water was extremely psychadelic. We talked and smoked a few bowls of some really good organic pot and I felt so relaxed and open. I felt as if I had penetrated something and then came back to a reasonable level. Itís just odd that when he got there I felt so much better.
The rest of the night was awesome. It was mostly a body trip but I was seeing some visuals at times. I've squeeged my self for a while and I donít think Iíll be taking seeds for quite some time. Also after researching gabapentin which is what neurontin is I donít know if I really want to take anti seizure meds. I donít have seizures. Iíll do acid again. I mean I've done it alot and I love it, but the seeds can turn on you I think. That and they make me nauseaus.
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.


NCIP Open Source
NCIP empowers Cancer Research with Open Source
Visit
ncip.nci.nih.gov
Wiki Pages
Recently updated
View All on GitHub
Statistics
public repos
members
<EMAIL_ADDRESS>Cancer Biology and Genomics
Clinical and Translational
Semantics and Interoperability


public static class JHeader.State extends JStruct
typedef struct header_t { uint8_t hdr_id; // header ID uint8_t hdr_prefix; // length of the prefix (preamble) before the header uint8_t hdr_gap; // length of the gap between header and payload uint16_t hdr_flags; // flags for this header uint16_t hdr_postfix; // length of the postfix (trailer) after the payload uint32_t hdr_offset; // offset into the packet_t->data buffer uint32_t hdr_length; // length of the header in packet_t->data buffer uint32_t hdr_payload; // length of the payload jobject hdr_analysis; // Java JAnalysis based object if not null } header_t;.
JMemory.Type
| ���������� | �ֶκ�˵�� |
|---|---|
static int |
FLAG_CRC_INVALID
Flag set in the header_t structure, tells if the CRC, if
performed, was
valid or invalid.
|
static int |
FLAG_CRC_PERFORMED
Flag set in the header_t structure, a protocol specific CRC had
been
performed on the frame, header or its payload.
|
static int |
FLAG_FIELDS_DISSECTED
Flag set in the header_t structure, which indicates that the
current
header was dissected for optional fields.
|
static int |
FLAG_GAP_TRUNCATED
Flag set in the header_t structure, which tells if the postifx is
incomplete due to packet truncation at the time of the capture.
|
static int |
FLAG_HEADER_FRAGMENTED
Flag set in the header_t structure, which indicates that the
current
header and/or payload are fragmented.
|
static int |
FLAG_HEADER_TRUNCATED
Flag set in the header_t structure, which tells if the header is
incomplete due to packet truncation at the time of the capture.
|
static int |
FLAG_HEURISTIC_BINDING
Flag set in the header_t structure, which tells if this header
was bound
due to a heuristic binding.
|
static int |
FLAG_IGNORE_BOUNDS
A flag that is set for headers that should not strictly enforce
their
header boundaries.
|
static int |
FLAG_PAYLOAD_TRUNCATED
Flag set in the header_t structure, which tells if the payload is
incomplete due to packet truncation at the time of the capture.
|
static int |
FLAG_POSTFIX_TRUNCATED
Flag set in the header_t structure, which tells if the postifx is
incomplete due to packet truncation at the time of the capture.
|
static int |
FLAG_PREFIX_TRUNCATED
Flag set in the header_t structure, which tells if the prefix is
incomplete due to packet truncation at the time of the capture.
|
static int |
FLAG_SUBHEADERS_DISSECTED
Flag set in the header_t structure, which indicates that the
current
header was dissected for optional sub-headers.
|
static java.lang.String |
STRUCT_NAME
Name of the native structure backing this peer class.
|
JNETPCAP_LIBRARY_NAME,
MAX_DIRECT_MEMORY_DEFAULT,
POINTER
| ��������˵�� |
|---|
State(JMemory.Type type)
Create an uninitialized type.
|
| ���������� | ������˵�� |
|---|---|
int |
getFlags()
Every header "record" keeps int-bit-flags that describe certain
additional information about the header.
|
int |
getGap()
Gets the length in bytes of a gap (padding) between the header
and the
protocol 'records' payload:
+------------------=====--------------------+
| prefix | header | GAP | payload | postfix |
+------------------=====--------------------+
.
|
int |
getId()
Gets the numerical ID of the header this structure describes as
defined
by
JRegistry .
|
int |
getLength()
Gets the length of the protocol's header in bytes within the
protocol's
'record':
+---------========--------------------------+
| prefix | HEADER | gap | payload | postfix |
+---------========--------------------------+
.
|
int |
getOffset()
Gets the offset into the packet buffer of the actual protocol
header
header in bytes of protocols 'record':
+---------========--------------------------+
| prefix | HEADER | gap | payload | postfix |
+---------========--------------------------+
.
|
int |
getPayload()
Gets the length of the payload that follows a protocol header in
bytes
within the protocol's 'record':
+------------------------=========----------+
| prefix | header | gap | PAYLOAD | postfix |
+------------------------=========----------+
.
|
int |
getPostfix()
Gets the length of the postfix that follows a protocol's payload
in bytes
within the protocol's 'record':
+----------------------------------=========+
| prefix | header | gap | payload | POSTFIX |
+----------------------------------=========+
.
|
int |
getPrefix()
Gets the length of the prefix that precedes a protocol's header
in bytes
within the protocol's 'record':
+========-----------------------------------+
| PREFIX | header | gap | payload | postfix |
+========-----------------------------------+
.
|
boolean |
isDirect()
Checks if this state object is reading for native structures or
has a
java implementation backing it.
|
int |
peer(JHeader.State peer)
Peers this state object with the native structures of another.
|
void |
setFlags(int flags)
Sets the header flags to new values.
|
java.lang.String |
toString()
Creates a string containing light debug information about this
state
class and underlying header it belongs to.
|
getStructName
availableDirectMemory,
check, cleanup, createReference,
isInitialized,
isJMemoryBasedOwner,
isOwner, maxDirectMemory,
peer,
peer,
peer,
reservedDirectMemory,
setSize, size, softDirectMemory,
toDebugString,
toHexdump, toHexdump,
totalActiveAllocated,
totalAllocateCalls,
totalAllocated,
totalAllocatedSegments0To255Bytes,
totalAllocatedSegments256OrAbove,
totalDeAllocateCalls,
totalDeAllocated,
transferFrom,
transferFrom,
transferFrom,
transferFrom,
transferFromDirect,
transferOwnership,
transferTo,
transferTo,
transferTo,
transferTo,
transferTo,
transferTo,
transferTo,
transferTo0
public static final int FLAG_CRC_INVALID
public static final int FLAG_CRC_PERFORMED
public static final int FLAG_GAP_TRUNCATED
public static final int FLAG_HEADER_TRUNCATED
public static final int FLAG_HEURISTIC_BINDING
public static final int FLAG_PAYLOAD_TRUNCATED
public static final int FLAG_POSTFIX_TRUNCATED
public static final int FLAG_PREFIX_TRUNCATED
public static final int FLAG_HEADER_FRAGMENTED
public static final int FLAG_FIELDS_DISSECTED
public static final int FLAG_SUBHEADERS_DISSECTED
public static final int FLAG_IGNORE_BOUNDS
public static final java.lang.String STRUCT_NAME
public State(JMemory.Type type)
type
- type of memorypublic int getFlags()
FLAG_PAYLOAD_TRUNCATED
and other like it.
public int getGap()
+------------------=====--------------------+ | prefix | header | GAP | payload | postfix | +------------------=====--------------------+.
public int getId()
JRegistry
.
JRegistry
public int getLength()
+---------========--------------------------+ | prefix | HEADER | gap | payload | postfix | +---------========--------------------------+.
public int getOffset()
+---------========--------------------------+ | prefix | HEADER | gap | payload | postfix | +---------========--------------------------+.
public int getPayload()
+------------------------=========----------+ | prefix | header | gap | PAYLOAD | postfix | +------------------------=========----------+.
public int getPostfix()
+----------------------------------=========+ | prefix | header | gap | payload | POSTFIX | +----------------------------------=========+.
public int getPrefix()
+========-----------------------------------+ | PREFIX | header | gap | payload | postfix | +========-----------------------------------+.
public boolean isDirect()
public int peer(JHeader.State peer)
peer
- destination object holding the native memory reference we
need
to peer to
public void setFlags(int flags)
flags
- unsinged integer containing the bit-flags to set for this
header


--- layout: archive title: Zulip Chat Archive permalink: /stream/113489-new-members/topic/Timeline.20of.20lean.204.3F.html ---
Hi, when would lean 4 's repo be public?
I don't think anyone on earth has an answer to that question.
Leo and Sebastian are working, and they need time and peace.
We enjoy Lean 3 in the meantime.
And Sean plays with emojis
I can see this question wakes up many more people than inverting a partially injective function
From programmer's aspect, C++ code generator and FFI is a bigger deal. I could see potential.
In the mean time, how comfortable are you with Lean?
We're hoping that we can to translate all of the work and knowledge that has gone into Lean 3 code into Lean 4 code, when the latter comes out. So, you could start working with Lean 3 now with that in mind. Otherwise, you may have to wait for an indeterminate time.
I think it's safe to say that Lean 4 will be based on dependent type theory and make a similar use of functions and type classes so those are certainly worth knowing about even if their syntax changes
@Simon Hudon It's the most clean and flexble one. It has best chance to unify programming and math.
To be fair, this unification is already happening. Coq has taken us a long way and so has Isabelle. Chances are that Lean will be another stepping stone in that lengthy process
Those two looks like lots of math proving steps, it don't make sense to me. Lean and Fstar looks more like functional programming.
Lean looks like math much more than Coq (simply thanks to unicode use and less esoteric notations)
In Lean, using tactics is, as in Coq, like proving steps in math.
My impression is that people don't really use term mode in Coq, is that right?
I've never seen it in any Coq tutorial.
My impression is that people don't really use term mode in Coq, is that right?
It's also my impression. The syntax of term mode is not geared for writing proofs
@Patrick Massot Lean also looks like programming more than Coq at the same time.
On the other hand, Coq makes no sense to low level programming. Lean has potential to prevent flaming chips and overflows.
Why do you say that Coq makes no sense to low level programming?
My impression is that people don't really use term mode in Coq, is that right?
It's also my impression. The syntax of term mode is not geared for writing proofs
Oh I see, I had a hidden assumption in my mind "for doing math".
Coq don't generates C which POSIX is defined by, and had a huge irreducible runtime with gc that could fulfill memory.
@Reid Barton I don't understand what your addition changes
@HT Coq has most of the major low-level verification frameworks that I know of. I don't know if they prefer parsing C or generating C but a lot of low-level verification is done with Coq. See Iris, Bedrock and VST
@Simon Hudon They actually make developers less productive because of extra barriers. At least four languages involved in, EDSL to generate C , C, Coq, OCaml.
I assume people do use term mode for programming (e.g., for program extraction)?
When bugs wasn't catched by types, debugging must includes huge runtime with gc, edsl, coq, ocaml.
If I understand you correctly, what your getting at is better tools. It's not about low-level programming. It's about being productive as programmers
@Simon Hudon Yes, Coq costs too much. I'm not sure why it's not about low-level programming, high level programming seldom encounters problems caused by runtime.
Your initial statement was "[it] doesn't make sense to low level programming". Is that still what you're arguing? If so, I argue that the frameworks I mentioned help understand low level programming.
Or maybe I should understand your point as being "it is difficult to use in low-level settings because of its awkward tools". In that case, I should agree. I haven't tried the frameworks in that context but it is consistent with my (small) experience with Coq
To be more clear, I mean it doesn't make sense for programmers to cost so much barriers to correct code.
To be honest, that does not clarify your statement for me. It sounds like you're saying that a heavy run-time is one too many hurdles towards obtaining correct code.
That's one point. And the other is there's too many concepts compounded in a inconsistent way.
Do you have an example to illustrate that point?
I got an example. https://gitlab.mpi-sws.org/FP/iris-coq/blob/master/theories/program_logic/hoare.v
Why do we need hoare logic if everything could be proved in dependent type?
I can not imagine I can convince any low level programmers costs so much time to learn several different theories nested in dependent types and three kinds of syntax, ocaml, coq, edsl, to start programming correct code.
Those are separate things. Hoare logic is formulated in dependent types. And dependent types by themselves are not sufficient, you need program semantics and verification rules. Particularly in the case of low-level code, the most effective tool around is separation logic which is formulated as a Hoare logic. The whole thing is still couched on a dependent type theory. The same way you wouldn't use a programming language without libraries, you can't use a logic without a certain number of basic theory
If you have something better than separation logic for low-level pointer reasoning, you should publish it. It's going to be worth a lot
As for convincing people, it doesn't have to be all or nothing, there are middle grounds, gateway drugs if you want, where very little effort yields a great benefit. TLA+ for example is tremendous if you want to learn formal specifications and use them in a project. With its model checker, you get a great benefit from any degree of formalization that you care to go through. In some cases, that can be enough. In others, you want a full functional proof of correctness. Then you have to invest time. Lean is not going to be a magic bullet any more than Coq is. With a wider community in the industry and in academia using formal proof, with can decrease the burden of writing formal proofs for sure but it's an ongoing process. Most importantly, it happens with people trying the tools, finding them lacking and adding their two cents
I have good news for the Lean 4 timeline. It seems Sebastian will not waste time watching his country playing in the world cup.
@Simon Hudon I may be wrong, I though linear type reduce the use of pointers like rust does. We just need to seperate different kind of resources in types.
Brazil is still in though.
That's true and linear types are one of the tools that I'm mentioning. But the operating word here is "reduce". Reducing the use of separation logic is a great achievement. But with Iris project, we see that as long as you use unsafe code in libraries, you will need to use a least a little bit of separation logic to verify them.
@Patrick Massot Today's events did not change anything in that regard :P
I hope my point is clear, to write code fast and correct. Lean looks so handy to make most of the logic proved without much barriers. If I still needs something not covered by types, I'd write tests rather than involving additional layers of theories.
I agree in parts with your point. Lean and its tools are looking more and more like an IDE. You can use them to write programs without proofs, you can import various packages with varying levels of verification. You can be deterred by adding new logics to your system but making them available means that, when you decide that they're worth it, you can just reach for them.
@Simon Hudon Yes, that's what I expect, a programming language.
Glad we found a common ground. I think compared to Idris (which might also fit your criteria), Lean is a better prover
I also think Lean is better in a consistent way. I feel something wrong with Idris but I'm not sure what it is.
It makes me feel that Idris is a variant of Haskell injected with extra type ability inconsistently which actually causes bugs rather than an actual type theory like Lean.
I previously wrote:
We're hoping that we can to translate all of the work and knowledge that has gone into Lean 3 code into Lean 4 code, when the latter comes out. So, you could start working with Lean 3 now with that in mind. Otherwise, you may have to wait for an indeterminate time.
Simon responded:
I think it's safe to say that Lean 4 will be based on dependent type theory and make a similar use of functions and type classes so those are certainly worth knowing about even if their syntax changes
I agree with Simon, but I think there's a big difference between translating knowledge of basic concepts into an implementation (of which there are many: Coq, Agda, and Idris to name some popular ones) and translating an existing codebase and deep knowledge of one language into another.
The only public document reflecting the Lean 4 plan (at least for when it was written) states:
Users should not expect Lean 4 will be backward compatible with Lean 3.
This is why I conservatively referred to “hope.” I think there is some risk of working in Lean 3 now if you wish to move to Lean 4 later. But I also think there is some confidence that Lean 4 will not be as radically different from Lean 3 as, say, Coq is from any version of Lean.
I think considerably more than Simon's list of concepts will carry over to lean 4. I know that "the syntax will stay more or less the same" modulo some easy regex fixes, but the elaborator may also change (semi by accident, because it will be re-implemented in lean), and this may cause more subtle breakage
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


david_graham
Fushimi Inari Shrine, Kyoto
someone_one and 24 other liked this.
david_graham beautiful kyoto #kyoto #fushimiinarishirine
1 HOUR AGO
david_graham
Kinkakuji Temple, Kyoto
someone_one and 24 other liked this.
david_graham Golden Temple ^_^ #kyoto #goldentemple
1 HOUR AGO
someone_one and 24 other liked this.
david_graham The harmony sakura brings #sakura #happy #harmony #love
1 HOUR AGO


AI4PAN
Artificial Intelligence for Pandemics
Centered at The University of Queensland
Twitter: @ai4pan
YouTube: channel
Admin contact e-mail Roxanne Jemison
Seminar academic contact e-mail Hamid Khataee
Academic contact e-mail Yoni Nazarathy
Welcome to AI4PAN, The Artificial Intelligence for Pandemics group centered at The University of Queensland (UQ). The group's focus is the application of data science, machine learning, statistical learning, applied mathematics, computation, and other "artificial intelligence" techniques for managing pandemics both at the epidemic and clinical level.
Our fortnightly AI4PAN Seminar runs via Zoom at 10am on Wednesdays (AEST = Brisbane time zone) and is organized by Roxanne Jemison, Hamid Khateee, and Aminath Shausan. See the Seminar Schedule with links to recorded talks.
Group Contributors
-
A/Prof. Anders Eriksson's
research expertise areas include optimization theory and
numerical methods applied to the fields of Computer Vision and Machine Learning.
-
A/Prof. Marcus Gallagher's
expertise is in Artificial Intelligence, Optimization and Machine Learning
algorithms, including the theory, development and practical applications of these techniques.
He collaborated with Queensland Health in the area of anomaly detection in drug prescription data.
-
A/Prof. Cecilia González Tokman's
expertise is in Dynamical Systems, Ergodic Theory and related areas.
Her recent work focuses on random dynamical systems, transfer operators, Lyapunov exponents
and coherent structures.
-
Dr. Hamid Khataee's
expertise is in Computational and mathematical modelling of multicellular systems,
tissue mechanics, and intracellular forces. Quantitative modelling of biological data.
-
Prof. Geoff McLachlan's
expertise is in statistics in the related fields of classification, cluster and discriminant analyses, image analysis, machine learning,
neural networks, and pattern recognition, and in the field of statistical inference.
-
A/Prof. Yoni Nazarathy's (coordinator)
expertise is in Machine Learning, Applied Probability,
Statistics, Operations Research, Simulation, Scientific Computing, Control Theory,
Queueing Theory, Scheduling, and Mathematical Education. His involvement with AI4PAN
is through the Safe Blues project.
-
Dr. Zoltan Neufeld's
expertise is in Mathematical and computational modelling, Applied mathematics, Mathematical Biology including analysis of epidemic models, computational models of multicellular tissue biology,
collective cell motility, mechano-biology, pattern formation and tissue development.
-
Dr. Ash Rahimi's research involves research interests fall within the fields of Natural Language Processing, Social Network Analysis and Machine Learning. I am specifically interested in exploiting both structured and unstructured data to help machines understand
conversational language in Emergency Situations and Health Informatics.
-
Dr. Aminath Shausan's
expertise focuses on statistical and probability modelling and analysis of epidemics.
Expertise in Bayesian statistical analysis of dengue modelling, Artificial intelligence to project
to understand pandemics.
-
Dr. Kirsty Short's is an
influenza virologist by training with extensive experience in emerging viral pathogens
and pandemic preparedness. With expertise working on SARS-CoV-2 and
in particular the role of children in disease spread, the impact of this disease
on people with diabetes and the development of new antiviral therapies.
-
Dr. Sally Shrapnel's is
an interdisciplinary scientist working at the interface of causality and machine learning.
She has both a clinical and technical background, with bachelor's degrees in Medical Science,
Medicine and Surgery, a Fellowship of the Royal Australian College of General Practitioners, a Master's degree in Bioengineering (Imperial College, London)
and a PhD in physics and philosophy—on the topic of quantum causal machine learning.
-
Dr. Ian Wood's
research expertise are in classification, bioinformatics, stochastic optimisation, machine learning and mixture models.
Research Publications
-
The role of T-cell immunity in COVID-19 severity amongst people living with type II diabetes
by Zhen Wei Marcus Tong, Emma Grant, Stephanie Gras, Melanie Wu, Corey Smith, Helen L. Barrett,
Linda A. Gallo and Kirsty R. Short.
-
Transition from growth to decay of an epidemic due to lockdown
by Hamid Khataee, Jack Kibble, Istvan Scheuring, Andras Czirok, and Zoltan Neufeld.
-
Effects of social distancing on the spreading of COVID-19 inferred from mobile phone data
by Hamid Khataee, Istvan Scheuring, Andras Czirok and Zoltan Neufeld.
-
Targeted adaptive isolation strategy for COVID-19 pandemics
by Zoltan Neufeld, Hamid Khataee and Andras Czirok.
-
Safe Blues: The case for virtual safe virus spread in the long-term fight against epidemics
by Raj Dandekar, Shane G. Henderson,Hermanus M. Jansen, Joshua McDonald, Sarat Moka,
Yoni Nazarathy, Christopher Rackauckas, Peter G. Taylor, and Aapeli Vuorinen.
-
To be updated with more publications...
Active Research Projects
-
Safe Blues
-
To be updated with more active projects...
Media


Sign up
person
email
lock
lock_outline
I agree all statements in
Terms of service
Register
I am already member


| Contributed by | University of Pennsylvania |
| Purpose | Enables the Grouper UI to authenticate using the single sign on at penn. |
| How it works | Provides the Penn websec client library and configures Servlet API Filters to manage authentication. To use this, if the apache websec plugin is installed, just go to the app from the browser, you will be prompted to login, then forwarded to the app. If you are developing without the apache module, go to a url like this: https://rosetta.upenn.edu/cgi-bin/websec/websec_authform?app=StudentHome&websec_page=http://localhost:8090/grouper/callLogin.do |
| Instructions | This contribution is designed to be run from within the normal Grouper
UI build process and is run by adding : <ant antfile="build.xml" target="webapp" dir="${contrib.dir}/penn-auth" inheritrefs="true" /> to the build file. Normally you would include this line in the build file defined by the additional.build property. Before building this contribution copy build.properties.template to build.properties and modify the values within to match your system. In order to prevent a standard authentication pop-up appearing after you have CAS authenticated, you must override the callLogin action in struts-config.xml, so that the user is redirected to /home.do rather than /login.do <action path="/callLogin" scope="request" type="edu.internet2.middleware.grouper.ui.actions.CallLoginAction" unknown="false" validate="false"> <forward name="callLogin" path="/home.do" redirect="true"/> </action> Rather than edit the struts-config.xml file provided with the Grouper UI, you should extend the UI as described at https://spaces.internet2.edu/display/Grouper/Customising+the+Grouper+UI |


| [Overview][Types][Classes][Procedures and functions] |
Source position: plua.pas line 18
function plua_tostring( |
L: Plua_State; |
Index: Integer |
):ansistring; |
L |
|
PLua_State to work with. |
Index |
|
Stack index to convert/return. |
AnsiString representing the lua item on the stack at the index provided.
Converts the Lua value at the given acceptable index to a Pascal AnsiString. The Lua value must be a string or a number; otherwise, the function returns NULL. If the value is a number, then plua_tostring also changes the actual value in the stack to a string. (This change confuses lua_next when plua_tostring is applied to keys during a table traversal.)
Example:
function lua_print(l : PLua_State) : integer; cdecl; var n, c : Integer; AString : AnsiString; begin result := 0; n := lua_gettop(L); AString := ''; for c := 1 to n do AString := AString + plua_tostring(l, c); Write(AString); end;
|


African lion is a big cat with short, tawny colored fur and white under parts.
The long tail ends with a black tuft.

They develop their manes at the age of 3 years.
Anyway, manes of the lions living in open areas, are visibly fuller.
The mane makes lion look much larger than it is, helping the animal intimidate the opponent during confrontations with other lions, as well the Spotted Hyena, which is the animal's primary competitor throughout its range.
Young lions have grayish coat, covered with brown markings, which then disappear by the age of 3 months.
However, lions in eastern Africa tend to retain these spots on their stomach.
The lion is a species in the family Felidae. It is a muscular, deep-chested cat with a rounded head, a short neck and round ears, and a hairy tuft at the end of its tail.
This species is sexually dimorphic. Male lions have a prominent mane, which is the most recognisable feature of the species.
With a typical body length of 184 to 208 cm they are larger than females, which are 160 to 184 cm length.
It is a social species, forming groups called prides.
A lion pride consists of a few adult males, related females and cubs.
Groups of female lions usually hunt together, preying mostly on large ungulates.
The lion is an apex and keystone predator, although some lions scavenge when opportunities occur, and have been known to hunt humans, although the species typically does not.
Lions are one of the largest cats in the world.
They live in southern and eastern parts of Africa.
Lions are only social cats which live in groups called prides .
Each pride is composed of one or two males and large number of females.
Larger prides can consist of around 40 members.
Life in a group increases the chance for successful hunt and provides protection of cubs.


| 9:30am-6:00pm | Doctoral Consortium (by invitation, at UT Austin's iSchool). See the detailed agenda. |
| 3:00pm-6:00pm | Tutorial: Crowdsourced Data Processing: Industry & Academic Perspectives (at UT Austin's iSchool) |
| 6:00pm | Sponsors Dinner (by invitation) |
| 8:45am-9:00am | Chairs' Welcome (see slides) | ||
| 9:00am-10:00am
|
Keynote Talk: Iyad Rahwan (MIT) | ||
| 10:00am-10:30am | Break | ||
10:30am-11:50am
FP1: Conversations & VisionSession Chair: Jeff Nichols (Google) |
Click Carving: Segmenting Objects in Video with Point Clicks | Suyog Jain and Kristen Grauman (University of Texas at Austin) | |
| "Is there anything else I can help you with?": Challenges in Deploying an On-Demand Crowd-Powered Conversational Agent | Ting-Hao K. Huang (Carnegie Mellon University), Walter Lasecki (University of Michigan), Amos Azaria (Ariel University) and Jeffrey Bigham (Carnegie Mellon University) | ||
| CRQA: Crowd-powered Real-time Automated Question Answering System | Denis Savenkov and Eugene Agichtein (Emory University) | ||
| Investigating the Influence of Data Familiarity to Improve the Design of a Crowdsourcing Image Annotation System | Danna Gurari (University of Texas at Austin), Mehrnoosh Sameki (Boston University) and Margrit Betke (Boston University) | ||
| 11:50am-1:20pm | Lunch (see food and dining options) | ||
1:20pm-2:20pm
FP2: Learning to be EfficientSession Chair: Gianluca Demartini (University of Sheffield) |
Learning and Feature Selection under Budget Constraints in Crowdsourcing | Besmira Nushi, Adish Singla, Andreas Krause and Donald Kossmann (ETH Zurich) | |
| Learning to scale payments in crowdsourcing with PropeRBoost | Goran Radanovic and Boi Faltings (Ecole Polytechnique Fédérale de Lausanne) | ||
|
Efficient techniques for crowdsourced top-k lists Best Paper Finalist |
Luca de Alfaro, Vassilis Polychronopoulos and Neoklis Polyzotis (University of California, Santa Cruz) | ||
| 2:20pm-2:40pm | Encore Talk 1 (Gary Hsieh, University of Washington)
You Get Who You Pay for: The Impact of Incentives on Participation Bias Gary Hsieh and Rafal Kocielnik. In Proceedings CSCW 2016: the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing, pp. 823-835, 2016. Best Paper Award. |
||
| 2:40pm-3:10pm | Break | ||
3:10pm-4:30pm
FP3: Education and IncentivesSession Chair: Jeff Bigham (Carnegie Mellon U.) |
Practical Peer Prediction for Peer Assessment | Victor Shnayder and David Parkes (Harvard University) | |
| Predicting Crowd Work Quality under Monetary Interventions | Ming Yin and Yiling Chen (Harvard University) | ||
| Crowdclass: Designing classification-based citizen science learning modules | Doris Jung-Lin Lee, Joanne Lo, Moonhyok Kim and Eric Paulos (University of California, Berkeley) | ||
| Crowdsourcing Accurate and Creative Word Problems and Hints | Yvonne Chen, Travis Mandel, Yun-En Liu and Zoran Popović (University of Washington) | ||
| 4:30pm-5:10pm | Industry Panel 1: When AI runs the show, what's left for crowd platforms?
Recent advances in artificial intelligence owe much of their success to the efforts of thousands of annotators on crowd marketplaces. The success of these platforms may be their own undoing. As more and more human computation tasks become solvable via artificial intelligence, existing systems will need to reinvent themselves to adapt to these new realities or die. Real-world crowd labor platforms like Uber have already started replacing human drivers with artificial intelligence systems. In a world where sophisticated deep learning systems can handle most of the activities originally supporting crowd platforms, what work will be left for humans do in labor marketplaces? What choices should platform designers and owners make to protect their relationships with participants and ensure continued liquidity? What responsibility do platforms have to the annotators that made their models possible? |
||
| 5:10pm-5:50pm | Industry Panel 2: When Are Workers Inputs and When Are They Users?
Crowd application designers face multiple choices in how to interact with members of the crowd – choices that affect both the quality of work for an application's customers and the quality of life for individuals carrying out the work. Most discussion has historically sought to apply pressure to platforms to make good choices here. As human computation systems utilize increasingly large groups around the world for more sophisticated work than before, what choices should application designers make in order to balance the need for effective outcomes with the needs of participants on these platforms? Are these choices at odds with early-stage applications? What should change as a working relationship is increasingly long-term and based on increasingly complex work? What research questions are left to understand best practices in application design from both perspectives? |
||
| 5:50pm-6:00pm | Announcement of Paper Awards
Presenter: Jeff Bigham (CMU), on behalf of HCOMP 2016's Senior Program Committee |
||
| 6:00pm- 8:00pm | Opening Reception (held at venue)
Creative Halloween costumes are encouraged (but completely optional). Austin's Lucy in Disguise offers a great local selection to choose from. |
| 9:00am-10:00am | Keynote Talk: Aashish Goel (Stanford) | ||
| 10:00am-10:30am | Break | ||
10:30-11:50am
FP4: Collecting Data You WantSession Chair: Dan Weld (U. of Washington) |
Modeling Task Complexity in Crowdsourcing | Jie Yang (Delft University of Technology), Judith Redi (Delft University of Technology), Gianluca Demartini (University of Sheffield) and Alessandro Bozzon (Delft University of Technology) | |
| Studying the Effects of Task Notification Policies on Participation and Outcomes in On-the-go Crowdsourcing | Yongsung Kim, Emily Harburg, Shana Azria, Aaron Shaw, Elizabeth Gerber, Darren Gergle and Haoqi Zhang (Northwestern University) | ||
|
Extending Workers' Attention Span Through Dummy Events Best Paper Finalist |
Avshalom Elmalech (Bar-Ilan University), David Sarne (Bar-Ilan University), Esther David (Ashkelon College) and Chen Hajaj (Bar-Ilan University) | ||
| Much Ado About Time: Exhaustive Annotation of Temporal Data | Gunnar Sigurdsson (Carnegie Mellon University), Olga Russakovsky (Carnegie Mellon University), Ivan Laptev (INRIA, France), Ali Farhadi (University of Washington) and Abhinav Gupta (Carnegie Mellon University) | ||
| 11:50am-1:00pm | Lunch (see food and dining options) | ||
| 1:00pm-1:20pm | Platinum Sponsor Talk (Matt Bencke, Co-Founder & CEO, Spare5)
Tips for Sourcing Better Training Data: Takeaways from contributing to the next generation of computer vision training data
|
||
1:20pm-2:40pm
FP5: Task Design for Better CrowdsourcingSession Chair: Praveen Paritosh (Google) |
Crowdsourcing Relevance Assessments: The Unexpected Benefits of Limiting the Time to Judge | Eddy Maddalena (University of Udine), Marco Basaldella (University of Udine), Dario De Nart (University of Udine), Dante Degl'Innocenti (University of Udine), Stefano Mizzaro (University of Udine) and Gianluca Demartini (University of Sheffield) | |
| MicroTalk: Using Argumentation to Improve Crowdsourcing Accuracy | Ryan Drapeau, Lydia B. Chilton, Jonathan Bragg and Daniel S. Weld (University of Washington) | ||
| Why Is That Relevant? Collecting Annotator Rationales for Relevance Judgments Best Paper Award |
Tyler Mcdonnell (University of Texas at Austin), Matthew Lease (University of Texas at Austin), Mucahid Kutlu (Qatar University) and Tamer Elsayed (Qatar University) | ||
| Interactive Consensus Agreement Games For Labeling Images | Paul Upchurch, Daniel Sedra, Andrew Mullen, Haym Hirsh and Kavita Bala (Cornell University) | ||
| 2:40-3:00pm | Encore Talk 2: (Shomir Wilson, University of Cincinnati)
Crowdsourcing annotations of websites' privacy policies: Can it really work? Shomir Wilson, Florian Schaub, Rohan Ramanath, Norman Sadeh, Fei Liu, Noah Smith and Frederick Liu. In Proceedings of the 25th International World Wide Web (WWW) Conference, pp. 133-143, 2016. Best Paper Finalist. |
||
| 3:00pm-3:30pm | Poster/Demo Madness 1 | ||
| 3:30pm-4:50pm | Poster/Demo Session 1 | ||
| Demonstrations
Creating Interactive Behaviors in Early Sketch by Recording and Remixing Crowd Demonstrations
Integrating Citizen Science with Online Learning to Ask Better Questions
Ashwin: Plug-and-Play System for Machine-Human Image Annotation
|
|||
| Works-in-Progress Posters
A Markov Chain Based Ensemble Method for Crowdsourced Clustering
Consensus of Dependent Opinions
Pairwise, Magnitude, or Stars: What's the Best Way for Crowds to Rate?
Toward Crowdsourced User Studies for Software Evaluation
Feedback and Timing in a Crowdsourcing Game
A GWAP Approach to Analyzing Informal Algorithm for Collaborative Group Problem Solving
Learning Phrasal Lexicons for Robotic Commands Using Crowdsourcing
Redesigning Product X as an Inversion-Problem Game
Extremest Extraction: Push-Button Learning of Novel Events
The Effect of Class Imbalance and Order on Crowdsourced Relevance Judgments
Feasibility of Post-Editing Speech Transcriptions with a Mismatched Crowd
Video Summarization using Causality Graphs
Crowdsourcing Information Extraction for Biomedical Systematic Reviews
|
|||
| Encore Track Posters
Hybrid Human-Machine Information Systems: Challenges and Opportunities
Scheduling Human Intelligence Tasks in Multi-Tenant Crowd-Powered Systems
Learning to Incentivize: Eliciting Effort via Output Agreement
On The Relation between Assessor’s Agreement and Accuracy in Gamified Relevance Assessment
|
|||
| Doctoral Consortium Posters
Crowd-Powered Conversational Agents
Crowdsourcing to Reconnect: Enabling Online Contributions and Social Interactions for Older Adults
Application of the Dual-Process Theory to Debias Forecasts in Prediction Markets
Understanding Online Self-Organization and Distributed Problem Solving in Disaster
Quantifying, Understanding, and Mitigating Crowd Work Bias
Incentive Engineering in Crowdsourcing Systems
|
|||
| 5:00pm-6:00pm | Remembrance: David B. Martin and his Ethnographic Studies of Crowd Workers
Presenter: Benjamin Hanrahan (Penn State University) |
||
| 6:30pm | Buses depart for Offsite Reception | ||
| 7:00pm-10:00pm | Offsite Reception at Maggie Mae's on Sixth Street |
| 9:00am-10:00am | Keynote Talk: Nathan Schneider (U. of Colorado, Boulder) | ||
| 10:00am-10:30am | Break | ||
10:30am-11:50am
FP6: Crowdsourcing Subjective ThingsSession Chair: Jaime Teevan (Microsoft Research) |
Learning Privacy Expectations by Crowdsourcing Contextual Informational Norms | Yan Shvartzshnaider (New York University), Schrasing Tong (Princeton University) Thomas Wies (New York University), Paula Kift (New York University), Helen Nissenbaum (New York University), Lakshminarayanan Subramanian (New York University), and Prateek Mittal (Princeton University) | |
| Leveraging the Contributions of the Casual Majority to Identify Appealing Web Content | Tad Hogg (Institute for Molecular Manufacturing, USA) and Kristina Lerman (University of Southern California) | ||
| Evaluating Task-Dependent Taxonomies for Navigation | Yuyin Sun (University of Washington), Adish Singla (ETH Zurich), Tori Yan (University of Washington), Andreas Krause (ETH Zurich) and Dieter Fox (University of Washington) | ||
| Validating the Quality of Crowdsourced Psychometric Personality Test Items | Bao S. Loe (University of Cambridge), Francis Smart (Michigan State University), Lenka Fiřtová (University of Economics, Prague), Corinna Brauner (University of Münster), Laura Lüneborg (University of Bonn) and David Stillwell (University of Cambridge) | ||
| 11:50am-1:10pm | Lunch (see food and dining options) | ||
| 1:10pm-1:30pm | Encore Talk 3: (Joseph Chang, CMU)
Alloy: Clustering with Crowds and Computation Joseph Chee Chang, Aniket Kittur, and Nathan Hahn. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, pp. 3180-3191. Best Paper Honorable Mention. |
||
| 1:30pm-2:00pm | Poster/Demo Madness 2 | ||
| 2:00pm-3:20pm | Poster/Demo Session 2 | ||
|
Demonstrations
MmmTurkey: A Crowdsourcing Framework for Deploying Tasks and Recording Worker Behavior on Amazon Mechanical Turk
High Dimensional Human Guided Machine Learning
Reprowd: Crowdsourced Data Processing Made Reproducible
|
|||
|
Works-in-Progress Posters
Feature Based Task Recommendation in Crowdsourcing with Implicit Observations
Route Market: A Prediction-Market-Based Route Recommendation Service
Incentives for Truthful and Informative Post-Publication Peer Review
Incentives for Truthful Evaluations
Visual Questions: Predicting If a Crowd Will (Dis)Agree on the Answer
Group Rotation Type Crowdsourcing
Qualitative Framing of Financial Incentives – A Case of Emotion Annotation
Dynamic Allocation of Crowd Contributions for Sentiment Analysis during the 2016 U.S. Presidential Election
Exploring Required Work and Progress Feedback in Crowdsourced Mapping
CoFE: A Collaborative Feature Engineering Framework for Data Science
Incentive Engineering Framework for Crowdsourcing Systems
Does Communication Help People Coordinate?
|
|||
|
Encore Track Posters
Predicting the Quality of User Contributions via LSTMs
Toward a Learning Science for Complex Crowdsourcing Tasks
Crowd in C[loud] : Audience Participation Music with Online Dating Metaphor Using Cloud Service
Comparative Methods and Analysis for Creating High-Quality Question Sets from Crowdsourced Data
|
|||
|
Doctoral Consortium Posters
Understanding User Action and Behavior on Collaborative Platforms Using Machine Learning
Self-Improving Crowdsourcing
How Crowdsensing and Crowdsourcing Change Collaborative Planning: Three explorations in transportation
Integrating Asynchronous Interaction into Real-Time Collaboration for Crowdsourced Creation
Complex Systems and Society: What Are the Barriers to Automated Text Summarization of an Online Policy Deliberation?
Researching and Learning History via Crowdsourcing
|
|||
3:30pm-5:00pm
FP7: Quality ModelsSession Chair: Adam Kalai (Microsoft Research New England) |
Probabilistic Modeling for Crowdsourcing Partially-Subjective Ratings | An T. Nguyen (University of Texas at Austin), Matthew Halpern (University of Texas at Austin), Byron C. Wallace (Northeastern University) and Matthew Lease (University of Texas at Austin) | |
| State Detection using Adaptive Human Sensor Sampling | Ioannis Boutsis (Athens University of Economics and Business), Vana Kalogeraki (Athens University of Economics and Business) and Dimitrios Gunopulos (University of Athens) | ||
| Quality Estimation of Workers in Collaborative Crowdsourcing Using Group Testing | Prakhar Ojha and Partha Talukdar (Indian Institute of Science) | ||
| Understanding Crowdsourcing Workflow: Modeling and Optimizing Iterative and Parallel Processes | Shinsuke Goto, Toru Ishida and Donghui Lin (Kyoto University) | ||
| 5:00pm-6:00pm | Business Meeting (see slides) | ||
| 6:00pm-? | CrowdCamp Social Evening (CrowdCamp participants only) |


--- layout: layout title: "Projects" ---
Bearχive is an automated scraped collection of tests and study guides for UC Berkeley STEM courses, pulling from HKN, TBP, and internal Math databases.
An experiment in large scale Student Performance Analytics: AnnPod is designed to help instructors identify critical topics by analyzing Piazza contributions and topics through time
A Berkeley library for probability theory. Written for Prob140 (prob140.org) by Jason Zhang and Dibya Ghosh.
Using reinforcement learning to design an intelligent AI for Minecraft. The model uses image analysis to "see" it's world and optimizes play in a closed system
Data Scientist's Tool Kit: A collection of tools to graph,analyze,and visualize data in SQL Databases. Intended for large data loads, this allows for quick analysis of data in an unparalleled fashion
gsExport is a utility designed to help educators simplify and streamline the process of grading student notebooks. Designed to alleviate the struggles realized in UC Berkeley’s Data 8, the system allows students to easily export Jupyter notebooks as PDFs which are segmented to allow for easy grading through the Gradescope interface.
A Unique Heartbeat Detection algorithm which analyzes color spectra in webcam images to predict heart rate
An extension of the intro UC Berkeley CS61A project, I designed a web interface with Angular JS that connects to a Python Flask backend to play the game.


The Akan is a unique group of people who have dominated the ivory coast and ghana regions of West Africa.They have many sub-groups like;Fanti,Ashanti and Wassa.
The Akan subgroups all have cultural attributes in common; most notably the tracing of matrilineal descent, inheritance of property, and succession to high political office.
The Akan people of Ghana frequently name their children after the day of the week they were born.
This web application takes a user's birthday and calculates the day of the week the were born and then depending on their gender, outputs the Akan name.


--- title: We Can Predict Daily Commercial Motor Vehicle Crashes author: Donald Ruud date: '2021-05-25' slug: we-can-predict-daily-commercial-motor-vehicle-crashes categories: - Blog Post - Project - R tags: - Time Series Analysis - CMVs - Commercial Motor Vehicles - Prediction ---
These data come from the Federal Motor Carrier Safety Administration and track details about Commercial Motor Vehicle Accidents from 2018 - 2020.
We’ll begin by reading in the crash data for 2018, 2019, and 2020.
# Read in data, 2018, 2019, 2020
CrashMaster2018 <- read_delim("C:/Users/Donald/Documents/Willamette University/Times Series Analysis/Project/Data/Crash_2018HDR/CrashMaster_01012018_12312018HDR.txt",
"\t", escape_double = FALSE, trim_ws = TRUE)
CrashMaster2019 <- read_delim("C:/Users/Donald/Documents/Willamette University/Times Series Analysis/Project/Data/Crash_2019HDR/CrashMaster_01012019_12312019HDR.txt",
"\t", escape_double = FALSE, trim_ws = TRUE)
CrashMaster2020 <- read_delim("C:/Users/Donald/Documents/Willamette University/Times Series Analysis/Project/Data/Crash_2020HDR/CrashMaster_01012020_12312020HDR.txt",
"\t", escape_double = FALSE, trim_ws = TRUE)
We’ll combine the years together and collapse up to daily crashes on a national level. Then we’ll check for NA values in the dataset. All data after August 31, 2020 will be dropped from the dataset due to the potential for under counting. Finally, REPORT_DATE will be converted into a Date class, we’ll tidy the environment up, rename “n” as “crashes”, and transform the tibble into a tsibble.
# Combine into one object
CrashesCombined <- rbind(CrashMaster2018, CrashMaster2019, CrashMaster2020)
# Collapse up to daily records
# num accidents and date
CrashesCollapsed <- CrashesCombined %>%
group_by(REPORT_DATE) %>%
count()
# Check for NAs and remove if necessary
summary(CrashesCollapsed)
## REPORT_DATE n
## Min. :20180101 Min. : 41.0
## 1st Qu.:20181002 1st Qu.: 280.0
## Median :20190702 Median : 575.0
## Mean :20190677 Mean : 496.9
## 3rd Qu.:20200401 3rd Qu.: 658.0
## Max. :20201231 Max. :1090.0
# No NAs noted
# Trim off from August 31, 2020 due to data integrity concerns
# States are oftentimes delayed on submitting crash information by around a quarter or more and as a result I doubt the reliability of data after that date. Data past Auguest 31, 2020 may under-count the number of accidents.
# 20200831 is last date to consider
CrashesTrimmed <- CrashesCollapsed %>%
filter(REPORT_DATE <= 20200831)
# Convert REPORT_DATE to a date and not a dble
Crashesfinal <- CrashesTrimmed
Crashesfinal$REPORT_DATE <- ymd(Crashesfinal$REPORT_DATE)
# Clean up Environment
rm(CrashesCollapsed, CrashesCombined, CrashesTrimmed, CrashMaster2018, CrashMaster2019, CrashMaster2020)
# Rename n as crashes
Crashesfinal <- rename(Crashesfinal, crashes = n)
# Convert object to a tsibble
Crashesfinal <- as_tsibble(Crashesfinal)
## Using `REPORT_DATE` as index variable.
# Pull out a Box Cox lambda just in case
lambdaD <-Crashesfinal %>%
features(crashes, features = guerrero) %>%
pull(lambda_guerrero)
# Take a look at our tsibble!
head(Crashesfinal)
## # A tsibble: 6 x 2 [1D]
## # Groups: @ REPORT_DATE [6]
## REPORT_DATE crashes
## <date> <int>
## 1 2018-01-01 144
## 2 2018-01-02 557
## 3 2018-01-03 683
## 4 2018-01-04 755
## 5 2018-01-05 686
## 6 2018-01-06 295
Now that we’ve processed our data, let’s take a look at it!
Crashesfinal %>%
autoplot() +
labs(title = "Daily Crashes 2018-01-01 to 2020-08-31",
y = "Number of Crashes",
x = "Crash Date") +
theme_bw()
## Plot variable not specified, automatically selected `.vars = crashes`
We’re dealing with daily data over about two and a half years, so there are quite a few data points. The data appear to have some kind of pattern to them and the impact of COVID is easily seen. It’s debatable whether a Box Cox transformation is necessary, but we’ll try nominal and transformed in our models. Before COVID, you might be able to call the data stationary in their raw form. Unfortunately, COVID happened and we’ll certainly have to do some differencing in order to attain stationarity.
While we’re here, we might as well pull up the acf and pacf.
Crashesfinal %>%
gg_tsdisplay(crashes, plot_type = 'partial')
There are some very strong correlations within the data for both the ACF and PACF.
Let’s also take a quick look at the first level differenced values for the data.
Crashesfinal %>% stl(s.window = "periodic") %>% seasadj() -> crashadj
crashadj %>% diff() %>% ggtsdisplay(main = "")
We see slightly different correlations in our differenced dataset.
Now is probably a good time to look at a decomposition of the data before we dive into modeling.
# Perform a times series decomposition
crashdecomp <- Crashesfinal %>%
model(STL(crashes))
# Visualize the decomposition
components(crashdecomp) %>% autoplot() +
theme_bw()
The STL Decomposition shows us both weekly seasonality and yearly seasonality in our data. Overall, it does a fairly decent job of splitting the data into its component parts. The remainder still appears to have some regular spikes, but is mostly random.
Before we move into modeling, let’s go ahead and split our data. We’ll aim for a 90 day prediction window.
crashtraining <- Crashesfinal %>%
filter_index("2018-01-01" ~ "2020-06-02")
crashtest <- Crashesfinal %>%
filter_index("2020-06-03" ~ .)
Alright, let’s go ahead and fit our models. We’ll be fitting nominal and Box Cox transformed versions of ETS, ARIMA, and a Neural Net.
crash_fit <- crashtraining %>%
model(
ETS = ETS(crashes ~ error("A") + trend("A") + season("A")),
ETSbc = ETS(box_cox(crashes, lambdaD) ~ error("A") + trend("A") + season("A")),
ARIMA210016 = ARIMA(crashes ~ 0 + pdq(2,0,0) + PDQ(0,0,6)),
ARIMA210016bc = ARIMA(box_cox(crashes, lambdaD) ~ 0 + pdq(2,0,0) + PDQ(0,0,6)),
ARIMA = ARIMA(crashes, stepwise = FALSE, approx = FALSE),
ARIMAbc = ARIMA(box_cox(crashes, lambdaD), stepwise = FALSE, approx = FALSE),
NNET = NNETAR(crashes),
NNETbc = NNETAR(box_cox(crashes, lambdaD))
)
Forecast the models.
Crash_fc <- crash_fit %>%
forecast(h = 90, new_data = crashtest)
Evaluate all the models and sort by RMSE
Crash_fc %>%
accuracy(crashtest) %>%
arrange(RMSE)
## # A tibble: 8 x 10
## .model .type ME RMSE MAE MPE MAPE MASE RMSSE ACF1
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <lgl> <lgl> <dbl>
## 1 ETSbc Test 15.8 45.5 33.1 2.36 8.88 NA NA 0.410
## 2 ARIMAbc Test 49.0 70.4 58.4 9.26 13.8 NA NA 0.403
## 3 ARIMA Test 59.2 77.2 66.7 12.9 16.3 NA NA 0.416
## 4 ETS Test 66.0 80.5 72.5 18.1 20.7 NA NA 0.447
## 5 NNET Test 60.3 91.1 76.4 10.7 18.5 NA NA 0.450
## 6 NNETbc Test 87.6 112. 94.2 17.4 20.3 NA NA 0.324
## 7 ARIMA210016bc Test 179. 268. 217. 27.5 50.2 NA NA 0.630
## 8 ARIMA210016 Test 354. 399. 354. 78.8 78.8 NA NA 0.566
The Box Cox-Transformed ETS model is by far our best performing model.
Let’s plot the best model against the test set.
Crash_fc %>%
filter(.model=="ETSbc") %>%
autoplot(Crashesfinal %>% filter(REPORT_DATE > as.Date("2020-06-03")), color = "#1b9e77") +
theme_bw()
Evaluate the Residuals ACF to see if there are remaining patterns.
crash_fit %>% select(ETSbc) %>% augment() %>% ACF(.resid) %>% autoplot() +
theme_bw()
There do appear to be some significant patterns present. It may be possible to account for these patterns with some additional model tuning. We’ll push forward with our current model, confident that it does a satisfactory job of predicting future crashes.
ETSbc_fc <- Crashesfinal %>%
model(ETSbc = ETS(box_cox(crashes, lambdaD) ~ error("A") + trend("A") + season("A"))) %>%
forecast(h = 90)
ETSbc_fc %>%
autoplot(Crashesfinal %>% filter_index("2020-02-01" ~ .), color = "#1b9e77") +
labs(title = "Predicted Daily Crashes, 90-day Forecast",
y = "Number of Crashes",
x = "Crash Date") +
theme_bw()


4. Elements
4.1. Inherited
| Name | Description |
|---|---|
box | Inherited from Bulma with minor modifications: https://bulma.io/documentation/elements/box/ |
button | Inherited from Bulma with modifications and extensions: https://bulma.io/documentation/elements/button/ |
content | Directly inherited from Bulma: https://bulma.io/documentation/elements/content/ |
icon | Directly inherited from Bulma: https://bulma.io/documentation/elements/icon/ |
notification | Inherited from Bulma with minor modifications: https://bulma.io/documentation/elements/notification/ |
progress | Directly inherited from Bulma: https://bulma.io/documentation/elements/progress/ |
table | Inherited from Bulma with minor modifications: https://bulma.io/documentation/elements/table/ |
tag | Directly inherited from Bulma: https://bulma.io/documentation/elements/tag/ |
title | Directly inherited from Bulma: https://bulma.io/documentation/elements/title/ |
4.2. Buttons
The standard Bulma styles for buttons are modified and extended. Examples are below:
4.3. Tables
Custom table for umΩkit has additional classes.


{% extends "base.html" %} {% load css %} {% block title %} Password Reset | UWA Pharmacy Case {% endblock %} {% block body %}
Enter your email address below, and we will email instructions for setting a new one.


\documentclass[pt]{minimal} \setlength{\oddsidemargin}{-pt} \usepackage{amsbsy} \usepackage{amsfonts} \usepackage{amsmath} \usepackage{amssymb} \usepackage{mathrsfs} \usepackage{upgreek} \usepackage{wasysym} mobility dengue model human number data phone mobile cases mosquito population mosquitoes home work models distribution Fig. cell transmission spatial spread {border-style disease infected urban different px;} #ffffff;} observed parameters random Singapore epidemic epidemiological rate reported temperature diseases humans agents locations patterns radiation use agent results total values \begin{document}$${x}_{v}$$\end{document} adult infectious outbreaks vector aquatic average based best estimated grid location transition cities parameter people virus (). Supplementary \begin{document}$$a$$\end{document} \begin{document}$$c$$\end{document} census fever intra-city previous simulations study travel Dengue Singapore, Singapore. according collected control described following generated important individuals modeling px; shown {font-family aedes bite case cases. commuting compare dynamics estimate font-size given infection initial note population. populations report studies time used vector-borne (see --). Figure Methods Table \begin{document}$$t$$\end{document} \begin{document}$${\lambda able areas corresponds dataset defined double; epidemics especially female information main mosquito-borne mosquitos new phase real records scale way, (Accessed: E.M. Health January Levy Levy-distribution Materials Mobile National aegypti agent-based allows analysis assign assume available border-color border-width cells clusters comparing consider corresponding day global impact local mean obtained outbreak pattern period possible range significant simulated solid; states stochastic tropical using {font-style {font-weight }}^{v\to (i.e. Academy Commons Creative Diseases Figs Furthermore, References Singapore’s Spatial \begin{document}$${R}^{}$$\end{document} \begin{document}$${\dot{\mu \begin{document}$${\dot{\varphi account accuracy aggregated allow assigned bold capacity cells. changes city comparison conditions correlated courier; daily data. days dengue, distance effect em; environment environmental good half i.e. increased individual large large-scale life-stage limited major mathematical mixing mobility, model, models, models. mosquitoes, movement movements necessary nodes obtain order outbreaks. pair people’s perform potential presented previously probabilities probability pt;} rates represented respectively risk sample significantly similar simulation state supplementary susceptible takes temperature. timestep transitions value week weekly weeks years }^{h}$$\end{document} }_{t,c}^{v\to


--- layout: post title: advertising comp date: '2014-10-31T08:30:38+01:00' categories: - Sketches picture_url: https://film-Storyboards.tumblr.com/post/101417076005 ---


This table has been a source of memory leaks, with DoIds getting left in the table indefinitely.
DoHierarchy guards access to the table and ensures correctness.
| def getDoIds |
( |
|
self, |
|
|
|
getDo, |
|
|
|
parentId, |
|
|
|
zoneId = None , |
|
|
|
classType = None |
|
) |
| |
Args:
parentId: any distributed object id.
zoneId: a uint32, defaults to None (all zones). Try zone 2 if
you're not sure which zone to use (0 is a bad/null zone and
1 has had reserved use in the past as a no messages zone, while
2 has traditionally been a global, uber, misc stuff zone).
dclassType: a distributed class type filter, defaults to None
(no filter).
If dclassName is None then all objects in the zone are returned;
otherwise the list is filtered to only include objects of that type.


MIRO PERSONAL PROTECTION EQUIPMENT
PPE USER LOGIN
×
LOGIN INFO:
Agree to all Terms and Conditions.
Login
Forget Password


Loading...
0%
MRML-Drop
Knee Atlas
Brain Tumor
Lung
Head & Neck Atlas
Drop file here.
Drop an MRML file to view the imaging in 3D.
or browse
Slice:Drop
•
3D Slicer
Back


Simple bartender
Create Manager Account
Back
Make Account
Full Name
Profile Image
Password
Retype Password
Location Name
Location City
Location Street Address
Location Zip Code
Location Image
Create Account


The Custom element ScrollBar represents a widget that provides a scroll bar that has a sliding thumb whose position corresponds to a value.
Vertical
Horizontal


Universities all over India are coming in this Virtual Fair to help you choosing best fit for you and to assist you picking up the perfect Career option up ahead. We connect with students around the world without leaving campus and enable you to promote your institution, chat with interested students, capture high-quality leads, and provide detailed information, just as at a physical fair, but from the comfort of your own place.


Sources Used
- https://blog.finjan.com/9-common-hacking-techniques-and-how-to-deal-with-them/
- https://enterprise.comodo.com/how-to-prevent-keylogging.php
- https://www.flickr.com/photos/myfwcmedia/6892247505
- https://stackoverflow.com/questions/42285655/pop-up-alert-on-image-click
- https://thelionkingfanon.fandom.com/wiki/Makuu%27s_Watering_Hole_(Myers%27_Fanfics)
- https://archive.4plebs.org/x/thread/25827015/
- https://www.w3schools.com/jsref/event_onclick.asp
- https://economictimes.indiatimes.com/magazines/panache/hacker-group-anonymous-back-in-action-as-protests-rage-accounts-claim-responsibility-for-taking-minneapolis-police-website-offline/articleshow/76173785.cms
- https://commons.wikimedia.org/wiki/File:Gnome-computer.svg
- https://www.freebie-depot.com/heres-a-really-simple-way-to-get-free-money/
- https://www.pinterest.com/pin/835206693364252770/
- https://www.nicepng.com/ourpic/u2q8t4q8r5r5u2q8_white-ball-png-ping-pong-ball-clip-art/
- https://www.pinclipart.com/pindetail/iRTmw_cookie-monster-clip-art-cookie-monster-clipart-at/


You must close ALL browser windows in order to completely logout
and prevent access to your Oncourse profile by others.
If you would like to completely log out of the Central Authentication System , click below:
Oncourse is supported by University Information Technology Services (UITS).


function f() {
return 'Hello World';
}
//or
var f = function f() {
return 'Hello World';
};
f(); //'Hello World'
//Function being an object has properties and methods in it:
f.name //f
//$P
f.call() //'Hello World'
f.apply() //'Hello World'
f.prototype //?
f.arguments //?
//What's the other implicit argument to a function?
What is this? $P
this = objectInContext;
//Object calling the function
//Object bound to the function
Array object methods:
var a = [1, 2, 3];
a.forEach()
a.map()
a.filter()
a.reduce() //$P
a.some()
a.every()
a.indexOf()
Find common between 2 arrays:
var a = [1, 2, 5, 4, 3];
var b = [5, 6, 3, 2];
function findCommon(a, b) {
var common = [];
a.forEach(//Write the logic here
//...
);
return common;
}
Common between 2 or more arrays?
var a = [1, 2, 5, 4, 3];
var b = [5, 6, 3, 1, 2, 7];
var c = [6, 1, 3, 2];
var d = [6, 8, 2, 1, 3];
function findCommon() {
var common = [];
a.forEach(//Write the logic here
//...
);
return common;
}
Functional Programming:
Functions are "first-class" objects
High-Order Functions
Functions can return functions
Lexical closures
Functions are "pure"
Safe Recursion
Immutable state
Higher Order Functions?
y = f(x)
//when did we learn functions in school?
y = f(f(x))
//I used to hide under the bench on this topic. Seriously.
//Same is true with many developers today.
Hide details, give me the f(g)ist:
var total = 0, count = 1;
while (count <= 10) {
total += count;
count += 1;
}
console.log(total);
//Using Higher Order Functions:
console.log(sum(range(1, 10)));
Recipe Analogy:
Put 1 cup of dried peas per person into a container. Add water until the peas are well covered. Leave the peas in water for at least 12 hours. Take the peas out of the water and put them in a cooking pan. Add 4 cups of water per person. Cover the pan and keep the peas simmering for two hours. Take half an onion per person. Cut it into pieces with a knife. Add it to the peas. Take a stalk of celery per person. Cut it into pieces with a knife. Add it to the peas. Take a carrot per person. Cut it into pieces. With a knife! Add it to the peas. Cook for 10 more minutes.
What's this approach called? Procedural.
Higher Order Recipe:
Per person: 1 cup dried split peas, half a chopped onion, a stalk of celery, and a carrot.
Soak peas for 12 hours. Simmer for 2 hours in 4 cups of water (per person). Chop and add vegetables. Cook for 10 more minutes.
What's this approach? $P
Abstraction!
A large program is costly.
Difficult to read, understand & change.
It invites bugs that are hard to find.
Fixing a bug may give rise to more bugs.
It's called Spaghetti Code.
Abstraction helps avoid this Spaghetti.
Spaghetti leads to more Spaghetti!
Abstracting array traversal:
var a = [1, 2, 3];
//Procedural way:
for (var i = 0; i < array.length; i++) {
var current = array[i];
console.log(current);
}
//Abstract logEach:
function logEach(array) {
for (var i = 0; i < array.length; i++)
console.log(array[i]);
}
//So readable:
logEach(a); //1, 2, 3
Passing action function to forEach:
Array.prototype.forEach = function(action) {
for (var i = 0; i < this.length; i++) {
action(this[i]);
}
};
//f(f(x)):
["Log", "me", "in", "console"].forEach(console.log);
Higher Order Functions?
Abstract/hide details to focus on problem at higher level.
function Observable(forEach) {
//An observable takes a forEach function as input
//and holds onto to it in internal _forEach property.
this._forEach = forEach;
}
Adding forEach in Observable's API:
Observable.prototype.forEach = function (onNext, onError, onCompleted) {
//API for observable.forEach(onNext => ..., e => ..., c => ...)
if(typeof onNext === 'function') {
//create an observer object and assign
//the 3 argument functions to it
return this._forEach({
onNext: onNext,
onError: onError || function () {},
onCompleted: onCompleted || function () {}
});
} else {
//API for observable.forEach(
// {onNext: x => ...,
// onError: e => ...,
// onCompleted: c => ...})
return this._forEach(onNext)
}
};
Adding map method:
Observable.prototype.map = function (transformationFunction) {
//$P
var self = this;
return new Observable(function forEach(observer) {
return self.forEach(
function onNext(event) {
observer.onNext(transformationFunction(event));
},
function onError(event) {
observer.onError(event);
},
function onCompleted() {
observer.onCompleted();
}
);
});
};
self = thisDream || outerWorld;
Adding filter method:
Observable.prototype.filter = function (testFunction) {
var self = this; //source observable
return new Observable(function forEach(observer) {
return self.forEach(
function onNext(event) {
if(testFunction(event)) {
observer.onNext(event);
}
},
function onError(event) { observer.onError(event); },
function onCompleted() { observer.onCompleted(); }
);
});
};
Adding take method:
Observable.prototype.take = function (limitTo) {
var self = this;
return Observable(function forEach(observer) {
var counter = 0,
subcription = self.forEach(
function onNext(v) {
observer.onNext(v);
counter++;
if(counter === limitTo) {
observer.onCompleted();
subcription.dispose();
}
},
function onError(e) {
observer.onError(e);
},
function onCompleted() {
observer.onCompleted();
}
);
return subcription;
});
};


Purple Martians
Technical Code Descriptions
Logo
Overview
Demo Video
Splines
Spline wrapper funtions
Setup of points on the grid
Drawing the small letters
Function to draw the entire static logo
Function to draw animated spinning logo
Overview
The animated splash screen logo of my name is made with a few different techniques:
-the large capital letters (M, D, W) are generated with splines.
-the small letters are font based and drawn by a function that scales x and y independantly and mirrors if the scales are negative.
Demo Video
Splines
In Allegro5, in the 'drawing primitives add-on', I use the function: 'al_draw_spline()'
void al_draw_spline(float points[8], ALLEGRO_COLOR color, float thickness)
Draws a Bézier spline given 4 control points.
Parameters:
points - An array of 4 pairs of coordinates of the 4 control points
color - Color of the spline
thickness - Thickness of the spline
The bezier spline is specified by the four x/y control points in the points array:
points[0] and points[1] contain the coordinates of the first control point, points[2] and points[3] are the second point, etc.
Control points 0 and 3 are the ends of the spline, and points 1 and 2 are guides.
The curve probably won't pass through points 1 and 2, but they affect the shape of the curve between points 0 and 3
The easiest way to think of it is that the curve starts at p0, heading in the direction of p1, but curves round so that it arrives at p3 from the direction of p2.
Spline wrapper funtions
I made a wrapper function for al_draw_spline() to add circles at the ends of the splines:
void mwLogo::mspline(float *par, ALLEGRO_COLOR col, int thickness)
{
al_draw_spline(par, col, thickness);
float r = (float)thickness * .8;
al_draw_filled_circle(par[0], par[1], r, col);
al_draw_filled_circle(par[6], par[7], r, col);
}
Then I made another wrapper function to add a fading effect:
void mwLogo::mfspline(float *par, int col, int thickness)
{
ALLEGRO_COLOR c = mColor.pc[col];
float r, g, b;
al_unmap_rgb_f(c, &r, &g, &b);
for (int a = thickness; a>0; a--)
{
float f = (float)(a) / (float)(thickness); // fade in
mspline(par, al_map_rgb_f(r*f, g*f, b*f), a);
}
}
Setup of points on the grid
I set up an array with space for 9 splines.
float points[9][8];
The "M" and "W" are each made of 4 splines.
The "D" is made from one spline.
All of the points for these splines are on cartesian grid with the center at 0,0.
The upper left corner is -200, -200 and the lower right corner is +200, +200.
This was chosen so that the entire grid can be scaled in the x and y axis independently by multiplying x or y coordinates by a scaling value.
There are only 3 seed splines.
- the large outer arms of 'M' and 'W' are mirrored copies of spline 0 (0, 1, 4, 5)
- the small inner arms of 'M' and 'W' are mirrored copies of spline 2 (2, 3, 6, 7)
- 'D' is made from spline 8 with the lower points mirrored from the top ones
The other splines are derived from these seed splines, using x and y axis mirroring and translation.
All of the constants in 'seed_mdw()', I got from another function I wrote to set up the splines graphically.
I adjusted the control points until I liked how they looked, then hard coded them into seed_mdw().
void seed_mdw(void)
{
// outer arms start and end pos are all fixed
points[0][0] = -200;
points[0][1] = 0;
points[0][6] = -200;
points[0][7] = -200;
points[1][0] = 0;
points[1][1] = 0;
points[1][6] = 0;
points[1][7] = -200;
points[4][0] = 0;
points[4][1] = 0;
points[4][6] = 0;
points[4][7] = 200;
points[5][0] = 200;
points[5][1] = 0;
points[5][6] = 200;
points[5][7] = 200;
// outer arm (spline 0) control points
points[0][2] = -115;
points[0][3] = -93;
points[0][4] = -105;
points[0][5] = -169;
// inner arm (spline 2) control points
points[2][0] = -170;
points[2][1] = -170;
points[2][2] = -123;
points[2][3] = -168;
points[2][4] = -107;
points[2][5] = -147;
points[2][6] = -91;
points[2][7] = -131;
// 'D' has only 1 spline, start point and first control point are mirrored in the y axis
points[8][0] = -70;
points[8][1] = -40;
points[8][2] = 132;
points[8][3] = -88;
}
Then I set up all of the mirrored splines.
void fill_mdw(void)
{
// --- outer arms ---
// mirror spline 0 to 1, 4, 5
// get control points from spline 0
float cp1x = points[0][0] - points[0][2];
float cp1y = points[0][1] - points[0][3];
float cp2x = points[0][0] - points[0][4];
float cp2y = points[0][1] - points[0][5];
// apply to other splines
points[1][2] = points[1][0] + cp1x;
points[1][3] = points[1][1] - cp1y;
points[1][4] = points[1][0] + cp2x;
points[1][5] = points[1][1] - cp2y;
points[4][2] = points[4][0] - cp1x;
points[4][3] = points[4][1] + cp1y;
points[4][4] = points[4][0] - cp2x;
points[4][5] = points[4][1] + cp2y;
points[5][2] = points[5][0] + cp1x;
points[5][3] = points[5][1] + cp1y;
points[5][4] = points[5][0] + cp2x;
points[5][5] = points[5][1] + cp2y;
// --- inner arms ---
// mirror spline 2 to 3, 6, 7
// get inner arm offsets from outer arm
float ia1x = points[0][0] - points[2][0]; // inner arm x1
float ia1y = points[0][1] - points[2][1]; // inner arm y1
float ia2x = points[0][0] - points[2][6]; // inner arm x2
float ia2y = points[0][1] - points[2][7]; // inner arm y2
// get inner arm control points
cp1x = points[2][0] - points[2][2]; // inner arm x1
cp1y = points[2][1] - points[2][3]; // inner arm y1
cp2x = points[2][0] - points[2][4]; // inner arm x2
cp2y = points[2][1] - points[2][5]; // inner arm y2
// apply to other inner arms
points[3][0] = points[1][0] + ia1x;
points[3][1] = points[1][1] - ia1y;
points[3][6] = points[1][0] + ia2x;
points[3][7] = points[1][1] - ia2y;
points[3][2] = points[3][0] + cp1x;
points[3][3] = points[3][1] - cp1y;
points[3][4] = points[3][0] + cp2x;
points[3][5] = points[3][1] - cp2y;
points[6][0] = points[4][0] - ia1x;
points[6][1] = points[4][1] + ia1y;
points[6][6] = points[4][0] - ia2x;
points[6][7] = points[4][1] + ia2y;
points[6][2] = points[6][0] - cp1x;
points[6][3] = points[6][1] + cp1y;
points[6][4] = points[6][0] - cp2x;
points[6][5] = points[6][1] + cp2y;
points[7][0] = points[5][0] + ia1x;
points[7][1] = points[5][1] + ia1y;
points[7][6] = points[5][0] + ia2x;
points[7][7] = points[5][1] + ia2y;
points[7][2] = points[7][0] + cp1x;
points[7][3] = points[7][1] + cp1y;
points[7][4] = points[7][0] + cp2x;
points[7][5] = points[7][1] + cp2y;
// --- spline 8 - used for 'd'
// mirror upper points to lower with same x
points[8][6] = points[8][0]; // same x
points[8][7] = -points[8][1]; // mirror y
points[8][4] = points[8][2]; // same x
points[8][5] = -points[8][3]; // mirror y
}
Drawing the small letters
To draw the small letters, I use the function 'idw()' to draw scaled text.
X and Y can be scaled independantly, and if either scale is negative the text is mirrored.
The text bitmaps are generated only once, as it was too slow to generate them every time.
void idw(int txt, int x, int y, float x_scale, float y_scale)
{
int bbx1, bby1, bbw1, bbh1;
al_get_text_dimensions(f1, "ichael", &bbx1, &bby1, &bbw1, &bbh1);
if (logo_text_bitmaps_create)
{
logo_text_bitmaps_create = 0;
al_destroy_bitmap(logo_ichael);
logo_ichael = al_create_bitmap(bbw1,bbh1);
al_set_target_bitmap(logo_ichael);
al_clear_to_color(al_map_rgb(0,0,0));
al_draw_text(f1, palette_color[8], 0-bbx1, 0-bby1, 0, "ichael");
al_convert_mask_to_alpha(logo_ichael, al_map_rgb(0, 0, 0)) ;
al_destroy_bitmap(logo_avid);
logo_avid = al_create_bitmap(bbw1,bbh1);
al_set_target_bitmap(logo_avid);
al_clear_to_color(al_map_rgb(0,0,0));
al_draw_text(f1, palette_color[90], 0-bbx1, 0-bby1, 0, "avid");
al_convert_mask_to_alpha(logo_avid, al_map_rgb(0, 0, 0)) ;
al_destroy_bitmap(logo_eiss);
logo_eiss = al_create_bitmap(bbw1,bbh1);
al_set_target_bitmap(logo_eiss);
al_clear_to_color(al_map_rgb(0,0,0));
al_draw_text(f1, palette_color[8], 0-bbx1, 0-bby1, 0, "eiss");
al_convert_mask_to_alpha(logo_eiss, al_map_rgb(0, 0, 0)) ;
}
x_scale *= 72 / (float) al_get_font_line_height(f1);
y_scale *= 24 / (float) al_get_font_line_height(f1);
int flags = 0;
if (x_scale < 0) flags |= ALLEGRO_FLIP_HORIZONTAL;
if (y_scale < 0) flags |= ALLEGRO_FLIP_VERTICAL;
// offset x pos if scale is negative
if (x_scale < 0) x -= abs( (int) ((float)bbw1 * x_scale) );
// offset y pos if scale is negative
if (y_scale < 0) y -= abs( (int) ((float)bbh1 * y_scale) );
al_set_target_backbuffer(display);
if (txt == 1) al_draw_scaled_rotated_bitmap(logo_ichael, 0, 0, x, y, fabs(x_scale), fabs(y_scale), 0, flags);
if (txt == 2) al_draw_scaled_rotated_bitmap(logo_avid, 0, 0, x, y, fabs(x_scale), fabs(y_scale), 0, flags);
if (txt == 3) al_draw_scaled_rotated_bitmap(logo_eiss, 0, 0, x, y, fabs(x_scale), fabs(y_scale), 0, flags);
}
Function to draw the entire static logo
Finally here is the function that draws the whole thing:
void draw_mdw(int x, int y, float x_scale, float y_scale, int line_thickness)
{
int c1 = 10; //color 1 (red)
int c2 = 8; //color 2 (purple)
// determine thickness based on both scales
float hy_scale = sqrt( (x_scale * x_scale) + (y_scale * y_scale));
float t = 2 + hy_scale * 7;
float draw_points[9][8];
// apply scale
for (int j=0; j<9; j++)
for (int i=0; i<8; i+=2)
{
draw_points[j][i] = points[j][i] * x_scale;
draw_points[j][i+1] = points[j][i+1] * y_scale;
}
// apply offset
for (int j=0; j<9; j++)
for (int i=0; i<8; i+=2)
{
draw_points[j][i] += x;
draw_points[j][i+1] += y;
}
// drawing order
int order = 0; // normal with inner arms in front
if (x_scale < 0) order = !order;
if (y_scale < 0) order = !order;
if (order)
{
mfspline(draw_points[8], c1, t);
mfspline(draw_points[2], c1, t);
mfspline(draw_points[3], c1, t);
mfspline(draw_points[6], c1, t);
mfspline(draw_points[7], c1, t);
mfspline(draw_points[0], c2, t);
mfspline(draw_points[1], c2, t);
mfspline(draw_points[4], c2, t);
mfspline(draw_points[5], c2, t);
}
else
{
mfspline(draw_points[0], c2, t);
mfspline(draw_points[1], c2, t);
mfspline(draw_points[4], c2, t);
mfspline(draw_points[5], c2, t);
mfspline(draw_points[8], c1, t);
mfspline(draw_points[2], c1, t);
mfspline(draw_points[3], c1, t);
mfspline(draw_points[6], c1, t);
mfspline(draw_points[7], c1, t);
}
// show the rest of the name
float xs = x_scale * 2;
float ys = y_scale * 3;
void idw(int txt, int x, int y, float x_scale, float y_scale);
idw(1, (int)(x - 54 * x_scale), (int)(y - 130 * y_scale), xs, ys); // ichael
idw(2, (int)(x + 90 * x_scale), (int)(y - 15 * y_scale), xs, ys); // avid
idw(3, (int)(x + 146 * x_scale), (int)(y + 120 * y_scale), xs, ys); // eiss
}
Function to draw animated spinning logo
This function is non-blocking and needs to be called in a loop, so it can do other things like process the event loop, etc.
int mdw_an2(void)
{
float x_scale = mdw_splash_logo_scale;
float y_scale = mdw_splash_logo_scale;
// 1st grow while rotating 256 0 - 255
// 2nd xlink 64 256 - 319
// 3nd static 128 320 - 447
// 4th spin back for dual 192 448 - 639
// 5th dual flip 256 640 - 895
// 6th spin back to orig 64 896 - 959
// total shrink frames 320 (mode 5 and 6)
if (++mdw_an_seq > 959) return 1;
// grow and spin in both axis
if ((mdw_an_seq > -1) && (mdw_an_seq < 256))
{
al_fixed t = al_itofix(mdw_an_seq);
float s = (float)mdw_an_seq / 320;
if (s > 1) s = 1;
x_scale = s * mdw_splash_logo_scale * al_fixtof(al_fixsin(t));
y_scale = s * mdw_splash_logo_scale * al_fixtof(al_fixcos(t));
}
// fix x scale
if ((mdw_an_seq > 255) && (mdw_an_seq < 319))
{
al_fixed t = al_itofix(mdw_an_seq-256);
float s = (float)mdw_an_seq / 320;
if (s > 1) s = 1;
x_scale = s * mdw_splash_logo_scale * al_fixtof(al_fixsin(t));
y_scale = s * mdw_splash_logo_scale;
}
// freeze
if ((mdw_an_seq > 319) && (mdw_an_seq < 448))
{
x_scale = mdw_splash_logo_scale;
y_scale = mdw_splash_logo_scale;
}
// spin back to prepare for dual flip...
if ((mdw_an_seq > 447) && (mdw_an_seq < 640))
{
al_fixed t = al_itofix(mdw_an_seq-448);
x_scale = mdw_splash_logo_scale * al_fixtof(al_fixcos(t));
}
// shrink and move
if ((mdw_an_seq > 639) && (mdw_an_seq < 960))
{
mdw_splash_logo_x -= mdw_logo_x_dec;
mdw_splash_logo_y -= mdw_logo_y_dec;
mdw_splash_logo_scale -= mdw_logo_scale_dec;
}
// dual flip
if ((mdw_an_seq > 639) && (mdw_an_seq < 896))
{
al_fixed t = al_itofix(mdw_an_seq-640);
x_scale = mdw_splash_logo_scale * al_fixtof(al_fixsin(t));
y_scale = mdw_splash_logo_scale * al_fixtof(al_fixcos(t));
}
// back to original
if ((mdw_an_seq > 895) && (mdw_an_seq < 960))
{
al_fixed t = al_itofix(mdw_an_seq-896);
x_scale = mdw_splash_logo_scale * al_fixtof(al_fixsin(t));
y_scale = mdw_splash_logo_scale;
}
draw_mdw((int)mdw_splash_logo_x, (int)mdw_splash_logo_y, x_scale, y_scale, mdw_splash_logo_th);
return 0;
}


LAUV–EASY LOVE
You got a way of making me feel insane
Like I can't trust my own brain
Unless it's screaming your name
I'd have it no other way
I'd have it no other way
And maybe that's why I stayyy...
How many times can we pick up the same fight?
Can we keep screaming all night
And make up until it's light?
That's when I say that you're right
And feel your body on mine
Oh maybe that's why I stayyyy...
I could be somewhere
CHILLING ON THE BEACH
I could be with someone
MAKING ME HAPPY
But that would be too eeeasy love
And I don't want no eeeasy love
I could put my phone
DOWN just pick up my keys
I could let you go, and
WE COULD LET IT BE
But that would be too eeeasy love
And I don't want no eeeasy love
Keep coming back, guess you could say I'm attached
Last time we called it a wrap I came begging and all that
You're like a habit, it's bad
I got a habit, it's bad
Oh no, I'm not even mad.
no
I could be somewhere
CHILLING ON THE BEACH
I could be with someone
MAKING ME HAPPY
But that would be too eeeasy love
And I don't want no eeeasy love
But that would be too eeeasy love
And I don't want no eeeasy love
It's the way you keep me up all nightttt
It's the way you make me lose my mindddd
Every time I'm saying one more niiiiight
It's the way you know
I'm yourssss
It's the way you know
I'm yours for liiiiife
I could be somewhere
CHILLING ON THE BEACH
I could be with someone
MAKING ME HAPPY
But that would be too easy, love
And I don't want no easy love


A Moment of Historic Reflection
- In 1995, Netscape released a browser with HTTPS
- For the first time, everyone had easy access to encrypted communications
20 Years Later
- Not enough HTTPS on the Internet
Security is Important
Getting a Certificate is Hard
- Manual process, different for every provider
- First you have to request a certificate…
- …then you have to figure out how to install it
Why is This So Hard?
- Certificates are required to set up a secure website
- The entities selling them want to make money
- This leads to things being expensive, difficult, and proprietary
is a new certificate authority
A Free CA
Things that don't matter:
- Ability to pay
- Where you reside
- Individual, organization, or corporation
An Automated CA
- Most of the work in issuing a certificate is in verifying domain control
- Let's Encrypt uses a standard protocol to verify domain control automatically prior to certificate generation
- Certificate renewals use this same process
Automated Certificate Management Environment (ACME)
- Suppose someone asks for a certificate for example.com
- How do you know they actually own example.com?
Domain Validation
Give them a challenge that only
the domain owner can complete:
- Provision a DNS record for
_acme-challenge.example.com
- Provision a file at
http://example.com/.well-known/acme-challenge/
- Configure a TLS server on example.com
Automated Validation
- The whole process is laid out in the ACME specification
- How you ask for authorization
- How you fulfill challenges
- How you ask for certificates
- Having a standard protocol means that you can build tools
- The vision is for ACME to be built into web servers, to auto-configure HTTPS
An Open CA
Everything Let's Encrypt uses is open source:
Pull requests welcome!
A Cooperative CA
- Wide industry sponsorship
- Community development and support
- Built on an open standard for all CAs
Platform Integration
An Upcoming Standard
The Future
This Line Keeps Going Upward
Only the Beginning…
- General availability began December 3, 2015 and is already the 5th largest issuer of certificates
- Get every website using HTTPS
- Secure all the internet: email, chat, and more!
A Message to the World


Vendor Name:
NORTHERN MICRO
Reference Number:
X00160340
Contract Date:
2016-16-06
Description of Work:
1282 COMPUTER EQUIPMENT - SERVERS
Contract Period:
2016-16-06 to 2016-15-07
Delivery Date:
2016-15-07
Original Contract Value:
$18,129.26
Current Contract Value:
$18,129.26
Comments:
This contract was competitively sourced by Shared Services Canada.
Former Public Servant in Receipt of a Pension under the Public Service Superannuation Act:
no


Amongst programming languages JavaScript is an excellent language to learn. It is said, that is a relatively easy language to learn. Although I am having some difficulty with it… I am surprised on how quickly we are are running through material and how much I am able to pick up and how much is sticking! Additionally, JS is easy to manipulate. These factors alone make it a great language to collaborate with.
JS has become very popular in the world of development, that each developer requires a basic understanding or knowledge of it. All major browsers have many useful tools in order for developers to test their code or implement into their website. With so many tools and capabilities, it makes it easy to debug or find an error, which saves an invaluable amount of time!
JS is fast and powerful, capable of complicated manipulations.It is asynchronous, meaning that is able to process everything multiple pieces of data simultaneously. Additionally, it can utilize its many libraries like jQuery to implement or manipulate features on a webpage.
Reading and learning about it, I was able to find some flaws. For example, I read that it only works on the front end, which is great for manipulating pages, but it still relies on other technologies as .Net or PHP, which have more backend capabilities. Some fear that it is not as secure as other languages. JS does have a lot of challenging concepts, as I have looked online.
June 21, 2014


Contributing
Features, bugs and other issues
ScalaWebTest welcomes contribution of any form at any time. If want to report a bug, request a feature or change, just create an issue - a responsible committer will get to it.
Contributing source code
If you would like to contribute code, we're looking forward to your pull request.
Note: The primary development branch is "master", so you might want to develop against that.
Before we can integrate your change, we need you to sign the contributor license agreement. This will be enforced by CLA assistant and is crucial to keep our stuff IP-clean - thank you!
Becoming a committer
If you have knowledge of Scala, ScalaTest and Selenium and would like to join, you are more than welcome as a committer. Usually, you start off by making a couple of pull requests to show your expertise - then, the existing committers will vote on the decision.
Development quick facts
ScalaWebTest is written in Scala and available for Scala 2.11, 2.12 and 2.13. We're on GitHub, and use Travis CI.
Getting support
Get your questions answered quickly
There are a great number of options to quickly have your questions answered: File an issue, ask a question on Stack overflow, Tweet to @scalawebtest or simply drop us an email at<EMAIL_ADDRESS>Professional support
We're glad to help out. Feel free to contact us at:
Unic AG
Belpstrasse 48, 3007 Bern, Switzerland
Telephone: +41 31 560 12 12
Fax: +41 31 560 12 13


Release Notes
Release notes are available here.
API Documentation:
Javadoc for all major and minor releases is available here.
Support / Feedback
For issues with, questions about, or feedback for the MongoDB Java driver, please look into our support channels. Please do not email any of the Java driver developers directly with issues or questions - you're more likely to get an answer on the mongodb-user list on Google Groups.
At a minimum, please include in your description the exact version of the driver that you are using. If you are having connectivity issues, it's often also useful to paste in the line of code where you construct the MongoClient instance, along with the values of all parameters that you pass to the constructor. You should also check your application logs for any connectivity-related exceptions and post those as well.
Bugs / Feature Requests
Think you’ve found a bug? Want to see a new feature in the Java driver? Please open a case in our issue management tool, JIRA:
- Create an account and login.
- Navigate to the JAVA project.
- Click Create Issue - Please provide as much information as possible about the issue type and how to reproduce it.
Bug reports in JIRA for the driver and the Core Server (i.e. SERVER) project are public.
If you’ve identified a security vulnerability in a driver or any other MongoDB project, please report it according to the instructions here.
Versioning
Major increments (such as 2.x -> 3.x) will occur when break changes are being made to the public API. All methods and classes removed in a major release will have been deprecated in a prior release of the previous major release branch, and/or otherwise called out in the release notes.
Minor 3.x increments (such as 3.1, 3.2, etc) will occur when non-trivial new functionality is added or significant enhancements or bug fixes occur that may have behavioral changes that may affect some edge cases (such as dependence on behavior resulting from a bug). An example of an enhancement is a method or class added to support new functionality added to the MongoDB server. Minor releases will almost always be binary compatible with prior minor releases from the same major release branch, exept as noted below.
Patch 3.x.y increments (such as 3.0.0 -> 3.0.1, 3.1.1 -> 3.1.2, etc) will occur for bug fixes only and will always be binary compitible with prior patch releases of the same minor release branch.
@Beta
APIs marked with the @Beta
annotation at the class or method level are subject to change. They can be modified in any way, or even
removed, at any time. If your code is a library itself (i.e. it is used on the CLASSPATH of users outside your own control), you should not
use beta APIs, unless you repackage them (e.g. by using shading, etc).
@Deprecated
APIs marked with the @Deprecated
annotation at the class or method level will remain supported until the next major release but it is
recommended to stop using them.
com.mongodb.internal.*
All code inside the com.mongodb.internal.*
packages is considered private API and should not be relied upon at all. It can change at any
time.
Binaries
Binaries and dependency information for Maven, Gradle, Ivy and others can be found at http://search.maven.org.
Example for Maven:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>x.y.z</version>
</dependency>
For an all-in-one jar (which embeds the core driver and bson):
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>x.y.z</version>
</dependency>
Snapshot builds are also published regulary via Sonatype.
Example for Maven:
<repositories>
<repository>
<id>sonatype-snapshot</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
</repositories>
For binaries containing the asynchronous API, see the driver-async README.
Build
To build and test the driver:
$ git clone https://github.com/mongodb/mongo-java-driver.git
$ cd mongo-java-driver
$ ./gradlew check
The test suite requires mongod to be running with enableTestCommands
, which may be set with the --setParameter enableTestCommands=1
command-line parameter:
$ mongod --dbpath ./data/db --logpath ./data/mongod.log --port 27017 --logappend --fork --setParameter enableTestCommands=1
If you encounter "Too many open files"
errors when running the tests then you will need to increase
the number of available file descriptors prior to starting mongod as described in https://docs.mongodb.com/manual/reference/ulimit/
Build status:
Maintainers
- Jeff Yemin<EMAIL_ADDRESS>- Ross Lawley<EMAIL_ADDRESS>Contributors:
- Trisha Gee<EMAIL_ADDRESS>- Uladzmir Mihura<EMAIL_ADDRESS>- Justin Lee<EMAIL_ADDRESS>- Craig Wilson<EMAIL_ADDRESS>Additional contributors can be found here.
Supporters
YourKit is supporting this open source project with its YourKit Java Profiler.
JetBrains is supporting this open source project with: