Dumb Quotes
Thursday, March 29, 2007
One of the case studies in the Dive Into Greasemonkey is called Dumb Quotes and does just what I wanted - converts all the “correct” typography into plain old ASCII. What a relief.
One of the case studies in the Dive Into Greasemonkey is called Dumb Quotes and does just what I wanted - converts all the “correct” typography into plain old ASCII. What a relief.
About a year ago i started to switch from regularly reading blogs to regularly listening podcasts, ranging from personal audioblogs in my current languages of interest through technology news and activism to audiobooks and free net music. Now I’m 100% converted, mostly thanks to my latest mp3 player which is quite podcast friendly for 40Eu (it remembers last playback position while off and it has extremely handy rewind fastforward which accelerates on long tracks). Another important factor is that i can listen to stuff hands, eyes and hmm… buttocks free while doing some gardening or commuting.
One of the audiobooks i’m listening to is “7th son” by JC Hutchins (it’s an easy listening sci-fi about government conspiracies, cloning, uploading/downloading of human personality to/from a device, nature vs nurture etc). The first book of the trilogy was over about a month ago and mister Hutchins is about to launch the second book in a few weeks. To celebrate this occasion he’s organizing a party in the Second Life, on the Podcasts island.
The last commits made deepsea work on caracolito again, with blue water, lots of huge bubbles and large fishes. I have rewritten image loader using DevIL instead of libAfterImage. The reasons:
All of a sudden the program stopped running with the following error:
/home/artm/Projects/limb/game/src/.libs/lt-deepsea: error while loading shared libraries:
/home/artm/Projects/limb/game/cal3d/src/cal3d/.libs/libcal3d.so.11:
cannot restore segment prot after reloc: Permission denied
That has something to do with SELinux settings of Fedora (FC5) but why i didn’t suffer from it yesterday (and I didn’t even reboot for real - just hibernated and woke the caracolito up this morning). Anyway the solution was to issue:
chcon -t texrel_shlib_t /home/artm/Projects/limb/game/cal3d/src/cal3d/.libs/*.so
Hmm, well, another thing that has changed since yesterday is that I have enabled screenshotting code this morning, could that have been the reason?
Yesterday when trying to yum update after a long time I was getting a lot of checksum errors from the atrpms mirror of the official fedora core repositories. The solution was to change the order of mirrors in baseurlproperty in the /etc/yum.repos.d/base.repo file from:
baseurl=http://dl.atrpms.net/fc5-i386/redhat/release
http://ayo.freshrpms.net/fedora/linux/5/i386/os/
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/
to
baseurl=
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/
http://ayo.freshrpms.net/fedora/linux/5/i386/os/
http://dl.atrpms.net/fc5-i386/redhat/release
that will probably strain the servers in america but also allows me to upgrade.
New fedora is out and caracolito was a mess for the last 4 months thanks to my numerous experiments in December. I also wanted to have windows in some sort of software jail for rare job related occasions I would need to port my software to it.
First I tried to install windows on good old thalamus just to see what windows installation feels like. Considering it’s some ancient windows version, installation feels like time machine. Add to that thalamus’ iffy power connector and batteries which when fully charged last 40 min but i never had a chance to fully charge them. Nevertheless I managed to install windows and put thalamus back on his dusty shelf.
I leeched a torrent of FC5 install DVD just to discover that my DVD drive won’t boot off DVD+RW (well, actually it can’t even read it), and my motherboard won’t boot off DVD writer. I could either go and buy DVD+R and see if that’d work, or download the CD images (yet another 3Gb). The shops were shut already, so I opted for the latter, which decision was rewarded with flashy new clean install at 3am.
With all the buzz about AIGLX I expected all sorts of goofy Mac-like FX but no, X11 is as strict as it used to be. If it wasn’t for desktop background and fedora logo screensaver (and overal stability, which is a temporary condition on computers that I own) FC5 lookes just like mutated FC4 I had before. After some browsing found out that AIGLX doesn’t work on nvidia anyway, thanks to closeness of the driver. I then proceded to install vmware workstation but it’s evil and you don’t wanna install evil stuff at 3am (prior to installation, while CD images were being sucked off fedora torrents I watched Exorcism of Emily Rose, a sucky 2005 mystery movie where 3am was one of the mystery elements, so I knew I shouldn’t tempt the demons) and I decided to call it a day. I went to System >> Shut down… and hey, there was a Suspend option there which I immediatelly clicked on.
This morning I turned the computer on and some 30 sec later was politelly asked to enter my password, and here I was in the session as I left at demon’s hour it with evil vmware installer asking me questions.
I had to install “kernel-devel” package to satisfy vmware installer, and after that patch vmware using vmware-any-any-update* from Petr Vandrovec. The whole spirit of installing the vmware smells evil: closed source software doesn’t port itself to “unsupported platforms”. I hope it’ll work in the end… (Update: it did, in the end: I had to install VMWare tools inside the VM where Windows lives). To install Windows on a virtual machine I had to make both of my optical drives available to it - because I have no idea which one is /dev/hdb and which /dev/hdc. Mouse doesn’t work properly inside the VM, probably setting type to “auto” wasn’t a good idea (it was default!). I hope windows installer can be controlled with keyboard… Fedora/Gnome and Windows barely fit in the caracolito’s tiny RAM, wonder if they still sell the sort of DIMMs it needs. The newer and faster DIMMs I’ve got in a closet don’t work ;-(
After having installed closed nvidia drivers I figured that the best way to run windows fullscreen was to use VMware Player. It doesn’t allot a separate virtual console for windows but it also has no problem using the same resolution / refresh rate as xorg.
Installed an additional gstreamer plugins (-ffmpeg, -bad and -ugly) from freshrpms. And tested it by listening mp3 from iTunes via DAAP.
Ok, it’s time to resume my ongoing projects, see how they behave on new installation.

The Emotion Vending Machine is a sequel to the Mecahnics of Emotions. Apparently it inherited some of the code because I’m listen alnog with evo and marloes as a contributor to the software (I did some minor java3d tweaks to the program mostly written by evo). The EVM is at transmediale at the moment (scroll to the third project on the linked page).
The mechanics of the world’s emotions evolve in the zone where economics and politics converge, in the world of product placement. Through its concept of artistic merchandizing, the Emotion Vending Machine deals with the production of emotions in an ironic way.
On some of the feeds I’ve collected on reader people were mentioning the new “Film Quality 2D Vector Animation” open source package - synfig. I went to the site, downloaded, patched and followed the intro tutorial.
Synfig is indeed a very nice tool, it’s a bit too slow and crashes on many, probably useful, functions, but considering its (open source) age I don’t mind.
It took me a couple of hours to figure out how to work it, which I tried to document on flickr (the images are tagged “screenshot” and “synfig”, hopefully I’ll set the trend - so far I’m the only one with “synfig” tag on flickr). The result - 3 sec long “Femistofel: the Movie” ;-) (There you’ll find the synfig sources (.sif), some PNG shots and an MPEG2 movie. Everything is Public Domain). Bear in mind - I had to discover all the animation functionality on my own, because wiki was down (if it is useful at all) so may be I found a lot of non-kosher ways to make the Femistofel move, but I like the end result.
Yesterday I tried to fix some of the persistant crashes while minding Dima, but got lost in the C++. The most annoying aspect is inlined functions which won’t show up on a stack trace. Of course I can follow the code manually (mentally?) but that’s not very convenient. I did specify --enable-debug but apparently ./configure thinks he is smarter then me (I personally saw him sneaking -O2 in, the bloated bastard).
Nevertheless, I’ll continue the struggle in my spare time.
Update. ./configure --enable-debug --disable-optimization but the problem was not with optimizations but with inlined functions, I guess. I’m getting somewhat corrupt stack traces which confuse ddd. gud is too simple to be confused though, and he is my friend.
Apparently the new version of pakt is out, featuring GStreamer 0.9 compatibility. Dan, the author of pakt, writes himself:
While I’m always fighting with the idea of replacing it with A Very Small Python Script(TM), i continue using pakt for my daily gstreamer hacking and performance-/installation-oriented fun work. Pakt has not seen a release in nearly a year, but there has not been much need for it. I still call it alpha, meaning “works fine for me” ;)
Pakt sounds like another suitable victim for bonjourisation…
Aha, first about the mDNS (a.k.a. bonjour) + OSC idea. Ever since I’ve been doing the v2jam research on multimedia “jamming” techniques, I am looking for ways to setup “emergent” multimedia jams as quick and painful as possible. Our recent experiments with mDNS in the lab and at my home LAN made me consider it as a nice addition to other jamming gear. As a proof of concept I want to extend the audio looper I write for a standalone version of [GATC/life][gatc] with mDNS capabilities at some time as well as write a GUI that would notice applications on a LAN who advertise _osc._udp services and show them to the user. The user then can connect the controls of his application with OSC parameters of discovered applications and make it all run right away. When such dynamic component disappears the parameters that were used are still remembered (i imagine them being shown grey and still connected in the GUI) so that when the same remote application comes up again the connections will be reused.
mDNS alone is not enough for this scenario: what you discover is that on a certain host in the LAN there is an application listening for OSC on a certain port. Actually, that’s enough for the first prototype: the discovering GUI would then show such applications as blackboxes to which OSC messages can be sent.
But OSC specification allows for “address space exploration” using OSC messages as requests for information. Not every OSC implementation supports that though, but for those that do the next step would be to explore the address space and represent it in the GUI.
And now - back to mDNS + pakt: in a similar way as the combination of mDNS with OSC, pakt together with, say, avahi (which, so I heard, is going to replace howl in the upcoming Gnome / Fedora releases) could make up a powerful system for emergent building/controlling distributed multimedia applications. Gotta consider it in the beginning of 2006, when I have somewhat more freedom.

Uncle Gerald and his creatures have won 8 bottles of belgian beer on one the 17th Belgian-Dutch Conference on Artificial Intelligence. He’s got some pictures as proof. They also promissed him some money, but hey, they’re doing AI - they NEED money. At the moment the person who would make it happen with his signature is somewhere in Japan.
Gerald is working in some new place where they invent self-organising everything. Interesting stuff, reminded me about Spong OS… Like they want to make car GPS thing that would exchange travel data with other similar entities on the cars it comes across so that together they maintain sorta collective model of the road system.
…has to be written on any labtop that is to be mine.
Yesternight I was listening to introduction to meditation from Zencast. It was late, like 0:30 and I was not going to do anything else with computer and Miekje was already sleeping so I switched off the screen’s backlight.
This morning I knew nothing about it and when the screen just “won’t come come up” I switched it off and on again. How silly! It took me another half an hour to recall why the screen was black but it was already to late.