programming

You are currently browsing the archive for the programming category.

Climbing The Stack

When I was in college, I used to look at the kids who took the compiler theory classes and loved to work in assembler and think to myself, “Thank goodness you like that stuff.  Now I can concentrate on solving real problems with C.”

Now I realize that I’m starting to look at C programmers the same way.  “Thank goodness you like that stuff.  Now I can concentrate on solving real problems with Python.”

I guess I’m just a “top of the stack” kind of guy.  Shoulders of giants and all that.

Tags: , ,

After posting about how fast things change in the computer hardware field, I came across this 25 year-old film by the University of Toronto that compares and contrasts various sorting algorithms. I was fascinated with these algorithms when I was in college and after watching this 30 minute film, I can assure you that I’m still intrigued by the subject.

The most interesting thing I realized from watching it is that sorting algorithms haven’t changed at all since this movie was made. That is, quicksort is still the most widely used sorting algorithm (followed closely, I’m sure, by bubble sort — not because of it’s efficiency, but because it’s the way we humans sort physical things (i.e. playing cards), so naive programmers often “reinvent” this way of sorting in code, only to find out later just how slow O(n2) algorithms actually are). Most modern computer languages provide built in sorting routines these days, and those routines use quicksort.

So, even though our computers are getting faster and smaller at an exponential rate, the theory behind efficiently programming them was largely finished decades ago. Of course, this is all on the verge of disruption as we start dealing with multi-core parallel processing and quantum computers where algorithms like quicksort that we’ve grown to rely on no longer work very well and start to look like poor, old bubble sort.

That’s when I know it’ll be time to retire.

Tags: ,

Found this amusing link showing how “the world’s worst car,” the Trabant Sputnik of East Germany is/was made. This video in particular, reminds me of several enterprise software jobs I’ve had. Sure, most of the projects started out with detailed plans and documentation, but in the end management almost always abandons quality in favor of deadlines.

“Just keep kicking the grill until the hood lines up,” could easily have come out almost any of my boss’ mouths (if our project had a “grill” and “hood” that is ;-) ). “We’ll formalize the workaround into a documented procedure later.” In fact, I think a couple of them even had the same exquisite mullet as the worker in the video.

That’s one of the big reasons I’m out on my own now and why I refuse to call any software I write, “enterprise quality.” I’d much rather build Porches than Trabants.

Tags:

New DJedna Deploy

I deployed a new version of djedna today. Most of the new creamy goodness baked into the heart of this release was done by Mike (who someday will have a link so that you will know him as more than a name). Changes include a cleaned up interface and significant under-the-covers changes to the catalog model to prepare us for our three-pronged customer strategy.

However, this upgrade comes with a caveat. If you had a djedna account before, well, it’s gone. Sorry, progress requires sacrifice. The good news is that if you’d still like to enjoy the new-car-smell-alpha that is DJedna, just e-mail me (thomas, you know, at, like, gumption.com) and ask for an account.

All things djedna are coming along nicely. As you can see, Mike’s been cruising along while I’ve been dealing with code-block in trying to complete the pool/playlist/program (a.k.a. Flytrap) functionality, probably because I’ve been thinking about it for far too long (maybe 9 years or so). Now I’m presented with cool new ways to implement it, like using python’s simple generators. But I’ve at least got the blank-screen-blues out of the way now so hopefully it won’t be as hard as I’m making out to be in my head.

Tags: ,

Code Monkey

I logged into g-talk this morning and noticed that two of my contacts (who don’t know each other and are not in each other’s contact lists) both had links to different YouTube videos for a song Code Monkey by Jonathan Coulton. One link was to what appears to be a user-created video for the song (go Web 2.0!) and the other is a live performance of the song by Jonathan himself (I especially relate to his pre-song banter).

In the interest of perpetuating this meme, I have embedded the videos below.

Tags: , ,

« Older entries