Wednesday, January 14. 2004
Right now I finished my second, improved version of the zeroconf for nullmailer patch. Thanks to Sandy McArthur, I managed to redo the patch without forking and all that ugly stuff. He told me how to properly use the "salt" stuff (some kind of event dispatcher) of howl, so no more running sw_rendezvous_run(). Oh, btw, the patch only works with howl 0.9.1, as howl 0.9 seems to have some kind of bug when using sw_salt_step() instead of handing over control to howl by running sw_rendezvous_run() (which is pretty crappy, as you would have to design your program around howl).
Expect more zeroconf/Rendezvous patches in the next few days. Now that I finally got it how to use howl, this unleashed my programming powers.
Tuesday, January 13. 2004
And here another funny fake banner that I found today:
Monday, January 12. 2004
Right now I finished my first Rendezvous hack, which is a patch against nullmailer 1.00RC7 that enables zeroconf/Rendezvous support to nullmailer: when the environment variable USE_RENDEZVOUS is set, nullmailer-send tries to look up the SMTP server (actually _smtp._tcp.) via Rendezvous instead of looking at the remotes configuration file. Unfortunately, the programming model is howl is pretty crappy, so I had to fork, wait until I got a resolved reply (or until I had reached a timeout of 5 seconds), and then write it to the parent process of nullmailer-send that waits for the result. Not very nice, but AFAIK there is no better way to solve this. Oh, well...
BTW: the patch is not (yet) thoroughly tested, feedback is welcome (as usual). Ah, before I forget it: after applying the patch you have to run autoconf to build a new configure script. I just didn't want to include the configure diff, as it would have been about 90 % of the whole diff file's size.
I hate it when a colleague has a task to do and has no fucking idea on what it's actually about.
I hate it when a colleague has no fucking idea about HTTP.
I hate it when a colleague has no fucking idea about network programming on Unix.
I hate it when a colleague has no fucking idea what MIME is and how it could work.
I hate it when this colleague doesn't understand anything from the above even when I thoroughly explained it to him.
I hate it when this colleague then asks for an IDE on Linux because he's so uncomfortable with the "editor and commandline compiler is enough" paradigm.
And I hate it even more when he always asks questions about exactly the things I explained ten minutes before.
Why do these kind of people get programmers in the first place? Why are they hired. I don't understand, and I don't want to understand. This world is cruel.
Yesterday evening I built a Linux jukebox server that is automatically accessible via iTunes using only my Linux fileserver, using daapd and howl. First, you need to install daapd. daapd is a free implementation of the DAA protocol, some proprietary streaming protocol developed by Apple and used by them, too (e.g. for iTunes). After installing and configuring daapd (which may be a little hassle unless you have the exact version of the libid3tag library, i.e. I had to comment out a few unimportant pieces in the source code), you could actually start. But iTunes doesn't automatically detect the streaming server, so you would have to manually enter the address into iTunes.
Now, howl comes into play. What you have to do now is to announce the daapd via Rendezvous. You can simply do this by running mDNSPublish "My Jukebox" _daap._tcp. 3689. The "My Jukebox" string can be freely chosen, the _daap._tcp. 3689 indicates that a DAAP server running on TCP port 3689 is announced. As soon as you run the command, iTunes sees your daapd running on Linux, and can immediately access it. This is plug'n'play computing how it should be.
Sunday, January 11. 2004
zeroconf is a nifty suite of protocols that provide a number of interesting services for allocating IP addresses without any manual or automatic configuration (even without DHCP), name services without having to know a DNS server, automatic service discovery and allocating multicast IP addresses. The automatic IP address allocation is nothing special, it's "only" the 169.154.xxx.xxx IP addresses a lot of people know from trying to get a DHCP lease with the DHCP server down.
Parts of this whole thing are implemented as Rendezvous that many people know from Mac OS X. Today, I was searching for implementations for those different parts of zeroconf that actually run on Linux. First of all, there's the original implementation of the mDNSResponder package by Apple. I wasn't too impressed by it, although it does compile on Linux (it even compiles and links with dietlibc, so the Apple developers did a good job keeping the whole thing portable). Then I search further, and via this HOWTO on how to enable Rendezvous on Fedora Linux, I came to howl. Howl is essentially an implementation of the automic IP address allocation thing, an mDNSResponder implementation and an SDK for writing service discovery enabled applications.
Howl also provides simple sample applications, e.g. for announcing (mDNSPublish) and browsing (mDNSBrowse) services on the local network. Now if only all the applications were service discovery enabled. Then you could simply announce e.g. your SMTP server via mDNSPublish "default mail gateway" _smtp._tcp. 25, and any service-discovery-enabled mail program could simply browse for ' _smtp._tcp.' when having to send an email, and thus no user intervention is required for configuring an SMTP server. This would be especially useful for wireless networks.
So, what would be extremely nice is more service-discovery-enabled software, and most importantly, service-discovery-enabled Linux distributions.
Saturday, January 10. 2004
Currently, I'm testing ecto, a desktop blogging client for Mac OS X. This means that I don't have to use that web interface for writing new entries, but can instead use a nice client. But, well, it's still missing a good editor. So, as this is the very first time I use this program, let's see how it works...
Thursday, January 8. 2004
Thanks to Christian Dablander, I got a sixth version of the Sober.C social engineering worm, which you can find here.
Wednesday, January 7. 2004
For those who know the famous Badger flash animation, there's a new, extended version of it, which can be found here. Hilarious!
(via kyrah.net)
Tuesday, January 6. 2004
Microsoft started a new FUD campaign against Linux. Really funny, as they don't really seem to know what they're talking about. But well, they have to do that, and fortunately, people usually realize that these 'independent studies done by 3rd parties' are actually sponsored by Microsoft, and done by a company that is owned by, uhm, Microsoft.
For all the reggae maniacs and addicts out there, I found something very nice: Soundsgood Intl. put mp3s of some of their remix tapes online. The quality is not extremely high, but enough for copying it to tape (remember: these are mp3s of remix tapes, you know, this ancient medium with the cassettes that tended to get stuck in the player just when you needed the tape or the player desperately).
I already downloaded the "high bias 2" remix tape, which is a reflection of modern dancehall reggae, remixed to 2x46 minutes of non-stop reggae. Currently, I'm listening to side A of the "pure niceness" tape, which is pure roots reggae (i.e. "Bob Marley style", the way reggae used to be in the very beginning, with real singing, slow downbeats, a good bassline, and real horns and trumpets). Nice music to simply lay back and relax (or blog ...
I'm stunned what I found in cefalon's 20C3 gallery: a picture from my lecture, i.e. showing me on the stage, and the crowd actually listening to me. You can see it here. So this makes it pretty easy to estimate how many people actually were at my lecture. But what I can't see on the picture are the h0rny ch1x0rz sitting in the first row on the left (from my view) during my lecture. Well, I guess this is what every lecturer at 20C3 dreams of: groupies. Just let me my dreams, even when they have not become true.
Monday, January 5. 2004
(gdb) r test/wc < eval.c
Starting program: /home/ak/scheme0/nfl test/wc < eval.c
Program received signal SIGSEGV, Segmentation fault.
0x400879ef in malloc () from /lib/libc.so.6
(gdb)
Uh, I love it (...not!).
The article So far, so good explains how spammers try to "poison" or defeat bayesian filters, and why this cannot work (fortunately). This is a followup to this weblog entry.
|