Friday, June 11. 2010
As quin in #bitlbee said a little while ago, I stole someone's mojo and found an amazing amount of productivity when it comes to writing code, and it feels great. I'm quit relieved that I can still find plenty of time and motivation to work on BitlBee even though during the week I already spend a lot of time at the keyboard. This after not working much on it for probably at least a year.
I managed to finally do the IRC core rewrite + abstraction that I intended to do for so long already. It'll allow adding non-IRC frontends to BitlBee if someone ever wants to, and also the IRC core has the flexibility it needs to add many more features that I wanted for years already, and were impossible to implement without adding even more horrible hacks.
There's also a libpurple-based backend for a few months already, plus file transfer support (written by Uli Meis and Marijn Kruisselbrink actually, it just took me a long time to merge the >3000-line diff, fortunately Review Board did make it a lot less painful), all thrown into a bleeding edge branch called killerbee. It's code that needs a little bit more work before I really like it.
Also, BitlBee has Twitter support for about two months already (thanks to hard work done by Geert Mulders), and according to the application registration page on Twitter it has almost 500 users already. It's quite likely that many of those used it for five minutes and went back to a client with more features, but it's still nice to see.
Last of all, to help with the current lack/fragmentation of online documentation there's now a BitlBee Wiki. Its supposed to have easy-to-find docs about common FAQs, but the easy-to-find part isn't really working out yet since it hardly shows up in any search results. Hopefully this hyperlink from a high-profile weblog will improve that a tiny bit. ;o) Possibly the content is not that good yet either, so if anyone has something to add to it, by all means, please do!
With a 1.2.8 release coming up, BitlBee is totally alive - and is for almost eight years already. It's been a fun project to work on so far, and hopefully will be for a long time.
Saturday, May 22. 2010
There are plenty of articles about this already, but I couldn't find anyone who wrote a script to automate this simple task of transferring files using just netcat.
CODE: wilmer@ruby:~/src/bitlbee/devel$ ncsend.sh /audio/03\ Tree\ of\ Life.mp3
nc 87.198.255.202 6886 | pv > 03\ Tree\ of\ Life.mp3
Run it and it will give you a command to run/copy-paste on the remote side/pass to the person who wants the file. It uses pv as a nice progress indicator, and the script assumes pv is available on both sending and receiving ends. But that's good, everyone should have pv installed on his/her machine.
I'd just include the code in this little article, but Serendipity would screw up the layout completely, so instead you can download it here.
Sunday, January 31. 2010
While migrating my mailserver from Ubuntu Dapper to Debian Lenny, I noticed spamass-milter didn't want to start:
Could not parse "2001:770:017b::" as a network
After scratching my head on that for a while (it worked on the old box!) I remembered two years ago I spent some time adding IPv6 support to spamass-milter myself. Support as-in allowing IPv6 subnets to be whitelisted/auto-accepted. Very useful if you want mails from your local IPv6 machines to be accepted automatically without waiting for 10s while spamassasin is checking if you're not a spammer...
I never published the thing and now I could hardly find back the damn thing at all. :-)
http://wilmer.gaast.net/downloads/spamass-milter-ipv6.diff
Just to make sure I won't lose it again ... and maybe it'll be useful for someone else.
Also just de-Ubuntufied my laptop. Debian's doing great so far: Suspend and Resume actually work better out of the box, but fonts look a bit ugly (and sometimes really less readable I'm afraid) compared to Ubuntu...
Wednesday, December 30. 2009
Because Intel on-board video isn't quite good enough at 3D and my somewhat old laptop with built-in NVIDIA chip wasn't doing all that well at X-Plane either, I bought an NVIDIA GT240 card. Mostly because it seemed to be a good performer without doubling the power consumption of my PC. Stuff wasn't working all that well though and I got pretty frustrated:
QUOTE: X Error of failed request: BadLength (poly request too large or internal Xlib length error)
Major opcode of failed request: 135 (GLX)
Minor opcode of failed request: 2 (X_GLXRenderLarge)
Serial number of failed request: 1468
Current serial number in output stream: 1483
was all X-Plane could tell me. Google Earth also didn't work and seemed more like Google Black hole to me. Both are 32-bit apps. A 64-bit binary of Flightgear did work. Sigh.
After some poking I noticed the nvidia-glx package replaces /usr/lib{64,}/libGL* with its own versions, but didn't touch /usr/lib32. A-ha!
The fix: Get a 32-bit version of nvidia-glx, extract it somewhere (dpkg -X) and copy all the files in its usr/lib to /usr/lib32, overwriting the libGL symlink that is currently there.
Or, hmm, as I just found out: apt-get install nvidia-glx-ia32. I'm glad someone thought of it already.
Now X-Plane works perfectly (with maybe even ten times the frame rate I had with Intel on-board) and Google Earth can show me my house again.
Just blogging this since so far a Google search for any part of the error above didn't give useful results.
Now, I just have to find out if I can get a TV signal out of this thing somehow, since my TV was made long before HDMI was invented. :-/
Sunday, October 18. 2009
Hey, it's more than two months ago already, but it's just in time for my thoughts on HAR2009! I put pictures on-line a little while ago already, but nothing else so far.
It's a pretty neat event. It feels like a festival, but then completely stuffed with geeks. And talks instead of concerts. And also, fantastic decoration. Or maybe I should call it light pollution? Also, we had our own GSM network! Of course, we also had police on site, because you don't want to know what this hacker scum does in their spare time. From the stories I heard, the police had a pretty unexciting but pleasant time there though.
All in all it was fun, and I met a whole bunch of people, including some happy BitlBee users and contributors. Most interesting was perhaps that I met a roommate of a former Mountain View teammate of mine at the train station before the conference already. The geek world is pretty small, I guess.
Saturday, June 6. 2009
Sigh. If a PHP coder says "The complete upgrade path is automatted and can be performed with a single mouse click.", don't believe him. I just spent almost an hour on a Serendipity upgrade. Maybe it works well if you have a dumbass FTP CGI-exec webhost, but I miss the good old days without "user friendly" installer scripts, where installing a webapp was a matter of unpacking a tarball and feeding a database dump to MySQL. Stuff just worked without having to give the webserver write permissions pretty much everywhere.
But now, after the hackish s9y upgrade I lost the old theme, random plugins broke and I had to reinstall + reconfigure them (after resolving some more permission issues), and the best part must be that the upgrade script does absolutely no error checking. After tons of error messages it says "upgrade successful". Fortunately it's also dumb and didn't mark the upgrade as successful, so I could retry the upgrade after fixing permissions. One day I'll just figure out how to move all this stuff to Blogger. :-/
Anyway, I promised pictures. Lots of stuff is now on http://wilmer.gaast.net/fotos/. Don't have very fast hosting for it yet, but I'll work that out later. Hilights are the pictures of my first flight lesson, and also pictures of my cool model airplane. Bought it in April (after mostly trashing my Super Cub and leaving it behind in Beilen), and got some cool in-flight pictures. I also bought a 37g camera especially designed for attaching to these planes, so soon I'll be spying on people in the park and around here in Dublin. :-P
Some pretty hiking pictures from this year's Mountain View trip are also there: Big Sur (under Monterey), Rancho San Antonio (just under Mountain View/Sunnyvale). In other news, I'm flying to New York on the 24th. Not sure if I'll make any pictures there since probably everything there has been photographed to death already.
Saturday, May 9. 2009
Just a quick Perl hack I put together last night. This "oneliner" reads the sessionstore.js file and prints the URLs of all tabs you're currently looking at. I also noticed that the sessionstore contains lots of other useful information, including all session cookies. I'm quite sure that will come in handy some day. :-D I took a quick look for code that does this, and found people trying to put some complicated grep/regex together, but that seemed way too fragile to me. One person did it in JavaScript (which makes a lot of sense since the session store is encoded as a JavaScript data structure), and I decided to go that way as well except I'm using Perl's JavaScript module so it can still run on the command-line. :-)
CODE: #!/usr/bin/perl
use JavaScript;
my $rt = JavaScript::Runtime->new();
my $cx = $rt->create_context();
$cx->bind_function(fetch => sub { print( $_[0] . "\n" ); });
$sess = `cat ~/.mozilla/firefox/*.default/sessionstore.js`;
$sessparser = <<EOF;
for( var win_ in sess['windows'] )
{
win = sess['windows'][win_];
for( var tab_ in win['tabs'] )
{
tab = win['tabs'][tab_];
fetch(tab['entries'][tab['index'] - 1]['url']);
}
}
EOF
$cx->eval('var sess = ' . $sess . ';' . $sessparser);
And yes, my code is indented, but my shitty blog software likes to break it.
Sunday, May 3. 2009
Writing from Mountain View again! Landed on Thursday, spent one day at work so far and today I got my bicycle fixed up so I can use it for commuting again. It's nice how year after year, the thing still works for me, all it needs when I come is some extra air in the tires. :-) One thing California is really not doing well this year is the weather, though. It's raining for two days already!
In other news, I should definitely be plugging The Australian Pink Floyd Show in this post. They were in Dublin about a week ago and they're amazingly good. Even a singer that sounds a lot like Roger Waters! The show was great too, with inflatable animals and everything, and the music sounded perfect. This tour they're playing all of The Wall, and for that that means not just a "copy" of the CD, but also many of the little filler pieces that PF used to play during the concerts.
Also working on a bit of OSS these weeks, adding more "diversity" to the already bloated landscape of gallery webapps. I'm making a difference though, SRSLY! I found myself making a lot more pictures since I bought my first dSLR and many of them aren't really part of an album/event or anything like that. I could just put them on Flickr or Picasa and be done with it, but that'd break my time-wasting tradition of hosting everything myself.
I already use F-Spot to manage my pictures, so it'd be nice to have a web gallery that can automatically use tag information from F-Spot. Turns out there are two programs that can do this already. They're not for me though; they automatically export everything, and there are pictures that I'd rather keep for myself. :-P
I then tried to adapt "original" to my wishes, but gave up when I saw it doesn't quite use templates and am rewriting it now using web.py and Cheetah templates. Going well, but TBH I feel homesick to PHP. Not that it's such a great language, it's more that I fail to understand why there are 982397832 different webapp frameworks for Python/WSGI/mod_python/whatever instead of just one that actually works.
This is a work in progress, and the progress is good. :-) Once it's done, I'll be able to post pictures here of my new radio-controlled airplane and other neat stuff. Yaaaay...
|
Recent comments