July 13, 2002

programming, not sports

Progress has been slow on the audio projects recently. I'm trying to join the world of real software engineering practice, and something I've decided I need to learn about is the family of software development methodology known as Extreme Programming (hereafter XP, but please note that this has nothing to do with the recent Windows releases).

The basic deal with XP is that some people decided to experiment with taking software development practices which were generally believed to be Good Things and essentially "turning up the dial" on them. Automatic tests are good? Run the tests frequently, many times per day, after every substantial code change. Code review is good? Make code review constant by programming in pairs. Fixing bad code earlier rather than later is good? Rewrite bad code as soon as you see it. Writing unnecessary code sucks? Write the minimum code to do the thing you need to do and rewrite it only when your needs change, to avoid the possibility of doing work that never gets used. Short development cycles are less likely to slip, crash, and burn? Make the release cycle as short as you can, down to like three weeks. There's more that I won't go into; this isn't a tutorial on XP. Go here and here if you want to know more.

Some of the XP principles can stand alone, like the automated unit tests, but most of them are interlocked and only make sense as part of a whole way of life. You don't dare clean up ugly code, for example, without the automated test system in place, because you're liable to accidentally change the way something works.

The tests, in fact, seem like one of the cornerstones of the XP way, one of the few XP things I can straightforwardly do in my solo work, and so they're what I've been focusing on. I gots me a testing framework. I gots some automatic tests going. Unfortunately I have a large body of code already written for my audio stuff and only about 10% of the tests I need for it. I'm also learning that I'm not very good at writing tests. But I've been bitching about the sloppy code in the computer industry for so long that I have to bite the bullet and develop some good habits.

Ceej is actually responsible for pushing me over the edge into trying to learn XP. And not only does she not know it, she and I have never met in meatspace.

Besides the XP stuff, I spent a few hours today building a track up in Audiomulch. It's the theme music for driving across the country at speed in order to escape your past. I've been playing a fair amount of Grand Theft Auto, which is probably where the driving fast part came in. That, and everyone knows that R'Lyeh is in the Atlantic (yes, there's a connection). I need to rework some of the track setup. I think it's got potential though. I was slapping the headphones with my fingertips at 130 BPM as I fiddled with it, tapping my feet, bouncing around like a loon. I'm also constructing a sort of theme for multiple tracks. Album by Christmas. Cross fingers. At least an EP. Joel and I did an EP's worth of material in three or four days. Of course, he has talent and can play a guitar.

I wanted to get one more set of noises into the track. I bit the bullet and made Plark, my embryonic soft synth, take MIDI key event data. This is the first thing I've written that triggers notes in response to note-on events. It would be a milestone to brag about, except I did it in a half-assed make-it-kinda-work-for-now way. On the one hand I did embody the XP principle of "do the simplest thing that could possibly work" — it was simple and it mostly works — on the other hand I wrote some crap code that's going to have to come out like a rotten tooth, and I didn't even write any unit tests for it. I was "releasing my pig", a phenomenon which pair programming is supposed to defend against — both members of a pair won't usually be willing to release their pigs at the same time, especially with a teammate watching.

Writing tests for audio is hard. You try writing an objective test for "does it sound cool?" It's slightly, just slightly easier to write an objective test for "does it avoid sucking," as some forms of suck are programmatically detectable. Anyway, this revision of Plark is not going out for public consumption. It's not really Plark yet. It's baby Plark.

Acid reflux sucks, by the way.

Posted by russell at July 13, 2002 01:08 AM
Comments

I never could get into the idea of team programming that XP proponents talk about. I just think I'd be driven crazy. Team debugging I've done, but team churning-out-lots-of-new-code? Uhh ... I just have a hard time seeing it working.

And, yes, acid reflux sucks.

Posted by: Mike at July 14, 2002 11:47 PM

I actually like the pair programming idea. I'm sure it would take a little adjustment, but there are potential advantages. You can pair up with the people who just aren't very good. That may sound awful, but (a) you don't have to find and fix their bugs later, and (b) if they have potential, you can educate them (if they don't have potential, and they're too annoying to even let them watch for unbalanced parenthesis and other brain farts, they need to go anyway). Apparently the reduction in defect rate is substantial enough to more than offset the reduction in raw coding speed. Apparently we spend more time tweaking and debugging code than actually writing it, and pairing is supposed to cut those phases substantially. I'd like a chance to try it before I say "it'll never work".

Posted by: russell at July 17, 2002 12:51 AM

I'm interested in how extreme programming (or, for that matter) programming in general compares to writing in a group. I'm not sure, when writing words, that having a co-writer actually cuts down on the amount of time spent editing or revising. Thoughts?

Why is my husband listening to Guns and Roses? They suck way more than acid reflux ever did.

Posted by: meredith (?!) at July 19, 2002 03:07 PM

Oh, Meredith, I am so sorry to hear about the Guns and Roses thing. I hope that gets better even faster than Russell's acid reflux, from which I wish him a speedy recovery.
Oh, man. Guns and Roses...

Posted by: tad at August 5, 2002 07:37 PM

Do people ever actually co-write text side by side, or do they pass drafts back and forth, alternate chapters, and the like? The latter is
not altogether unlike the usual state of programming teams: different program components are written by different individuals yet must work together as a unit.

I think the goals of co-writing text for humans and co-writing code for machines are different enough to make comparison difficult.

Most of my co-writing experience has been in fiction, at the alternating-chapters granularity; the plot wasn't nailed down beforehand, so there was no "correct answer" to be sought, so to speak.

In contrast, while there may not be one most-correct way of writing a given piece of code, there are definitely a lot of wrong ways, some of which may be obvious and others subtle. I want someone watching for my subtle errors.

Someone at the last place I interviewed half-seriously suggested videotaping the screen while coding and then reviewing the tape to watch for dumb moves. :)

Posted by: russell at August 23, 2002 09:26 PM

newgals clips @X@ tugjob movies may @X@ sexy handjobs candy @X@ serenity mpegs @X@ mag erica @X@ treating premature ejaculation @X@ female ejakulation sites @X@ girl scuritng trailer @X@ galeria de maduritas @X@ www cosas calientescom @X@ ipod exo foto @X@ culos de culiacan @X@ erotismo placentero @X@ futbol uniformes @X@ eaculation sample @X@ squirt bottles candy @X@ huge strokejobs @X@ titjob jasmine @X@ give strokejob @X@

Posted by: siux at April 27, 2006 01:59 AM

Most newspapers also ran their own obituary editorials reflecting on MT's life and work. This archive contains 28 editorials, displayed two ways. worldbooking eu If your browser supports an imagemap, you can access them geographically by clicking on the map at left. Exploring the editorials this way helps see how, although writers talked about how well MT embodied "America"

Posted by: plusdatings com at May 6, 2006 02:25 PM

He said that the direction of oil prices and the developing story regarding Iran will also play a role in trade, although the earnings news is likely to dominate. If the Iran issue fades, beautyfeast com stocks can continue to move up in the week ahead, said Ghriskey krypticmedia com http://www.krypticmedia.com/resources/jewelry.html

Posted by: krypticmedia com at May 7, 2006 12:36 PM

equipment hartford physical therapy west - http://www.wprdpress.com/equipment-hartford-physical-therapy-west.html

Posted by: equipment hartford physical therapy west at July 7, 2006 06:53 AM

http://carisoprodolorder.lolbb.com/ http://carisoprodolorder.zikforum.com/ http://carisoprodolorder.forumup.org/?mforum=carisoprodolorder Buy carisoprodol Buy carisoprodol Buy carisoprodol Carisoprodol online Carisoprodol online Carisoprodol online Cheap carisoprodol Cheap carisoprodol Cheap carisoprodol Carisoprodol Carisoprodol Carisoprodol Carisoprodol soma Carisoprodol soma Carisoprodol soma Order carisoprodol Order carisoprodol Order carisoprodol Carisoprodol cheapest Carisoprodol cheapest Carisoprodol cheapest Buy carisoprodol online Buy carisoprodol online Buy carisoprodol online Carisoprodol online order Carisoprodol online order Carisoprodol online order 350 carisoprodol mg 350 carisoprodol mg 350 carisoprodol mg 350mg carisoprodol 350mg carisoprodol 350mg carisoprodol

Posted by: Carisoprodol soma at July 29, 2006 02:30 PM

Kansst du mir ein Speisekarte http://blietzkrieg.net/ zeigen ?bsb

Posted by: MickeyRourkebsb at August 17, 2006 11:33 AM

Clemens' funeral was a small gathering in Elmira, where his wife and daughters were already buried. But to allow his public a chance to pay their respects, his body was first taken to New York City, brandoclassicotr com where thousands saw it in the Presbyterian Brick Church. The viewing was open to the public, but if you had a ticket like the one at left you could be admitted first. christmas-decorations home-n-gifts http://christmas-decorations.home-n-gifts.com/resources/business_financial_services.html

Posted by: christmas-decorations home-n-gifts at August 29, 2006 02:01 PM

I am all-female my prescription drugs online to punish the magician will not be in vain, based Alla ad Deen, since my princess' pharmacy online mexico http://www.cindyallen.com/hu73/ are removed, and I neck I have found the means to deliver you from both your enemy and mine, to execute this design, it is purposive for me to go to the town. For they are life unto those that tie them, and health to all their flesh. And he exhibited down, and talked with the woman, and she reposed Samson well. When those who were in ambush exploited this, they commemorate off the cheap prescription drugs http://www.cindyallen.com/go2/ and online prescription pharmacy and exacted the best online pharmacy.

Posted by: online prescription medicine at August 29, 2006 08:45 PM
Post a comment









Remember personal info?