![]() | Ned Batchelder : Blog | Code | Text | Site August 2004 » Home : Blog |
« July 2004 | » Main « | September 2004 » Damien Katz's CouchTuesday 31 August 2004 I've worked for twenty years as a software engineer, in corporate organizations of various sizes. By its nature, the work environment is imperfect. Too many things have to get done in too little time. You get compromises and disappointments from having more than one decision-maker. Chasing after customers, with their technological whims and superstitions, is frustrating. So it is with great interest that I'll be following Damien Katz's progress. Damien is a good friend, and a great developer. I wish we were still working together. But he is off on a grand adventure: he's building a highly distributed file system called Couch. No one is paying him to do it, he's moving to a less expensive part of the country, living off savings, and figuring out the business aspects later. He's writing about the whole thing on his brand-new blog. Damien is building his system for the pure pleasure of the building, and crossing his fingers that his family will be able to eat. (Actually, he's also available for contract work). This sounds more dramatic than it is, but I feel a bit like a member of some software chain gang, watching as a fellow prisoner saws off his leg manacle and flees. Will he make it? Will his crazy plan work? I cheer for him, not only in the wild hope that he might succeed, but because if he does, it means others might be able to follow his example. Go, Damien, go!
tagged:
blogs,
friends & family» 4 reactions Just in time for the Republican National Convention, esteemed linguistics professor George Lakoff talks about the way slogans frame the debates over policy: Linguistics professor George Lakoff dissects the "war on terror" and other conservative catchphrases. In particular, he faults the Democrats for letting Republicans choose memes through slogans, and not fighting fire with fire:
tagged:
language,
politics» 9 reactions Let the games beginSunday 29 August 2004 Seems like some of the more interesting events at the Olympics weren't covered at all: Let The Games Begin:
Cleaning up after yourselfFriday 20 August 2004 I've long been an advocate of deleting code and letting go of the past, but don't leave mysterious garbage behind. Recently, a co-worker was removing some unneeded code. A certain class (let's call it COldThing) was obsolete, and all references to it had to go. He changed code that looked like this: static bool bInitted = false; to something that looked like this: static bool bInitted = false; This is just inexcusable. Why leave the empty initialization logic? The only explanation is simple haste. I ran across this code while working in the file, and it took some digging to figure out why this no-op initialization logic was there. I added a few paragraphs to Deleting Code about this.
tagged:
coding» 1 reaction MD5 collisionsThursday 19 August 2004 Looks like the venerable MD5 cryptographic hash has developed a crack: A real MD5 collision. A team has published two different input streams which hash to the same MD5 value. Of course, because of the pigeonhole principle, everyone knew this had to happen. But no one had ever found a pair before. Now that they have, researchers will be working on the question of whether it is feasible to compute, for any given input stream, a different stream with the same hash. If that happens, then MD5 is useless cryptographically, and a lot of infrastructure will have to be thrown out, but not before a bunch of bad stuff (like theft and fraud) happens. Mark Pilgrim provides this Python program to demonstrate: # see http://www.freedom-to-tinker.com/archives/000663.html Running it prints: False Tile-based Flash game tutorialThursday 19 August 2004 Tony (I couldn't find his last name) has written a tutorial about writing tile-based games in Flash: Tile Based Games. It is a good introduction, with breezy (if slightly fractured) explanations of the code, taken in small steps, with playable demonstrations as you move along. My son finally understands arrays, I learned something about ActionScript's object model, everyone wins. He also has a selection of his games for when you need a break from coding! BeatallicaMonday 16 August 2004
tagged:
funny,
music
/
via:
Rambling Comments» 2 reactions Juggling clubsMonday 16 August 2004 I've long wanted a set of six good-quality juggling clubs, for the day when I've got someone to pass clubs with. Being a basically cheap person, I haven't invested in any. But I saw the Flying Karamazov Brothers last week. They are talented and funny, and they re-inspired me. At intermission, Ivan was chatting with the audience, and I asked him what clubs they used on stage. He said they were Dubé American clubs. I ordered three to see if I liked them, and they arrived today. They seem very heavy to me. Does anyone have any experience with these? I've juggled with a friend's Dubé European clubs, and they are very nice, but more expensive, and fragile-seeming.
tagged:
juggling» 5 reactions Conditions from hellFriday 13 August 2004 I saw this in a chunk of code recently (the names have been changed to protect the guilty): if (state == kActive || Um, right, whatever. Is that condition correct? Who can tell? I can't make sense of it. I would rewrite it with intermediate booleans like this: » read more of: Conditions from hell... (2 paragraphs)
tagged:
coding» 8 reactions Code bloatFriday 13 August 2004 Bob links to Jason Marshall's The Exponential Nature of Lines of Code:
tagged:
development» 1 reaction Project managementThursday 12 August 2004 Being a developer, my naturally preferred activity at work is writing code. To place things on a crude scale, after that comes designing the system, helping others get their work done, and last, project management. Project management is one of those necessary evils. No developer wants to think about it, very few of them are good at it, all chafe at the control imposed on them by it. But without it, all the rest is for nought. Pete Lyons pointed to Max Widemans's voluminous resource on project management: Expert Project Management. I'm guessing there's some useful stuff in there, but it will take a more focused effort than I'm willing to give it right now to find it. There are so many pages that to my developer's eyes are about the same thing, that I don't know where to look for nuggets of wisdom. And too much of it feels like pseudo-science, like Those Sexy Triangles Again, about how to diagram the tradeoff between cost, quality, time, etc.
tagged:
management» react The death of orkutWednesday 11 August 2004 First I read on Bob Congdon's site about Orkut being taken over by Brazilians. There's nothing wrong with Brazilians outnumbering Americans, but they seem a bit too eager to join seemingly random groups: the Brookline Massachusetts group has 75 members, 7 of whom live in Brazil. Then Adam Greenfield writes up what many have been thinking in Social networking sites: a postmortem:
In a few years, we'll all look back on this and laugh...
tagged:
online» 6 reactions All things blitheringWednesday 11 August 2004 Here's Jim Meskimen doing a whole host of voice impressions in a very funny parody of NPR: All Things Blithering. Not only are the voices expertly mimicked, but the writing perfectly captures each person's character quirks.
tagged:
funny» 1 reaction On static typingTuesday 10 August 2004 After a small project of mine was converted from Python to C#, I have a new-found admiration for Python's dynamic typing, and other cool features like named arguments in function calls. I have come to believe this about static typing: Static typing prevents certain kinds of failures. Unfortunately, it also prevents certain kinds of successes.
tagged:
programming languages» 16 reactions On the utility of computer booksThursday 5 August 2004 This made me smile. Charles Miller relates his first impressions of Dive Into Python. He says the book is the wrong size:
WranglerThursday 5 August 2004 Over a year ago, I mentioned the idea of naming classes without 'Manager'. I said at the time that I liked the idea of using 'Wrangler' instead. Well, I finally went ahead and did it: CRetryWrangler was born. It has a nice alliterative ring to it. I figured I'd get a little grief from my co-developers about the whimsical name. One of them asked me, "What's a wrangler?", and I told him it was a kind of cowboy who takes care of horses or something. He comes back later and informs me that is its second definition, but the first is:
Sure enough. Oh well. The name sticks. Maybe it's even more appropriate.
tagged:
coding» 7 reactions Pokia retro phone of the futureThursday 5 August 2004 It had to happen. Pokia is some guy who makes old-fashioned corded handsets for cell phones. Now while you are talking on your swank new latest micro-sized, feature-packed cell phone, you can look like you are talking on a phone half a century older. He seems to be making them one at a time, and selling them on eBay, though he's had a lot of press, so it's only a matter of time before they become a mass-marketed item. Cygwin argument handling?Wednesday 4 August 2004 So, I love cygwin, because it gives me powerful Unix command line tools for my Windows machine. Thank you. I love it. But: would it kill them to accept -? as a request for help? $ diff -? Why? What would be so terrible about understanding dash-query? I type it every time I want help, and have to look at that stupid error message every time. Grr...
tagged:
shells» 14 reactions Id3reader.py, 1.5Tuesday 3 August 2004 I've updated my Python module id3reader.py to version 1.5. It now supports genre information (although genres are stupid), and does a better job handling the vast variety of character encodings. I feel kind of silly about this update, because I did the coding back in February. It took an email from a dissatisfied user before I realized that I had useful changes that I had not posted here. Mea culpa. Failing infrastructureMonday 2 August 2004 Today was just one of those days. All day at work was the kind of integration hell that comes when four developers all make big changes at once. We spent most of the day trying to grok each others changes to debug one problem after another. And I found bugs in the parts of our code that were long thought completely flushed out: reference counting, exception messages, engine patterns, and so on. Then, to top things off, when I got home, the main waste pipe in my basement had sprung a leak and was soaking the floor! Maybe tomorrow the things that are supposed to just work, will. That's no space stationMonday 2 August 2004 One of the recent photos from the Cassini-Huygens mission is amusing for Star Wars fans, and NASA had the sense of humor to label it appropriately: That's No Space Station. The resemblance is remarkable. Hmm....
tagged:
space,
star wars» 2 reactions « July 2004 | » Main « | September 2004 » | |