In this vignette we will illustrate how to access hap.py results once we have created a happy_compare
object. Also, we will cover how to complement them with custom metrics, just by adding an additional build_metrics
column to our samplesheet.
Let’s load our NovaSeq dataset with PCR-Free vs. Nano builds for NA12878, using a samplesheet that includes custom metrics (see vignettes/pcrfree_vs_nano.csv
):
# do not run
samplesheet_path <- "vignettes/pcrfree_vs_nano.csv"
happy_compare <- read_samplesheet(samplesheet_path, lazy = TRUE)
# given the size of the dataset, load from Rds object instead
happy_compare <- readRDS("pcrfree_vs_nano.Rds")
We can have a look at the contents of the resulting happy_compare
object to identify which elements are available for querying:
names(happy_compare)
## [1] "samplesheet" "happy_results" "build_metrics" "ids"
Since our demo dataset includes results from two different library preparation workflows, we can evaluate if there are any differences in variant calling performance across groups. For that, we will need to access hap.py results. In particular, we are interested in ROC metrics, as ROC curves offer a convenient way of visualising accuracy across multiple classification methods (in our case True Positive vs. False Positive calls in PCR-Free vs. Nano builds).
Let’s extract ROC metrics for PASS SNVs and INDELs in our happy_compare
dataset:
roc_snvs <- extract_metrics(happy_compare, table = "pr.snp.pass")
roc_indels <- extract_metrics(happy_compare, table = "pr.indel.pass")
Then visualise them with the pre-defined function hc_plot_roc()
:
p1 <- hc_plot_roc(happy_roc = roc_snvs, type = "SNP", filter = "PASS")
p2 <- hc_plot_roc(happy_roc = roc_indels, type = "INDEL", filter = "PASS")
gridExtra::grid.arrange(p1, p2, ncol = 2)
From the difference in scales between the two plots, we can see that performance is higher for SNPs compared to INDELs, regardless of prep method. In addition, the differences between PCR-Free and Nano are most accentuated in INDELs, with a wider spread in precision across Nano builds.
Often we have additional information about our samples besides the results generated with hap.py, e.g. metadata, BAM/VCF metrics, etc. It is easy to add these custom metrics to our happy_compare
object, we just need to provide a build_metrics
column to our samplesheet that points to relevant csv files (see e.g. vignettes/pcrfree_vs_nano.csv
). Here we will refer to custom metrics as build metrics, since they are typically metrics calculated on the outputs of the analysis pipeline (BAMs, VCFs), i.e. after “building” the alignments.
For example, the build metrics csv for our first sample contains the following:
happy_compare$build_metrics[[1]] %>%
t() %>%
head(n = 15)
## [,1]
## filename "/illumina/build/stripes/happyTestData/pcrfree_vs_nano/build_metrics/NA12878-I30_S1.summary.csv"
## sample_id "NA12878-I30"
## sample_name "NA12878-I30"
## run_folder "/data/scratch/RunFolder"
## reference_genome "Homo"
## paired_end "True"
## metrics_version "<IP_ADDRESS>"
## metrics_deliverable "Default"
## callability "95.3"
## contamination "0.54"
## autosome_mean_coverage "49.95"
## autosome_coverage_at_1x "99.55"
## autosome_coverage_at_10x "98.81"
## autosome_coverage_at_15x "98.52"
## autosome_callability "96.32"
A more convenient way to access build metrics is to use the extract_metrics()
function, as we did for hap.py results. This adds a unique identifier to each sample in our dataset, making it easier to combine data downstream. As an example, let’s explore further the spread in INDEL precision identified in the ROC curves above:
# link build metrics to hap.py results
summary <- extract_metrics(happy_compare, table = "summary")
build_metrics <- extract_metrics(happy_compare, table = "build.metrics")
merged_df <- summary %>%
# focus on PASS INDEL for now
filter(Type == "INDEL", Filter == "PASS") %>%
# focus on precision
select(happy_prefix, METRIC.Precision) %>%
inner_join(build_metrics)
## Joining, by = "happy_prefix"
Since we have access to BAM metrics, we can investigate if there is any coverage bias in our dataset:
merged_df %>%
ggplot(aes(x = mean_coverage, y = METRIC.Precision, group = Group.Id)) +
geom_point(aes(color = Group.Id)) +
geom_smooth(method = "lm", aes(color = Group.Id, fill = Group.Id),
formula = y ~ poly(x, 2), lwd = 0.25) +
ylab("INDEL_precision")
As expected, increasing coverage leads to higher INDEL precision. Importantly, precision gains from increased coverage are not equivalent across prep methods: whilst we have reached saturation levels for PCR-Free, we can mitigate the gaps in precision in Nano by sequencing at higher depth.


Review: Drowning Mona (2000)
Review by Scott Hunt Visit me at Movie Hunt http://netdirect.net/~hunt/index.html)
Cast: Danny DeVito, Bette Midler, Casey Affleck, Jamie Lee Curtis, Neve Campbell, William Fichtner Director: Nick Gomez Writer: Peter Steinfeld
Rating: Off Target (1 out of 4 stars)
Ever watch a very young child try and tell a joke that is beyond his, or her, sophistication?  I felt the same way watching Drowning Mona. Skip a stone across water and you approximate the depth of this attempt at an ensemble comedy.
There are some slightly successful attempts at humor, but they only serve as window dressing. There is a running gag about the town, Verplanck, N.Y., being a test town for the then new Yugo. Everyone drives a Yugo, differentiating their cars with personalized license plates. Even the Police chief drives one. There is a certain sublimeness to the image of a lights and siren decked out Yugo skittering its way through the town streets. There also is a running gag about one of the characters, Jeff, missing a hand and how it occurred. It pokes gentle fun at the notion of urban legends. It turns out the truth is more horrifying than any legend. There are some sight gags that pop up as well, such as Mona's tombstone, which reads "demoted", instead of devoted. Still, The core of the story maintains the flatness of a still pond.
The lynchpin of the film falls on the redundant and sporadic scenes involving Mona (Midler). Each scene with her is the same: scream at someone, hit someone, then scream some more. There's no uniqueness or modulation to her or explanation for her meanness. Anyone off the street could have played the role, such as it is. The other characters are walking cardboard cutouts. Each one is defined by one trait and no further attempt is made at deeper characterization. There is a burly, female car mechanic, so of course, there is a forced lesbianism gag. Mona's son, Jeff (Marcus Thomas) is a simpleton, hence you can predict his dialogue before it even plods its way from his mouth. Chief of Police Rash (Devito) likes Broadway musicals and loves his daughter. There's nothing more to him. Elle, the chief's daughter (Campbell), is bland personified, a dutiful girl with no higher aspiration than to have a child and be married. Mona's husband Phil (Fichtner) Jeckle and Hydes from shirking coward to reptilian letch. Bob (Affleck), Elle's betrothed, and business partner to Jeff, is a mumbling, obvious dullard. There is no contrast to any of the characters. By having at least one character with some wit, or wits, to serve as counterpoint to the others, perhaps Steinfeld's attempt at satirizing a small town infested with ambitionless people might have come off better.
Ostensibly a murder mystery, Drowning Mona gives you almost all the clues immediately, then lets you sit back and feel superior as you watch the cast of paper people fumble their way to finding the killer, who could be anyone due to Mona's loving manner with everyone on town. Even that aspect of the film fails, throwing in a convenient, ridiculous and unsatisfying wrap to things.
It's been a while since I walked away from a movie theater in an angry mood. What makes it all the more remarkable is that I rarely remember a comedy making me so angry for wasting my time at it's ineptitude.
Sent via Deja.com http://www.deja.com/ Before you buy.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Authorities say 63-year-old Yelena Nezhikhovskaya is also charged with false reporting and drug delivery resulting in death stemming from the death of her 32-year-old daughter, Yulia. She was arrested Saturday, and the charges were made public Monday.
Yulia Nezhikhovskaya was pronounced dead at the family home last December. But authorities have not revealed a possible motive or cause of death.
It wasn’t known Tuesday if Yelena Nezhikhovskaya has retained an attorney.


Congratulations! You have successfully linked your {{provider_login}} to your {{site_name}} account with username {{username}}. This means you can log in as {{username}} using your {{provider_login}}, so feel free to forget your old {{username}} password. Your recommendations and comments will continue to appear under {{username}}.


Which Epicodus track is right for you?
Take the survey to find out.
Start
What is your name?
Next
Which of the following best describes you?
I am a visual person and enjoy art
I like to be creative and design things
I am more logical and think analytically
Next
What type of applications are you most interested in?
I want to work on mobile applications
I want to work on web applications
Next
What size company would you like to work for?
Less than 100 employees
100 - 1,000 employees
Over 1,000 employees
Next
Which would you like to work on most?
High-performance applications
Building internal business software
Next
, the recommended track for you is:
This track is great for people who:
Can spend hours obsessing over visual details like layouts, navigation, and colors.
Have a knack for design.
Want to use a lot of artistic creativity.
Check out more information on the
CSS
and
Design
courses offered at Epicodus.
This track is great for people who:
Are interested in working for an enterprise level company.
Or want to work as an Android developer.
Or want to work with high-performance applications.
Check out more information on the
Java
and
Android
courses offered at Epicodus.
This track is great for people who:
Are looking to build interactive web applications.
Want to work at a startup or smaller company --Ruby is most popular at these companies because it allows them to build their product quickly.
Check out more information on the
Ruby
and
Rails
courses offered at Epicodus.
This track is great for people who:
Want to work for bigger established businesses.
Are interested in working on building internal software.
Check out more information on the
C#
and
.NET
courses offered at Epicodus.
Take the survey again


Greetings, I'm Eric!
JavaScript
stacks, on the Front End using HTML5
, CSS3 and SASS
, traditional JavaScript
and ES6
implementations, VueJS
, jQuery
and Bootstrap/Media Queries
; with additional familiarity in AJAX
requests,REST APIs,
and WebPack
bundling!NodeJS, PHP, Apache, Express, Heroku and EJS
; and database tools like MongoDB, Post and MySQL.
I also have experience using tools like Sketch
, Photoshop
, XD
, PerfectPixel
and WordPress
development.


WITNESS LIST Business & Commerce Committee May 16, 2005 - 8:00A HB 789 FOR: Caswell, Wayne (Self), Austin, TX Grant, Kathy (Texas Cable and Telecommunications Association), Austin, TX Land, Charles (TEXALTEL), Austin, TX Morrow, William E. (Grande Communications), Austin, TX Newton, Jan (SBC), Austin, TX Peyton, Tina (Freedomworks), Dallas, TX Pospisil, Scott (Texas Payphone Association), Austin, TX Wood, Robert J. (City of Flatonia), Flatonia, TX AGAINST: Siegel, Howard (Logix Communications), Austin, TX ON: Banta, Steve (Verizon Southwest), Irving, TX Camacho, Jose A. (Valor Telecom), Austin, TX Cardenas, Gus (AARP of Texas), Austin, TX Carr, Snapper (Texas Municipal League), Austin, TX Denton, Brad (Texas Telephone Association), Austin, TX Hudson, Paul Chairman (Public Utility Commission), Austin, TX Hunsucker, Michael R. (Sprint Corporation), Austin, TX Levin, Adina (SaveMuniwireless.Org), Austin, TX Parsley, Julie Commissioner (Public Utility Commission), Austin, TX Udell, Bob (Consolidated Communications), Conroe, TX Registering, but not testifying: For: Halford, Currie (Communications Workers of America), Austin, TX Kirby Jr., Richard C. (Texas Cable and Telecommunications Association/Comcast), Irving, TX Willis, D.L. Dally (Communications Workers of America Union), Midland, TX On: Bonewald, Silona (Self), Austin, TX


Welcome to your Dashboard!
As an EMBC Admin ERA User you'll be able to register new evacuees, complete an existing evacuee self-registration, or if needed, search and edit evacuee information. You will also be able to add and manage task numbers in the system, as well as organizations and ERA Users.
As a Superuser you'll be able to register new evacuees, complete an existing evacuee self-registration, or if needed, search and edit evacuee information. You will also be able to manage ERA Users within your ESS team, including adding new users and managing permissions.
| Last Name | First Name | Task # | ESS File # | Evacuated From | Evacuated To | Action | |
|---|---|---|---|---|---|---|---|
|
|
{{rowItem.lastName}} | {{rowItem.firstName}} | {{rowItem.incidentTaskNumber}} | {{rowItem.registrationId}} | {{rowItem.evacuatedTo}} | {{rowItem.evacuatedFrom}} | Finalize View |
{{notFoundMessage}}


@remarks Count is set to zero, and references to other objects from elements of the collection are also released. The capacity remains unchanged. @examples The following example shows how to clear the values of the Hashtable.
Public Sub Main() ' Creates and initializes a new Hashtable. Dim myHT As New Hashtable myHT.Add "one", "The" myHT.Add "two", "quick" myHT.Add "three", "brown" myHT.Add "four", "fox" myHT.Add "five", "jumped" ' Displays the count and values of the Hashtable. Debug.Print "Initially," Debug.Print CorString.Format(" Count : {0}", myHT.Count) Debug.Print " Values:" PrintKeysAndValues myHT ' Clears the Hashtable. myHT.Clear ' Displays the count and values of the Hashtable. Debug.Print "After Clear," Debug.Print CorString.Format(" Count : {0}", myHT.Count) Debug.Print " Values:" PrintKeysAndValues myHT End Sub Public Sub PrintKeysAndValues(ByVal myHT As Hashtable) Dim de As DictionaryEntry Debug.Print t("\t-KEY-\t-VALUE-") For Each de In myHT Debug.Print CorString.Format(t("\t{0}:\t{1}"), de.Key, de.Value) Next Debug.Print End Sub ' This example code produces the following output. ' ' Initially, ' Count : 5 ' Values: ' -KEY- -VALUE- ' one: The ' two: quick ' four: fox ' five: jumped ' three: brown ' ' After Clear, ' Count : 0 ' Values: ' -KEY- -VALUE-


|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Interface Summary | |
|---|---|
| GeomUtilListener | Debug listener for notifications assocaited with geometry utilities |
| TexCoordGenerator | A class capable of generating texture coordiantes based on rendering positions of verticies. |
| Triangulator | A collection of triangles |
| Class Summary | |
|---|---|
| BasicTriangulator | Triangulates a polygon into triangles - duh. |
| Circle | A simple Circle geometry |
| Curve | A beizer curve implementation. |
| Ellipse | An ellipse meeting the Shape contract. |
| GeomUtil | A set of utilities to play with geometry |
| Line | Implemenation of a bunch of maths functions to do with lines. |
| MannTriangulator | A 2D Triangulator. |
| MorphShape | A shape that morphs between a set of other shapes |
| NeatTriangulator | A second triangulator that seems slightly more robust |
| OverTriangulator | A triangulator implementation that splits the triangules of another, subdividing to give a higher tesselation - and hence smoother transitions. |
| Path | A shape built from lines and curves. |
| Point | A single point shape |
| Polygon | A polygon implementation meeting the Shape contract. |
| Rectangle | An axis oriented used for shape bounds |
| RoundedRectangle | Class to create rounded rectangles with. |
| Shape | The description of any 2D shape that can be transformed. |
| ShapeRenderer | |
| Transform | A 2 dimensional transformation that can be applied to Shape implemenations. |
| Vector2f | A two dimensional vector |
Simple geometric wrappers that can be used for rendering and collision.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


Psalms 77:6
I call to remembrance my song in the night: I commune with mine own heart: and my spirit made diligent search.


NgxReadTime demo
Read Time = {{readTime}}
Understanding Discriminated Unions in Typescript
(Source)
As you may already know, Typescript is a superset of Javascript; and is simply awesome. There are numerous features we love and hear about Typescript every day. For example, we could have a look at interfaces, enums, unions, intersections, type guards and much more.
I this article, we're going to focus on Discriminated Unions. We'll look into what they are and by the end of the article, you'll have a good understanding of where you can use these.
Discriminated Unions
Discriminated Unions, also called algebraic data types or tagged unions are a combination of three things:
- The discriminant
- The union
- Type guards
Let's understand each of the above, one by one with examples.
The Discriminant
The discriminant is a singleton type property which is common in each of the elements of the union. You can read more about Typescript Singleton Types in this article.
See the example below:
You can see that the vType property in the interfaces is the discriminant or the tag. The other properties are specific to the corresponding interfaces.
The Union
The union of the interfaces can be simply created as follows:
We can now use this union (type) in our code where we can have more than one kind of vehicles expected in a variable.
The Type Guards
Consider the following example based on the interfaces we defined above:
The above code will cause the typescript compiler to throw the following error:
Property 'capacity' does not exist on type 'Vehicle'.
Property 'capacity' does not exist on type 'IMotorcycle'.
The reason is that the property capacity does not exist on the interface IMotorCycle. Well, actually it doesn't exist in ICar too but it already breaks checking IMotorCycle, which is declared before ICar, so it doesn't reach checking ICar.
Well, how do we fix this? Using type guards of course. See an example below:
Using the switch & case operators fix the problem for us by serving as type guards, making sure we're accessing the right properties of the vehicle that we've got in the evaluatePrice method.
If you're using an editor like VSCode, you'll notice that before using these type guards, the IntelliSense may only have shown you vType as a property when you typed vehicle.. But if you type vehicle. inside any of the case statements now, you'll see that now, the appropriate properties by the IntelliSense are shown from the appropriate interfaces.
Checking Exhaustiveness
What if we wanted to introduce a new type/interface to the union Vehicle? You might think that the evaluatePrice function doesn't have the case handled for that. And that's accurate. But we need the compiler to let us know at build time (or using tslint etc) that we need to cover all variants of the type Vehicle. This is called Exhaustiveness Checking. One of the ways to ensure we're covering all variants of a union is to use never, which the typescript compiler uses for exhaustiveness.
Assume we added a new type IBicycle to the Vehicle union as below:
We'll be able to use never for the exhaustiveness check as follows:
The above should show an error in the editor (using lint tools) or on compile time as below:
Type 'IBicycle' is not assignable to type 'never'.
The above shows we need to handle IBicycle as well. Once we add the case for IBicycle in the evaluatePrice method as below, the error should go away.
You can find a working example here on Stackblitz.
Conclusion
Discriminated unions are pretty powerful combined with Typescript's ability to differentiate the types based on the discriminants/tags. When used right, this can bring significant readability to the code and is great when it comes to writing reliable dynamic types with functions.
Further Reading
Exhaustive Type Checking with TypeScript!
Advanced Types - Typescript
CodingBlast Typescript series
If you learned something new from this article, don't forget to show this to your friends and workmates. Happy coding!


There is a moment in the fireside chat when Shereef answers a question about staying beyond the 6 o'clock end time that I think really encapsulated the DBC experience. Nobody will stop me from leaving at 6 but this is my DBC experience. There will be no other time in my life that I will be surrounded with such resources and people who share the same motivation towards the same goal. This concept made me anxious and even more encouraged about what DBC has to offer.
DBC feels far more open and flexible than any learning environment I have experienced previously. By flexible, I mean the rate of return can vary greatly based on not only my input but that of my cohort. Because of this, I understand the importance of being an active and engaging member myself and encouraging, through feedback and other means, the same from my cohort.
From the time I first heard of DBC until now, my expectations have undergone a dramatic overhaul. I can say my initial impressions definitely coincided with the restaurant mindset (bootcamp -> job) but as I learned more and more about DBC, my expectations have grown tremondously. The focus on empathy, feedback and mindfulness makes me believe I will have already been rewarded significantly for my hard work before a job offer even comes about.


PRESS 'C' TO INSERT A COIN
BACKSPACE: 2PLAYER BUTTON
ENTER: 1PLAYER BUTTON
ARROWS MOVE THE SHIP
Z: FIRE BUTTOn


Gateway
BOT
14-Jun-18 12:18 PM
[slack] <emmanux> is it a bit more stable now?
[slack] <emmanux> in comparison to 2014?
[slack] <emmanux> maybe because other actors are jumping in?
[slack] <1stormingj> Depends if you think Tether is willybot 2.0, but personally I don't think the 2014 repeat narrative is appropriate
[slack] <1stormingj> So much has changed since then
[slack] <jeezy> 4.8-5.2 sounds realistic
[slack] <1stormingj> Millions of new market entrants, huge tech maturity
[slack] <jeezy> CT "pros" seem more or less confident
[slack] <1stormingj> 5k has the classic 'too many people expect it' problem
[slack] <1stormingj> I would expect it to break or not touch, a bounce exactly in that range seems unlikely
[slack] <jeezy> you think we bounce from 5.8?
[matrix] <siu:matrix.org> People change, market cycles dont
[slack] <emmanux> I guess we can only hodl, wait and see.
[slack] <emmanux> As these predictions become more and more accurate every cycle, people will begin being better prepared for the next one, reducing its effect.
(edited)
[slack] <jorian> 5k is what a lot expect, so expect 4k
[slack] <jorian> there will be chaos if everyone expects 5k and it still goes lower
[slack] <emmanux> Tell me more.
[slack] <emmanux> What kind of chaos?
[slack] <jorian> figuratively. like you said everyone thinks 5k so it will be 5k. but what if it goes lower? all those people expected 5k, so BTC permaded?
[slack] <CrypToon> If a lot of people expect 5k wont they start buying before?
[slack] <CrypToon> So we wont see 4k?
[slack] <jorian> i don't know, i'm just blurting out shit
[slack] <jorian> we're gonna have to wait and see
[slack] <jorian> but there certainly are similarities with 2014
[slack] <jorian> 'in het verleden behaalde resultaten bieden geen garantie voor de toekomst'
[slack] <Blocktech> It never stop where people expect it. i think it will stop at 7k
[slack] <CrypToon> I think we are going to pump to 30k
[matrix] <siu:matrix.org> The target everyone expect is normally missrd
[slack] <CrypToon> Read it here first folks
[matrix] <siu:matrix.org> Missed*
[matrix] <siu:matrix.org> If it goes below then a lot of pigs will be slayed and it will be the perfect capitulation place
[slack] <jorian> new btc and alts ath by summer - quote me later lol
[slack] <emmanux> Oh, thanks God, i thought that this was the end.
[slack] <emmanux> Moon soon, then, thanks God.
[slack] <emmanux> aleluya, mate
$BTCUSD Probing the Feb. lows, a 'logical place', Squeeze on the weeklies, time to pay attention. #bitcoin
[slack] <CryptoNinjaa> Summers late this year
[matrix] <siu:matrix.org> August-december could be nice
[slack] <jorian> as a sideways period?
[slack] <jorian> crypto spring 2019
[slack] <jorian> mark my words


Garry's Mod Wiki
Welcome!
Welcome to the Garry's Mod Wiki.
Here you will find tutorials, resources and documentation about Garry's Mod and its Lua API.
The wiki is a public resource and maintained by Facepunch and the community. Want to make your own changes to the wiki? Check out the Contributing section below.
Next Update
Current game discussion as well as update progress can be found on Discord.
You can test changes for the next update on the Dev beta branch through Steam.
The Garry's Mod Lua Source Code is available on GitHub.
Issues and Requests
To report bugs please visit the Garry's Mod Issue tracker.
To request features please visit the Garry's Mod Request tracker.
Contributing
Please coordinate your changes with all editors in the Official Garry's Mod Discord Server (
#wiki
channel)Please check these links before contributing to the wiki:
Learning
Read this if you want to start with Lua:
Pure Lua Resources
- Official Reference Manual (5.1) - This is the version Garry's Mod utilizes.
- Programming in Lua Book
- Lua-Users.org Lua Tutorial
- Programming Gems - Book Sample
- LuaTut.com
- Learn X in Y minutes - Lua
Garry's Mod Lua (GLua) Resources
- Lua Editors - A list of IDEs, text editors and plugins to assist with GLua development
- GLua Docs - Alternative website for this wiki, could be outdated
- Updating Scripts From GMod 12 to GMod 13
- YouTube Tutorials
Source Engine Resources
- Valve Developer Wiki - Official website for all things Source Engine
- Source SDK 2013 - Source SDK 2013 mod base source code
- Source Engine Discord


We monetize networks!
- incubate value-added models
- utilize clicks-and-mortar bandwidth
- revolutionize B2C technologies
- incubate compelling networks
- integrate best-of-breed relationships
- integrate user-centric e-services
- transition visionary experiences
- deliver bleeding-edge portals
- exploit leading-edge initiatives
- maximize strategic partnerships
- generate transparent paradigms


This memorandum is intended as a supplement to the Swisdak ACF Question-Writing Guide. All teams planning on submitting a packet for ACF-format nationals should be familiar with both documents, and should carefully observe all the rules they contain. However, in the event of a conflict between this document and the Swisdak guidelines, the supplement will control.
Few of the rules in here are absolute. Consistency between packets is absolutely necessary for any format, but preserving the individual style of different team-written packets is also important. With the exception of the category distributions (which are fairly loose to begin with) and the deadlines (which are not), minor deviations from these rules will be tolerated so long as they comply with the underlying spirit of the format.
This is a very preliminary document. Any suggestions or criticisms are very welcome.
Earliest deadline ($30 discount)- December 20, 1997 Early deadline ($10 discount) - January 31, 1998 Regular deadline (no discount) - February 15, 1998 Latest deadline (maximum $40 penalty) - March 17, 1998No packets will be accepted after March 17, 1998. Although a team may still participate in ACF-format Nationals if this deadline is missed, it will be assessed a $70 penalty for failing to submit a packet.
If an answer contains non-essential words, the essential parts should be indicated like _this_. Examples: The Treaty of _Utrecht_, _T_heodore _Roosevelt_, _George III_, Alexandre _Dumas, fils_. Try not to over-underline. For example, if you ask for the eighteenth president of the United States, only the word _Grant_ should be underlined, since even though there are many famous people named Grant, only one was a U.S. president. Underlines are optional if the answer contains only one word. However, if the question contains multiple words and all are essential, underlining should be used, eg. _Categorical Imperative_.
For the convenience of the writer, a sample packet will be sent along with this memo. You should use this as a model for technical formatting, as well as for general levels of difficulty and style. If you are unsure of how to format a particular type of question, and do not see an example of it in the model packet, send an e-mail with your question to John Sheahan.
When submitting your packet, please include at the top the names (not pseudonyms) of all players who contributed to it.
1. No packet should contain more than one question from the same narrow subcategory of knowledge, unless both are parts of a single bonus. Narrowness should be understood with reference to the frequency with which such subcategories appear in academic competition: for example, Japanese literature is a narrow subcategory, but American literature is not. However, American transcendentalist literature would be a narrow subcategory, as would detective fiction. Along the same lines, it is fine to have multiple questions on Physics, but there should not be multiple questions on particle physics, electricity & magnetism, etc.
Note also that two questions can fit into different category distributions, and still be considered members of the same narrow subcategory. For example, a question on Greek mythology should not be included in the same packet with a question on the plot of Homer's _Iliad_.
2. Every packet should contain as diverse a range of subject matter as possible. No packet should fill its entire history requirement with military-political history, American history, or 20th-century history. Science questions should be balanced between the history of science and scientific concepts, as well as between theoretical and applied branches of science. The detailed distribution shows one possible means of meeting this diversity requirement.
3. Questions should be scattered evenly by category through the packet; all of the literature questions, for example, should not be in the beginning or the end. This is especially important for the bonus section, as not all 20 bonuses will necessarily be reached.
| Category | First 20 questions | Last 10 questions |
|---|---|---|
* At least one of the ten reserve questions should be either art/film or music.
** Should be from different categories. In addition, if there were five questions written on Literature, History, or Science already, neither of these miscellaneous questions should be used on another question from that category.
There will be gray areas in all of these categories; problems that arise from this are left to the writer's best judgment. In addition, many questions (particularly bonuses) will straddle more than one category. In these cases, the writer should assign the question to a category based on its dominant element.
No more than 2 history questions should be about military history; no more than 3 should be about political leaders.
No more than 3 of these should be about writers; no more than 4 should be about novels or novelists. Questions about King Arthur, Trojan war characters, etc. should be treated as literature if they relate to a specific text, but as myth if they do not.
Social science includes (but is not limited to) psychology, economics, anthropology, linguistics, sociology, and political science. In a combined packet (tossups and bonuses), each social science question should relate to a different discipline.
No more than 3 of these should be on the history of science or biographies of scientists.
A combined packet should not contain more than one question each on architecture and film. By contrast, it is permissible to fill this quota entirely with questions on visual art.
No packet should contain more than one "name the composer" tossup.
These should not be too historical.
This may include purely interdisciplinary questions, extra questions from the above categories, or questions that do not fit into any of the above categories.
Also, please remember that this exception is for current _history_, not current pop culture.
Some examples might help here:
1. ... Name this battle of July 1863, the bloodiest battle
of the Civil War.
Answer: _Gettysburg_
This is an knowable question for a novice team, as the giveaway clue is common knowledge to most educated Americans.
2. Name this novel about a three-year-old who refuses to
grow up, the most famous work of Gunther Grass.
Answer: The _Tin Drum_
This is probably neither knowable nor guessable for a novice team, as few new players will have heard of Gunther Grass. However, it is probably knowable by a median team.
3. ... Name this Eugene O'Neill tragedy, whose main
characters are Harry Hope and Theodore Hickman.
Answer: The _Iceman Cometh_
This is probably knowable by neither the novice nor the median team, since the contents of Eugene O'Neill plays are a bit less familiar to most of us than their titles. However, it is guessable by both, since almost everybody has at least heard of this work (even if they have no idea what it is actually about).
At least 80% of tossup giveaways should be knowable by the median team, and at least an additional 10% should be guessable.
It should be emphasized that, in the case of tossups, these are minima, not maxima. Hard tossups should never be written for the sake of writing hard tossups alone.
Substantive knowledge is preferable to fluff knowledge or trivia. Questions should try to favor players who actually understand a topic over those who have merely memorized a list of facts. For example, knowing the substance of Bertrand Russell's ideas is far more important than knowing the year in which he won the Nobel Prize, and a question on Bertrand Russell should reflect this.
ACF-format questions should be oriented towards the well- informed layperson, not the specialist. For example, questions about law should cover that material which a well-educated non- lawyer should know, and which she has a reasonable opportunity to learn without going to law school. Science questions may assume familiarity with introductory-level college course material, but more advanced topics should be included only to the extent that a layperson could learn about them through a magazine like "Scientific American." Questions that ask for technical jargon not easily learnable by a layperson should be avoided, regardless of the category.
Note that this is not a general limitation on difficulty-- only on certain types of difficulty. For example, a bonus part about an obscure composer like Henryk Gorecki is acceptable, since some classical music fans may know about him simply by virtue of being classical music fans. By contrast, a more technical question about counterpoint theory is less acceptable, even though it might be far easier than the Gorecki question to a person who is studying composition.
Questions should be entertaining. Considering the audience that you will be writing for, the easiest way to do this is to make them informative-- try to write your questions in such a way that they stick in people's minds, and make your facts memorable enough that even if your audience can't get a particular question right, they will learn and remember something new. Boring questions are often boring simply because the author doesn't try to tell a good story with his material.
Questions should not ask for "essay answers." This is simply too great a burden on the moderator.
For purposes of this section, tossups are divided into three parts: lead-in, development, and giveaway. The lead-in is the introductory information for the question; although it does not necessarily have to be a single sentence, it should not extend past the middle of the question's third line. The giveaway is the last piece of substantive information in the question, it should begin no earlier than the middle of the second-to-last line. The development is everything in between.
All lead-ins should contain information that is unique, substantive, and reasonably identifiable by a player with exceptional knowledge of the question's subject. The lead-in should also be difficult enough that it will not be answered by a player with only average knowledge of the subject.
Lead-ins should not contain "list" information. Examples of list-information include Nobel Prize years, atomic numbers, or birth years.
Where possible, lead-ins should contain a pronoun that signals the type of information that the answer is seeking. If considerations of style make a pronoun-flag impossible, the question should allow for reasonable alternate answers to be accepted if answered early.
Lead-ins should avoid dry recitations of biographical facts, especially where they give no reasonably identifiable information about the answer. In particular, lead-ins that begin, "Born in X, he was the son of a Y, and was educated at Z" should not be used.
Lead-ins should not encourage random guessing, and should not suggest one obvious answer to those with less-than-exceptional knowledge. For example, "This Norwegian playwright" is a terrible lead-in, since many players will (wisely) ring in at this point with "Ibsen," since he may be the only Norwegian playwright that they know.
Lead-ins should not be written with the intention of provoking incorrect buzzes. "His operas include _La Boheme_" is a bad lead-in if the answer is Leoncavallo (who wrote the lesser- known version); for other reasons, it is a bad-lead in even if the answer is Puccini.
To the greatest extent possible, the information contained in the transition should be a logical continuation of the story told in the lead-in. Transitions should not read like an abrupt non- sequitur.
Transitions should contain at least two distinct nuggets of information, from which a player might reasonably be expected to answer the question.
Transitions should be strictly pyramidal: transitional facts should be easier than the lead-in fact(s), and more difficult than the giveaway fact. Within the transition, facts should be arranged in strict descending order of difficulty.
Giveaway clues should be preceded by the words, "for ten points, ..." (or FTP, to use packet-writing shorthand).
Giveaway clues should be designed to make the question answerable to as many players as possible. "FTP, name this author of _Anna Karenina_" is a better giveaway clue than "FTP, name this author of _Resurrection_."
All bonuses should have a maximum of thirty points available.
All bonuses should award points in multiples of five.
There should be a general consistency in the difficulty of bonuses within the same packet.
Single-part, all-or-nothing bonuses should not be written.
Although bonuses would ideally test related pieces of information, the parts should not be so closely related that a multiple-part bonus effectively works out to an all-or-nothing. (That is, that knowledge of one part is so strongly correlated with knowledge of the other parts that any team playing it is likely to get full points, or no points).
No bonus should take longer than 45 seconds to complete. (Remember, under ACF rules, teams are entitled to 5 seconds per bonus part to prepare an answer).
Bonus introductions should be as short and to-the-point as possible.
All bonus questions should clearly indicate the point values assigned to each part.
Trash questions. As a general rule of thumb, any question that is appropriate for a trash tournament is inappropriate for an ACF tournament, just as any appropriate ACF question will usually be inappropriate for a trash tournament. (BTW, this is not a slam against trash players or trash questions-- only that we think that there is some virtue in treating trash as an entirely separate format). There is one extremely narrow exception to this rule: serious jazz and serious film questions might have a place in both formats, although this exception should not be extended to Kenny G or the filmography of Pauly Shore.
Straight-out-of-Benet's questions. Although Benet's is probably the outstanding question-writing source in print today, its wide popularity has caused some problems. In particular, questions should be written so that a person who actually has outside knowledge of writer X will have an advantage over the player who has merely memorized the Benet's entry for Writer X. As a result, every literature question should try to contain some information that cannot be found in Benet's. (Of course, subject to this rule, there is nothing wrong with continuing to use Benet's as a writing resource).
This same rule also applies to An Incomplete Education.
Spelling questions.
Questions that are entirely based on memorization of the Nobel Prizes, or of the Periodic Table.
Name-the-element questions of the form: "Discovered in 1878 by von Tronka and Kohlhaas, its alloys include Revulurium, Boorsteinium, and Edwardsium. Its atomic mass is 467.55, and its melting point is 683 degrees Celsius. FTP, name this element with atomic number 115, whose chemical symbol is Hp." There is nothing wrong with an interesting or substantive question whose answer happens to be a chemical element, however.
Question-writers are responsible for backing up the facts in their packets with reliable sources. We don't expect you to footnote your questions, but if we write back to you and ask for a source on a particular fact, you should be able to give us one.
Do not write questions from memory without double-checking your facts with a reliable source. Note that not all popular reference books are factually reliable. In particular, be careful of: The Book of Lists and all its sequels; anything else written by the authors of the Book of Lists, anything which markets itself as an imitation of the Book of Lists; An Incomplete Education (science sections particularly), and Ann Landers columns.


Temperature Conversion
Only numeric characters are allowed.
Please enter a celsius temperature to convert.
{{ displayedCelsius }}℃ is {{ returnedFahrenheit }}℉.
Only numeric characters are allowed.
Please enter a fahrenheit temperature to convert.
{{ displayedFahrenheit }}℉ is {{ returnedCelsius }}℃.


Our team of architects are highly trained to develop accurately each of the projects created at the firm, working actively with our customers, local architects and multidisciplinary teams in different countries, adapting the construction systems of each region to the needs of our clients and preserving the essence of the original concept. We use cutting edge technology to provide the best presentation of each of our projects so our clients know from the very beginning, how their final project will look like.
Ukrainian designer, architect and visionair Tim Shreyder creates striking architectural concepts. Shreyders’s concepts hit upon important design features: sharpness, elegance, simplicity, and sleekness. The juxtaposition between nature and the rigidity of a man-made structure accentuate the beauty of the construction. Aesthetically beautiful, Vlasov’s work is efficiently displayed from every angle.
Shreyder delves into new 'solely architecture' with elegant and sharp details in such deserted places, embracing the feeling of natural embracement. He creates a series of fascinating architectural visuals that unfold the building's simplistic but effective details in an unimaginable nature. Shreyder's design concepts are based on the juxtaposition of nature and man-made rigidity of the structure attributing to its sharpness, fluidity, sleekness, purity, elegance and concrete 'abstractness' in a longitudinal building.
In such an eloquent combination, 'Concept 37' residence does not let you guess the right angle of the structure in this unique place-the private residence is placed on the rocky mountains with two-sided fully transparent facades and fluid roof- that looks like a flying-bird hit the stone in the nature. When the users rotate around the structure, they get different angle for each time because of its unusual form and setting. In each creation of Vlasov, he presents a unique architectural identity, subliming the building's character and proportions as a new breathtaking place with their innovative and futuristic interiors-which goes beyond its aesthetic values and technological aspects. Each building becomes a new protagonist of these wild places.
The architect never uses addition material in the buildings he visualised. They are fully naked but original buildings searching for different spatial experiences for users.
Most of our designs include a private car parking and swimming pool unarmoured -but the dominant attribute here is to make a perfect fit to the context showing that how a user can integrate to this snake-like body moving on the skirts of the mountains.


--- layout: post title: First take on GPS Personal Tracker date: 2016-05-17 00:00:00.000000000 +08:00 permalink: first-take-on-gps-personal-tracker/ header-img: "img/IMG_1066.JPG" subtitle: "So I just had purchased this product called GPS Personal Tracker in Lazada.com.ph and here is my first take." ---
GPS personal tracker is great to have for variety of reasons, in my case, there are several use-cases I need it:
I ordered the product in Lazada website on May 8th. The estimated delivery date ( COD ) is around May 16-18. The item is fulfilled by this site called https://www.latestgadget.com.ph/ . The cost was about PHP 2,499 (around $54). It is not cheap, its not so expensive either.
One weird thing about Lazada's website is, their Order tracking page doesn't gives the tracking number of the courier. I have to check it in my email and the tracking code is there.
I saw in my email the tracking code around May 10. The courier is Air21. Sigh!, they are terrible one compared to LBC, they don't have a decent office in our town and their delivery agents usually is having hard time finding someone-else home, the last product they is shipped by Air 21 ended up shipped back to Manila, because they cannot find my home.
I have to actually go to the distribution center itself to pick up the package and pay it there. To make sure it wont be going anywhere this time.
The first impression you will have upon seeing the GPS tracker itself -- it is small. Which makes sense, since like for example if you want to do some covert operation and slip this tracker into someone else's bag, It is really easy since it is very light and not bulky.
Mine came with 2 set of batteries, as well as two back covers (not sure why, is those parts always getting misplaced by previous customers?) It also have this manual which contains all the commands needed in able to interact with this device.
 MicroSD and SIM card is a bit difficult to install, since MicroSD is tucked right below the SIM card. So in case you need to get the MicroSD, you'll need to open the case, remove the battery, remove the SIM card and finally get the MicroSD (brilliant setup).
For the SIM card, I'm using Smart (http://smart.com.ph/) since it is the spare one that I've got. Ideally, You might need to have both numbers share the same Telco provider to prevent expensive SMS rates. It worked pretty well in my case, I'm able to call the unit and receive locations to my phone.
One notable thing about the device is the curved handle-like thing over the top - it is actually the GSM/GPRS antenna. It comes with this little plastic cover that is both magnet and water proof. Probably for those cases that you need it to placed in wet areas.
The two buttons that you see in here is the "SOS" button and the on/off switch,though as soon as you slip in the battery, it will turn on automatically (green blinking LED), so I don't see the purpose of the on/off switch. Aside from that, everything else needs to be controlled via SMS commands. So it is very important that both your SIM card inside the device and the phone you are going to use to perform the initial setup has both credit.
The USB connector for the accessing the data inside the device is the same cable the charger uses. It is has its own mini-casing for the charger, but you can also charge the battery itself while it is inserted still in the device. This is convinient when for example you have to charge the other battery while using the other one.
Since all commands is based on SMS, you need to have your phone ready to perform the initial setup. You might use around 30-50 credits in able to perform the initial setup of the device.
Once you powered on the device, the green LED should blink a few times and then keep blinking in slower pace at later time (every 3 seconds).
First, initialize the device by sending it
{% highlight bash %} begin123456 {% endhighlight %}the 123456 here is the default password, and the begin keyword simply means to initialize the settings of the device., it should reply to you with "begin ok"
It is good idea to change the default password to something else, so lets do that
{% highlight bash %} password123456 XXXXXX {% endhighlight %}the XXXXXX should be your new password (all numbers). You should keep this secret as possible by deleting the text message in your phone.
The next thing to do is to set an authorized phone number. This is the admin number for the GPS, so make sure the first number you register is strictly being used by you. Some features might not work if you did not set the admin number, and it will also very insecure, since everyone who can call the SIM card of the GPS device will get the location of it (very bad if some stranger get a hold of your number).
To set the authorized phone number, dial the SIM card of the GPS device, let it ring for a few seconds, then end the call. Repeat this up to 10 times. Your number will be added to the device after the 10th call, which you can confirm when it responded with an "Add master ok" text message.
You are now set! whenever you want to locate the GPS device, just give it a call, it will hang up, then a few moments later, it will text you with a message containing it's location information. Along with the text message is a link to google maps so you can visually see in the map the exact location.
even though the text message sent by GPS tracker contains the URL to google maps, what if you have no Internet? This is easy, if you just installed Maps.ME or something similar offline maps, when you clicked the Google Maps link in Android, it will ask if you want to open this using that offline map. If you have no internet and you have the map downloaded in your end prior, you can just select the offline map app and you will se the location.
There is an online portal for this device called TrackerHome, it's url is on http://www.gpstrackerxy.com/. I'm not sure as well what is up with the less obvious and generic domain name/app name, but looking at the layout of the site, it seems like built by some developer from 90's.
With online portal, you can view the location of the GPS in a web browser in real-time. This though requires that the GPRS is enabled in your SIM card and it is able to connect to Internet.
Go and select the Server 3 on the homepage, in the next page, click the Register button. It should display some pop-up with registration box on it (again, another old-school style). Username and password fields is pretty obvious, but the IMEI is not. To get the IMEI of your device, send this message to your GPS tracker
{% highlight bash %} imeiXXXXXX {% endhighlight %}that is, the keyword imei followed by your six-digit password you have set earlier. It will respond to you with the IMEI code.
Once registered, go head into login page and login with your username/password. Go to System Settings > Terminal Management Click "Add" in the top to add you device. Make sure you fill up the IMEI and other field so it's easier to see it later.
Now, configure APN in your device. In my case, it is available on their website This is unique for every GSM provider so you might need to google your own. For my provider, it is "smart1", so I did sent this to my device
{% highlight bash %} APNXXXXXX smart1 {% endhighlight %}It should respond with APN ok.
Next is set the Server you had chosen in http://www.gpstrackerxy.com/ . If let's say you clicked Server 3, the IP should be <IP_ADDRESS> and port 9000. In able to set this to your GPS device, send the following:
{% highlight bash %}
adminipXXXXXX <IP_ADDRESS> 9000
{% endhighlight %}
It should respond with adminip ok After that, you need to enable GPRS, to do that, send
{% highlight bash %} GPRSXXXXXX {% endhighlight %}Note that when in GPRS mode, calling the phone number will not respond to you with SMS. GPRS mode and SMS mode is mutually exclusive. Generally, you only want to swtich to GPRS mode if you want to view the real-time location via portal. You normally wont like to leave this on for long since it's incurring charge for using Internet!. To go back to SMS mode, just send SMSXXXXXX
If all is working well, you should be able to see your device online in the portal and it should be able to display its current location in the map.
As mentioned earlier, instead of querying the device from time to time with its current location. Why not just have it logged its position every nth second and write those into MicroSD. Then later on, you view the route it had taken for whatever purpuse it may serve.
To do this, send the following code to your device:
{% highlight bash %} save005s***nXXXXXX {% endhighlight%}this will save the current coordinates to MicroSD every 5 seconds. You can customize this replacing 5 with any interval (in seconds) you would like. The 3 asterisks can be replaced with any number, which basically means how many times it should log (asterisks means it just keep logging with no limit)
When you want to have the device stop logging, just send
{% highlight bash %} nosaveXXXXXX {% endhighlight %}To view this route into a map, you need to get the USB cable and plug it into your cable device and into your computer. It will mount 2 volumes and the other volume should contain some text files with .txt extension, those are the log data. Usually, the filename is ddmmyy.txt format. Go into the portal and select Reports > Data Import and select the .txt file. It will now load that map data into a google maps, wherein you can see the routes the GPS had taken
There are many other features available on the device, read the manual provided and play with it as much as you can!


Wireless Cloud Services is a Seattle based technology consulting firm. We are adept in the art and science of Business transformation and innovative technology solutions. We take pride in offering our customers an insight to industry trends and cutting edge technology with future roadmaps. We believe in staying ahead of the curve and be disruptive not disrupted. We also strongly believe that great things happen when people team up, collaborate and focus therefore our business model is customer focused with an attitude of ‘In it to win it’. We love to partner with our clients and business partners in delivering the disruptive innovation we are so known for. More important than the initials that follow our names is the experience we bring to the table gained by years in the trenches of tech industry. We thrive on innovative ideas and translating them into intelligent business solutions.
We deliver innovative business strategies for a connected future
Our team of technology evangelists have over 20 years of diverse industry experience from startups to leading tech companies. Our think tank has provided services in four continents across the globe for Tier 1 communication service providers, vendors and partners. Our team works closely with our customers to deliver successful future strategies and help develop new business verticals. We are passionate about the Connected Planet Vision and Smart Networks. We are spear heading the disruptive technology convergence for Virtualization, IoT and 5G.
Be disruptive, not disrupted
We improvise and embrace the change
The attitude we breath with
Is our business norm
Is what we deliver
Is what we believe in


The forest is a great place where you can enjoy beautiful sceneries and watch squirrels frolick across the forest floor. It is an amazing place to go hiking, just watch out for bears.
Why should you go to the forest? The forest has great views and you can jump over logs and pretend you are in Twilight.
Please consider visiting the forest.


Single-integrator Barrier Certificate Algorithm
by Paul Glotfelter 3/24/2016
Contents
Set up Robotarium object
Before starting the algorithm, we need to initialize the Robotarium object so that we can communicate with the agents
% Get Robotarium object used to communicate with the robots/simulator r = Robotarium(); % Get the number of available agents from the Robotarium. We don't need a % specific value for this algorithm N = r.getAvailableAgents(); % This is a totally arbitrary number iterations = 20000; % Initialize the Robotarium object with the desired number of agents r.initialize(N);
Experiment constants
Next, we set up some experiment constants
% Initialize velocity vector for agents. Each agent expects a 2 x 1 % velocity vector containing the linear and angular velocity, respectively. dx = zeros(2, N); % This code ensures that the agents are initially distributed around an % ellipse. xybound = [-0.5, 0.5, -0.3, 0.3]; p_theta = (1:2:2*N)/(2*N)*2*pi; p_circ = [xybound(2)*cos(p_theta) xybound(2)*cos(p_theta+pi); xybound(4)*sin(p_theta) xybound(4)*sin(p_theta+pi)]; x_goal = p_circ(:,1:N); flag = 0; %flag of task completion
Retrieve tools for single-integrator -> unicycle mapping
% Let's retrieve some of the tools we'll need. We would like a % single-integrator position controller, a single-integrator barrier % function, and a mapping from single-integrator to unicycle dynamics position_int = create_si_position_controller('XVelocityGain', 1, 'YVelocityGain', 1); si_barrier_certificate = create_si_barrier_certificate('SafetyRadius', 0.1); si_to_uni_dyn = create_si_to_uni_mapping2('LinearVelocityGain', 0.75, 'AngularVelocityLimit', pi);
Begin the experiment
This section contains the actual implementation of the barrier certificate experiment.
%Iterate for the previously specified number of iterations for t = 1:iterations
% Retrieve the most recent poses from the Robotarium. The time delay is % approximately 0.033 seconds x = r.getPoses(); x_temp = x(1:2,:);
Algorithm
% Let's make sure we're close enough the the goals if norm(x_goal-x_temp,1)<0.08 flag = 1-flag; end % This code makes the robots switch positions on the ellipse if flag == 0 x_goal = p_circ(:,1:N); else x_goal = p_circ(:,N+1:2*N); end % Use a single-integrator position controller to drive the agents to % the circular formation dx = position_int(x(1:2, :), x_goal);
Normalization of controls. This code ensures that
dxmax = 0.1; for i = 1:N if norm(dx(:,i)) > dxmax dx(:,i) = dx(:,i)/norm(dx(:,i))*dxmax; end end
Apply barrier certs. and map to unicycle dynamics
%Ensure the robots don't collide dx = si_barrier_certificate(dx, x); % Transform the single-integrator dynamics to unicycle dynamics using a % diffeomorphism, which can be found in the utilities dx = si_to_uni_dyn(dx, x);
Set the velocities of the agents
% Set velocities of agents 1,...,N r.setVelocities(1:N, dx); % Send the previously set velocities to the agents. This function must be called! r.step();
end


Diarist
{{ username }}
Add Journal Entry
Logout
Your Journal
No journal entries found!
Write your first entry now!
{{ entry.created_at }}
Your Thoughts for the Day:
{{ entry.body1 }}
Your Wins for the Day:
{{ entry.body2 }}
Your Goals for Tomorrow:
{{ entry.body3 }}


Hello! This is my github domain!
I only made this so that I could use Google Analytics on my pages!
If you don't want Google Analytics to track you please click this button:
Since your here though, you should really check out this fun game Knotris!


Find all the doctors for any issue in Seattle
Search by name, illness, or both!
Enter a name first or last:
Illness:
Find Doctors


--- title: "Atalanti Mouzouri" link: "http://atalantimouzouri.gr/" year: 2013 category: web ---
Website of Atalanti Mouzouri Bodyworks Studio.
Designed by Roleplay.
Build with: WordPress, HTML5, CCS3, JavaScript.


{% extends "watsan/dashboard/base.html" %} {% load thumbnail %} {% block title %}Connect to Nairobi Water{% endblock %} {% block content %}
Joseph Kangethe Social Hall in Woodley/Adams Arcade


This area provides tools for testing conformance of artifacts to industry standards and specific criteria. There are both context-free validators for general testing and validators for the criteria of the 2015 Edition.


Bite Size Bayes¶
Copyright 2020 Allen B. Downey
License: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
The Elvis problem¶
Here’s a problem from Bayesian Data Analysis:
Elvis Presley had a twin brother (who died at birth). What is the probability that Elvis was an identical twin?
I will answer this question in three steps:
First, we need some background information about the relative frequencies of identical and fraternal twins.
Then we will use Bayes’s Theorem to take into account one piece of data, which is that Elvis’s twin was male.
Finally, living up to the name of this blog, I will overthink the problem by taking into account a second piece of data, which is that Elvis’s twin died at birth.
For background information, I’ll use data from 1935, the year Elvis was born, from the U.S. Census Bureau, Birth, Stillbirth, and Infant Mortality Statistics for the Continental United States, the Territory of Hawaii, the Virgin Islands 1935.
It includes this table:
The table doesn’t report which twins are identical or fraternal, but we can use the data to compute
\(x\): The fraction of twins that are opposite sex.
opposite = 8397
same = 8678 + 8122
x = opposite / (opposite + same)
x
0.3332539588046196
The quantity we want is
\(f\): The fraction of twins who are fraternal.
So let’s see how we can get from \(x\) to \(f\).
Because identical twins have the same genes, they are almost always the same sex. Fraternal twins do not have the same genes; like other siblings, they are about equally likely to be the same or opposite sex.
So we can write this relationship between \(x\) and \(f\)
\(x = f/2 + 0\)
which says that the opposite sex twins include half of the fraternal twins and none of the identical twins.
And that implies
\(f = 2x\)
f = 2*x
f
0.6665079176092392
In 1935, about 2/3 of twins were fraternal, and 1/3 were identical.
Getting back to the Elvis problem, we can use \(1-f\) and \(f\) as prior probabilities for the two hypotheses, identical
and fraternal
:
index = ['identical', 'fraternal']
prior = 1-f, f
Now we can take into account the data:
\(D\): Elvis’s twin was male.
The probability of \(D\) is nearly 100% if they were identical twins and about 50% if they were fraternal.
likelihood = 1, 0.5
Here’s a function that takes the hypotheses, the priors, and the likelihoods and puts them in a Bayes table:
import pandas as pd
def make_bayes_table(index, prior, likelihood):
"""Make a Bayes table.
index: sequence of hypotheses
prior: prior probabilities
likelihood: sequence of likelihoods
returns: DataFrame
"""
table = pd.DataFrame(index=index)
table['prior'] = prior
table['likelihood'] = likelihood
table['unnorm'] = table['prior'] * table['likelihood']
prob_data = table['unnorm'].sum()
table['posterior'] = table['unnorm'] / prob_data
return table
And here are the results
table = make_bayes_table(index, prior, likelihood)
table
| prior | likelihood | unnorm | posterior | |
|---|---|---|---|---|
| identical | 0.333492 | 1.0 | 0.333492 | 0.500179 |
| fraternal | 0.666508 | 0.5 | 0.333254 | 0.499821 |
From the Bayes table I’ll extract \(p_i\), which is the probability that same sex twins are identical:
p_i = table['posterior']['identical']
p_i
0.5001785714285714
With priors based on data from 1935, the posterior probability that Elvis was a twin is close to 50%.
But there is one more piece of data to take into account; the fact that Elvis’s twin died at birth.
Let’s assume that there are different risks for fraternal and identical twins. The quantities we want are
\(r_f\): The probability that one twin is stillborn, given that they are fraternal.
\(r_i\): The probability that one twin is stillborn, given that they are identical.
We can’t get those quantities directly from the table, but we can compute:
\(y\): the probability of “1 living”, given that the twins are opposite sex
\(z\): the probability of “1 living”, given that the twins are the same sex
y = (258 + 299) / opposite
y
0.06633321424318209
z = (655 + 564) / same
z
0.07255952380952381
Assuming that all opposite sex twins are fraternal, we can infer that the risk for fraternal twins is \(y\), the risk for opposite sex twins:
\(r_f = y\)
r_f = y
r_f
0.06633321424318209
And because we know the fraction of same sex twins who are identical, \(p_i\), we can write the following relation
\(z = p_i r_i + (1-p_i) r_f\)
which says that the risk for same sex twins is the weighted sum of the risks for identical and fraternal twins, with the weight \(p_i\).
Solving for \(r_i\), we get
\(r_i = 2z - r_f\)
And we have already computed \(z\) and \(r_f\)
r_i = 2*z - r_f
r_i
0.07878583337586553
In this dataset, it looks like the probability of “1 alive” is a little higher for identical twins.
So we can do a second update to take into account the data that Elvis’s twin died at birth. The posterior probabilities from the first update become the priors for the second.
prior2 = table['posterior']
Here are the likelihoods:
likelihood2 = r_i, r_f
And here are the results.
table2 = make_bayes_table(index, prior2, likelihood2)
table2
| prior | likelihood | unnorm | posterior | |
|---|---|---|---|---|
| identical | 0.500179 | 0.078786 | 0.039407 | 0.543082 |
| fraternal | 0.499821 | 0.066333 | 0.033155 | 0.456918 |
With the new data, the posterior probability that Elvis was an identical twin is about 54%.
Credit: Thanks to Jonah Spicher, who took my Bayesian Stats class at Olin and came up with the idea to use data from 1935 and take into account the fact that Elvis’s twin died at birth.


Constructor new CompositionTransaction(): CompositionTransaction Creates an instance of CompositionTransaction. Methods enlist tryCapture


!= Include.js(['ui/js/GA']); ?> != Include.html(['ui/css/import_material']); ?>
Instructions
To access data from Twitter it is required that you sign in with a Twitter account. This is done on via the Twitter website and your connection can be revoked at any time.
To connect your account use the button below (an Advanced setup is available if with to use your own Twitter application credentials):
Instructions
To collect data from Twitter using your own registered application follow the steps below. Registering your application and connecting should be a one time only task.
Steps:
https://script.google.com/macros/
Twitter's Premium search API is still in beta. The first premium offering is the Search Tweets API, which includes a 30-day endpoint and a full-archive endpoint. Find out more about applying for Twitter Premium access.
For Premium API access as well as provding a Consumer Key and Secret you need to provide a label and product below:


Herman Configuration Options
Nest all Herman-specific options
under herman
object in SassDoc config.
# .sassdocrc
theme: herman
herman:
extraDocs:
- './my-file.md'
// Node API
const sassdoc = require('sassdoc');
sassdoc('./scss', {
theme: 'herman',
herman: {
extraDocs: ['./my-file.md'],
},
});
All relative paths are relative to the SassDoc config file or the cwd
.
SassDoc: groups
- Type:
Object
- Default:
{ undefined: 'General' }
Groups are a SassDoc configuration option, not nested inside the Herman block – though we provide some extra functionality on top of the SassDoc configuration. In addition to naming groups, we allow you to order them and create one level of sub-grouping:
# .sassdocrc
groups:
# all items will be listed in the order given...
api-config: Configuration
api-json: Exporting Styles to JSON
# nested objects will create named subgroups...
Public API:
api-colors: Color Palettes
api-fonts: Font Specimens
api-scale: Ratios & Sizes
Design Tokens:
config-colors: _Colors
config-fonts: _Fonts
extraDocs
- Type:
Array
- Default:
[]
Add files (parsed as Markdown) to your compiled documentation.
Each value in the list should be an Object
with keys path
(relative path to the local file)
and optionally name
(displayed in the compiled documentation navigation –
defaults to the filename),
or a String
path
(in which case the filename will be displayed in the navigation).
This is useful for including additional documents, such as a changelog, quickstart guide, or instructions for contributing.
extraLinks
- Type:
Array
- Default:
[]
Add external links to your compiled documentation navigation.
Each value in the list should be an Object
with keys name
and url
.
This is useful for linking to additional documentation for dependencies or other third-party integrations.
displayColors
- Type:
Array
- Default:
['hex', 'rgb', 'hsl']
Configures which color value formats are shown
when using the @colors
annotation.
Valid options: hex
, rgb/rgba
, hsl/hsla
customCSS
- Type:
String
- Default:
''
Relative path to a custom CSS file,
which will be included in the <head>
of rendered
@font
, @ratios
,
@sizes
, or @example
annotations.
The Herman font, size, and ratio previews
are built on semantic HTML (tables & paragraphs),
so it’s possible for project CSS
to impact the design of those previews.
Notes:
- If your custom CSS includes webfonts
which require additional
<script>
or<style>
tags (e.g. an external Google Fonts stylesheet or Adobe Typekit JavaScript), you must document those fonts with the@font
annotation (providing the required extra HTML) for them to display properly within rendered annotations. See our@font
documentation. - If your custom CSS contains internal links
referenced with
url(...)
(e.g. local fonts or background images), Herman will attempt to copy in those assets so that they are available in your rendered annotations. This means that the paths must either be absolute, or relative to the location of the CSS file itself. If using Webpack to bundle your HermancustomCSS
, this likely means disabling thepublicPath
setting for this CSS file (e.g.publicPath: ''
), or disabling Webpack’surl()
pre-processing entirely.
customHTML
- Type:
String
- Default:
''
Custom HTML string (or relative path to a file containing valid HTML)
to include at the top of the generated <body>
tag
for all rendered @example html
and @example njk
annotations.
See our @example
documentation.
This is particularly useful for including svg sprite sheets
in example output.
fontPath
- Type:
String
- Default:
''
Required if using @font
annotation with local font files.
Relative path to a directory containing local font files.
See our @font
documentation.
nunjucks
- Type:
Object
- Default:
{}
Container for the following Nunjucks-related options:
nunjucks.templatePath
- Type:
String
- Default:
''
Either nunjucks.templatePath
or
nunjucks.environment
is required if using
@example njk
annotation.
Relative path to a directory containing Nunjucks templates.
nunjucks.environment
- Type: Nunjucks
Environment
instance - Default:
undefined
Either nunjucks.templatePath
or
nunjucks.environment
is required if using
@example njk
annotation.
sass
- Type:
Object
- Default:
{}
Container for the following sass-related options:
sass.jsonFile
- Type:
String
- Default:
''
Required if using @font
, @colors
,
@ratios
, or @sizes
annotations.
Relative path to a sass-json file
(created with the export
mixin).
The JSON contents will be added under the
sassjson
key of the sassdoc context,
and used to display colors, fonts, ratios, and sizes.
See Exporting Styles to JSON.
sass.implementation
- Type: Sass implementation instance
- Default: Dart Sass instance
Determines the Sass implementation (defaults to Dart Sass) to use
for Sass compilation if using @example scss
annotation. This
option expects an implementation providing a renderSync
method with the same
signature as Dart Sass, and support for the Sass module system.
sass.importer
- Type:
Array
||Function
- Default: Custom Herman Sass importer
Function (or array of functions)
used to resolve @use
and @import
file paths.
Passed through to Sass importer when
compiling @example sass/scss
annotations.
See our @example
documentation.
sass.includePaths
- Type:
Array
- Default:
[]
Array of load paths used to resolve @use
and @import
declarations.
Passed through to Sass includePaths when
compiling @example sass/scss
annotations.
See our @example
documentation.
sass.includes
- Type:
Array
- Default:
[]
List of files (relative to any sass.includePaths
) to
@import
for all @example sass/scss
annotations.
See our @example
documentation.
This is useful for including any global Sass configuration and toolkit files that may be used by any example. It’s best to avoid files with output CSS, as that output will be displayed in every single Sass example.
sass.use
- Type:
Array
- Default:
[]
List of files (relative to any sass.includePaths
) to
@use
for all @example sass/scss
annotations.
See our @example
documentation.
Each item in the array can be a string (path to the file)
or an object with file
and namespace
keys
(to @use "<file>" as <namespace>
):
# .sassdocrc
herman:
sass:
includePaths:
- 'static/sass'
use:
- 'config/tools'
- file: 'config/other-tools'
namespace: 'my-tools'
This is useful for including any global Sass configuration and toolkit files that may be used by any example, using the Dart Sass module system. It’s best to avoid files with output CSS, as that output will be displayed in every single Sass example.
sass.outputStyle
- Type:
String
- Default:
'expanded'
Determines the output format of the final CSS
of compiled @example sass/scss
annotations.
Passed through to Sass outputStyle option.
Accepts 'expanded'
or 'compressed'
.
See our @example
documentation.


Ideas in Form
An explorative research exercise, studying traditional Japanese architecture and it's connections to wood and nature, and how they can be applied to contemporary design. The first stage of this research was conducted with fellow student Ola. A broad interest in historical relationships between humans and natural disasters led to our inquiry into Japan and it's use of natural materials. The subject of impermanence and the ability to adapt to change was inspirational to us as designers.
TOPIC: IN JAPANESE ARCITECTURE, WOOD IS A SIGNIFICANT SYMBOL OF THE CULTURE"S RELATIONSHIP WITH THE BROADER NATURAL ENVIRONMENT
Kengo Kuma's SunnyHills in Tokyo, Japan. Untreated cypress. 2014.
Initial Research
Quick Mapping:I collaborated with fellow classmate Ola. We had a shared passion for history, and used that as a central point to jump of of and explore some possible topics for research. Below is some of our first explorations.
Topic Scoping:
After generating ideas, it became important to start scoping our topic, figuring out where our research should be directed.
Broadest: Human's historic relationship to natural disasters
Broader: Japanese design and the natural environment
Broad: How Japanese architecture evoke's and responds to nature.
Yummy: Wood as a significant symbol in Japanese Architecture representing a broader Japanese connecion to nature.
Too Narrow: The use of chibori wood-joining techniques as a symbol of the Japanese interest in representing trees in traditional architecture.
First Probes:
Listed below are some of the first articles, journals, and pieces that we found interesting. These guided us to our more focussed topic.
Cultural Responses to Climate Change During the Late Holocene
This source was the initial source we looked at for narrowing our research on how climate affects a culture and its response.
Cultural Heritage and Natural Disasters
This source provided knowledge on cultural heritage and how it is affected by natural disasters.
Climate and Cultural Change in Prehistoric and Early Historic Eastern North America
This source assesses the climate influence on prehistoric civilization in northern America and how it influenced the culture.
Harmonisation Between Architecture and Nature Through Traditional Japanese Screens
This source talks about the concept of Shoji and its cultural importance in Japanese living and culture.
Japan's Nature Architecture Has Deep Cultural Roots
This source provides information and general background on the Japanese connection with nature going as far as to showing the importance in language.
Trees, Forests and Religion in Japan
This source outlines how nature, especially wood and trees are closely tied together with religion and the cultures attitude towards wood as a vessel for the gods.
Wood, Mold, and Japanese Architecture
This source provides information on how wood is used throughout Japanese construction and outlines its importance and context to nature.
An example of biomorphism evoked in straight cedar pieces, by Kengo Kuma.
Kengo Kuma’s Architecture of the Future
Article depicting contemporary Japanese architect Kengo Kuma’s design practice, which utilises a modern interpretation the Japanese use of wood in structures.
Topic Selection
I am studying THE USE OF WOOD IN JAPANESE ARCHITECTURE because I want to find out HOW CULTURES USE MAERIALS TO DESIGN FOR AN IMPERMANENT ENVIRONMENT to support making OBJECTS THAT CAN ENDURE AND ADAPT TO CHANGING ENVIRONMENTAL AND SOCIAL CONDITIONS.
Further Research
Primary Sources:
A masterpiece in contemporary Japanese Architecture, Kengo Kuma’s GC Prostho Museum and Research Centre underpins a modern aesthetic by using traditional Japanese cedar and construction techniques such as chidori joinery. A fascinating design, this structure points to the return from Japanese architects to traditional materials, despite the prevalence of Western practices throughout the 20th century.
Kengo Kuma’s GC Prothso Museum and Research Center (2010)
A masterpiece in contemporary Japanese Architecture, Kengo Kuma’s GC Prostho Museum and Research Centre underpins a modern aesthetic by using traditional Japanese cedar and construction techniques such as chidori joinery. A fascinating design, this structure points to the return from Japanese architects to traditional materials, despite the prevalence of Western practices throughout the 20th century.
Kuma, Kengo. "GC Prostho Museum Research Center - GC プロソミュージアム・リサーチセンター." Kengo Kuma and Associates. May 2010. Accessed September 11, 2018. http://kkaa.co.jp/works/architecture/prostho-museum-research-center/.
Secondary Sources:
The Tradition of Wooden Architecture in Japan
The following source is a report given by the Agency of Cultural Affairs in Japan that outlines many characteristics in Japanese, such as post-and-beam construction, materials, roofing, and craft. There is a discussion on how these aspects of Japanese architecture take into account the natural resources surrounding them, as well as the events and patterns of nature, such as earthquakes, decay, and the movement of people.
Satoshi, Yamato. The Tradition of Wooden Architecture in Japan. PDF. Agency for Cultural Affairs, Japan, 2006.
Thinking Inside the Box: Tracing Japan's Traditional Design in Modern Japanese Architecture
An insightful report that analyses and compares Japanese traditional architecture with Western thought. The paper assesses a number of contemporary Japanese architects and works, and focuses on the idea that the Japanese home looks to embody nature, rather than observe it (like many homes in the West.) By structuring an argument around the prevalence of modernism and the ‘box’ throughout the world Matthew Kubota studies what traits allowed Japanese architecture and construction to stand the test of time.
Kubota, Matthew T. Thinking Inside the Box: Tracing Japan's Traditional Design in Modern Japanese Architecture. PDF. University of Hawaii, Manoa, 2016.
Link to Google Slides
Japanese Joinery Through the Lens of Kengo Kuma: Two 3D Studies
Inspired by the findings of my previous research, I wanted to take a deeper dive into how contemporary Japanese architects utilise traditional themes and forms. I looked into the body of work of Kengo Kuma, renowned internationally for his respect for traditional Japanese craft and materials.
The following two pieces explore two of his more famous works, which use different wood joinery techniques and repition as a way of creating space through structure.
Chidori in the GC Prostho Museum Research Centre:
Though Kuma's work is a study of repition of form, I was interested in first learning more about the actual joinery used for this project.
Inside the GC Prothso Museum.
From the architect:This is architecture that originates from the system of Cidori, an old Japanese toy. Cidori is an assembly of wood sticks with joints having unique shape, which can be extended merely by twisting the sticks, without any nails or metal fittings. The tradition of this toy has been passed on in Hida Takayama, a small town in a mountain, where many skilled craftsmen still exist.
I studied other projects by Kuma and examples of Cidori furniture and toys to form the plan for producing my own Cidori furniture. The subsequent project was difficult and required patience with the wood, but provided many learnings for perhaps reproducing it on a larger scale.
Making a prototype. Used the japanese saw and chisel, finished with sandpaper. This was a very frustrating process, with multiple mistakes and wrong orientations of cuts.
Trying the prototype.
Making the final study.
Yusuhara Bridge:
I was fascinated in resarching how small cuts and stacking could create more complex forms and incredible strenght and sturdiness.
Yusahara Bridge from 2011.
From the architect: Accumulation of hanegi evokes the traditional construction method of “to-kyo”(square framing) employed in Japan and China, which was devised to support the load from the eaves. By repeating this method persistently to the scale of a bridge, we were able to present a completely new expression of architecture, while keeping its Asian appearance.
Making a prototype. Used a simple Illustrator - laser cutter workflow.
Natural Materials in the Constructed Environment: A Photographic Study of Keldur Turf Homes in Iceland
After taking a deeper dive into the use of wood in Japanese architecture, I wanted to again exapnd as a way of reinforcing the patterns I was finding. I went to Iceland to see how traditional Icelandic homes also used environmental materials in their own construction practices.
The following photographic series is a study of turf homes in Iceland, a common construction technique that began nearly 1000 years ago.
Keldur Turf Houses:
With some projections dating the structures to be much earlier, the Keldur farm turf houses are siad to be at least 1000 years old. They are famous for being some of the best preserved examples of icelandic turf/sod homes. They were famously stated in the well known Njal’s Saga, and the hall strucutre is the oldest of its kind in Iceland.
Recapping Through Teaching: An Interactive Study
Throughout researching this topic, I kept coming back to the thoguth that the techniques I was studying and how they relate to one another were not documented, and hard to learn about without a lot of digging. Wanting to teach others about my findings and the values of traditional Japanese Architecture and how it can be applied today, I decided to create an educative interactive digital experience.
JOINERY OF KENGO KUMA AND ASSOCIATES: House of Wood, House of Land is a short exploration into how we can share the craft and technique of contemporary architects like Kengo Kuma who employ traditionl Japanese construction techniques. Japanese architecture is most effective when it creates a dialogue between structure and environment. I wanted to play off this idea, and design a digital experience, creating 3D forms that exist in the 2D environment many of us are most comfotable with. It was my goal to teach and inform throuhg playful interaction and exploration.
Whilst I felt the Keldur home photographic study was valuable in that it provided me with an alternative perspective on how cultures use natural materials to better exist in their environemnts, the exploration provided more context and comparison rather than truly pushing my research into Japanese architecture further.
Becasue of that, for this study, I returned more closely to some of the earlier references I studied. I recalled how difficult it was for me to conceptualise the joinery needed to achieve these massivley complex structures. In designing this interactive work, it was important for me to create an educative experience that articulated the forms truthfully and legibly.
One of the things that was inspirational to be about Kuma's work is his use of traditional technique, but more importantly his subsequent repetition of form and construction. He reduces large-scale construction practices down into micro-units, which he then repeats to create complex and expansive architectual forms.
I wanted to show how these complex units/joints could be quickly scaled up to create the large pieces that Kuma has built.
This prototype is just a short glimpse into a project that I am very passionate about, and like Kuma's own work, is designed to be scaled up. I only have highlighted two structures, Yusuhara Bridge, and GC Prothso Research Museum. These works directly impacted my research over the course of this topic, but I would like to continue to expand what projects and joinery are showcased here.
I used Sketch and Flinto to build the screens and then add animations and transitions. It was quite a mind twist and puzzle learning how to properly visually display the joints. From a craft standpoint, I learned a lot about layering in visual design software, and using smoke and mirrors to achieve transitons and changing position (ie the wood blocks moving to cover certain portions of other blocks).
The following is a screen recording of the interactions and user flow that can be experienced in the study.
Demo displaying gestures and interactions on an iPhone XS Max:


@(ngrams: List[(String, Int)], numOfWords: Int) @main("Quran Analysis: " + numOfWords + " word N-grams in Quran") {
This Scala app lets you perform n-gram Analytics on the English Translation of Quran
Home 10 words n-grams 11 words n-grams 12 words n-grams 13 words n-grams 14 words n-grams| N-gram | Repeated |
|---|---|
| @ngram | @freq |


Library: XML
Package: SAX
Header: Poco/SAX/EntityResolverImpl.h
Description
A default implementation of the EntityResolver interface.
The system ID is first interpreted as an URI and the URIStreamOpener is used to create and open an istream for an InputSource.
If the system ID is not a valid URI, it is interpreted as a filesystem path and a Poco::FileInputStream is opened for it.
Inheritance
Direct Base Classes: EntityResolver
All Base Classes: EntityResolver
Member Summary
Member Functions: releaseInputSource, resolveEntity, resolveSystemId
Inherited Functions: releaseInputSource, resolveEntity
Constructors
EntityResolverImpl
Creates an EntityResolverImpl that uses the default URIStreamOpener.
EntityResolverImpl
EntityResolverImpl(
const Poco::URIStreamOpener & opener
);
Creates an EntityResolverImpl that uses the given URIStreamOpener.
Destructor
~EntityResolverImpl
Destroys the EntityResolverImpl.
Member Functions
releaseInputSource
void releaseInputSource(
InputSource * pSource
);
Deletes the InputSource's stream.
resolveEntity
InputSource * resolveEntity(
const XMLString * publicId,
const XMLString & systemId
);
Tries to use the URIStreamOpener to create and open an istream for the given systemId, which is interpreted as an URI.
If the systemId is not a valid URI, it is interpreted as a local filesystem path and a Poco::FileInputStream is opened for it.
resolveSystemId
std::istream * resolveSystemId(
const XMLString & systemId
);


Hello yes! This is the website I'll be experimenting with web development on~
Dummy button Dummy button


$ java -version openjdk version "13.0.1" 2019-10-15 OpenJDK Runtime Environment (build 13.0.1+9) OpenJDK 64-Bit Server VM (build 13.0.1+9, mixed mode, sharing)
20 October 2020
The more recent versions of the JDK allow running Java code from source. This can be used to create a user experience close to scripting languages. This post demonstrate how to use it and explores in addition an option applicable for older versions of Java.
Since Java 11 the java
command does have the --source
option, which allows
running Java code which is given in source. For demonstration purposes I’m
using a Java 13 installation, but the sample will work with all Java
versions >11.
$ java -version openjdk version "13.0.1" 2019-10-15 OpenJDK Runtime Environment (build 13.0.1+9) OpenJDK 64-Bit Server VM (build 13.0.1+9, mixed mode, sharing)
When the --source
feature is combined with the
Shebang of modern shells like so:
$ cat hellojava.sh #!/home/gunther/.jenv/shims/java --source 11 public class App { public static void main(String ...args){ System.out.println("Hello, Java!"); } }
the file - given Posix file attributes include execute permission - can be executed like a shell script:
$ ./hellojava.sh
Hello, Java!
Java is still a compiled language, ie. before the script starts, the Java
compiler still need to generate the byte-code to be executed. This impacts
the startup time of large scripts - Java applications
are in general not known for starting quickly. Nevertheless, the --source
option allows more use cases implemented with Java.
It becomes less relevant with every day, but there are still organizations
supporting legacy systems that run on Java 8. In such a environment the
--source
option is not available. Nevertheless, there’s still a way to
package Java applications into an executable file.
Let’s switch to Java 8 (thanks to jenv
this is a piece of cake :-):
$ java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
The Java application is the same as before, just placed into a separate file which follows the Java naming convention, ie. file name equals class name.
$ cat HelloJava.java public class HelloJava { public static void main(String[] args) { System.out.println("Hello, Java!"); } } $ javac -version javac 1.8.0_222 $ javac HelloJava.java
Note, that for sake of simplicity the Java source and class files are in the current working directory, ie. the class belongs to the default package. But the demonstrated approach will work for any Java package structure.
In the next step the compiled class is packaged into a JAR file:
$ cat manifest.txt Main-Class: HelloJava $ jar cvfm hellojava.jar manifest.txt HelloJava.class added manifest adding: HelloJava.class(in = 424) (out= 287)(deflated 32%)
Note, that the JAR’s manifest defines the HelloJava
class as entry point
for execution.
Packaged the application as described, the executable can be created by the following commands:
$ echo '#!/home/gunther/.jenv/shims/java -jar' >hellojava8.sh $ cat hellojava.jar >>hellojava8.sh $ chmod +x hellojava8.sh $ ./hellojava8.sh Hello, Java! $
Instead of placing the source code into the body of the shell script, the JAR
file itself is appended to the Shebang line, on which the --source
is replaced by the -jar
option.
Though, the steps to create the executable Java application can be automated, the scripting experience gets partly lost by the need to explicitly compile and package the Java classes. On the other hand, the startup time is better compared to the source approach.


By: Blake Tarter
@itsblaketarterI built this using reveal.js
Super simple Presentation framework using pure dom elements.
Born and raised in KC.
Work at codekoalas.
Went to college to be a designer.
Design = fun
Development = ++fun
See the Pen Web Audio Synth by Blake Tarter (@blaketarter) on CodePen.
See the Pen Morse Code Generator by Blake Tarter (@blaketarter) on CodePen.
See the Pen Material Design Chat by Blake Tarter (@blaketarter) on CodePen.
CodePen is a fantastic tool for productivity during and outside of work, but that’s not what this talk is about.
Mental fatigue can be caused by continual mental effort and attention on a particular task, as well as high levels of stress or emotion. Basically, any mental process that goes into overload can result in this disorder.- http://www.betterhealthusa.com/public/235.cfm
There are a few easy solutions to this.
No Subway doesnt count..
Sitting down all day is bad, go figure..
None of those things have to do with developmnet, and I love development.
This may seem obvious, but I've found that simple, small, and creative projects that I work on periodically can really help relieve some stress and lighten my morale while keeping me focused when I do actual work.
You can't use up creativity. The more you use, the more you have.- Maya Angelou
Using CodePen you can quickly, and easily start up some creative projects without worrying about saving, hosting or setting up some gruntfile (or gulpfile).
Using them as a kind of mental break.
See the Pen Random Box Art with Canvas by Blake Tarter (@blaketarter) on CodePen.
See the Pen Random Circle Art by Blake Tarter (@blaketarter) on CodePen.
See the Pen KC Animation by Blake Tarter (@blaketarter) on CodePen.
As an added bonus sometimes while messing around I will find some solutions to problems I end up using elsewhere.
While CodePen may work for some of us, others may be at the point where they are nearing a complete burnout. All I have to say to them is take some time for themselves and don't forget to sleep.
See the Pen How Many Ways Can You Skin A Cat? by Blake Tarter (@blaketarter) on CodePen.


Title (Position)
Job position description
Requirements
Location
Compensation
Benefits
How to apply
Cancel Crear nuevo post


new RuleCondition()
Rule condition
- Since:
-
- 1.0.0
- Source:
Properties:
| Name | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
attribute |
string | Run rule condition on HTML Tag's attributes. Properties
|
|||||||||
children |
string | Run rule condition on HTML Tag's children. Properties
|
|||||||||
self |
string | Run rule condition on HTML Tag. Properties
|
|||||||||
error |
string | Display error when rule condition fails. |
|||||||||
failCount |
number | Number of times rule condition failed. |


Widget created by Christian Kluge with
CindyJS
. Ported to WebXR by Christoph Neuhauser. Published under
CC BY-NC-SA 4.0
.


Before Change
0.75 <= x <= 2.0 and with a variable alpha.
if ia.is_single_number(alpha):
alpha_param = Deterministic(alpha)
elif ia.is_iterable(alpha):
ia.do_assert(len(alpha) == 2, "Expected tuple/list with 2 entries, got %d entries." % (len(alpha),))
alpha_param = Uniform(alpha[0], alpha[1])
elif isinstance(alpha, StochasticParameter):
alpha_param = alpha
else:
raise Exception("Expected float, int, tuple/list with 2 entries or StochasticParameter. Got %s." % (type(alpha),))
if ia.is_single_number(lightness):
lightness_param = Deterministic(lightness)
elif ia.is_iterable(lightness):
ia.do_assert(len(lightness) == 2, "Expected tuple/list with 2 entries, got %d entries." % (len(lightness),))
lightness_param = Uniform(lightness[0], lightness[1])
elif isinstance(lightness, StochasticParameter):
lightness_param = lightness
else:
raise Exception("Expected float, int, tuple/list with 2 entries or StochasticParameter. Got %s." % (type(lightness),))
def create_matrices(image, nb_channels, random_state_func):
alpha_sample = alpha_param.draw_sample(random_state=random_state_func)
ia.do_assert(0 <= alpha_sample <= 1.0)
lightness_sample = lightness_param.draw_sample(random_state=random_state_func)
After Change
0.75 <= x <= 2.0 and with a variable alpha.
alpha_param = iap.handle_continuous_param(alpha, "alpha", value_range=(0, 1.0), tuple_to_uniform=True, list_to_choice=True)
lightness_param = iap.handle_continuous_param(lightness, "lightness", value_range=(0, None), tuple_to_uniform=True, list_to_choice=True)
def create_matrices(image, nb_channels, random_state_func):
alpha_sample = alpha_param.draw_sample(random_state=random_state_func)