Friday, August 31, 2012

RomComs and Airports

WuMo (once WulffMorgenthaler) nail it with this.
Mind you, whats almost as bad is when they're messing w/ the TSA...

The (Explosive) growth of Walmart - AnimatedGif Edition

From All That Is Interesting, we have this animated gif showing the growth of Walmart stores in the US
To quote
Started by Sam Walton in 1962 in Rogers, Arkansas, Walmart now has over 8,500 stores in 15 countries. In the animation above, one can see how the store opened in 1962 has exploded to 3,898 Walmarts as of May 2012.

Wednesday, August 29, 2012

India by Night - By Light (Visualized?)

Ok, saying its #Visualized is a bit of a tautological statement - I mean, this is just a night shot.
Then again, it isn't "just" a night-shot, it is one remarkably holy-shit of a night shot
(From infinity-imagined - click to embiggen)

Patents! FTW!

From the irrepresible SMBC comes this gem



Tuesday, August 28, 2012

Humor in Animal Places...

From Non Sequitur - giggle-worthy humor...

Monday, August 27, 2012

Mahesh's Nineteenth Law - Datetime Functions

Every Erlang project will, at some point, include a datetime_to_iso8601 function

Saturday, August 25, 2012

150 Years of Hurricanes - Infographic

John Nelson maps NOAAs data on Hurricane's since 1851 so that you don't have to.  The result? Awesome...
(click to embiggen massively, or better yet, go to the source)

Hurricane-tracking - "Advances in Cartography" Edition

The fine folks at Stamen Design are at it again, w/ a brilliant HTML5 version of their hurricane tracker, now visible on the Weather Channel.
(You need to go their to see it, its not embeddable)
As the Stamen folks put it
  • The client is the Weather Channel (previous work for them here), and we're working directly with meteorologists to ensure that the representations meet their standards.
  • It's in HTML5, so you can view it on an iPad. Which is good!
  • We've made some improvements to the interaction that I never got to take care of in the previous version. The entire histogram (chart at the top) is an active thing you can roll over, for example; the previous version only popped the rollover when you were over the lines.
  • The histogram and the map have a much tighter relationship now. If the whole hurricane path is visible on the map, you'll see the whole thing on the histogram, and visey versey. Conversely, if you change the map so that 1/2 the hurricane is visible, you see 1/2 of it on the histogram. You can see this happening in the images below.
Awesome stuff...


Thursday, August 23, 2012

Mahesh's Eighteenth Law - Expertise


Expertise in one field does not imply expertise in all fields

Corollary
Expertise in one field does not imply expertise in any other field

Miscellaneous
Also called Condoleeza Rice Syndrome (She may may have been a tremendous success as the Provost of Stanford, but made for a lousy National Security Advisor)

And yet, we make this mistake all the time.  Marital advice from the policeeducational curricula from elected boards, Basketball players playing baseball, the list goes on...

Addendum
@caseyrosenthal points out that expertise may, however, be a necessary - but not sufficient! - condition...

Wednesday, August 22, 2012

Cartography Coolness - Watercolor Maps

From the genii at Stamen Design, we have these embeddable / usable watercolor maps
As they put it
“Reminiscent of hand drawn maps, Stamen’s new watercolor tiles apply area washes and organic edges over a paper texture to add warm pop to any map. We’ve added more Photoshop-style raster effects to TileStache to render OSM tiles like you’ve never seen them before.”
There is a post on their blog here describing how these maps are generated - check it out...


(The image below is not interactive...)

Tuesday, August 21, 2012

"Create", "Update" and "Delete" have the same number of characters. But not "Read"

CREATE, UPDATE, and DELETE have the same number of characters. But not READ

@danechkin points out that SELECT works. <-- Dunno that CSUD scans all that well tho'

@nivertech sez.
Crea-te
Read-it
Upda-te
Dele-te”
which might quite possibly be the winner

The number of slides times the understanding of the topic is a constant

Vardi's law --> from Yosse Vardi

The iPhone 5 - Revealed!

From AdamThinks, we have this brilliant parody of the iPhone rollout

(video above - still image below)

Monday, August 20, 2012

Blend Your Own Water (Signs of the Apocalypse)

Yes, its a "Water Cafe", where you can "Blend your own water". God bless the 1%...
(located at 

Sunday, August 19, 2012

Methodology - Just Say No

Process is not the solution.
Process is never the solution.
It can, however, be the means to the solution.
Do not, repeat, not, confuse the means and the end...

Mind you, I have seen "Agile" and "Scrum" used most frequently to just mean "now you have more work to do..."

Saturday, August 18, 2012

Adventures in English - Oxford Comma Edition

The best argument for using the Oxford Comma. Ever...
(hat tip @bascule)

Wednesday, August 15, 2012

Picture Perfect Parody of Paranoia (Movies)

 I know, I know, it should have been Picture Perfect Parody of Paranoia Pics, but whatever.
Anyhow, I present to you, an Above Average production featuring Olivia Munn (and her, um, Chestal Area...)
(Video below, still image above...)

Tuesday, August 14, 2012

You are never too accomplished to not be surprised by the obvious

that is all

The Definitive Meryl Streep Scatter-Plot

As Vulture puts it
 We've devised a definitive, comprehensive matrix that plots Streep's shining moments in cinema, from her yappy, overbearing Jewish mother in Prime to the French lieutenant's woman in ... well, you know.
And the result (hat-tip Flowing Data) is below
(click to embiggen)

Monday, August 13, 2012

Squirrels and Cats sleeping together....

From the Tubes of You...

Whats not to like...
(and for some more pictures)



Sunday, August 12, 2012

Beanpaste always ends in heartache


BrooklynHipsters vs SantaMonicaHipsters

Trucks in Brooklyn invariably involve food.  Santa Monica is, apparently, different...

You already grok these latency numbers, right?

From Jonas Boner, Jeff Dean, and Peter Norvig, we have this awesome gist showing latency numbers for different types of data access
The numbers pretty much speak for themselves, and its always good to hammer home exactly how bad a disk access is. That said, an L1 cache-miss is a 14x hit! Wild...


Heres the same data visualized (from ayshen)...
(click to embiggen)



Saturday, August 11, 2012

Erlang Deep Bugs (At least one of which has been fixed recently...)

Eons ago, in the paleolithic era (2009) when R13 was fresh and new and neat and The Greatest Thing Ever we ran into a little tiny problem.  Ok, it wasn't a little tiny problem, it was a great big honking problem, viz., Shit Stopped Working.

(The cry of "Elaborate Please"rings through the streets of New York)

Fine, fine.
Y'see we run a VoIP service in the Cloud (yeah, yeah. don't snicker) - a fairly standard thing nowadays with phones, calling, users, GUIs, etc.
The thing about phone services, is that people expect to be able to make phone calls.
And most calls stopped going through.  Whats worse, most people couldn't log in to complain that their calls weren't going through, and most people couldn't call us to tell us that they couldn't call us, and so on and so forth.

Notice the use of "most"? Its intentional.  Some of the calls - apparently random ones - worked, but by and large, it would take up to 3 minutes for your call to go through (we automatically hung up on you after three minutes of FIAL anyhow, and that part worked just fine.)

This, of course, at 10:00AM on wednesday. Panic in the streets, fire-alarms going off, the works.

By the way, literally fire-alarms.  The building was evacuated, while I sat in the conference room frantically trying to keep things up on one hand, while debugging like mad on the other.  My CEO, Doug Strahan, in an epically brave and kind gesture, hung out w/ me in the conference room to - as he puts it - "rescue me from myself if things got dire"

Whats the point behind all this?
I'm glad you asked.
It turned out that we had a Process Problem.
Y'see, every  call, every user , every login, (basically everything) was a process. And, given that our system was very distributed (remember that?) we registered these processes globally. And when you wanted to do something (like make a call), you'd basically end up running

gen_server:call({global, SomeProcess}, {make_a_call, With, These, Parameters}).

So?
Nothing wrong with that, eh?
Ah, I'm glad you asked.  It turns out that when you wade through the code for gen_server.erl, you end up with the following
  •  gen_server:call ends up in gen:call
  • gen:call  actually use where/1 to identify the node that the process is on
  • where/1 is actually a shout out to global:safe_whereis_name/1
  • global:safe_whereis_name/1 is actually...
Wait, what?  WTF is global:safe_whereis_name/1?  Clearly not in the docs, is it?

Turns out its a hidden function that runs the following piece of charming code

gen_server:call(global_name_server, {whereis, Name}, infinity)

This was roughly the point at which I started cursing softly but oh so profoundly.  (In case you didn't get it, all requests to gen_server:call({global, SomeProcess}, ...) are serialized through one gen_server!!!!!!!)

Which may be fine for small systems, but when you have a bajillion phone calls and a kajillion web-requests hitting your Highly Distributred And Theoretically Scalable Cluster, well, this is about as useful as a lockpick made from shoelaces, and is just about as painful as a kick in the nuts. Maybe more.

The solution was really simple - we basically replaced 

gen_server:call({global, SomeProcess}, {make_a_call, With, These, Parameters}).

with

Pid = global:whereis_name(SomeProcess),
gen_server:call(Pid, {make_a_call, With, These, Parameters}).

uploaded stuff, and Boom, everything started working like a charm.
 

I know, I know, what if something happens between the two statements, right? Don't worry about it - the above is a simplified version of what we did, but it should get the point across.  And you get no points for being a wise-ass

Moral of the story?  I'm really not quite sure.  It was a righteous PITA to track down, but once we (Juan Jose - Erlang-er extraordinaire - and myself) had a rough idea of what was going on, we found it right quick through the simple expedient of wading through the Erlang distro source code.  Which, BTW, is highly readable, and fairly easy to grasp.

Coda 1:
   Geoff Cant (@archaelus) ran into the same thing back in 3/2011. After some back and forth, it turned out that there was a "deep bug" that required things to be the way they were.

Coda 2:
   As of R15B01, the bug is gone.  In gen.erl, where/1 is now a shoutout to global:whereis_name/1, and global:safe_whereis_name/1 has ceased to be...  

From the release notes
Calls to global:whereis_name/1 have been substituted for calls to global:safe_whereis_name/1 since the latter is not safe at all.
The reason for not doing this earlier is that setting a global lock masked out a bug concerning the restart of supervised children. The bug has now been fixed by a modification of global:whereis_name/1. (Thanks to Ulf Wiger for code contribution.)
The undocumented function global:safe_whereis_name/1 has been removed. 

Life is definitely looking up. I just wish it had looked up earlier... 

Curiosity on Mars

LICD is running a great series on Curiosity. I've reproduced it below, but go see the original!
(click to embiggen)



Friday, August 10, 2012

Signs of the Apocalypse - ALF Live Action Remake

Seriously, from the Hollywood Reporter
Sony Pictures Animation has closed a deal to acquire rights to the classic 1980s sitcom ALF and will develop the property into a hybrid CG/live action feature.
Jordan Kerner, who produced SPA’s adaptation of 1980s Saturday morning cartoon staple The Smurfs and helped turn it into a hybrid blockbuster franchise, will produce the project with show creators Tom Patchett, a veteran of 1970s comedies, and puppeteer Paul Fusco.
Words fail me...

Monday, August 6, 2012

Every Sorkinism - in one video clip

Kevin Porter does the heavy lifting, so that you don't need to...
Sorkin, of course, is the heavy hitter behind
West Wing
Sports Night

and a bunch-a movies (Social Network, Charlie Wilson's War, etc.)



NBC vs NASA

NBC does 5K miles in 9 hours - NASA does 154 *million* miles in 14 minutes. 
That is all... 

Friday, August 3, 2012

No one beats the Solow Model

The Solow model says many things, but one of the highly observable ones is that the income levels of poor countries will tend to converge towards that of rich countries.  More to the point, it'll converge towards those rich countries with similar characteristics.
The point?
Ah. The point being that if the country that is going to eat your shirt (China! Japan before that! Germany! etc.) is starting from a lower baseline than you, odds are that the closer it gets to you, the more it slows down.
Or, to put it differently, you can't assume that a country is going to grow at 8% for the next 20 years just because a country grew at 8% for the last 20 years.  So yeah, 20 years from now, China isn't going to have flying cars an free ponies.
Noah Smith has a pretty good take on this based on the question - What happened to Japan in 1991?
As he puts it
Basically, by 1990, Japan had caught up to the richest large nations in terms of per capita GDP. The only way for Japan to have continued at its previous high rate of growth post-1990 would be for either A) an unprecedented technological boom to power a rapid expansion among all the world's rich countries, or B) for Japan's productivity to significantly exceed that of the other rich countries. In other words, anyone who forecasted continued rapid Japanese growth in 1990 was predicting that Japan was capable of doing far better than the other countries of the world, and indeed that this was the most likely outcome.

Now, let's look at Japan right now. Wikipedia tells us that Japan's per capita GDP, in nominal terms, is $45,900. That compares with $44,500 for Germany, $43,100 for France, and $39,600 for the UK. I picked Germany, France, and the UK because these are other rich developed nations with populations between 50 and 150 million and growth rates similar to Japan's. In other words, in nominal terms, Japan is richer, per person, than any comparable country. I suspect that what difference exists is due to labor inputs, since Japan does not force its citizens to take lots of time off of work the way Germany and France do.
In short, its bang dead to rights as far as the Solow model is concerned, no surprises there.
What could forecasters in 1990 have been smoking that made them see this as anything other than the inevitable outcome? I suggest two things: 1) dumb trend projection, and 2) attribution error.

Dumb trend projection is people's tendency to view trends as structural. Examples of this include: "Housing prices have never fallen; hence they will never fall." "This stock returned 17.2% over the past three decades; hence it will continue to do so." "The center of gravity of the global economy is inevitably shifting to Asia." And so forth. But in reality, past performance is no guarantee of future results. Or, to put it more pithily, "The trend is your friend til the bend at the end."

Attribution error is our tendency to attribute phenomena to the wrong causes in certain reliable ways. One of these is that we tend to attribute outcomes to fixed person-specific characteristics rather than to circumstance and situation. In Japan's case, this means that people thought that Japan was growing fast in the 70s and 80s because of Japanese culture, superior Japanese government, or - and I suspect that this was more significant than people will admit - the inborn superpowers of the Japanese race.
To summarize, don't expect South Korea and China to keep growing at the current break-neck pace, no matter how much we try to convince ourselves that this time its different.





Thursday, August 2, 2012

Draghi speaks, and says ... nothing.

Guess when ECB head Draghi made his big speech?
More importantly, guess how much substantive information there was in it?

Wednesday, August 1, 2012

... is the new ... Visualized ("local is the new organic", etc.)

Ever wondered what was the new what in 2005?
From Feltron, we have the answer.  From the site
The project documents every instance of the phrase “is the new” encountered from various sources in 2005. It is intended to map the iterations of a peculiarly common marketing and literary device.