brendan_oconnor_ai brendan_oconnor_ai-2012 brendan_oconnor_ai-2012-179 knowledge-graph by maker-knowledge-mining
Source: html
Introduction: When possible, I like to use R for its really, really good statistical visualization capabilities. I’m doing a modeling project in Python right now (R is too slow, bad at large data, bad at structured data, etc.), and in comparison to base R, the matplotlib library is just painful. I wrote a toy Metropolis sampler for a triangle distribution and all I want to see is whether it looks like it’s working. For the same dataset, here are histograms with default settings. (Python: pylab.hist(d) , R: hist(d) ) I want to know whether my Metropolis sampler is working; those two plots give a very different idea. Of course, you could say this is an unfair comparison, since matplotlib is only using 10 bins, while R is using 18 here — and it’s always important to vary the bin size a few times when looking at histograms. But R’s defaults really are better: it actually uses an adaptive bin size, and the heuristic worked, choosing a reasonable number for the data. The hist() manu
sentIndex sentText sentNum sentScore
1 When possible, I like to use R for its really, really good statistical visualization capabilities. [sent-1, score-0.3]
2 I’m doing a modeling project in Python right now (R is too slow, bad at large data, bad at structured data, etc. [sent-2, score-0.234]
3 ), and in comparison to base R, the matplotlib library is just painful. [sent-3, score-0.406]
4 I wrote a toy Metropolis sampler for a triangle distribution and all I want to see is whether it looks like it’s working. [sent-4, score-0.291]
5 For the same dataset, here are histograms with default settings. [sent-5, score-0.165]
6 hist(d) , R: hist(d) ) I want to know whether my Metropolis sampler is working; those two plots give a very different idea. [sent-7, score-0.338]
7 Of course, you could say this is an unfair comparison, since matplotlib is only using 10 bins, while R is using 18 here — and it’s always important to vary the bin size a few times when looking at histograms. [sent-8, score-1.068]
8 But R’s defaults really are better: it actually uses an adaptive bin size, and the heuristic worked, choosing a reasonable number for the data. [sent-9, score-0.527]
9 It’s hard to find other computer software that cites 100 year old papers for its design decisions — and where it matters. [sent-11, score-0.174]
10 (Old versions of R used to yell at you when you made a pie chart, citing perceptual studies that humans are really bad at interpreting them ( here ). [sent-12, score-0.552]
11 In the following plots, I’ve manually set the number of bins to 10, and then 30 for each. [sent-15, score-0.36]
12 The second one is now OK for matplotlib — it’s good enough to figure out what’s going on — though still a little lame. [sent-16, score-0.391]
13 The problem is that my data are discrete — they’re all integers from 1 through 19 — and I think matplotlib is naively carving up that range into bins, which sometimes lumps together two integers, and sometimes gets zero of them. [sent-18, score-0.898]
14 For reference, here is the correct visualization of the data (R: plot(table(d)) ). [sent-20, score-0.203]
15 Note that R’s original Sturges breakpoints did make one error: the first two values got combined into one bin. [sent-21, score-0.234]
16 Lessons: (1) always vary the bin sizes for histograms, especially if you’re using naive breakpoint selection, and (2) don’t ignore a century’s worth of statistical research on these issues. [sent-22, score-0.883]
17 And since it’s hard to learn a century’s worth of statistics, just use R, where they’re compiled it in for you. [sent-23, score-0.172]
wordName wordTfidf (topN-words)
[('matplotlib', 0.302), ('bins', 0.285), ('bin', 0.248), ('sturges', 0.19), ('integers', 0.165), ('hist', 0.165), ('histograms', 0.165), ('metropolis', 0.165), ('vary', 0.151), ('naive', 0.141), ('sampler', 0.133), ('century', 0.121), ('plots', 0.121), ('really', 0.121), ('bad', 0.117), ('python', 0.116), ('comparison', 0.104), ('data', 0.102), ('visualization', 0.101), ('size', 0.098), ('using', 0.093), ('old', 0.091), ('second', 0.089), ('worth', 0.089), ('sometimes', 0.085), ('two', 0.084), ('cites', 0.083), ('waste', 0.083), ('lessons', 0.083), ('histogram', 0.083), ('fault', 0.083), ('ignore', 0.083), ('pylab', 0.083), ('triangle', 0.083), ('choosing', 0.083), ('unfair', 0.083), ('originally', 0.083), ('compiled', 0.083), ('slow', 0.083), ('citing', 0.083), ('made', 0.081), ('statistical', 0.078), ('heuristic', 0.075), ('versions', 0.075), ('pie', 0.075), ('combined', 0.075), ('values', 0.075), ('toy', 0.075), ('zero', 0.075), ('manually', 0.075)]
simIndex simValue blogId blogTitle
same-blog 1 1.0000004 179 brendan oconnor ai-2012-02-02-Histograms — matplotlib vs. R
Introduction: When possible, I like to use R for its really, really good statistical visualization capabilities. I’m doing a modeling project in Python right now (R is too slow, bad at large data, bad at structured data, etc.), and in comparison to base R, the matplotlib library is just painful. I wrote a toy Metropolis sampler for a triangle distribution and all I want to see is whether it looks like it’s working. For the same dataset, here are histograms with default settings. (Python: pylab.hist(d) , R: hist(d) ) I want to know whether my Metropolis sampler is working; those two plots give a very different idea. Of course, you could say this is an unfair comparison, since matplotlib is only using 10 bins, while R is using 18 here — and it’s always important to vary the bin size a few times when looking at histograms. But R’s defaults really are better: it actually uses an adaptive bin size, and the heuristic worked, choosing a reasonable number for the data. The hist() manu
2 0.12705019 135 brendan oconnor ai-2009-02-23-Comparison of data analysis packages: R, Matlab, SciPy, Excel, SAS, SPSS, Stata
Introduction: Lukas and I were trying to write a succinct comparison of the most popular packages that are typically used for data analysis. I think most people choose one based on what people around them use or what they learn in school, so I’ve found it hard to find comparative information. I’m posting the table here in hopes of useful comments. Name Advantages Disadvantages Open source? Typical users R Library support; visualization Steep learning curve Yes Finance; Statistics Matlab Elegant matrix support; visualization Expensive; incomplete statistics support No Engineering SciPy/NumPy/Matplotlib Python (general-purpose programming language) Immature Yes Engineering Excel Easy; visual; flexible Large datasets No Business SAS Large datasets Expensive; outdated programming language No Business; Government Stata Easy statistical analysis No Science SPSS Like Stata but more ex
3 0.10084507 128 brendan oconnor ai-2008-11-28-Calculating running variance in Python and C++
Introduction: It’s fairly obvious that an average can be calculated online, but interestingly, there’s also a way to calculate a running variance and standard deviation. Read all about it here . I’m playing around with the Netflix Prize data of 100 million movie ratings, and a huge problem is figuring out how to load and calculate everything in memory. I’m having success with NumPy , the numeric library for Python, because it compactly stores arrays with C/Fortran binary layouts. For example, 100 million 32-bit floats = 100M * 4 = 400MB of memory, which is manageable. And it’s much easier to play around interactively in ipython / matplotlib rather than write C++ for everything. Unfortunately, the simple ways to calculate variance on an array of that size create wasteful intermediate data structures as long as the original array. >>> mean( (x-mean(x)) ** 2 ) # two intermediate structures >>> tmp=x-mean(x); tmp**=2; mean(tmp) # one intermediate structure That’s an e
4 0.096444882 129 brendan oconnor ai-2008-12-03-Statistics vs. Machine Learning, fight!
Introduction: 10/1/09 update — well, it’s been nearly a year, and I should say not everything in this rant is totally true, and I certainly believe much less of it now. Current take: Statistics , not machine learning, is the real deal, but unfortunately suffers from bad marketing. On the other hand, to the extent that bad marketing includes misguided undergraduate curriculums, there’s plenty of room to improve for everyone. So it’s pretty clear by now that statistics and machine learning aren’t very different fields. I was recently pointed to a very amusing comparison by the excellent statistician — and machine learning expert — Robert Tibshiriani . Reproduced here: Glossary Machine learning Statistics network, graphs model weights parameters learning fitting generalization test set performance supervised learning regression/classiﬁcation unsupervised learning density estimation, clustering large grant = $1,000,000
5 0.093022905 191 brendan oconnor ai-2013-02-23-Wasserman on Stats vs ML, and previous comparisons
Introduction: Larry Wasserman has a new position paper (forthcoming 2013) with a great comparison the Statistics and Machine Learning research cultures, “Rise of the Machines” . He has a very conciliatory view in terms of intellectual content, and a very pro-ML take on the research cultures. Central to his argument is that ML has recently adopted rigorous statistical concepts, and the fast-moving conference culture (and heavy publishing by its grad students) have helped with this and other good innovations. (I agree with a comment from Sinead that he’s going a little easy on ML, but it’s certainly worth a read.) There’s now a little history of “Statistics vs Machine Learning” position papers that this can be compared to. A classic is Leo Breiman (2001), “Statistical Modeling: The Two Cultures” , which isn’t exactly about stats vs. ML, but is about the focus on modeling vs algorithms, and maybe about description vs. prediction. It’s been a while since I’ve looked at it, but I’ve also enjoye
6 0.088089094 185 brendan oconnor ai-2012-07-17-p-values, CDF’s, NLP etc.
7 0.084408201 6 brendan oconnor ai-2005-06-25-idea: Morals are heuristics for socially optimal behavior
8 0.08309342 154 brendan oconnor ai-2009-09-10-Don’t MAWK AWK – the fastest and most elegant big data munging language!
9 0.082437649 169 brendan oconnor ai-2011-05-20-Log-normal and logistic-normal terminology
10 0.079723924 181 brendan oconnor ai-2012-03-09-I don’t get this web parsing shared task
11 0.076569967 203 brendan oconnor ai-2014-02-19-What the ACL-2014 review scores mean
12 0.076189615 177 brendan oconnor ai-2011-11-11-Memorizing small tables
13 0.075991161 105 brendan oconnor ai-2008-06-05-Clinton-Obama support visualization
14 0.074920096 115 brendan oconnor ai-2008-10-08-Blog move has landed
15 0.074197002 150 brendan oconnor ai-2009-08-08-Haghighi and Klein (2009): Simple Coreference Resolution with Rich Syntactic and Semantic Features
16 0.073781133 198 brendan oconnor ai-2013-08-20-Some analysis of tweet shares and “predicting” election outcomes
17 0.071328506 127 brendan oconnor ai-2008-11-24-Python bindings to Google’s “AJAX” Search API
18 0.070563622 132 brendan oconnor ai-2009-01-07-Love it and hate it, R has come of age
19 0.069853835 153 brendan oconnor ai-2009-09-08-Patches to Rainbow, the old text classifier that won’t go away
20 0.068254136 174 brendan oconnor ai-2011-09-19-End-to-end NLP packages
topicId topicWeight
[(0, -0.274), (1, -0.119), (2, 0.069), (3, -0.041), (4, -0.026), (5, 0.081), (6, -0.023), (7, -0.069), (8, 0.03), (9, -0.041), (10, 0.008), (11, -0.017), (12, -0.131), (13, -0.094), (14, 0.081), (15, 0.121), (16, 0.045), (17, 0.054), (18, -0.04), (19, 0.046), (20, 0.047), (21, 0.007), (22, -0.068), (23, -0.005), (24, -0.075), (25, -0.033), (26, 0.008), (27, -0.033), (28, -0.071), (29, -0.061), (30, 0.008), (31, 0.014), (32, 0.216), (33, 0.015), (34, -0.115), (35, -0.023), (36, 0.137), (37, 0.036), (38, 0.012), (39, -0.033), (40, -0.086), (41, -0.076), (42, 0.083), (43, -0.035), (44, -0.018), (45, -0.034), (46, -0.087), (47, 0.007), (48, -0.035), (49, -0.004)]
simIndex simValue blogId blogTitle
same-blog 1 0.9750644 179 brendan oconnor ai-2012-02-02-Histograms — matplotlib vs. R
Introduction: When possible, I like to use R for its really, really good statistical visualization capabilities. I’m doing a modeling project in Python right now (R is too slow, bad at large data, bad at structured data, etc.), and in comparison to base R, the matplotlib library is just painful. I wrote a toy Metropolis sampler for a triangle distribution and all I want to see is whether it looks like it’s working. For the same dataset, here are histograms with default settings. (Python: pylab.hist(d) , R: hist(d) ) I want to know whether my Metropolis sampler is working; those two plots give a very different idea. Of course, you could say this is an unfair comparison, since matplotlib is only using 10 bins, while R is using 18 here — and it’s always important to vary the bin size a few times when looking at histograms. But R’s defaults really are better: it actually uses an adaptive bin size, and the heuristic worked, choosing a reasonable number for the data. The hist() manu
2 0.72086692 135 brendan oconnor ai-2009-02-23-Comparison of data analysis packages: R, Matlab, SciPy, Excel, SAS, SPSS, Stata
Introduction: Lukas and I were trying to write a succinct comparison of the most popular packages that are typically used for data analysis. I think most people choose one based on what people around them use or what they learn in school, so I’ve found it hard to find comparative information. I’m posting the table here in hopes of useful comments. Name Advantages Disadvantages Open source? Typical users R Library support; visualization Steep learning curve Yes Finance; Statistics Matlab Elegant matrix support; visualization Expensive; incomplete statistics support No Engineering SciPy/NumPy/Matplotlib Python (general-purpose programming language) Immature Yes Engineering Excel Easy; visual; flexible Large datasets No Business SAS Large datasets Expensive; outdated programming language No Business; Government Stata Easy statistical analysis No Science SPSS Like Stata but more ex
3 0.60614115 139 brendan oconnor ai-2009-04-22-Performance comparison: key-value stores for language model counts
Introduction: I’m doing word and bigram counts on a corpus of tweets. I want to store and rapidly retrieve them later for language model purposes. So there’s a big table of counts that get incremented many times. The easiest way to get something running is to use an open-source key/value store; but which? There’s recently been some development in this area so I thought it would be good to revisit and evaluate some options. Here are timings for a single counting process: iterate over 45,000 short text messages, tokenize them, then increment counters for their unigrams and bigrams. (The speed of the data store is only one component of performance.) There are about 17 increments per tweet: 400k unique terms and 750k total count. This is substantially smaller than what I need, but it’s small enough to easily test. I used several very different architectures and packages, explained below. architecture name speed in-memory, within-process python dictionary 2700 tweets/sec
4 0.60512871 177 brendan oconnor ai-2011-11-11-Memorizing small tables
Introduction: Lately, I’ve been trying to memorize very small tables, especially for better intuitions and rule-of-thumb calculations. At the moment I have these above my desk: The first one is a few entries in a natural logarithm table. There are all these stories about how in the slide rule era, people would develop better intuitions about the scale of logarithms because they physically engaged with them all the time. I spend lots of time looking at log-likelihoods, log-odds-ratios, and logistic regression coefficients, so I think it would be nice to have quick intuitions about what they are. (Though the Gelman and Hill textbook has an interesting argument against odds scale interpretations of logistic regression coefficients.) The second one are some zsh filename manipulation shortcuts . OK, this is more narrow than the others, but pretty useful for me at least. The third one are rough unit equivalencies for data rates over time. I find this very important for quickly determ
5 0.59294021 128 brendan oconnor ai-2008-11-28-Calculating running variance in Python and C++
Introduction: It’s fairly obvious that an average can be calculated online, but interestingly, there’s also a way to calculate a running variance and standard deviation. Read all about it here . I’m playing around with the Netflix Prize data of 100 million movie ratings, and a huge problem is figuring out how to load and calculate everything in memory. I’m having success with NumPy , the numeric library for Python, because it compactly stores arrays with C/Fortran binary layouts. For example, 100 million 32-bit floats = 100M * 4 = 400MB of memory, which is manageable. And it’s much easier to play around interactively in ipython / matplotlib rather than write C++ for everything. Unfortunately, the simple ways to calculate variance on an array of that size create wasteful intermediate data structures as long as the original array. >>> mean( (x-mean(x)) ** 2 ) # two intermediate structures >>> tmp=x-mean(x); tmp**=2; mean(tmp) # one intermediate structure That’s an e
6 0.59102029 154 brendan oconnor ai-2009-09-10-Don’t MAWK AWK – the fastest and most elegant big data munging language!
7 0.5608995 103 brendan oconnor ai-2008-05-19-conplot – a console plotter
9 0.47502646 204 brendan oconnor ai-2014-04-26-Replot: departure delays vs flight time speed-up
10 0.45955208 192 brendan oconnor ai-2013-03-14-R scan() for quick-and-dirty checks
11 0.44494039 194 brendan oconnor ai-2013-04-16-Rise and fall of Dirichlet process clusters
12 0.4314872 22 brendan oconnor ai-2005-07-31-war death statistics
13 0.42964822 6 brendan oconnor ai-2005-06-25-idea: Morals are heuristics for socially optimal behavior
14 0.41698119 77 brendan oconnor ai-2007-09-15-Dollar auction
15 0.41138235 129 brendan oconnor ai-2008-12-03-Statistics vs. Machine Learning, fight!
16 0.40327632 13 brendan oconnor ai-2005-07-03-Supreme Court justices’ agreement levels
17 0.39890909 68 brendan oconnor ai-2007-07-08-Game outcome graphs — prisoner’s dilemma with FUN ARROWS!!!
18 0.39740801 138 brendan oconnor ai-2009-04-17-1 billion web page dataset from CMU
19 0.39543605 185 brendan oconnor ai-2012-07-17-p-values, CDF’s, NLP etc.
20 0.38975587 60 brendan oconnor ai-2007-05-09-Simpson’s paradox is so totally solved
topicId topicWeight
[(4, 0.436), (24, 0.063), (43, 0.041), (44, 0.147), (55, 0.014), (74, 0.192), (80, 0.017)]
simIndex simValue blogId blogTitle
1 0.97008985 127 brendan oconnor ai-2008-11-24-Python bindings to Google’s “AJAX” Search API
Introduction: I couldn’t find this anywhere on the web, so I threw together a quick Python binding for Google’s “AJAX” Search API (or rather, JSON-over-HTTP).Â (There are bindings out there for the old SOAP interface; I heard that was discontinued though.) Nothing fancy but it works for me.Â At: gist.github.com/28405
same-blog 2 0.8872661 179 brendan oconnor ai-2012-02-02-Histograms — matplotlib vs. R
Introduction: When possible, I like to use R for its really, really good statistical visualization capabilities. I’m doing a modeling project in Python right now (R is too slow, bad at large data, bad at structured data, etc.), and in comparison to base R, the matplotlib library is just painful. I wrote a toy Metropolis sampler for a triangle distribution and all I want to see is whether it looks like it’s working. For the same dataset, here are histograms with default settings. (Python: pylab.hist(d) , R: hist(d) ) I want to know whether my Metropolis sampler is working; those two plots give a very different idea. Of course, you could say this is an unfair comparison, since matplotlib is only using 10 bins, while R is using 18 here — and it’s always important to vary the bin size a few times when looking at histograms. But R’s defaults really are better: it actually uses an adaptive bin size, and the heuristic worked, choosing a reasonable number for the data. The hist() manu
3 0.46065897 129 brendan oconnor ai-2008-12-03-Statistics vs. Machine Learning, fight!
Introduction: 10/1/09 update — well, it’s been nearly a year, and I should say not everything in this rant is totally true, and I certainly believe much less of it now. Current take: Statistics , not machine learning, is the real deal, but unfortunately suffers from bad marketing. On the other hand, to the extent that bad marketing includes misguided undergraduate curriculums, there’s plenty of room to improve for everyone. So it’s pretty clear by now that statistics and machine learning aren’t very different fields. I was recently pointed to a very amusing comparison by the excellent statistician — and machine learning expert — Robert Tibshiriani . Reproduced here: Glossary Machine learning Statistics network, graphs model weights parameters learning fitting generalization test set performance supervised learning regression/classiﬁcation unsupervised learning density estimation, clustering large grant = $1,000,000
4 0.45142326 135 brendan oconnor ai-2009-02-23-Comparison of data analysis packages: R, Matlab, SciPy, Excel, SAS, SPSS, Stata
Introduction: Lukas and I were trying to write a succinct comparison of the most popular packages that are typically used for data analysis. I think most people choose one based on what people around them use or what they learn in school, so I’ve found it hard to find comparative information. I’m posting the table here in hopes of useful comments. Name Advantages Disadvantages Open source? Typical users R Library support; visualization Steep learning curve Yes Finance; Statistics Matlab Elegant matrix support; visualization Expensive; incomplete statistics support No Engineering SciPy/NumPy/Matplotlib Python (general-purpose programming language) Immature Yes Engineering Excel Easy; visual; flexible Large datasets No Business SAS Large datasets Expensive; outdated programming language No Business; Government Stata Easy statistical analysis No Science SPSS Like Stata but more ex
5 0.44839028 123 brendan oconnor ai-2008-11-12-Disease tracking with web queries and social messaging (Google, Twitter, Facebook…)
Introduction: This is a good idea: in a search engine’s query logs, look for outbreaks of queries like [[flu symptoms]] in a given region. I’ve heard (from Roddy ) that this trick also works well on Facebook statuses (e.g. “Feeling crappy this morning, think I just got the flu”). Google Uses Web Searches to Track Flu’s Spread – NYTimes.com Google Flu Trends – google.org For an example with a publicly available data feed, these queries works decently well on Twitter search: [[ flu -shot -google ]] (high recall) [[ "muscle aches" flu -shot ]] (high precision) The “muscle aches” query is too sparse and the general query is too noisy, but you could imagine some more tricks to clean it up, then train a classifier, etc. With a bit more work it looks like geolocation information can be had out of the Twitter search API .
6 0.43751794 138 brendan oconnor ai-2009-04-17-1 billion web page dataset from CMU
7 0.43298811 203 brendan oconnor ai-2014-02-19-What the ACL-2014 review scores mean
8 0.42437619 63 brendan oconnor ai-2007-06-10-Freak-Freakonomics (Ariel Rubinstein is the shit!)
9 0.42169231 26 brendan oconnor ai-2005-09-02-cognitive modelling is rational choice++
11 0.41740888 2 brendan oconnor ai-2004-11-24-addiction & 2 problems of economics
12 0.41486993 198 brendan oconnor ai-2013-08-20-Some analysis of tweet shares and “predicting” election outcomes
13 0.41470093 105 brendan oconnor ai-2008-06-05-Clinton-Obama support visualization
14 0.41402677 184 brendan oconnor ai-2012-07-04-The $60,000 cat: deep belief networks make less sense for language than vision
15 0.41184169 86 brendan oconnor ai-2007-12-20-Data-driven charity
17 0.41119307 77 brendan oconnor ai-2007-09-15-Dollar auction
18 0.40888596 139 brendan oconnor ai-2009-04-22-Performance comparison: key-value stores for language model counts
19 0.40885517 188 brendan oconnor ai-2012-10-02-Powerset’s natural language search system
20 0.40275922 19 brendan oconnor ai-2005-07-09-the psychology of design as explanation


Octopress to the Rescue
After nearly a year without Posterous, I’ve finally got around to migrating to another system. This time around it’s a static blog builder: http://octopress.org/
Read on →
After nearly a year without Posterous, I’ve finally got around to migrating to another system. This time around it’s a static blog builder: http://octopress.org/
Read on →
Writing stuff for command lines? This is a good place to start.
Covers Ruby’s ARGF
and standard library optparse
.
 I want a full screen every where I go.  I know I can’t pull it off alone.
I’m hoping the future Galaxy Note/Tab 3.0 can be hugged by Backpocket 2.0’s embrace.
(drawn with Papyrus on my Galaxy Note)
So what do you think tech boys and girls? Leave your comments below.
Read on →
For those in the embedded Linux world, Busybox seems to be the
single most important thing to have in their filesystem other than
OS itself. This is something I just recently discovered as I
started rooting my Android devices. Prior to Busybox I’ve
been stuck using my laptop to edit files, then using
adb
commands to get things to the right location on
the device. When I was really stuck, I’d end up using
adb shell
and the simplified utilities that are in
/system/bin
. But now with Busybox I have access to all
the commands I’m accustom to using in a full Linux/Unix
distribution.
The jury is still out on whether I can productively write anything on a mobile device. I just received a Galaxy Note, installed Hackers Keyboard, and installed Writer app. The Note provides nearly an extra inch of keyboard while the Hackers Keyboard provides all the typical keys on used to on a desktop. Lastly was finding an app that highlights my favorite plain text writing language, Markdown.
Read on →
Well this goes to show that I should always Google first, think
later. The apg
program seems to do everything I need
and with much more flexibility.
This issue came up in my day job where the client didn’t like our password reset passwords. They said it was too random and people can’t remember it long enough between reading it in there email and entering it into our app/website.
Read on →
I just found out about this story this morning, and it warmed up my day.
It supports my belief that we’re all born with the yearning to create stuff.Cheers to the supportive father that didn’t minimize his efforts or force him to do what others expect of him.
Read on →
title: Where does the time go? date: 2011-06-04 13:00:00 -05:00 comments: true categories: posterous_id: 55640459 —
photo © 2008 cmcbrown | more info (via: Wylio)
It’s been a while since I’ve posted anything real. I started on a couple articles thinking I didn’t have time to update Thumb War, but in the end didn’t have time to finish those articles either.
Read on →
Javascript has finally arrived. Ruby watch out!
Read on →
I’ve discovered that no amount of screenshots or marketing speak will ever get someone past the $1.99 price point. So with a bit of research and rework a free version Thumb War is now available here.
For a while I thought the process of making 1 project into 2 was going to break the time bank, but after running into this article on the Android Developer site the pieces fit together quite nicely.
Read on →
I’ve created a working version of the sumo and it is revealing some
overall bugs for the game engine at large.
First the precision of two touch points greatly decreases when they
are close together I presume this is an issue with capacitive
screens and not a software issue. This issue hasn’t shown itself
till now since the other games are faster paced and acurracy is
less important.
Just updated to the trunk build of AndEngine which broke almost
every line of code I had. There were a bunch of renamings that
occurred to replace the concept of scene layers with a more generic
child entity structure. The shape modifiers also got moved to
another package to differentiate from particle modifiers.
All in all, the transition was smooth and I will now be able to
contribute to code back into the main source tree without as many
conflicts.
I am finding it near impossible to get a perfect simulation of finger to table top physics. I’m not sure if this is a hardware limitation or just my bad algorithm. In a previous post I had a workable solution by dragging pieces around instead of teleporting, and that does work enough. But now that the game is released I feel the need to make is better.
Read on →
Too tired to give any details, but here’s a screen for the curious.
I believe I’m almost finished with some thing that I wouldn’t hate being in the market. I know that standard seems a bit low, but if I don’t release this thing soon it won’t ever get released.
The past sessions were all about artwork. This could have been a long rabbit trail, but my wife reminded me to get this thing done. And that every minute I send on this creation, I lose with my son. Anyway, artwork is basically done. I have to crop here and there. But I think it’s workable.
Read on →
Due to popular demand I added visual count down indicators. The feature shows the second remaining on the screen then it explodes away like a puff if smoke. This will be done by a nice little shape modifier feature built into AndEngine. I want to apply 3 modifiers in parallel: change alpha from 1 to 0 (visible to invisible), scale 1 to 10 (normal to huge), and rotate 0 to 360. This was easier said than done, because of a difference between regular shapes and text. Regular shapes use alpha blending by default, text doesn’t.
Read on →
After struggling with this problem for quite some time, I think the issue is finally licked. The problem relates to transferring you fingers momentum to a virtual object on the screen. The natural way to display finger position is to plot a sprite at the touch sensors coordinates. The problem with this method is the physics engine doesn’t think their is any momentum built up. The physics engine just thinks your finger teleported there. So if I teleport on top of a cow it just explodes. To make things worse if the touch events come in too slowly you’ll teleport over the cow completely missing the free lunch.
Read on →
I’ve been a bit lax on updates due to spending any free time on the game mechanics.
The overhead physics is now about right with some polish needed around transfer of momentum from the touch event to a game object. AndEngine, or really any game engine, doesn’t make touching and physics work well together. If you want to make an Angry Birds clone that would be easy, but making your finger the bird is much harder… unless it’s that other bird…
Anyway, I finally have the first mini-game completed. It is called Keep Away, with the simple concept of keeping stuff away from the opponent. There are basic menus, dialogs, game time, and game over transitions. I can now play test with my wife, who thinks the best part is the clucking noise when things collide. Hopefully that won’t be the the only highlight.

Here’s the result of a couple hours of work. The cards are
touchable
and you can move more than one card at a time. The engine allows me
to
hold a card under each finger and rotate my phone in a 360 and
it
tracks my fingers perfectly. I was able to stitch together the
basic
functions because of the numerous example provided by
http://code.google.com/p/andengineexamples/
Now I can image my game coming together in my lifetime. Thanks
Nicolas Gramlich for making such an amazing product and open
sourcing it to the world. AndEngine is a product that I plan on
contributing to in the future.
I’ve decided to use AndEngine to do the first version of the game.
It
has a ton of example source, and seems to be easy enough to use.
I
guess I should have looked harder before doing the previous post.
I’ve also talked with several colleagues and they validated the
general game mechanics. As for the rest of my evening, I will
attempt to get AndEngine up and
running and maybe get an animated sprite drawn before the nights
out.
Woot!

The idea is pretty simple: Thumb War for Android
The primary challenges I see of creating this beast will be:
More to come soon…
When dealing with child views in Android, nesting views with touch events can wipe out basic onClick behavior. This can turn a happy developer into a “punch stranger in the face” developer in no time flat. To return the rabbit developer back to normal, I scraped together the following snippet.
Read on →
First lession in Unix 101
Read on →
Nice, free swearing lessons.
Read on →
If I was running a Rails shop, I would be here. But in the big
scheme of this, it’s still easier to find Java developers.
I’ll be back for the next startup.
I could have used this on many occasions.
Read on →
Nathan, get ready. It’s time to start working!
Read on →
This will come in handy with Spring cleaning coming up.
Read on →
Time to do some photography training, this should be a good one.
Read on →
I don’t remember drivers ed teaching it like this. The day is coming when I won’t be afraid of driving in the city.
Read on →
Yet another thing to research
Read on →
Not as good of a reaction as I was hoping, but better than nothing.
This would be great. I never want to setup another VPN firewall ever again.
Read on →
One day I hope to be as awesome as her.
Read on →
Interesting article about a Pizza place in my old stomping grounds. I didn’t realize they were so successful.Time to get a Double Decker BBQ Chicken. YUM!
Read on →
Time to brush up on my keyboarding skills. I’ve got people to keep up with now.
Read on →
Time to brush up on my keyboarding skills. I’ve got people to keep up with now.
Read on →
In 1988, the film â€œRain Man,â€ about an autistic savant played by Dustin Hoffman, shed a humane light on the travails of autism while revealing the extraordinary powers of memory that a small number of otherwise mentally disabled people possess, ostensibly as a side effect of their disability.
Read on →
This will be my next snow suit!
Read on →
Sounds like a nice idea if you want document services with the comfortable administration of MySQL.
Read on →
Lets all get iMacs and have a Lan party while sipping some broccoli cheddar soup.
Read on →
So many choices. I’m glad Rails got on there, otherwise I’d have to start a flame war.
Read on →
Too bad my Christmas list is full.
In a few hours, Iâ€™ll be down in the studio playing around with the Archos 9 that is on itâ€™s way from the DHL depot. I wonâ€™t be too interactive as I want to record an unboxing video and some testing in preparation for the real live session with JKK (one of our Friday night, bring-your-own-bottle sessions) on Friday evening starting at 2130 CET. (Check your time here)
Live sessions take place in the LIVE page which is always available (and open for chat via IRC)
In the live session weâ€™ll be talking about the Archos 9, the Archos 5, the Motorola Droid/Milestone and the Eking S515 (also known as the PsiXPDA)
We look forward to seeing you.
Thanks for Mobilx.eu for sending the Archos 9 over for testing.
Related posts:
I really need to get on this band wagon.
At the close of a whiz-bang year, OpenID has a lot to be proud of.
With a community of 9 million sites that use OpenID logins and 1 billion individual users, OpenID has effectively revolutionized the way we are able to create and maintain portable identities. Best of all, it’s not just bloggers and geeks who sang OpenID’s praises: The U.S. federal government got on board this year, too.
OpenID accounts are enabled by such providers as AOL, Blogger, Flickr, Google, LiveJournal, MySpace, Verisign, WordPress and Yahoo with announcements of upcoming OpenIDs from Microsoft and PayPal. Sites that allow users to login with OpenID range from major retailers and music labels to news organizations and social sites.
As for the government, at the Gov 2.0 Summit in Washington, DC, earlier this year, the General Services Administration and several government agencies announced they would adopt OpenID as part of the White House’s Open Government Initiative. Participating companies included Yahoo!, PayPal, Google, Equifax, AOL, VeriSign, Acxiom, Citi, Privo and Wave Systems. On the government side is the Center for Information Technology (CIT), National Institutes of Health (NIH), U.S. Department of Health and Human Services (HHS), and related agencies.
Not only is the government’s involvement a vote of confidence for OpenID’s innovation; it also speaks to the product’s security progress, which was spearheaded by security committee head and PayPal exec Andrew Nash.
In addition to developing and spreading the OpenID product, there’s also the OpenID Foundation, which appointed its first executive committee, including Chris Messina and Don Thibeau, in 2009.
Portable identity is one of our favorite themes from this year, and we applaud what OpenID has been able to accomplish. What do you look forward to seeing from the product, the foundation and OpenID partner sites in the year to come? Let us know your thoughts in the comments.
Discuss
Looks like there is an automatic mode available.
But I’m guessing it doesn’t work well if the network isn’t
found.
I don’t know enough about WebDav to have a good option about it
without doing the full setup for myself.
http://blog.taragana.com/index.php/archive/subversion-hack-automatic-versioning-on-save-with-subversion/
Why just for Christmas? How about 4th of July? Mardi Gras?If time allows (which it doesn’t), this will be my next home project.
This isn’t the first time Christmas lights have met Guitar Hero on the pages of Gizmodo, but this former Disney employee’s efforts are definitely the best use of the game that I’ve ever seen.
Read on →
This guy needs to be an art director of a game soon.
Lifehacker reader Orioto stunned and amazed us earlier this year with his incredible paintings of classic video games for your desktopâ€”and he’s back with yet another must-see collection of wallpapers for your desktop.
We realize desktop wallpaper isn’t necessarily the most productive thing on the planet, but you spend countless hours at your computer every week, and sometimes a fresh wallpaper is just the ticket for some rejuvenation.
Note: Click on the name of the particular wallpaper to access the full range of sizes at the source site.
(Click any of the images for a closer look.)
Read on →
Nice! I have something new to put on my Christmas list.
Redneck Techie’s vision for a pico projector Wireless Game Gun has been realized…by Microvision. As you can see, the controller allows gamers to break free from their fixed screens and project the battle on any surface.
Read on →
Using the infinite focus capability of the PicoP display engine, combined with a motion sensing module, it’s now possible to play video games on multiple surfaces, all while tracking your character’s point of view in 3D space.

Tricked by YouTube again. This video series really teaches something instead of just saying how easy it is to learn. I like how this instructor needs to reference the sheet music later in the series. He is human after all.
Hopefully one day I’ll be good enough to actually apply these principles and it would make a real difference to my technique. Until then it’s back to reading sheet music for me.
–
Scott Pierce |<PHONE_NUMBER>
Must learn now!
Firefox and Safari partially support it, Google’s Wave and Chrome projects are banking on it, and most web developers are ecstatic about what it means. It’s HTML5, and if you’re not exactly sure what it is, here’s an explainer.
Read on →
Great idea, maybe I should move to it.
The do-it-yourself website space is so crowded right now that it’s amazing to see anyone launch a product and cut through the noise. Still, we were captivated by the simplicity and design of Flavors.me.  As of this evening non-designers will have a chance to revel in their newly found web sex appeal.
Read on →
My next serving of fried chicken will be here.
APE only uses web standards (with the use of the Asynchronous JavaScript and XML (AJAX)). You do not need any plugins to be installed on your web browser, just enjoy!
I hope I can have dreams of this image every night.
Over the apple-smoked mountains, the great yolk rose again. And day began anew. [jenntotten via Geekologie]
Google, it’s about time you released this. Goodbye baby blues. Hello choice.
Google Sites is getting an upgrade. Starting today, Google will provide templates that it claims makes it possible for users with no technical background to create web sites with a degree of functionality that includes page layouts, adding links for navigation and embedded gadgets.
Read on →
One day we’ll have a place like this. Must work harder!!!
Today, Twitter moved into a new, much larger office in San Francisco. The space, which was previously Beboâ€™s SF office, is right around the corner from their old one.
A few members of the Twitter team spent much of the weekend decorating the new digs with a number of Twitter-themed elements like birds and @ symbols. Check out some of the pictures being posted to the web by Twitter employees below. And yes, there is a DJ booth â€” and apparently vanity mirrors in the toilet stalls.
Read on →
Does not backing up at all count as the wrong way?
Time and time again, people tell me that they’ve bought an external hard drive to back up their pictures, music, and documents. Great, right? Sadly, that’s not always the case.
Read on →
Architecting in the Cloud Webinar
Thank you for registering for our webinar, Best Practices for Architecting in the Cloud. The recording of this informative, hour-long webinar is now available for you to watch. Click here.
Â
You can see previously recorded webinars and register for more events at http://aws.amazon.com/resources/webinars
Â
Please send your questions, comments and feedback to Tracy Laxdal<EMAIL_ADDRESS>Â
Thank you,
Â
The Amazon Web Services Team
Â
Â
Â
Chopping wood is a satisfying, yet laborious, task. Give yourself an efficiency boost with this simple bungee cord organization video tip.
Photo by Muffet.
Read on →
This video shows Oli Lemieux practicing on the trampoline wall of Cirque du Soleil and I’ve watched it twice already. I keep searching for clues that it’s just a cleverly edited video, that someone couldn’t possibly really do these stunts.
Read on →
I’m surprised he can take a full stride.
Yes, they’re Barracuda pantsâ€”the only trousers that remind you, and anyone within eyesight, that you have a penis.
The copy says: “Male makes pure man stuff… like bold and brawny Barracuda slacks with swing-around pocket styling. They cling like a girl in the dark. Won’t wrinkleâ€”they’re permanently pressed! Rarer fabrics…richer colors…better tailoring…modest prices…all yours at better stores throughout the Free World.  You’ll buy an armload.
H+K CORPORATION, Atlanta, Ga. * creators of MALE - THE FASHION SPOKESMAN FOR AMERICAN MEN”
I think my favorite part about this retro magazine ad is that these super manly manly pants are available “at better stores throughout the Free World.” That’s as priceless as the placement of the guy is unfortunate.
(Image: SA_Steve)
Most of you have probably seen Sales Guy v. Web Dude, a hilarious video on the joys of tech support. If you havenâ€™t seen it, kiss ten minutes goodbye and start there. It ranks up there with the stuff on Best Page In The Universe in entertainment and laugh value.
The creator was quiet for a long time after that video. But in the last few months have been productive for him. And he now has three new videos and posted them on The Website Is Down. All, including the original, are embedded below:
The original website is down video web dude tries desperately to get his important work done while assaulted on all sides by rampant incompetence. Will he survive???
Video #2 from the website is down! Chip takes us on a wild ride into the life of a master salesman. How many sales can he make in a single video? One? Maybe?
"http://www.youtube.com/v/1SNxaJlicEU&hl=en_US&fs=1&"
type="application/x-shockwave-flash" wmode="transparent"
allowscriptaccess="never" height="385" width="480" />

Episode 3 â€“ Remain Calm

Chip Demonstrates his special procedure for a hot-swap hardrive
replacement using only his steel-toed boot and his razor thin
patience.  Let’s make Ruby fun again, and less magical.
Read on →
I’m not sure if this is going to work, but here it goes.
This brings back some fond memories. If I only had the time to read through one of these. Maybe next year.
Read on →
I don’t get it. If only I had time to learn another language.
Read on →
Maybe one day with enough practice, I’ll be able to play there. I didn’t see a kazoo being featured.
Read on →
Twitter charges Bing and Google indexing rights? Why didn’t I think of that?
Read on →
Seems like a neat idea, but there’s gotta be a way to do this without the toolbar. Maybe via Firefox extension. I guess that wouldn’t work out side of FF.
Wanted to go to JRubyConf or RubyConf this year? Tough - they’re sold out already. Luckily, though, there are some interesting upcoming events that you can still get in to - some online, some in multiple cities, some held in youth centers, some in hotels, and even one on a tropical island. Whew!
Read on →


{% load otree staticfiles %}
Instructions for the game:
This game is about trying to do the same as your colleague.
Every morning you arrive at work between 8:00am and 9:10am. You and your colleague will arrive by bus 10 minutes apart. Example: You arrive at 8:40am. Your colleague can arrive at 8:30am, or 8:50am.
Both of you like to meet in the canteen for a coffee. If you arrive before 9:00am, you have time to go to the canteen, but you should only go if your colleague goes to the canteen as well. If you or your colleague arrive at 9:00am or after, you should go straight to your offices.
At the beginning of each round you will know only your own arrival time and you will have to decide whether to go to the canteen or to your office. After each round you will be asked to estimate how certain you are that you made the same choice as your colleague.
Payoff and penalties:
You start the game with {{ Constants.endowment }} and will have to pay various amounts of penalties in each round, depending on how well you both do. Your challenge is to have as much money left as possible when the game ends, after which the remaining amount is paid out to you as a bonus. The game ends after {{ Constants.num_rounds }} rounds or when you or your colleague has no more money left.

If you miss each other, and one of you goes to the canteen while the other goes to the office - or if any of you goes to the canteen at 9:00am or after, your penalty is doubled and proportional to how certain you were, e.g.:


Juventus maintain lead at top with Atalanta victory
Cristiano Ronaldo missed Juventus' trip to Atalanta on Saturday despite his four-goal spree for Portugal as he recovers from a knee problem, but the Italian giants still managed a 3-1 win.
Maurizio Sarri's side left it late to seal victory in Bergamo after Robin Gosens had nodded Atalanta ahead after 56 minutes.
Gonzalo Higuain hit back with two goals in eight minutes before Paulo Dybala marked his 200th Serie A appearance with the third goal one minute into injury time.
Juve stay one point ahead of second-placed Inter Milan, who trounced Torino 3-0 in torrential rain in Turin. Lautaro Martinez, Stefan de Vrij and Romelu Lukaku got the goals.
"We suffered but, in the final 20 minutes we gave everything we had to bring the win home," said Sarri.
The former Chelsea mannager added that he hopes Ronaldo recovers in time for their Champions League match against Atletico Madrid on Wednesday morning (Singapore time). - AFP


| 1 | package fr.sii.ogham.sms.splitter; | |
| 2 | ||
| 3 | /** | |
| 4 | * Every character present in base character table count as 1 octet. | |
| 5 | * | |
| 6 | * Every character present in extended character table count as 2 octets (escape | |
| 7 | * character followed by extension character). | |
| 8 | * | |
| 9 | * @author Aurélien Baudet | |
| 10 | */ | |
| 11 | public class GsmBasicCharsetExtensionTableCounter implements LengthCounter { | |
| 12 | private static final int MAXIMUM_SPLIT_SEGMENT_LENGTH = 153; | |
| 13 | private static final char[] EXT_CHARS = { '\f', '^', '{', '}', '\\', '[', '~', ']', '|', '\u20ac' }; | |
| 14 | ||
| 15 | /** | |
| 16 | * If extended characters are found in the string, each character must be | |
| 17 | * count as 2 characters. As they are already present in the original | |
| 18 | * string, add the number of extended characters to original string length. | |
| 19 | */ | |
| 20 | @Override | |
| 21 | public int count(String str) { | |
| 22 | int originalLength = str.length(); | |
| 23 | int extendedChars = countExtendedChars(str); | |
| 24 | // There is a edge case where the whole message can't fit in a single | |
| 25 | // segment, contains extended characters only and the segments are full. | |
| 26 | // | |
| 27 | // As the message can't fit in one segment so it must be | |
| 28 | // split in segments of 153 characters. | |
| 29 | // So it could hypothetically fit in segments of 153 characters. | |
| 30 | // But it can't because the extended character can't be cut in the | |
| 31 | // middle. | |
| 32 | // We need to add 1 to message length to generate an additional segment | |
| 33 | // TODO: improve this | |
| 34 |
3
1. count : negated conditional → RUN_ERROR 2. count : Replaced integer modulus with multiplication → RUN_ERROR 3. count : negated conditional → RUN_ERROR |
if (originalLength == extendedChars && extendedChars % MAXIMUM_SPLIT_SEGMENT_LENGTH == 0) { |
| 35 |
3
1. count : Replaced integer addition with subtraction → RUN_ERROR 2. count : Replaced integer addition with subtraction → RUN_ERROR 3. count : replaced int return with 0 for fr/sii/ogham/sms/splitter/GsmBasicCharsetExtensionTableCounter::count → RUN_ERROR |
return originalLength + extendedChars + 1; |
| 36 | } | |
| 37 |
2
1. count : Replaced integer addition with subtraction → RUN_ERROR 2. count : replaced int return with 0 for fr/sii/ogham/sms/splitter/GsmBasicCharsetExtensionTableCounter::count → RUN_ERROR |
return originalLength + extendedChars; |
| 38 | } | |
| 39 | ||
| 40 | private static int countExtendedChars(String str) { | |
| 41 | int found = 0; | |
| 42 | int len = str.length(); | |
| 43 |
2
1. countExtendedChars : negated conditional → RUN_ERROR 2. countExtendedChars : changed conditional boundary → RUN_ERROR |
for (int i = 0; i < len; i++) { |
| 44 | int search = 0; | |
| 45 | char c = str.charAt(i); | |
| 46 |
2
1. countExtendedChars : changed conditional boundary → RUN_ERROR 2. countExtendedChars : negated conditional → RUN_ERROR |
for (; search < EXT_CHARS.length; search++) { |
| 47 |
1
1. countExtendedChars : negated conditional → RUN_ERROR |
if (c == EXT_CHARS[search]) { |
| 48 |
1
1. countExtendedChars : Changed increment from 1 to -1 → RUN_ERROR |
found++; |
| 49 | break; | |
| 50 | } | |
| 51 | } | |
| 52 | } | |
| 53 |
1
1. countExtendedChars : replaced int return with 0 for fr/sii/ogham/sms/splitter/GsmBasicCharsetExtensionTableCounter::countExtendedChars → RUN_ERROR |
return found; |
| 54 | } | |
| 55 | ||
| 56 | } | |
Mutations | ||
| 34 |
1.1 2.2 3.3 |
|
| 35 |
1.1 2.2 3.3 |
|
| 37 |
1.1 2.2 |
|
| 43 |
1.1 2.2 |
|
| 46 |
1.1 2.2 |
|
| 47 |
1.1 |
|
| 48 |
1.1 |
|
| 53 |
1.1 |


A way of meditating with St Clare through letting the message of her letters touch you.
Among the few writings left to us by St Clare there are four letters written to a Princess in far away Bohemia (Czechoslovakia). This lady, Princess Agnes, had heard of St Clare through some Friars who went to Prague from Italy.  None of Agnes’ letters have come down to us, and only four of the ones Clare wrote. They reveal the heart of her spirituality: she sought poverty and humility in order to become filled with the riches of the Father, through Jesus His Son. What follows here are the four letters in miniature. Here you will find Clare’s way of living and praying, which can be a guide to all Christians.
Read on or download.
Look!
The Lord Jesus Christ –
Love Him, touch Him, accept Him.
His power is stronger,
His generosity greater,
His face is more beautiful,
He loves more tenderly,
He is more gracious, more courteous –
See now
You are held tightly in His embrace.

Look!
The Son of Man –
The Poor Crucified –
Burn with desire to serve Him in Poverty.
Man of Nowhere –
Now Lord over Earth and Heaven
Creating you by a word.
Man of Poverty –
Now our great and good Lord
Making you rich.
Man Despised –
Now and forever
Son of the Most High Father
and
Giver of Joy –
Serve Him with total desire.
Giver of Mercy –
So you can grow from good to better.
Giver of great reward –
Long always to see Him
THE LORD JESUS CHRIST.
THE KING OF KINGS calls his daughter
The Lord of Lords beckons His handmaid.
Believe Him, the Giver of Grace
Giver of each good gift,
Creator of goodness in you,
And thank Him.
The KING himself makes you His companion –
This is your perfection.
Follow His footprints
In a spirit of humility and love
Unswervingly seek poverty –
Remember Him . . . .
Be aware of Him . . . .
Journey on swiftly,
Keeping hold of your aim,
with lightness of step
and freedom of movement
swiftly keep moving.
Let no dust collect in your steps
on the path to happiness.
God carefully, securely, joyfully,
let nothing block the way
on which the Spirit of the Lord
has called you
to embrace the Poor Christ.
As a poor and obedient virgin
embrace the poor Christ.
Gaze long at Him –
The poor condemned Christ . . .
Ponder and weigh in your heart
and contemplate Him, your Beloved.
The fairest of men
is now the lowest of all.
Despised by them all,
His whole body beaten and struck
till, desolate –
He dies –
on the Cross.
Suffer with Him
and so with Him reign
Weep with Him,
then with Him be joyful.
Exchange what passes, what fades
for Life for ever and ever
with Him
The KING OF KINGS
who calls.
Sister and Beloved
of the Most High King of Heaven,
may you be very joyful in the Lord!
Be not entangled with bitterness
or a cloud of sadness.
Joy! That you are in Christ, redeemed.
Joy! In your well-being,
Joy! In your happiness.
Joy! In your progress, your growth.
That you, poor and humble,
follow in the footprints of Christ
poor and humble – Joy!
That you are delivered and safe
from evil and pride and vanity – Joy!
That you love to be poor,
and so have found in your heart
desire for God –
a treasure which ALL have hidden within –
Joy!
That you work with God Himself
to support the weak and the falling –
Joy!
So, rejoicing in such marvelous things
Place your mind in the Mirror of Eternity
-Jesus Christ –
Place your soul
in the Radiance of His Glory
-Lord of Lords –
Place your heart
in the Image of His Divine Being
-Son of God –
In contemplation
be transformed into God’s image
completely.
Then may you taste His hidden sweetness
Then love Him totally
who gave Himself totally
for your love.
Extravagantly gifted by Him
to be the most worthy of all creatures,
be that faithful person
who is His dwelling place,
His comfortable home.
Like His most sweet Mother
who carried in so small a space
that Son of hers
whom the Heavens could not contain.

May you do well in the Lord!
Sing a new song
before God’s throne and the Lamb,
Beloved of Jesus Christ.
Follow the Lamb wherever He may go,
You, who belong completely to Him who takes away the sin of the world.
Come to His Sacred Banquet –
Cling to Him with all your heart –
Praise His beauty there,
as they do in heaven.
Accept the touch of His love –
and be moved by Him
Gaze long at Him –
and be renewed.
You are fulfilled by His generosity.
Feel His sweetness overflowing in you.
To keep Him in your mind brings gentle light,
seeing Him glorious is to be happy
with everyone.
There, in heaven,
magnificent, in light,
the clearest Mirror.

Time and again study your face in His,
and put on His kind of clothes,
within and without – His strengths.
Look, and see in this Mirror
shining out to us all
blessed poverty, holy humility
and love no words can express.
Look! Here! At the Mirror’s edge
a baby in swaddling clothes –
King and Lord of heaven and earth –
In a manger!
Look further, into the centre –
He endures the work and the stress
day after endless day, for us –
The Redeemer.
Look! Look yet again, at the Mirror’s farthest end –
in love no words can express
He wills to suffer and die
a most shameful kind of death
on the Tree of the Cross.
“O you who pass and look,
have you seen sorrow like this?”
He laments from this Mirror Cross.
“I ponder it all the time
and my heart sinks,”
united, we reply.
Beloved of Jesus Christ,
be burned up with the intensity of this love.
Contemplate His riches, His honours, His delights.
With deep desire
and the love of all your heart
run towards Him as He draws you.
Run, do not tire –
He will bring you to His wine cellar –
He will happily embrace you,
and love you totally
in the happiest way
for ever and ever!
Sister Clare Agnes osc.


Gabe!o
COPYME!
Why would you want me to be normal???
Welcome to Gabe!o
Yes, I am aware that my website is weird.
But guess what,
so am I!
Follow me on
github
,
or on
Twitter
,
or contact me @ this domain (gabe.io)...
But either way,
I hope you like my site :).
And! you can
read more about me


Roombacomm Release 0.97
Documentation for Roombacomm
is rooted in the docs directory. API documentation is linked from the page in the docs directory


This tweak stops shortcuts from sending any notifications whatsoever
It is especially useful for those people who run automations and want a faster and cleaner experience.
This tweak allows you to make the Picture in Picture (PiP) window as big as you want.
I made this so that I can use more screen real estate to watch Netflix while scrolling reddit.


--- layout: post title: "morning lyrics" comments: true ---
I started light-hearted It won't be easy like you said I'm going flowing I'm leaving on the day of the dead I will never get, you will never get I don't want to see you smile


See whats on the agenda for today below
9:00am
10:00am
11:00am
12:00pm
1:00pm
2:00pm
3:00pm
4:00pm
5:00pm


{{channel.channel.display_name}} is playing {{channel.game}}
{{channel.viewers}} {{channel.channel.followers}} {{channel.channel.views}}


customizeBoard Information Report
Contents
Contents
Board Specification
General
Routing
Routing Information
Layer Information
Layer Information
Drill Pairs
Copper Area
Copper Area
Board Holes
Non-Plated Hole Size
Plated Hole Size
Board Slots
Non-Plated Slot Size
Plated Slot Size
Board Square Holes
Non-Plated Square Hole Size
Plated Square Hole Size
Other
Top Layer Annular Ring Size
Mid Layer Annular Ring Size
Bottom Layer Annular Ring Size
Pad Solder Mask
Pad Paste Mask
Pad Pwr/Gnd Expansion
Pad Relief Conductor Width
Pad Relief Air Gap
Pad Relief Entries
Via Solder Mask
Via Pwr/Gnd Expansion
Track Width
Arc Line Width
Arc Radius
Arc Degrees
Text Height
Text Width
Net Track Width
Net Via Size
Board Specification
Back to top
Routing
| Routing Information |
| Routing completion |
82.99% |
| Connections |
335 |
| Connections routed |
278 |
| Connections remaining |
57 |
Back to top
Layer Information
| Layer |
Arcs |
Pads |
Vias |
Tracks |
Texts |
Fills |
Regions |
ComponentBodies |
| Top Layer |
0 |
379 |
0 |
656 |
2 |
0 |
5 |
0 |
| Int1 (GND) |
8 |
0 |
0 |
7 |
0 |
0 |
3 |
0 |
| Int2 (PWR) |
8 |
0 |
0 |
7 |
0 |
0 |
3 |
0 |
| Bottom Layer |
0 |
0 |
0 |
187 |
0 |
0 |
1 |
0 |
| Mechanical 1 |
0 |
0 |
0 |
5 |
0 |
0 |
0 |
139 |
| Mechanical 13 |
4 |
0 |
0 |
468 |
0 |
0 |
0 |
3 |
| Mechanical 15 |
2 |
0 |
0 |
472 |
0 |
0 |
0 |
0 |
| Multi-Layer |
0 |
99 |
152 |
0 |
0 |
0 |
1 |
0 |
| Top Paste |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Top Overlay |
29 |
0 |
0 |
754 |
270 |
0 |
0 |
0 |
| Top Solder |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Bottom Solder |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Bottom Overlay |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Bottom Paste |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Drill Guide |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Keep-Out Layer |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Drill Drawing |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Total |
51 |
478 |
152 |
2556 |
272 |
0 |
13 |
142 |
Back to top
| Drill Pairs |
Vias |
| Top Layer - Bottom Layer |
152 |
| Total |
152 |
Back to top
Copper Area
| Layer |
Sq.In. |
Sq.MM. |
Percent of layer |
| Top Layer |
2.023 |
1304.993 |
15% |
| Int1 (GND) |
11.98 |
7729.212 |
88% |
| Int2 (PWR) |
11.878 |
7663.254 |
87% |
| Bottom Layer |
1.221 |
787.89 |
9% |
| Total |
27.102 |
17485.349 |
|
Back to top
Board Holes
| Non-Plated Hole Size |
Pads |
Vias |
| 129.921mils
|
6 |
0 |
| Total |
6 |
0 |
Back to top
Back to top
Board Slots
| Non-Plated Slot Size / Length |
Pads |
| Total |
0 |
Back to top
| Plated Slot Size / Length |
Pads |
| 23.62mil / 55.118mil |
2 |
| 23.62mil / 82.677mil |
2 |
| Total |
4 |
Back to top
Board Square Holes
| Non-Plated Square Hole Size |
Pads |
| Total |
0 |
Back to top
| Plated Square Hole Size |
Pads |
| Total |
0 |
Back to top
Other
Back to top
Back to top
Back to top
| Pad Solder Mask |
Count |
| 4mils
|
478 |
| Total |
478 |
Back to top
| Pad Paste Mask |
Count |
| 0mils
|
478 |
| Total |
478 |
Back to top
| Pad Pwr/Gnd Expansion |
Count |
| 20mils
|
478 |
| Total |
478 |
Back to top
| Pad Relief Conductor Width |
Count |
| 31.496mils
|
478 |
| Total |
478 |
Back to top
| Pad Relief Air Gap |
Count |
| 10mils
|
478 |
| Total |
478 |
Back to top
| Pad Relief Entries |
Count |
| 4 |
478 |
| Total |
478 |
Back to top
| Via Solder Mask |
Count |
| 4mils
|
152 |
| Total |
152 |
Back to top
| Via Pwr/Gnd Expansion |
Count |
| 20mils
|
152 |
| Total |
152 |
Back to top
Back to top
Back to top
Back to top
| Arc Degrees |
Count |
| 1 |
6 |
| 25 |
2 |
| 86 |
2 |
| 90 |
10 |
| 180 |
10 |
| 360 |
21 |
| Total |
51 |
Back to top
| Text Height |
Count |
| 60mils
|
272 |
| Total |
272 |
Back to top
Back to top
| Net Track Width |
Count |
| 5mils
|
95 |
| Total |
95 |
Back to top
| Net Via Size |
Count |
| 50mils
|
95 |
| Total |
95 |
Back to top


and I’ll analyze it’s contents
to understand how
they work
...while thinking outside of it.
I bring
curiosity,
innovation,
emotional intelligence,
&
process improvement
to an
exciting industry
where there are always problems to solve
and more things to learn.


'Art on Deck' Book Showcases 20 Years of Supreme's Iconic Skateboards
Focusing on the label’s artist collaborations.
by Jack StanleyWriter, designer and curator Byron Hawes — who previously released Drop in 2018 — has launched a new book examining the history of Supreme‘s artist-designed skateboards. Titled Art on Deck, the book focuses on the New York label’s work with contemporary artists from 1998 until 2018, spanning KAWS, Damien Hirst, Takashi Murakami and Jeff Koons.
Alongside images of some of the most-recognizable boards, the book also features Supreme’s rarest decks including the “LV” cease-and-desist series and the “Japan-only Jesus.” Additionally, creatives including LA-based photographer @baariksgallery and Johanesburg-based collective I See A Different You have captured the boards in action, while the book also features discussion and interviews with some of the artists in question.
As well as featuring in Art on Deck, Supreme skate decks are also partially the subject of a new auction at Christie’s, which includes a number of collaborative artist boards as well as other accessories from the New York brand.
Take a look at Art on Deck in the gallery above, and head over to Amazon to get your hands on the comprehensive book.
In other Supreme news, the label recently revealed its latest Phaidon monograph, a new 351-page book covering the brand’s visual history from 2010-2018.


Aron Rossman-Kiss is a young visual artist based in Geneva. Using mainly analog photography, video and text, his current work focuses on sociopolitical and identity-related issues. In addition to his artistic work, he pursues studies in cultural Anthropology.
“Transeuropean media route” is a part of Borders’ land, an ongoing series of works started in 2013 that deal with European borders and the complex realities produced by them. Through immersive fieldwork and the use of analog photography, it hopes to present a nuanced and holistic picture of these situations. Visually, the approach is an attempt to go beyond the conventional photo reportage and pays special attention to the geography – man made or natural – and hors champ surrounding the scenes.
Bissane Al Charif: born in Paris 1977. In 2001 she graduated from the faculty of Architecture in Damascus university. Then studied Set Designing (Scenography) in the Department of Graduate Studies at the School of Architecture in Nantes and graduated in 2005. She was lucky to be guided and trained by passionate and experienced professors in theatre, cinema, exhibitions and museums designing. and she tried to use this different skills that She obtained from studying and works experiences in different art fields. this background enables her to work on individual experiences such as designing exhibitions and artistic installation, or as a part of collective artists as a theatre designer. In 2005 bissane went back to Syria to start working at Damascus Opera House as a scenographer. in the same time she created Scenography designes for big events and theatre Shows in Damascus; she also worked as a set decoration in many cinema movies. Bissane born in France for Palestinian parents and grown in Syria. This different culture sources enrich her artistic view, and gave her unique artistic vision appeared clearly in her working style. Which gave her the opportunity to work in middle east and Europe. Since 2013, she lives in France and work as an independent scenographer and artist. And now she is working on artistic installation, called Memoire (S) des Femmes, "Women memories ", trying to develop her skills in the field of art-media.
WOMEN MEMORIES is the title of a documentary installation including videos, photographs and sound material. The project is based on documentations and memory, memory of people and places of memory. The installation follows the journey of several displaced Syrian and Palestinian-Syrian women or rather exiled in Arab countries or in Europe, since the beginning of the Syrian crisis. Women memories tell the story of the loss of a “home” and recount the painful journeys of these women. Questioning the time of departure, the road to the new place. A project by Bissane Al Sharif, Image, sound, editing by Simon Pochet & Bissane Al Charif with the artistic collaboration of Wael Ali. Produced with the help of Inediz, British Council, Young Arab Theatre Fund, Ettijahat
Joel Bergner (aka Joel Artista) is an artist, educator and organizer of public arts-based social action initiatives with youth and communities around the world. He works in acrylic and aerosol, creating elaborate paintings and public murals that explore social topics and reflect a wide array of artistic influences. Joel has facilitated community mural projects in refugee camps, juvenile detention centers, shantytowns and marginalized neighborhoods across the US, Latin America, Africa, Europe, India and the Middle East. For each project, he partners with local residents and organizations to give a platform to people in highly challenging circumstances to advocate for issues that are important to them, learn valuable skills and uplift their environment through public art. These projects have featured partnerships with dozens of local and international institutions, including UNICEF, Mercy Corps and the Open Society Initiative of Eastern Africa. His work has been published in several books and has been covered by various media outlets including Al Jazeera, NPR and Reuters. Joel is now partnering with fellow artist Max Frieder to found the Artolution, a network of community-based public art initiatives around the world led by local artists and educators, communicating with one another through the arts. Joel was raised in central Illinois and is currently based in Brooklyn, New York. He enjoyed art from a young age, but also pursued his interest in community work, leading him to positions working with the mentally ill, the homeless and as a counselor for youth in treatment for emotional disturbance. Over time, he experimented with ways to bring his two passions together, leading to his current direction.
Visit Joel’s website www.joelartista.com to check out photos, videos and stories from his global projects.


Newbie Guide:
Select the one you seek below. Their location will be indicated on the radar.
Grand Master Bitz
Master Gwinter
Master Minia
Master Pintage
Back To The Main List


public class Network
extends java.lang.Object
implements java.io.Serializable
The nodes of a Network's graph can be any arbitrary, properly hashable object. The edges of the graph are members of the Edge class. This class is little more than a wrapper around an arbitrary object as well (the Edge's 'info' object). Thus your graph's nodes and edges can essentially be objects entirely of your choosing.
Edge objects also contain pointers to the Nodes that they are to and from (plus some auxillary index information for speed).
Nodes and Edges are stored in the Network using two data structures: a Bag containing all the nodes in the Field; and a Map which maps each Node to a container holding the Node's index (position) in the Bag, plus a Bag of the Node's outgoing Edges and a Bag of the Node's incoming Edges. Ordinarily you won't fool with these structures other than to scan through them (in particular, to scan rapidly through the allNodes bag rather than use an iterator).
To add a node to the Network, simply use addNode(node). To remove a node, use removeNode(node). To add an edge to the Network, use addEdge(fromNode,toNode,edgeInfoObject), where edgeInfoObject is your arbitrary edge object. Alternatively, you can make an Edge object from scratch and add it with addEdge(new Edge(fromNode, toNode, edgeInfoObject)). You remove edges with removeEdge(edge). If you add an edge, and its nodes have not been added yet, they will automatically be added as well.
Traversing a Network is easy. To get a Bag of all the incoming (or outgoing) Edges to a node, use getEdgesIn(node) or getEdgesOut(node). Do not add or remove Edges from this Bag -- it's used internally and we trust you here. Also don't expect the Bag to not change its values mysteriously later on. Make a copy of the Bag if you want to keep it and/or modify it. Once you have an Edge, you can call its to() method and from() methods to get the nodes it's from and to, and you can at any time get and modify its info object. The to() and from() are fast and inlined.
However, the getEdgesIn(node) and getEdgesOut(node) methods are not super fast: they require a hash lookup. If you are planning on applying an algorithm on the Network which doesn't change the topology at all but traverses it a lot and changes just the contents of the edge info objects and the node object contents, you might consider first getting an adjacency list for the Network with getAdjacencyList(...), or an adjacency matrix with getAdjacencyMatrix(...) or getMultigraphAdjacencyMatrix(...). But remember that as soon as the topology changes (adding/deleting a node or edge), the adjacency list is invalid, and you need to request another one.
Computational Complexity. Adding a node or an edge is O(1). Removing an edge is O(1). Removing a node is O(m), where m is the total number of edges in and out of the node. Removing all nodes is O(1) and fast. Getting the in-edges or out-edges for a node is O(1). Getting the to or from node for an edge is O(1) and fast.
Warning About Hashing. Java's hashing method is broken in an important way. One can override the hashCode() and equals() methods of an object so that they hash by the value of an object rather than just the pointer to it. But if this is done, then if you use this object as a key in a hash table, then change those values in the object, it will break the hash table -- the key and the object hashed by it will both be lost in the hashtable, unable to be accessed or removed from it. The moral of the story is: do not override hashCode() and equals() to hash by value unless your object is immutable -- its values cannot be changed. This is the case, for example, with Strings, which hash by value but cannot be modified. It's also the case with Int2D, Int3D, Double2D, and Double3D, as well as Double, Integer, etc. Some of Sun's own objects are broken in this respect: Point, Point2D, etc. are both mutable and hashed by value.
This affects you in only one way in a Network: edges are hashed by nodes. The Network permits you to use any object as a node -- but you have been suitably warned: if you use a mutable but hashed-by-value node object, do NOT modify its values while it's being used as a key in the Network.
Directed vs. Undirected Graphs. Networks are constructed to be either directed or undirected, and they cannot be changed afterwards without being entirely cleared first (using reset(...)). If the network is directed, then an Edge's to() and from() nodes have explicit meaning: the Edge goes from() one node to() another. If the network is undirected, then to() and from() are simply the two nodes at each end of the Edge with no special meaning, though they're always consistent. The convenience method edge.getOtherNode(node) will provide "other" node (if node is to(), then from() is returned, and vice versa). This is particularly useful in undirected graphs where you could be entering an edge as to() or as from() and you just want to know what the node on the other end of the edge is.
There are three methods for getting all the edges attached to a node: getEdgesIn(), getEdgesOut(), and the less efficient getEdges(). These methods work differently depending on whether or not the network is directed:
| Directed | Undirected | |
| getEdgesIn() | Bag of incoming edges | Bag of all edges |
| getEdgesOut() | Bag of outgoing edges | Bag of all edges |
| getEdges() | Modifiable Bag of all edges | Modifiable Bag of all edges |
Hypergraphs. Network is binary. In the future we may provide a Hypergraph facility if it's needed, but for now you'll need to make "multi-edge nodes" and store them in the field, then hook them to your nodes via Edges. For example, to store the relationship foo(node1, node2, node3), here's one way to do it:
| Modifier and Type | Class and Description |
|---|---|
static class |
Network.IndexOutIn
The structure stored in the indexOutInHash hash table.
|
| Modifier and Type | Field and Description |
|---|---|
Bag |
allNodes
All the objects in the sparse field.
|
static int |
ANY_SIZE
Pass this into buildMap to indicate that it should make a map of any size it likes.
|
java.util.Map |
indexOutInHash
Hashes Network.IndexOutIn structures by Node.
|
| Constructor and Description |
|---|
Network()
Constructs a directed graph
|
Network(boolean directed)
Constructs a directed or undirected graph.
|
Network(Network other)
Constructs copy of an existing graph.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addEdge(Edge edge)
Add an edge.
|
void |
addEdge(java.lang.Object from,
java.lang.Object to,
java.lang.Object info)
Add an edge, storing info as the edge's associated information object.
|
void |
addNode(java.lang.Object node)
Add a node
|
java.util.Map |
buildMap(int size)
Creates a map of the provided size (or any size it likes if ANY_SIZE is passed in).
|
java.util.Map |
buildMap(java.util.Map other)
Creates a Map which is a copy of another.
|
Bag |
clear()
Removes all nodes, deleting all edges from the Field as well.
|
Network |
cloneGraph()
Deprecated.
|
Edge[][] |
getAdjacencyList(boolean outEdges)
Creates and returns an adjacency list.
|
Edge[][] |
getAdjacencyMatrix()
Creates and returns a simple adjacency matrix, where only one edge between any two nodes is considered -- if you're
using a multigraph, use getMultigraphAdjacencyMatrix() instead.
|
Bag |
getAllNodes()
Returns all the objects in the Sparse Field.
|
Edge |
getEdge(java.lang.Object from,
java.lang.Object to)
Returns an arbitrary edge connecting the "from" node to the "to" node, if one exists, else returns null.
|
Bag |
getEdges(java.lang.Object node,
Bag bag)
Get all the edges that enter or leave a node.
|
Bag |
getEdges(java.lang.Object from,
java.lang.Object to,
Bag bag)
Clears the provided Bag, then places in it all edges connecting the "from" node to the "to" node.
|
Bag |
getEdgesIn(java.lang.Object node)
Get all edges that enter a node.
|
Bag |
getEdgesOut(java.lang.Object node)
Get all edges that leave a node.
|
Network |
getGraphComplement(boolean allowSelfLoops)
Complements the graph: same nodes, no edges where they were, edges where they were not.
|
Edge[][][] |
getMultigraphAdjacencyMatrix()
Creates and returns a multigraph adjacency matrix, which includes all edges from a given node to another -- if you know for sure
that you have a simple graph (no multiple edges between two nodes), use getAdjacencyMatrix instead.
|
int |
getNodeIndex(java.lang.Object node) |
boolean |
isDirected() |
java.util.Iterator |
iterator()
Iterates over all objects.
|
boolean |
nodeExists(java.lang.Object node) |
void |
removeAllEdges()
Remove all the edges in the network.
|
Bag |
removeAllNodes()
Synonym for clear(), here only for backward-compatibility.
|
Edge |
removeEdge(Edge edge)
Removes an edge and returns it.
|
java.lang.Object |
removeNode(java.lang.Object node)
Removes a node, deleting all incoming and outgoing edges from the Field as well.
|
void |
reset(boolean directed)
Resets the network, clearing it of nodes and edges.
|
void |
reverseAllEdges()
This reverse the direction of all edges in the graph.
|
Edge |
updateEdge(Edge edge,
java.lang.Object from,
java.lang.Object to,
java.lang.Object info)
Removes the given edge, then changes its from, to, and info values to the provided ones,
then adds the edge to the network again.
|
public java.util.Map indexOutInHash
public Bag allNodes
public static final int ANY_SIZE
public Network(boolean directed)
public Network()
public Network(Network other)
public boolean isDirected()
public void reset(boolean directed)
public Edge[][] getAdjacencyList(boolean outEdges)
The adjacency list is an array of Edge arrays. Each edge array holds all outgoing edges from a node (if outEdges is true -- otherwise it's the incoming edges to the node). The edge arrays are ordered in their parent array in the same order that the corresponding nodes are ordered in the allNodes bag.
As soon as you modify any part of the Network's topology (through addEdge(), addNode(), removeEdge(), removeNode(), removeAllNodes(), etc.), the adjacency list data is invalid and should not be used. Instead, request a new adjacency list.
You can modify these edge arrays any way you like, though the Edge objects are the actual Edges used in the Network. This means you can't add them to another Nework, though you can add copies of them (as in myNewNetwork.add(new Edge(myAdjacencyList[i][j])); )
public Edge[][] getAdjacencyMatrix()
The adjacency matrix is a two-dimensional array of Edges, each dimension as long as the number of nodes in the graph. Each entry in the array is either an Edge FROM a node TO another, or it is null (if there is no such edge). If there are multiple edges between any two nodes, an arbitrary one is chosen. The Edge array returned is organized as Edge[FROM][TO]. The indices are ordered in the same order that the corresponding nodes are ordered in the allNodes bag.
As soon as you modify any part of the Network's topology (through addEdge(), addNode(), removeEdge(), removeNode(), removeAllNodes(), etc.), the adjacency matrix data is invalid and should not be used. Instead, request a new adjacency matrix.
You can modify these edge arrays any way you like, though the Edge objects are the actual Edges used in the Network. This means you can't add them to another Nework, though you can add copies of them (as in myNewNetwork.add(new Edge(myAdjacencyList[i][j])); )
public Edge[][][] getMultigraphAdjacencyMatrix()
The adjacency matrix is a two-dimensional array of Edge arrays, both of the dimensions as long as the number of nodes in the graph. Each entry in this two-dimensional array is an array of all edges FROM a node TO another. Thus the returned array structure is organized as Edge[FROM][TO][EDGES]. The FROM and TO indices are ordered in the same order that the corresponding nodes are ordered in the allNodes bag.
Important note: if there are no edges FROM a given node TO another, an empty array is placed in that entry. For efficiency's sake, the same empty array is used. Thus you should not assume that you can compare edge arrays for equality (an unlikely event anyway).
As soon as you modify any part of the Network's topology (through addEdge(), addNode(), removeEdge(), removeNode(), removeAllNodes(), etc.), the adjacency matrix data is invalid and should not be used. Instead, request a new adjacency matrix.
You can modify these edge arrays any way you like, though the Edge objects are the actual Edges used in the Network. This means you can't add them to another Nework, though you can add copies of them (as in myNewNetwork.add(new Edge(myAdjacencyList[i][j])); )
public Bag getEdgesOut(java.lang.Object node)
public Bag getEdgesIn(java.lang.Object node)
public Bag getEdges(java.lang.Object node, Bag bag)
public Edge getEdge(java.lang.Object from, java.lang.Object to)
public Bag getEdges(java.lang.Object from, java.lang.Object to, Bag bag)
public void addNode(java.lang.Object node)
public void addEdge(java.lang.Object from, java.lang.Object to, java.lang.Object info)
public void addEdge(Edge edge)
public Edge updateEdge(Edge edge, java.lang.Object from, java.lang.Object to, java.lang.Object info)
public Edge removeEdge(Edge edge)
public void removeAllEdges()
public java.lang.Object removeNode(java.lang.Object node)
public Bag clear()
public Bag removeAllNodes()
public Bag getAllNodes()
public java.util.Iterator iterator()
for(int x=0;x<field.allNodes.numObjs;x++) ... field.allNodes.objs[x] ...
... but do NOT modify the allNodes.objs array.
public boolean nodeExists(java.lang.Object node)
public int getNodeIndex(java.lang.Object node)
public void reverseAllEdges()
public Network cloneGraph()
public Network getGraphComplement(boolean allowSelfLoops)
public java.util.Map buildMap(java.util.Map other)
public java.util.Map buildMap(int size)


Cadastro de Contatos
Nome
Phone
Road
Zip Code
Number
City State
Work or Family
Work
Family
Contatos
Name
Phone
Road
Zip Code
Number
City/State
Type
Excluir
Editar


Treebank Statistics: UD_Irish: Features: Form
This feature is language-specific.
It occurs with 5 different values: Ecl
, Emp
, HPref
, Len
, VF
.
3029 tokens (13%) have a non-empty value of Form
.
1428 types (25%) occur at least once with a non-empty value of Form
.
962 lemmas (25%) occur at least once with a non-empty value of Form
.
The feature is used with 12 part-of-speech tags: NOUN (1567; 7% instances), VERB (1142; 5% instances), PROPN (121; 1% instances), ADJ (86; 0% instances), AUX (54; 0% instances), NUM (40; 0% instances), DET (6; 0% instances), ADP (4; 0% instances), X (4; 0% instances), PRON (3; 0% instances), ADV (1; 0% instances), PART (1; 0% instances).
NOUN
1567 NOUN tokens (25% of all NOUN
tokens) have a non-empty value of Form
.
The most frequent other feature values with which NOUN
and Form
co-occurred: Definite=EMPTY (1567; 100%), VerbForm=EMPTY (1247; 80%), Number=Sing (1105; 71%), Case=NomAcc (1093; 70%), Gender=Masc (788; 50%).
NOUN
tokens may have the following values of Form
:
Ecl
(408; 26% of non-emptyForm
): gcuid, gcás, gceist, ndóigh, bhfeidhm, gcónaí, gcomhairle, dtús, mbealach, ndáilEmp
(1; 0% of non-emptyForm
): liostasaHPref
(39; 2% of non-emptyForm
): háit, hordú, haigne, heagraíochtaí, hOllscoile, haghaidh, hainm, hainmhithe, halt, hamLen
(1119; 71% of non-emptyForm
): bheith, chur, dhéanamh, chuid, chéile, thabhairt, fho-alt, bhaint, fhios, chineál
| Paradigm alt | Ecl | HPref | Len |
|---|---|---|---|
| Case=Gen|NounType=Weak|Number=Plur | fho-alt | ||
| Case=NomAcc|Number=Sing | bhfo-alt | halt | fho-alt, alt |
VERB
1142 VERB tokens (60% of all VERB
tokens) have a non-empty value of Form
.
The most frequent other feature values with which VERB
and Form
co-occurred: Voice=EMPTY (1051; 92%), Mood=Ind (958; 84%), Tense=Past (699; 61%).
VERB
tokens may have the following values of Form
:
Ecl
(313; 27% of non-emptyForm
): raibh, bhfuil, mbeidh, mbeadh, mbíonn, mbaineann, bhfaca, dtiocfadh, ndeachaigh, bhfuairEmp
(5; 0% of non-emptyForm
): Creidimidne, atáimse, deirimse, gcaithfeadsa, nílirseLen
(824; 72% of non-emptyForm
): bhí, bheidh, raibh, thug, tháinig, bheadh, chuir, bhíonn, bhíodh, bhaineann
| Paradigm bí | Ecl | Emp | Len |
|---|---|---|---|
| _ | mbíonn | bhíonn | |
| Mood=Cnd | mbeadh | bheadh | |
| Mood=Cnd|Number=Sing|Person=1 | mbeinn | ||
| Mood=Cnd|Number=Sing|Person=2 | bheifeá | ||
| Mood=Cnd|Number=Plur|Person=3 | bheidís | ||
| Mood=Cnd|Polarity=Neg | bheadh | ||
| Mood=Imp|Number=Sing|Person=1|Tense=Past | mbínn | ||
| Mood=Imp|PronType=Rel|Tense=Past | bhíos | ||
| Mood=Imp|Tense=Past | mbíodh | bhíodh | |
| Mood=Ind|Number=Sing|Person=1|PronType=Rel|Tense=Pres | atáimse | ||
| Mood=Ind|Number=Sing|Person=1|Tense=Past | rabhas | bhíos | |
| Mood=Ind|Number=Sing|Person=2|Polarity=Neg|Tense=Pres | nílirse | ||
| Mood=Ind|Number=Plur|Person=1|Tense=Fut | bheimid | ||
| Mood=Ind|Number=Plur|Person=1|Tense=Past | Bhíomar | ||
| Mood=Ind|Number=Plur|Person=1|Tense=Pres | bhfuilimid | ||
| Mood=Ind|Number=Plur|Person=3|Tense=Past | bhíodar | ||
| Mood=Ind|Polarity=Neg|Tense=Fut | mbeidh | bheidh | |
| Mood=Ind|Polarity=Neg|Tense=Fut|Voice=Auto | mbeifear | ||
| Mood=Ind|Polarity=Neg|Tense=Past | raibh | ||
| Mood=Ind|Polarity=Neg|Tense=Past|Voice=Auto | rabhthas | ||
| Mood=Ind|Polarity=Neg|Tense=Pres | bhfuil | ||
| Mood=Ind|Tense=Fut | mbeidh | bheidh | |
| Mood=Ind|Tense=Past | raibh | bhí | |
| Mood=Ind|Tense=Past|Voice=Auto | rabhthas | ||
| Mood=Ind|Tense=Pres | bhfuil, fuil | ||
| Mood=Sub|Tense=Pres | raibh | ||
| Polarity=Neg | bhíonn |
PROPN
121 PROPN tokens (13% of all PROPN
tokens) have a non-empty value of Form
.
The most frequent other feature values with which PROPN
and Form
co-occurred: Gender=Masc (92; 76%), Number=Sing (89; 74%), Case=Gen (76; 63%).
PROPN
tokens may have the following values of Form
:
Ecl
(29; 24% of non-emptyForm
): mBaile, nGaeilge, Mumhan, gCill, nGaillimh, Mullen, Mí, Sergeant, gCambridge, gCuanHPref
(3; 2% of non-emptyForm
): h-Íde, hÉirinn, míLen
(89; 74% of non-emptyForm
): Bhaile, Átha, Mháire, Phádraig, Bhreandán, Chill, Bhéal, Cholm, Chonamara, Ghaeilge
| Paradigm Gaeilge | Ecl | Len |
|---|---|---|
| Case=Gen | Ghaeilge | |
| Case=NomAcc | nGaeilge | Ghaeilge |
Form
seems to be lexical feature of PROPN
. 91% lemmas (52) occur only with one value of Form
.
ADJ
86 ADJ tokens (7% of all ADJ
tokens) have a non-empty value of Form
.
The most frequent other feature values with which ADJ
and Form
co-occurred: VerbForm=EMPTY (85; 99%), Case=EMPTY (81; 94%), Gender=EMPTY (81; 94%), Number=EMPTY (81; 94%), Degree=Pos (78; 91%).
ADJ
tokens may have the following values of Form
:
Ecl
(1; 1% of non-emptyForm
): gcéannaHPref
(17; 20% of non-emptyForm
): háirithe, hamháin, hiontach, han-luath, hiomlán, hálainn, héifeachtach, héifeachtúilLen
(68; 79% of non-emptyForm
): mhaith, cheart, chóir, Bhriotáineach, céanna, chéanna, mhór, chomhionann, chultúrtha, chuí
| Paradigm céanna | Ecl | Len |
|---|---|---|
| gcéanna | céanna, chéanna |
Form
seems to be lexical feature of ADJ
. 98% lemmas (40) occur only with one value of Form
.
AUX
54 AUX tokens (14% of all AUX
tokens) have a non-empty value of Form
.
The most frequent other feature values with which AUX
and Form
co-occurred: VerbForm=Cop (54; 100%), Polarity=EMPTY (49; 91%), PronType=EMPTY (48; 89%), Tense=Past (41; 76%).
AUX
tokens may have the following values of Form
:
Ecl
(2; 4% of non-emptyForm
): mbaVF
(52; 96% of non-emptyForm
): b’, gurb, gurbh, ab, níorbh, mb’, nárbh
| Paradigm is | Ecl | VF |
|---|---|---|
| Mood=Cnd | mba | |
| Polarity=Neg|PronType=Rel|Tense=Past | nárbh | |
| Polarity=Neg|Tense=Past | níorbh | |
| PronType=Rel|Tense=Past | ab | |
| Tense=Past | mba | b', gurbh, mb' |
| Tense=Pres | gurb |
NUM
40 NUM tokens (12% of all NUM
tokens) have a non-empty value of Form
.
The most frequent other feature values with which NUM
and Form
co-occurred: NumType=Ord (24; 60%).
NUM
tokens may have the following values of Form
:
Ecl
(8; 20% of non-emptyForm
): gcéad, dtríú, gceithreHPref
(3; 8% of non-emptyForm
): haonLen
(29; 73% of non-emptyForm
): chéad, dhó, cheathrú, thrí, cheithre, sheacht, sheasca, thríú
| Paradigm céad | Ecl | Len |
|---|---|---|
| NumType=Card | chéad | |
| NumType=Ord | gcéad | chéad |
DET
6 DET tokens (0% of all DET
tokens) have a non-empty value of Form
.
The most frequent other feature values with which DET
and Form
co-occurred: Case=EMPTY (6; 100%), Gender=EMPTY (6; 100%), Number=EMPTY (6; 100%), Person=EMPTY (6; 100%), Poss=EMPTY (6; 100%), Definite=Def (4; 67%), PronType=EMPTY (4; 67%).
DET
tokens may have the following values of Form
:
Ecl
(4; 67% of non-emptyForm
): ngach, gachHPref
(2; 33% of non-emptyForm
): haon
ADP
4 ADP tokens (0% of all ADP
tokens) have a non-empty value of Form
.
The most frequent other feature values with which ADP
and Form
co-occurred: Gender=EMPTY (4; 100%), PronType=EMPTY (4; 100%), Number=Plur (3; 75%).
ADP
tokens may have the following values of Form
:
Len
(4; 100% of non-emptyForm
): dhaoibh, dhom, dhíobh, dhúinn
X
4 X tokens (2% of all X
tokens) have a non-empty value of Form
.
The most frequent other feature values with which X
and Form
co-occurred: Abbr=EMPTY (4; 100%), Foreign=EMPTY (4; 100%), PronType=EMPTY (4; 100%), Dialect=Munster (3; 75%).
X
tokens may have the following values of Form
:
Emp
(1; 25% of non-emptyForm
): domhsaLen
(3; 75% of non-emptyForm
): dhein, chuireas
PRON
3 PRON tokens (0% of all PRON
tokens) have a non-empty value of Form
.
The most frequent other feature values with which PRON
and Form
co-occurred: Gender=EMPTY (3; 100%), Number=Sing (2; 67%), Person=2 (2; 67%), PronType=EMPTY (2; 67%).
PRON
tokens may have the following values of Form
:
Len
(3; 100% of non-emptyForm
): cheachtar, thusa, thú
ADV
1 ADV tokens (0% of all ADV
tokens) have a non-empty value of Form
.
ADV
tokens may have the following values of Form
:
Len
(1; 100% of non-emptyForm
): Thuaidh
PART
1 PART tokens (0% of all PART
tokens) have a non-empty value of Form
.
The most frequent other feature values with which PART
and Form
co-occurred: PartType=Vb (1; 100%), PronType=Rel (1; 100%).
PART
tokens may have the following values of Form
:
Ecl
(1; 100% of non-emptyForm
): n-a
Relations with Agreement in Form
The 10 most frequent relations where parent and child node agree in Form
:
VERB –[conj]–> VERB (52; 57%),
PRON –[appos]–> NOUN (2; 100%),
ADJ –[advcl]–> ADJ (1; 100%),
ADJ –[ccomp]–> ADJ (1; 100%),
PROPN –[advcl]–> NOUN (1; 100%),
PROPN –[xcomp]–> NOUN (1; 100%),
VERB –[conj]–> X (1; 100%),
X –[conj]–> VERB (1; 100%).


Here I make custom software along with installers. For easy installation of software which might be tricky to install normally.
TL;DR
All softwares are posted here are modified versions of Pspice installer keeping the internal files intact. All Rights reserved to respective companies and trademarks.
If you are downloading from Google Chrome/Firefox select keep when warning notification show during download.
Guaranteed Safe Software For Distribution
This work is licensed under a Creative Commons Attribution 4.0 International License


Live CSS editor bookmarklet for
IE 9-11, Firefox, Safari, Chrome, Opera, Vivaldi and Brave
Add and edit live CSS on any page in any modern browser.. and have the changes persist everytime you run the bookmarklet on the page.
You may want a different look to a page that you regularly visit or help you style a page that you are developing.
Simply copy the link above as a bookmark - click the bookmark on the page you wish to change...
Once you have clicked the bookmarklet - the panel should open and you're good to go..
I wasn't aware of any live CSS editors at the time. However upon finding them, they seem to live as extensions for those browsers. You'd need to download and install the extension on each browser.
Styling on Internet Explorer is a pain and quite unfairly it does not have the extension ecosystem enjoyed in the other 'modern' browsers. This editor is to accommodate those developers that need to use IE and make their lives a little easier.
It also allows styles to be moved from browser to browser to ensure the CSS is valid on all browsers. Potentially saving you heaps of time!
This work has been inspired by github.com/karthikv/my-style
MIT Licenced