mbrubeck is currently certified at Journeyer level.

Name: Matt Brubeck
Member since: 2001-12-24 06:03:41
Last Login: 2009-05-09 06:24:14

FOAF RDF Share This

Homepage: http://limpet.net/mbrubeck/

Notes:

I am a contributor to Audacity, a free sound editor and recorder. I work as a programmer in Seattle, WA.

You can see my home page for more information, or contact me at mbrubeck@limpet.net.

Projects

Recent blog entries by mbrubeck

Syndication: RSS 2.0

11 Mar 2009 »

position:fixed in Android Webkit

Good news for mobile web developers! In the latest development build of Android ("cupcake"), WebKit supports iPhone touch events and CSS3 animations/transforms. This means that Richard Herrera's iPhone fixed positioning hack will soon work Android too.

The WebKit CSS Animation demos also work, but lack of hardware acceleration in Android makes them painfully slow compared to the iPhone.

5 Mar 2009 (updated 5 Mar 2009 at 22:04 UTC) »

Async Map and Fold in JavaScript

My latest experiment is an implementation of asynchronous/parallel "map" (and other array functions) in JavaScript and Oni. Oni is a "structured concurrency language" embedded in JavaScript. For my source code and commentary, see oni-map at GitHub. You can leave comments at GitHub too.

All this time reading Real World Haskell must really have warped my brain if a simple testing framework for a JavaScript program has got me thinking about higher-order functions and concurrency semantics...

27 Feb 2009 »

Bash Completion for the Google Android SDK

If you're developing for Android, try out the bash script I wrote to add tab-completion for the "adb" command-line tool.

6 Jan 2009 »

MapReduce with Parallel Make

Ted Gould’s post about transcoding music files using Make got me thinking about combining Make and RecordStream into a barebones MapReduce framework. As a demonstration, I wrote a partial solution to Tim Bray’s Wide Finder challenge, to calculate hit counts from web server logs.

More details (and code).

24 Nov 2008 (updated 24 Nov 2008 at 23:08 UTC) »

The Timeless Way of Building: Diagnosis and Repair

Architect Christopher Alexander's A Pattern Language is well known among programmers as the inspiration for the Design Patterns school of thought, but for some reason his other books are less widely read. My mother and father are both architects—"real" ones, not "software architects." :) My own amateur interest in the subject led me to read several of Alexander's books over the past couple of years.

The Timeless Way of Building is the first volume of an open-ended series. (A Pattern Language is the second.) It is in this book that Alexander first lays out the idea of a pattern language. More importantly, he explains an entire theory and practice of design and construction, of which the pattern language is only one piece.

Another piece of the Timeless Way is the practice of diagnosis and repair. Rather than a detailed plan of future projects, Alexander prefers to maintain a diagnosis of current problems. Each new project must be targeted at fixing these existing problem in the system: "At every moment we use the defects of the present state as the starting point for the definition of the new state" (p. 485). Alexander's goal is to create a type of spontaneous growth and order that is possible when change is incremental and decision-making authority is decentralized.

Alexander was hired to produce a new type of master plan for the University of Oregon campus. The result was published as the third volume in the "Timeless Way" series: The Oregon Experiment. In it, he writes again about diagnosis and repair:

It is still not clear where global order will come from, without a master plan.… How is the problem solved in an organism? Essentially, the problem is solved by a process of diagnosis and local repair.… The master plan tells us what is right for the future. The diagnosis tells us what is wrong for the present. (p. 146–148)

In software, the same problems and conclusions have led to "agile" processes, which emphasize incremental change and flexible planning. But I haven't seen any software companies adopt a consistent practice of "diagnosis"—keeping track of what's wrong or unsatisfactory with the current system. This extends beyond defect tracking; it should include a constantly updated list of code that, although it works, is hard to understand, difficult to change, or otherwise likely to cause problems. (This should be easy to generate—every programmer knows certain parts of their code base that they dread working on for one reason or another.) This knowledge can then guide new development to include "repair" and address such problems before they become defects. I've applied this on a small scale to my own work, and now I wish I had used it at Amazon, where my team spent much more time maintaining and improving old code than writing new code.

106 older entries...

 

mbrubeck certified others as follows:

  • mbrubeck certified mbrubeck as Journeyer
  • mbrubeck certified habes as Journeyer
  • mbrubeck certified cinamod as Master
  • mbrubeck certified samth as Journeyer
  • mbrubeck certified drow as Master
  • mbrubeck certified Sunir as Journeyer
  • mbrubeck certified hub as Journeyer
  • mbrubeck certified tod as Apprentice
  • mbrubeck certified Bram as Journeyer
  • mbrubeck certified JesseR as Journeyer
  • mbrubeck certified mwh as Journeyer
  • mbrubeck certified xiphmont as Master

Others have certified mbrubeck as follows:

  • mbrubeck certified mbrubeck as Journeyer
  • chipx86 certified mbrubeck as Apprentice
  • SteveMallett certified mbrubeck as Apprentice
  • thomasvs certified mbrubeck as Apprentice
  • hub certified mbrubeck as Apprentice
  • KlausWuestefeld certified mbrubeck as Apprentice
  • tod certified mbrubeck as Apprentice
  • trs80 certified mbrubeck as Apprentice
  • jao certified mbrubeck as Apprentice
  • salmoni certified mbrubeck as Journeyer
  • habes certified mbrubeck as Journeyer
  • mattr certified mbrubeck as Journeyer
  • cTaylor certified mbrubeck as Journeyer
  • sand certified mbrubeck as Journeyer
  • mpr certified mbrubeck as Journeyer
  • realblades certified mbrubeck as Apprentice
  • fxn certified mbrubeck as Journeyer
  • joshuat certified mbrubeck as Journeyer
  • zotz certified mbrubeck as Journeyer
  • ebf certified mbrubeck as Journeyer
  • mdupont certified mbrubeck as Journeyer
  • mishan certified mbrubeck as Journeyer
  • lerdsuwa certified mbrubeck as Journeyer
  • e8johan certified mbrubeck as Journeyer
  • pvanhoof certified mbrubeck as Journeyer
  • araeed156 certified mbrubeck as Journeyer
  • chakie certified mbrubeck as Journeyer
  • hiddenpower certified mbrubeck as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page