Saturday, February 28, 2009

Technical Debt

CodingHorror blog post

Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this problem. In this metaphor, doing things the quick and dirty way sets us up with a technical debt, which is similar to a financial debt. Like a financial debt, the technical debt incurs interest payments, which come in the form of the extra effort that we have to do in future development because of the quick and dirty design choice. We can choose to continue paying the interest, or we can pay down the principal by refactoring the quick and dirty design into the better design. Although it costs to pay down the principal, we gain by reduced interest payments in the future.

The metaphor also explains why it may be sensible to do the quick and dirty approach. Just as a business incurs some debt to take advantage of a market opportunity developers may incur technical debt to hit an important deadline. The all too common problem is that development organizations let their debt get out of control and spend most of their future development effort paying crippling interest payments.

Serious bonus points for including a quote from Dune, by Frank Herbert
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

Friday, February 27, 2009

Monomyth - Joseph Campbell

Also commonly known as "The Hero's Journey".
  • Departure (or Separation)
    1. The Call to Adventure
    2. Refusal of the Call
    3. Supernatural Aid
    4. The Crossing of the First Threshold
    5. Belly of the Whale (Trials)
  • Initiation
    1. The Road of Trials
    2. Mother as Goddess
    3. Woman as Temptress
    4. Atonement with the Father
    5. Apotheosis
    6. The Ultimate Boon
  • Return
    1. Refusal of the Return
    2. The Magic Flight
    3. Rescue from Without
    4. The Crossing of the Return Threshold
    5. Master of Two Worlds
    6. Freedom to Live
Wikipedia article on Monomyth
Website that analyzes movies using Monomyth framework

Wednesday, February 25, 2009

Statistics = Sexy? What about transparency?

Yes, according to Hal Varian, Chief Economist of Google as of 2/25/2009
He also mentions transparency, something alluded to in this Wired.com article regarding reform of the financial industry

I keep saying the sexy job in the next ten years will be statisticians. People think I’m joking, but who would’ve guessed that computer engineers would’ve been the sexy job of the 1990s? The ability to take data—to be able to understand it, to process it, to extract value from it, to visualize it, to communicate it—that’s going to be a hugely important skill in the next decades, not only at the professional level but even at the educational level for elementary school kids, for high school kids, for college kids. Because now we really do have essentially free and ubiquitous data. So the complimentary scarce factor is the ability to understand that data and extract value from it.

I think statisticians are part of it, but it’s just a part. You also want to be able to visualize the data, communicate the data, and utilize it effectively. But I do think those skills—of being able to access, understand, and communicate the insights you get from data analysis—are going to be extremely important. Managers need to be able to access and understand the data themselves.

You always have this problem of being surrounded by “yes men” and people who want to predigest everything for you. In the old organization, you had to have this whole army of people digesting information to be able to feed it to the decision maker at the top. But that’s not the way it works anymore: the information can be available across the ranks, to everyone in the organization. And what you need to ensure is that people have access to the data they need to make their day-to-day decisions. And this can be done much more easily than it could be done in the past. And it really empowers the knowledge workers to work more effectively.

Tuesday, February 24, 2009

The Netbook Effect

Wired.com article

In The Innovator's Dilemma, Clayton Christensen famously argued that true breakthroughs almost always come from upstarts, since profitable firms rarely want to upend their business models. "Netbooks are a classic Christensenian disruptive innovation for the PC industry," says Willy Shih, a Harvard Business School professor who has studied both Quanta's work on the One Laptop per Child project and Asustek's development of the netbook.

In the US, we regard branding and marketing—convincing people what to buy—as core business functions. What Asustek proved is that the companies with real leverage are the ones that actually make desirable products. The Taiwanese laptop builders possess the atom-hacking smarts that once defined America but which have atrophied here along with our industrial base. As far as laptop manufacturing goes, Taiwan essentially now owns the market; the devices aren't produced in significant volumes anywhere else.

Netbooks are evidence that we now know what personal computers are for.Which is to say, a pretty small list of things that are conducted almost entirely online. This was Asustek's epiphany. It got laptop prices under $300 by crafting a device that makes absolutely no sense when it's not online. Consider: The Eee's original flash drive was only 4 gigs. That's so small you need to host all your pictures, videos, and files online—and install minimal native software—because there's simply no room inside your machine.

Netbooks prove that the "cloud" is no longer just hype. It is now reasonable to design computers that outsource the difficult work somewhere else. The cloud tail is wagging the hardware dog.

Monday, February 23, 2009

Board Game Reference

Board Game Geek - Extremely detailed reviews, many ways to sort/filter

Recommended Board Game Stores
Funagain Games
Fair Play Games

Thursday, February 19, 2009

Quantity > Quality

An anecdote from the book, Art & Fear

Found in a blog post on LifeClever

The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality.

His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the “quantity” group: fifty pound of pots rated an “A”, forty pounds a “B”, and so on. Those being graded on “quality”, however, needed to produce only one pot - albeit a perfect one - to get an “A”.

Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the “quantity” group was busily churning out piles of work - and learning from their mistakes - ”the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.

Conclusions from the blog post:
  1. Don't drown in the details - "Shitty First Draft"
  2. Quality improves with each iteration

Definition of an expert

Post on Coding Horror

Being an expert isn't telling other people what you know. It's understanding what questions to ask, and flexibly applying your knowledge to the specific situation at hand. Being an expert means providing sensible, highly contextual direction.

Advice from James Bach:
  • Practice, practice, practice!
  • Don't confuse experience with expertise.
  • Don't trust folklore -- but learn it anyway.
  • Take nothing on faith. Own your methodology.
  • Drive your own education -- no one else will.
  • Reputation = Money. Build and protect your reputation.
  • Relentlessly gather resources, materials, and tools.
  • Establish your standards and ethics.
  • Avoid certifications that trivialize the craft.
  • Associate with demanding colleagues.
  • Write, speak, and always tell the truth as you see it.
So if you want to be an expert in practice rather than in name only, take a page from Steve McQueen's book. Don't be the guy telling everyone what to do. Be the guy asking all the questions.

Wednesday, February 18, 2009

MBA in 2 words - Speak Up!

Article on Time.com

Repeatedly, the ones who emerged as leaders and were rated the highest in competence were not the ones who offered the greatest number of correct answers. Nor were they the ones whose SAT scores suggested they'd even be able to. What they did do was offer the most answers — period.

"Dominant individuals behaved in ways that made them appear competent," the researchers write, "above and beyond their actual competence." Troublingly, group members seemed only too willing to follow these underqualified bosses. An overwhelming 94% of the time, the teams used the first answer anyone shouted out — often giving only perfunctory consideration to others that were offered.


Data as a business plan

Article on Wired.com

"The data is the infrastructure," in the words of Sean Gorman, the CEO of FortiusOne, a company that builds layered maps around open-source geographic information. For every spreadsheet squirreled away on a federal agency server, there are entrepreneurs like Gorman ready to turn a profit by reorganizing, parsing, and displaying it.

Dozens of software and marketing firms, meanwhile, thrive entirely on slicing and interpreting U.S. Census data, released free in a format called Tiger. Google Earth and Microsoft Visual Earth both depend on government satellite data and private sources for their underlying maps, while real estate websites like Zillow and Trulia take advantage of housing and demographic feeds from state and local governments. More recently, Web 2.0 startups like CloudMade and Swivel have developed user-driven widgets to visualize and combine public data sets.

Tuesday, February 17, 2009

Elegant? Or under deadline, under budget, just works?

Post on The Daily WTF

Only a select few get paid to develop “sexy” software, whereas most of us are stuck developing the boring stuff.

There’s a term for this type of boring software: information systems. And while the purpose of an information system changes from company to company, as do the specific requirements, they all are essentially the same. There’s a database that models the real world, rules to define how the data may be changed, an interface to the database, and lots of different reports.

As Michael A. Jackson said in his 1975 Principals of Program Design, “Programmers… often take refuge in an understandable, but disastrous, inclination towards complexity and ingenuity in their work. Forbidden to design anything larger than a program, they respond by making that program intricate enough to challenge their professional skill.”

This thirty-five year-old observation is confirmed day-in and day-out here on TDWTF. Some of the most egregious code and stories written here stem from the developer’s desire for cleverness. Carrying out these desires is neither malicious nor devious, but merely instinctual.

Essential rules that must be followed when developing business information systems:
  1. Learn the business
  2. Serve the business
  3. Learn off the job
  4. Code mostly business
  5. Tedium is inescapable
  6. Find satisfaction elsewhere
  7. Get another job

Tuesday, February 10, 2009

The Burden of Social Networks

Wired.com article by Steven Levy

Guilty. I feel guilty that I have a blog and haven't contributed to it for seven months. Guilty that all my pals on Facebook post cool pictures, while the last shots I uploaded were of Fourth of July fireworks—from 2007. Guilty that I haven't Dugg anything since, well, ever.

That's where my guilt comes in. Because of time constraints and just plain reticence, I worry that I'm snatching morsels from the information food bank without making any donations. Instead of healthy, reciprocal participation, I'm flirting with parasitic voyeurism.

So, driven by guilt, I try to pitch in. I post Facebook status reports, send iPhone snapshots to Flickr, link my Netflix queue with FriendFeed. But as my participation increases, I invariably suffer another psychic downside of social networking: remorse.

The more I upload the details of my existence, even in the form of random observations and casual location updates, the more I worry about giving away too much. It's one thing to share intimacies person-to-person. But with a community? Creepy.

What is the proper balance between social networking and personal privacy? What about the effect of the permanence of digital information, when everything is stored "in the cloud"? In 10 years, will you regret your Facebook status updates or vacation pictures - not knowing who has archived or saved them for their own personal use?

Friday, February 6, 2009

DataViz Resources

R-Specific
Quick-R: clear, simple description of R
R Resources: at Cerebral Mastication
One R Tip A Day
StatsRUs: an R Cookbook
Revolutions: news about R, statistics, etc. from REvolution Computing
R for Psychology: many R snippets, code samples
SimpleR: a short course in R

General
Flowing Data
WallStats blog
Stephen Few's blog
Ben Fry
Information Aesthetics

Graphics Design
Squidoo Lens

Wednesday, February 4, 2009

What It Takes To Survive

Link to Newsweek excerpt of book by Ben Sherwood

Why do some people live and others die? Why do a few stay calm and collected under extreme pressure when others panic and unravel? How do some bounce back from adversity while others collapse and surrender?

The best survivors and thrivers understand that crisis is inevitable, and they anticipate adversity. Understanding that even misfortune gets tired and needs a break, they're able to hold back, identify the right moment and then do what they need to do. Psychologists have a clunky term for this: active passiveness. It means recognizing when to stop and when to go. In a critical sense, doing something can mean doing nothing. Action can be inaction, and embracing this paradox can save your life.

In any emergency, people divide into three categories, Leach says. First, there are the survivors like the 155 people on US Airways Flight 1549, who manage to save themselves in the worst situations. Second, there are unavoidable fatalities: people who never have a chance, like so many of the 200,000 people in Southeast Asia who were swept away by the tsunami of 2004. Third, there are victims who should have lived but perished unnecessarily.

After examining countless disasters and categorizing the ways people respond to life-threatening situations, Leach came up with what might be called the theory of 10-80-10. First, around 10 percent of us will handle a crisis in a relatively calm and rational state of mind. The top 10 percent are leaders, like a few passengers on the US Airways flight who took charge and guided others off the plane.

Leach says the vast majority of us—around 80 percent—fall into the second category.

The last group—the final 10 percent—is the one you definitely want to avoid in an emergency. Simply put, the third band does the wrong thing. They behave inappropriately and often counterproductively. In plain terms, they freak out and can't pull themselves together. And they often don't survive.

Neuroticism is a personality trait of people who tend to be anxious, tense and sensitive to stress, he explains. In the gorilla experiment, people with high levels of neuroticism are very serious and intense about their assignment to count the number of basketball passes. People with low levels are calmer and less sensitive to stress. According to Wiseman, lucky people usually are more laid-back and open to life's possibilities—like giant headlines in his newspaper experiment—while unlucky people are more uptight, nervous and closed off.

Wiseman has concluded that there are four reasons why good things happen to certain people:
  1. Lucky people frequently happen upon chance opportunities
  2. Lucky people listen to their hunches and make good decisions without really knowing why
  3. Lucky people persevere in the face of failure and have an uncanny knack for making their wishes come true
  4. Lucky people have a special ability to turn bad luck into good fortune
Psychological concepts mentioned in the excerpt:
  • active passiveness - knowing when to stop, and when to go
  • incredulity response - people simply don't believe what they're seeing
  • normalcy bias/analysis paralysis - people act as if everything is OK and underestimate the seriousness of danger
  • inattentional blindness - we don't notice things when we don't pay real attention