Year: 2003

  • Sam Ruby Fights Spam

    Thankfully Sam Ruby is filtering spam out of his comments.  I subscribe to his comments feed but was getting ready to unsubscribe after having to scroll past several spam messages while skimming my news aggregator.

    I get enough spam in my inbox.

    Sam is also tackling trackback spam on his weblog by verifying that there is indeed a link to his site.  He is also looking at upgrading the backend to intertwingly:

    However, that part will have to wait as I’m in the midst of evaluating a wholesale upgrade of the software running my weblog, and in the process evaluating Blosxom 1.2, Blojsom, PyBlosxom, and Vellum.

  • TSA Contraband

    BoingBoing:

    Oh ho, he said, this is different — it has a smaller flame than your lighter.

    So I flipped off the wind-shield, and cranked the little valve-control lever around counterclockwise, and then lit the lighter. A foot-long jet of flame shot out of it.

  • Testing Trackbacks with tblib

    Matthew Langham:

    Frank is looking for someone to test whether his Trackback works. Radio doesn’t support Trackback – so perhaps some kind person will help. Thanks!

    I use Radio, and therefore don’t have trackback support, but I did ping his weblog manually with a python trackback library that I wrote.  His trackbacks seem to be working fine.

    [user @ box tb]$ ./tbclient.py -tburl http://www.koehntopp.com/cgi-bin/mt-tb.cgi/204 -title "Testing Trackback" -excerpt "I use Radio, which doesn't support trackback either, so I'm pinging gadgetguy.de with a command line client using tblib." -blogname "Matt Croydon::postneo" -url http://postneo.com/2003/02/07.html#a1992
    Trackback command line client here.  Preparing TrackBack...
    TrackBack URL: http://www.koehntopp.com/cgi-bin/mt-tb.cgi/204
    TrackBack Title: Testing Trackback
    TrackBack Excerpt: I use Radio, which doesn't support trackback either, so I'm pinging gadgetguy.de with a command line client using tblib.
    Your Weblog Name: Matt Croydon::postneo
    Your URL: http://postneo.com/2003/02/07.html#a1992
    Pinging http://www.koehntopp.com/cgi-bin/mt-tb.cgi/204...
    HTTP Response: 200 OK
    TrackBack Error Code is: 0 (zero is okay)
    Done!

  • Dict, Python clients, and Gophers, Oh My!

    I don’t use a spell checker for this weblog, and I’m truly sorry for that.  Sucks to be you, my reader.  Most of the time if I’m not sure of the spelling of a word, I’ll either look it up at dict.org or find a similar, easier to spell word.

    I was curious about DICT protocol clients, so I went to the links page.  This led me to John Goerzen’s Python client class.  I’m taking a look at it now, it looks simple yet powerful.  John hosts his content with a gopher.  I miss gopher.  Gopher used to be the coolest thing on the planet.

    Of course John has also written a gopher server in Python.  It’s called PyGopherd (duh!).  I so have to set one up.

  • New Weblogging Features

    Phillip Pearson seems to be begging for another project:

    What features are people looking for in blogging packages? What’s left to do? Suggestions please 🙂

  • pylibini 0.1.2 Released!

    Another gem this evening from freshmeat, pylibini 0.1.2 is out.  It’s a bugfix/tweak release.  It is also now released under the LGPL (previously GPL).  Here’s a quick description:

    pylibini is a Python module which provides powerful access and easy manipulation of .ini files in Python applications.

    Another useful tool for the toolbox.  Most of my work in Python has been fairly lightweight, probably not requiring .inis, but it’s good to know about.

  • Struts-wml 1.1b3 Released!

    I’ve been keeping an eye on struts-wml.  I wanted to use it on a project, but it was a little too alpha for me at the time.  I wasn’t able to easily use the version of Struts that the release was mapped to.  I gave up after a little .jar hell.

    It is now sync’d with Struts 1.1b3, which might make it more usable for some.  I’ll do my best to take a look at it in the near future.

  • PyObjC

    OSNews:

    Some programmers see the advantage of combining Python and Objective-C in the same environment, believing that a bridge between the two languages provides tremendous power and advantages to either language. For the Objective-C developer, access to Python provides a rapid application-development solution that’s far more efficient than one requiring a compiler. For the Python developer, transparent access to Objective-C would allow the developer’s scripts to leverage the full power and elegance of the MacOSX environment. In this article, Bill Bumgarner shows you how to bring these worlds together.

    Python just screams out to be integrated into other languages and environments, doesn’t it?

    I don’t currently have an OSX testbed, but I have an old G3 coming in that I have to troubleshoot and buy a few parts for.  We’ll see how that goes.

  • Ingo on Matt on Documentation

    It looks like we have a conversation going here.  Here’s Ingo’s latest:

    Break the cycle. Write your next documentation the same way – and with the same quality – as if you’d write an article or book. Your readers will love it. And don’t forget: documentation is marketing your code to a peer.

    I will definately do this the next time that I put together documentation.  In the past, I have found that good documentation or a good example of usage brings a smile to my face.

    I’m not in the same corporate/professional situation as Ingo and others, where documentation is just a check mark next to a step in The Process.  I am definately guilty of putting together ‘good enough’ documentation just before a release or before showing someone my code.

    I will follow Ingo’s advice and suggest that others do also.  I think that the open source community in particular should pay attention.  Sometimes the documentation is good, but more often than not it’s missing, incomplete, or poorly written.

    If these notes on documentation don’t apply to you, if you already write good docs, thank you.

  • Technical Writing

    Ingo on documentation:

    Technical writing is a form of communication which takes a certain degree of sophistication. Especially when you actually expect someone to read it.

    Good technical documentation is hard to produce.  By the same token, good technical documentation is hard to come by.

  • Decoding Base64 in Linux

    I found myself with a base64 encoded JPEG this afternoon that I needed to turn into a real live JPEG.  Don’t ask how, I think it was a miscommunication between mail clients.  I ended up turning to John Walker’s base64 utility for Linux.

    That’s right, I downloaded the text attachment from my web-based client, trimmed the text to the raw base64 encoded portion, ftp’d it to a server, grabbed it from an SSH session on my Linux box at home, ran base64 -d attachment.txt outfile.jpg, ftp’d it up and down, and now everything is well.

  • The Art of Unix Programming

    LWN:

    Eric Raymond informs us that a draft version of his book The Art of Unix Programming is now available for review. It can be found, along with the rest of Eric’s writings, at his new “catb.org” domain.

    From a section of the book:

    Though the term “open source” and the Open Source Definition were not invented until 1998, peer-review-intensive development of freely shared source code was a key feature of the Unix culture from its beginnings.

    For its first ten years AT&T’s original Unix was normally distributed with source code. This enabled most of the other good things that follow here.

    This work in progress looks quite promising.

  • Patching The Server

    Phil Windley:

    Bruce Schneier, well known security expert and CTO of Counterpane Security, has a letter in the New York Times about the dilemma faced by CIO who run large numbers of Microsoft machines: there are too many patches and they can’t be installed automatically because they often break, and yet if you don’t, you’re vulnerable to worms like Slammer.

    It’s the server side equivalent to Critical Update Hell.

  • Abandonware as Open Source Staring Points

    Looking for a project?  Scott Johnson suggests looking towards open source abandonware.

    That’s right, abandonware — the vast treasure trove of open source projects that have been started, some code has been released and then …. nothing.

  • New Kids On the Blog

    There’s a story in the .com section of The Washington Post today called New Kids On the Blog.  It started out as a nonarticle, but picked up nicely on page E6.  While reading the article, this popped out as quotable and thought provoking:

    While blogs are a significant publishing phenomenon, I see them as entirely different from professional news organizations, which have paid staffs that ferret out and vet information according to established principles of fairness, accuracy and truth.

    There is always tension between traditional reporters, BigPubs, and the weblog community.  However, she did manage to quote both Evan and Dave, which tends to be par for the course in the “Yet Another Weblog Article” formula.

  • Top 100 Music Videos of 1995

    While I was installing and rebooting and updating and rebooting this evening, I popped in a VHS tape makred “MTV.” It turns out that the tape is about half of the top 100 videos of 1995 (100-50ish). It was great to see some old videos and hear some old songs. It made me remember the days of flannel and long hair.

    1995 was the year that I saw David Bowie and Nine Inch Nails from the mosh pit. I was in a band. At our first practice, we tried horribly to cover Soul Asylum’s Misery.

    What struck me most wasn’t the videos, it was the commercials. The commercials told more about 1995 than anything else on that tape. Sure it was a big year for REM, Hole, Collective Soul and Hootie and the Blowfish. The thing that intrigued me most is that the Sega Saturn was being advertized for “Just $299.” I saw a few ads for Super Nintendo games. That annoying ad for the overpriced retro store down the street (which closed down several years ago) played a few times.

    Today we’re so quick to skip the commercials, TiVO that stuff right out of our viewing experience. I think that if you still have a functioning TiVO eight years from now, you won’t skip the commercials when you watch that old show.

    They’re a wonderful snapshot of who we are.

  • GCC 3.2.2 Released!

    KernelTrap notes that GCC 3.2.2, a bugfix release, is out.

  • MoinMoin Updates

    I spent some time this evening chatting with Thomas Waldmann on #moin at irc.freenode.net. MoinMoin is currently at 1.0, though 1.1 is just around the corner. Hopefully 1.1 will include some caching support which should speed things up (Slashotting a MoinMoin wiki is not recommended) a bit. 1.1 should also bring compatability with persistance, such as the Twisted Framework and mod_python. More details on that can be found at the mailing list archives. Planned features for 1.2 include some darn smart internationalization. Linking WikiNames across languages sounds like a headache, but there is a working demo up and running.

    Aparently Thomas isn’t much of a Python guy, but he loves MoinMoin and is pleased to be working in Python.

  • Tweaking the ASP.NET Web Services Test Page

    Scott Hanselman: “A reminder from Sairama that editing the DefaultWsdlHelpGenerator.aspx page in CONFIG underneath the .NET Framework directory allows you to customize the Web Services test page. Even if only to change the default textbox to a textarea, it’s a useful tip.”

  • Automating EJB Unit Testing

    O’Reillynet: “Adopting Extreme Programming (XP) requires programmers to have automated unit tests for most of their code. Achieving that with Enterprise Java Beans presents some difficulties. One reason is that EJBs must be deployed before testing; another reason is their intrinsic relationship to the database. Using JUnit and Apache Ant, JiRong Hu shows a simple solution to automating EJB unit testing — moving one step closer to true XP.”