Spence Green

Ideas. Travel. Software. Writing.

Spence Green is a graduate student in Computer Science at Stanford University. In addition to computers and software, his interests include travel, running, and diving. He speaks Arabic.

Archive for the ‘Software’ Category

An Exchange

without comments

A colleague wrote the following note to me today:

I am trying to fathom what you have against an additional library into the architecture. The AJAX framework provided by MS$ is an additional library we have to use, there are Oracle libraries we have to use…what is the roadblock you have with an IronRuby, IronPython, or Lua library? Limiting the number of libraries, selective in the process is essential, but if to restrictive, can ignore industry standard flexibility in our system.

My reply follows:

I’m not limiting the inclusion of other libraries. I prefer to think about the problem first, then select the best method of expression. Language is simply that: a method of expression. It is almost always better to program in the language–namely, through the use of native syntax–than to program through it. The latter mode is a common mistake: have you ever seen someone write Java as if it were C?
Read the rest of this entry »

Written by Spence

March 27th, 2008 at 2:29 pm

Posted in Management, Software

The Change Champion

without comments

In his eclectic book Let My People Go Surfing: The Education of a Reluctant Businessman, Yvon Chouinard traces the unusual development of Patagonia from a one-man smithing operation in California to the world’s leading producer of outdoor clothing. Chouinard’s self-deprecating style belies his preternatural understanding of the universal human craving for individual freedom. The same impulse that drove him to scale peaks using homemade tools manifests itself in the desire to skip work on Wednesdays or wear unusual clothing. People oppose systems that treat them as cogs. This is one reason for communism’s failure, and it also explains why the assembly line is at once man’s most efficient and least inspiring contrivances:

An assembly line at Gigabyte
Read the rest of this entry »

Written by Spence

February 22nd, 2008 at 7:46 pm

Posted in Management, Software

A Plan for Software Architecture

without comments

Software engineers do not often have the luxury of designing new systems from first principles. It is frequently the case that they must labor through some dreary chore, such as implementing version 49 of the SuperWhamo! application, or adhering to design constraints imposed not by reason, but by suits. When that rare opportunity to write new code does present itself, two paths are possible. The coder leaps into development, but the architect tries first to solve the problem. This essay contains my observations on the latter approach.
Read the rest of this entry »

Written by Spence

February 22nd, 2008 at 7:36 pm

Posted in Design