Archive | March, 2012

Trunk Club is Locking it Up, Throwing Away the Key | PandoDaily

Turns out the market is not the average guy, but someone more along the lines of a higher yearly salary, working too hard to dig through stores looking for good clothing, and at the same time maintaining a desire to have better clothing. Sound like a small market? It’s not. It’s huge, and it’s a market has been waiting for this.

(Full Story: Trunk Club is Locking it Up, Throwing Away the Key | PandoDaily)

The disappearance of one of the world’s most beloved computer programmers – Ruby, Ruby on Rails, and _why

Hackety Hack begins by introducing kids to Ruby, _why’s programming language of choice. Then it explains that programming is nothing more than giving a stupid, unthinking computer your commands. You are its boss. It answers to you. And you can make it do nearly anything with simple keystrokes and enough practice.

(Full Story: The disappearance of one of the world’s most beloved computer programmers – Ruby, Ruby on Rails, and _why)

The Midwest Mentality

they admit that all of the failures and successes of Chicago tie back to one concept: The Midwest Mentality.

Understanding the Midwest Mentality is key to understanding the entire Chicago ecosystem. It affects how startups are created, who gets funded and who gets accepted into the ecosystem. It is the glue of the shoe, the plugs in the boat and the sandy foundation all wrapped up into one.

(Full Story: The Midwest Mentality)

Facebook Engineering Management – top 5 (non-obvious) priorities

1. Hiring is number one
2. Let process be implemented by those who practice it
3. Promotion from within
4. Tools are top priority
5. Technical Leaders

(Full Story: Facebook Engineering Management – top 5 (non-obvious) priorities)

Java Tuning in a Nutshell – Part 1

The diagram below is what I came up with. I’ve tried to narrow down the most important flags that will solve 80% of JVM performance needs with 20% of the tuning effort.

(Full Story: Java Tuning in a Nutshell – Part 1)

Starbucks Doesn’t Use Two-phase commits

when you place your order, the cashier marks a coffee cup with your order and places it into a queue. This queue is literally a line of coffee cups on top of the espresso machine. The queue decouples the cashier and barista, letting the cashier continue to take orders even when the barista is backed up. It also allows baristas to start servicing the queue if the store gets busy, without impacting the cashier.

(Full Story: Starbucks Doesn’t Use Two-phase commits)

Q&A; with Hacker Historian George Dyson – Wired

Turing’s answer – “… You can’t predict how software will behave by inspecting it. The only way you can tell is to actually run it.”

(Full Story: Q&A with Hacker Historian George Dyson – Wired)

MapReduce translations, from skyscrapers to Hadoop clusters

In our skyscraper analogy, the work the fire wardens did in getting the per-suite, per-platform handset count would be the Map step in our job, and the work the fire wardens on the 10th, 20th and 30th floors did, in calculating their final platform tallies, would be the Reduce step. A Map step and a Reduce step constitute a MapReduce job. Got that?

Let’s keep going. For the building, the collection of suite numbers and smartphone types in each would represent the keys and values in our input file. We split/partitioned that file into a smaller one for each floor which, just like the original input file, would have suite number as the key and smartphone platform data as the value. For each suite, our mappers (the fire wardens on each floor) created output data with the smartphone platform name as key and the count of handsets for that suite and platform as the value. So the mappers produce output which eventually becomes the Reduce step’s input.

(Full Story: MapReduce translations, from skyscrapers to Hadoop clusters)

Finagle, from Twitter

Finagle is a network stack for the JVM that you can use to build asynchronous Remote Procedure Call (RPC) clients and servers in Java, Scala, or any JVM-hosted language. Finagle provides a rich set of protocol-independent tools.

(Full Story: Finagle, from Twitter)