Breaking the Law (of Hostname Canonicalization)

Posted on June 09, 2006

Mailman is a great little program written in Python that lets you manage mailing lists. I was tasked with installing it on a new machine last week, and I got to learn about canonicalization the hard way. All of the emails sent by our server out to the mailing lists were using the host name instead of the DNS A record for the Mailman VirtualHost. I tried for days to fix this and eventually got the feeling that it was DNS related. However, I still couldn’t see why Sendmail would force the To-header back to the canonical name when Mailman was setting it correctly.

Eventually, I happened across this email on Mailman’s dev list that solved the problem by removing one of sendmail.cf’s canonicalization rules. I’m sure this violates some RFC. Although, the hack does indeed solve the problem. The actual wizardry was to comment out the following line in sendmail.cf.

# pass to name server to make hostname canonical
# R$* $| $* < @ $* > $*         $: $2 < @ $[ $3 $] > $4

It’s absolutely wrong to do this because if you edit sendmail.mc, and restart sendmail, the cf file gets regenerated automatically which obliterates the change. Is there a better way to fix this without violating RFCs and changing sendmail rulesets? Note: I don’t have access to the DNS server.

Hexeditting a Drum Track!

Posted on April 06, 2006

I finally did it! I can now record my drums as a midi track and map each individual pad (and rim) to any wave file that I want to, after I play it! It’s absolutely the most awesome thing I’ve ever seen. The picture here is actual midi data from a real song that we’re trying to record. This probably sounds like a lot of babble, but essentially what I’m doing is hooking VDrums into my computer via a MIDI cable, recording that data, and then replaying it with arbitrary wav files representing each note within the file. I knew it was possible, but it’s cool to actually see it work in real life. Big thanks to mitya000 for hacking the infinite VST settings to allow this to go…

Problems with the Windows XP Flickr Uploader

Posted on February 22, 2006

Hmmm, the Flickr XP Uploader it appears to work somewhat, but there are some problems. First off, the tags that I add don’t seem to ever be applied. Also, if I add the pictures to a new album, that doesn’t seem to work either e.g. a new album doesn’t get created from the uploader. To top it all off, I tried uploading 109 pictures last night, and it stopped no less than twice which forced me to restart upload from where it left off. Am I the only one having this problem?

Today Shall Live in Infamy

Posted on February 13, 2006

I paid 25 dollars in actual cheddar for the NetNewsWire RSS aggregator on my Powerbook. It’s pretty much the most Appleriffic feed aggregator on the planet. My one month trial was up yesterday, and I was really jonesing to see what was going on in the world of Intraweb irrelevance, but I couldn’t. So, I ponied up the 25 clams over to RancheroSoft. This is the second piece of software that I’ve purchased for the Mac. The first was the venerable Textmate. I’m just speculating here, but the third and fourth pieces of software that Imma buy is iLife and iWork ‘06 when I get around to it.

Sourcecasting

Posted on January 16, 2006

I just had an idea tonight for a way to automatically download and build a source release tar ball from an open source project. I call it Sourcecasting. I’m sure this idea can’t be novel because it merely extends the ideas of podcasting and photocasting, but I was thinking that it might be convenient for project, distro and rpm maintainers particularly if open source projects had a unified way of releasing their latest versions. So, why not create an RSS feed with links to the last 10 or so source tar ball releases e.g. a FOSS project Sourcecast so to speak.

Most FOSS projects have an ftp site and some methodical way of naming files, and this has been working pretty well since the grand experiment had begun. There are some problems with this because it does require quite a bit of infoware (custom perl/python, etc) to handle these in any kind automated way. A Sourcecast would really be a convenient method for everyone compiling or releasing source code tar balls in whatever capacity.

There are several advantages to Sourcecasting over just putting a download link to Sourceforge and using a weblog to promote your project. First, this method would systematically let everyone know where the last 10 or so release can be downloaded. Next, a Sourcecast RSS feed could even be used to load balance or to perform a phased release using GeoIPFree (e.g. incrementally roll out your release on a per country basis). You could even go in finer granularity if you had state and ZIP Code IP address databases (which cost $$$$). Another interesting spin on load balancing this way is that you could even write some javascript to (initially, not for every load) calculate the fastest download link for your site, and then send the latencies back to the server via SOAP or XMLHTTPRequest, the server could then create a custom RSS feed specifically for your location. This could then be updated on an as needed basis. For huge source code releases, you could even use a torrent to mitigate bandwidth charges. Another large advantage to this method would be that all open source projects now have a machine parsable release strategy, and this could really improve the productivity of distro and package maintainers (Red Hat are you listening?). Not only that, but it’d be useful to add Sourcecasts to an RSS Reader just to see when your favorite project has released new version.

I know it’s kind of silly to expect everyone to start doing this, but there are some backdoors. Probably the easiest way to do this is for free would be for the Apache Foundataion add an automatic RSS feed to mod_autoindex. This way, Sourcecasting is essentially painless and would come for free if you ran Apache’s httpd. I think this could really be a huge boon to productivity for FOSS, if implemented correctly. Also, I wouldn’t be surprised if some projects are already doing this in one form or another, but I haven’t seen any mention of it on Google. So, at the risk of sounding like a sanctimonius dolt, I present this idea as my own.

Bloxor Hacks

Posted on December 16, 2005

I’ve been recently hacking my local installation of bloxor to shreds. I made drag and drop work, and hacked the icon scheme. I’m still working on it, but I did manage to take this screen shot earlier which shows it in action.

Bitbee 1.0, Fedora Core 5 T1 Screenshot, Irssi for FC5T1, Other Changes

Posted on December 05, 2005

Well, first off, I installed FC5T1 test under VMWare, and compiled the necessities. I managed to get Bitlbee 1.0 to compile under FC5, and built an RPM for it (also under FC4, Redhat 9, and RHEL4 as well). I wanted to test it, and ended up building an irssi RPM as well. The Bitlbee RPMs are located here. In the process of building, I took a screen shot and uploaded it to the screen gallery here. Also, I’ve been seriously hacking my httpd.conf file, and it has grown to around 1760 lines long. I’m redirecting a lot of old content, and I’ve migrated everything that used to be uberh4×0r to hudge, and a lot of cached links from the old server are now redirected properly on hudge.

Involution Wordpress Theme v1.4

Posted on November 28, 2005

I just updated my Involution Wordpress theme to version 1.4 with a couple of stylesheet hacks. You can download it from my theme clearinghouse, http://themes.involution.com.

TotalUniques.rb

Posted on November 20, 2005

I modified my Browsershare ruby code to produce a chart showing Unique IP Visitors for as long as I’ve been keeping track of involution.com traffic. You can view the script here

Gruff Problem on OS X

Posted on November 20, 2005

I just added another page to my Ruby On Rails Wiki about some problems I’d been having with Gruff on OS X. You can view it here. Essentially, I keep getting this error on OS X Tiger 10.4.3:

/usr/lib/ruby/gems/1.8/gems/gruff-0.0.5/lib/gruff/area.rb:8: uninitialized constant Gruff (NameError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in `require__'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in `require'
        from /usr/lib/ruby/gems/1.8/gems/gruff-0.0.5/lib/gruff.rb:4
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in `require__'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in `require'
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:175:in `activate'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:23:in `require'
        from browsershare.rb:9

Gruff seems to be working fine RHEL4, but I really want to use my Powerbook as a staging server for my work.

Solved!!! Apparently, I needed to build ImageMagick from source with these ninja configure options:

CPPFLAGS='-I/opt/local/include -I/sw/include' CFLAGS=$CPPFLAGS LDFLAGS='-L/sw/lib -L/opt/local/lib' \
./configure --prefix=/opt/local --disable-static --with-modules --without-perl \
 --without-magick-plus-plus --with-quantum-depth=8  \
  --with-gs-font-dir=/opt/local/share/ghostscript/fonts