Search Results: "tar"

30 December 2007

Joey Hess: haskell baby steps

Since early August, I had forgotten about my plan to learn haskell. Today I refreshed my memory from the docs I read back then, and started writing some very simple programs. Reading a lot of docs and letting it gel for a few months seems to have worked fairly well, I was able to throw this program together in short order, and I think it's not too horrible.
putStrs = putStr.unlines
x s n = unwords $ take n $ repeat s
plot x s = (take (x-1) s) ++ "  " ++ (drop (x+1) s)
f x = truncate(40 + 38 * sin(x / 9))
line = "JOEY HESS"  x  8 
main = putStrs [ plot x line   x <- map f [1..]]
If you're wondering what it does, the equivilant perl is:
#!/usr/bin/perl -lisubstr($_,39+38*sin++$y/9,2)=$s
for($s='  ' McQ;$_='JOEY HESS 'x8;print) eval$^I 
I suppose both demonstrate features of their language to some extent.
At first I assumed haskell would automatically convert the floating point value coming out of sin and I got a nasty suprise:
    No instance for (Floating Int)
      arising from use of  f' at foo.hs:17:21-26
    Possible fix: add an instance declaration for (Floating Int)
Adding the truncate fixed that, but figuring that out from the above error message and google took longer than figuring out how to write the rest of the program. :-(

29 December 2007

Wouter Verhelst: NBD 1:2.9.9-3

I just uploaded the Debian packages versioned 1:2.9.9-2 (almost immediately followed by 1:2.9.9-3, because I forgot to test part of it, and obviously that part turns out to be broken), containing some updates: The two combined should allow for running a root filesystem on an NBD device. Note that the initramfs scripts haven't received any testing beyond my system yet; it's not impossible that they're broken in some regard. Treat them with some caution. Having said that, testing would be welcome... Next, I've also started work on partman-nbd. This is in an even more experimental and unfinished state, but the eventual goal is to support installing to an NBD device. Wouldn't that be nice.

Lior Kaplan: Getting motivation from other people work and cooperation


Recently, I found it hard to contribute to open source in general and Debian in particular. There are several reasons for that: beginning with less free time to contribute and continuing with feeling my contribution becomes more and more routine and thus less interesting / challenging. Yesterday I found the time and motivation to upload fixes to 6 of my packages. I thought it might be interesting to share the reasons for this motivation burst, as it can demonstrate how each of us can affect others. The final trigger was seeing (= getting svn diffs) Baruch Even working on the libhdate package (which is co-maintained as part of debian-hebrew). Prior to that I had people showing interest in my packages, helping with solving bugs, sending patches and even one guy becoming a co-maintainer of a package of mine. Oddly, most of them are ubuntu users. I’m not looking for others to do my work or do it for me, but getting help is always fun and motivating. Also, working with other people creates commitment as they wait for something you should do, or waiting for you to use what they’ve done. For me this starts a positive snow ball which ends with better packages for me and happier people after receiving credit for their work (usually a changelog entry and a thank you mail). So go on, and inspire people (:

Joerg Jaspert: SSH &#8220;triggers&#8221;

Following my post about SSH jumphost I have another SSH feature to share with you, which IMO isn’t known or used enough. Imagine you have some data on one host which gets regenerated every now and then and you also need this data on other hosts too. There are multiple ways to sync the data to other machines. You can The problem of the first option is that you need to make the data available via http/ftp, which needs an extra daemon to run. And then you need to cron a script fetching it, which wastes resources if the data is updated infrequently. The problem of the second option is that you need some daemon available which allows you to write to the host. Depending on what you chose that might be with passwords transferred unencrypted. Or you aren’t able to set it up yourself, as you are not the admin of the machine. So, lets take the third solution. Its safe to assume that SSH is available on the hosts you login to (don’t tell me you still use telnet/rlogin on remote machines), so lets use SSH features. I assume that usage of basic SSH public key authentication is known, if not you first want to google for it and learn about that. Using SSH keys to trigger actions on remote hosts is basically the same as a login to the machine and manually running a command - except you don’t need to do it yourself, a script is doing it. Which leads to one big difference for a “trigger” key compared to a “login” key: You do not set a passphrase for that SSH key! As a consequence of that you use such a key only for exactly one purpose, nothing else. Generate a new key for another trigger. Never, ever, use such a passphrase-less SSH key for normal logins to other machines… Having generated a passphrase-less key on host a (let it have IP 1.2.3.4) we copy the .pub file over to the target host b and put it into the authorized_keys file (usually in ~/.ssh/). The difference to normal login keys is the large line of options we put in front of it:
command="rsync --server -vlHogDtprz --delete --delete-after --ignore-errors . /org/backup/something",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,from="1.2.3.4" ssh-key-here
or
command="/var/mirror/ftpsync &",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,from="1.2.3.4" ssh-key-here
Both commands allow to use the SSH key from host a with its IP 1.2.3.4 and will run the command thats defined here. No matter what command or options are are specified on the commandline on host a, host b will only do the above. There wont be any port, X11 or agent forwarding and due to the forced command there also wont ever open a shell. With the first command we trigger the remote hosts rsync to write the data we send into that path, using the given options. Of course that means we send data using rsync from our host. The SSH connection stays available for the whole time the command runs. The second command instead runs the given binary, a shell script in this case, in background. As we also forbid tty allocation the SSH connection is closed right after the script is started. To avoid DOSing the remote machine such a script should have some kind of lockfile check and abort if a second copy is already running. SSH also allows to use such limited SSH keys for the root user, while disallowing normal root logins: Change PermitRootLogin in sshd_config from no to forced-commands-only and you wont be able to login to the remote host as root but you can trigger actions that should be run as root. If you want to know what else you can do using options specified in the authorized_keys file then read its man-page, it has some details how you can use it to limit port forward requests, use more than just one IP in the from= parameter, … Some users of the above way of automating tasks on remote machines are

Jeff Licquia: Christmas Gadgets: Creative Zen, LCD Monitor

So it’s a few days after Christmas, and like most of us tech-heads, I’ve got a few more gadgets to play with. First up: the Creative Zen 4GB. This one was a little bit of a saga. Last year, we got the kids no-name MP3 players, on the theory that we didn’t want to spend megabucks on something they wouldn’t use. They made valiant attempts to use them, but the little machines just weren’t up to the job. So, it seemed prudent to buy them iPods this year. Well, except for Apple’s attempts to break all non-iTunes iPod software, which had the side effect of making the devices unusable under Linux. Still, this was what they wanted, and they had been good this year, and very patient with my ever-more-convoluted schemes to get the old players working. So, iPod Nano 3Gs for both of them. My heart sank as I watched some of my hard-earned money go to reward such behavior. As part of the deal, I vowed to find a non-Apple player that would be good for when the iPods gave up the ghost or became “uncool”. And my dear wife, upon hearing this, went online, did some research, and bought me the aforementioned Creative Zen 4GB. From a Linux perspective, it’s in the “not quite ready for prime time” mode. Rhythmbox and Banshee are working on support; I tried a prerelease of Rhythmbox, and found its support to be very unstable. The only usable app is Gnomad2, which has a terrible UI and also occasionally crashes, but can manage to upload audio, video, and photos without too much hassle. Still, this is a problem of fine-tuning, and not of a hostile hardware vendor; I’m confident that these devices will be well-supported in the near future. The Zen is picky about what video files it will play, but I managed to figure it out: DivX or XviD video, 320×200 or smaller image size, encoded at a 480 kbit/sec video bitrate or less. Other video files might work, too, but you’ll have to find them on your own. My Zen has a little problem with the button locking feature: after unlocking, the screen comes up to all-white, and you have to power-cycle it to get the display back. I’m assuming this is a firmware bug, as the screen is still visible for a short time after engaging the lock. Other than this, the Zen is a delight, and every bit as functional as the iPod. The other nice gadget: a 24-inch LCD from Envision, bought after Christmas with a combination of gift cards, exchanges, and some of my own money. It was an open-box, and I saved about $80 for that; the only problem turns out to be a single dead pixel in the corner of the screen which is barely visible. It does 1920×1200 in very nice, bright color. Here, too, an improvement on my life only came after some effort. Debian 4.0’s drivers for the Intel graphics chipset are not capable of driving a widescreen LCD; the best I could get was 1600×1200, a normal-width resolution stretched across the wide display. I booted an Ubuntu Gutsy live CD to verify that the problem wasn’t with the monitor, and then set to the task of backporting everything I needed from lenny. Happily, before I started, I found that someone (Holger Levsen, to be exact) had done the work for me. Things are now about 90% there. The new drivers still don’t have everything figured out for running both Compiz desktop effects and XVideo acceleration at the same time, so I’ve had to turn XVideo off. My computer can render video without hardware support, but the quality isn’t as high. But, I have my nice wide screen, with crisp fonts and lots of room. I figure I’ll live with what I have until lenny releases, and then see what progress has been made.

Enrico Zini: eeepc

Meet the EeePC Being in Taiwan, we swiftly got hold of an Eeepc. Instead of installing Debian into it, we decided to keep the original system and see how it works. It's a Debian derivative, and the feeling inside a terminal window is quite familiar. The boot is very fast. Two seconds after the video bios quickly shows on the screen, the X cursor appears. It's definitely worth having a look at how this devil boots. The "Asus Launcher" is worth a look. IMHO it's nicer and more useful than the usual launcher menu that we get in Gnome or KDE 3, although it probably only makes sense on a small display. It replaces the desktop background, has tabs, no clutter and allows to launch applications. Turns out it's customisable as well. What's on the system KDE 3.4.2, with some applications renamed so that their names are more human. For example, konsole became console. vim! \o/ But not emacs :) mc! Someone out there wanted to make my life easier. fbreader. I had never heard of it, but it's a very good discovery that I've now started to use it on my laptop as well. Little howtos To get to a terminal, hit Ctrl+T in the file manager, or Ctrl+Alt+T elsewhere. The root password is the same as the user password. To change the system language, I managed with a simple dpkg-reconfigure locales. Ways they simplified the unix system It's single user: I didn't find a way to create multiple users besides the terminal, and the login program does not ask for a username, only for the password. The "win" key has a house painted on it, and it's used as "hide/show all applications" key. When all applications are minimised, the Asus launcher is visible instead of the X background: this behaviour basically turns the key into a sort of "run application" key. The key still works as a kind of shift, although it probably was not intended to. The repository management is interesting. /etc/apt/sources.list contains:
deb http://update.eeepc.asus.com/p701 p701 main
deb http://update.eeepc.asus.com/p701/tw p701 main
which means they have a repository per eepc model and a subrepository per localised version. The "Internet" group of applications has a Wikipedia toplevel application: it's nice to see the ecosystem of free software / free culture coming together to provide a nice user experience. An extra link to the SD card mount point (besides the one in /mount) appears in the home directory automatically when the SD card is inserted. This means that when you do "save as" from all sorts of applications, the SD card is there, easy to reach. This helps if one decides not to use the internal flash for data, and just save everything in the SD card: I like doing this, as it allows me to quickly move the SD card with all the data between the EeePC and other computers. Changes I made so far Activate en_GB.UTF-8 via dpkg-reconfigure locales. Add en_GB.UTF-8 to /etc/scim/global, to get SCIM input methods to work. Little flaws Virtual screens are enabled, so W+arrow switches virtual screen. The feeling you get if you hit W+arrow is that all your applications disappeared. This could be improved by having the vm keep the asus launcher at the bottom of the current virtual screen, instead of just at the bottom of the first screen. Or, to disable virtual screens by default. It is possible to drag the lower panel around, maybe accidentally: that's another of our fancy default "features" that should be disabled by default. It is also possible to remove applets from the applet bar by mistake: for example I wanted to disconenct the wireless, and I instead ended up quitting the wireless applet. Luckily, the next time I started the computer it magically came back. ~/.xsession-errors is continuously getting the useless stdout/stderr debugging flood of GUI apps. Noone bothers usually, except that in this case the file is on flash, where unneeded writes are also very much unwanted. I'm considering symlinking it to /dev/null, but ideally we should get GUI apps to only write out what is really important. Battery charging doesn't show how long it is going to take until the battery is fully charged. No capslock or numlock leds. This probably calls for disabling or remapping of capslock. Numlock is very hard to hit by accident, but capslock is. Random thoughts If you buy an eeepc, I really suggest you think of it a mass consumption appliance and stay on the original OS for a while. Most of what's in here is what we use everyday, just on a different context. Try to use it as an appliance and see if it is perfect, and if it isn't, try to find out what is missing. It is a fantastic way to find out important bits that are missing in Debian as well. Also, if you're used to tailoring everything to yourself before starting to use a Linux system, this is a great way to try the usage experience that we can offer by default. The Firefox welcome page the first time you connect, for example, is surprisingly nice. Everything we know as doable comes a bit as as a surprise because this time someone has done it for us. I wish that that someone can be invited to talk at the next Debconf: the possibility of having a look at the work that has been done in bending Debian to this nice little device is to me one of the most valuable things so far about the eeepc. Help/About KDE/Credits It's reachable by most applications, and says:
The development team would like to thank the following people and organizations for their contributions:
  • the Debian Project,
  • the GNU Project,
  • the KDE Project,
  • the Mozilla Project,
  • the OpenOffice.org Project,
  • the SAMBA Project,
  • the X.Org Foundation,
Linus Torvalds and the other Linux kernel developers, and Free software developers around the world.
I'm using an appliance that is thanking me, and others like me: priceless!

28 December 2007

Enrico Zini: bluetooth-headset-for-presentations

Using a bluetooth headset for giving presentations While looking for ways of flipping slides while not near the computer, I stumbled on this idea this idea, bought a cheap headset for like 10euros and started playing. Getting the headset to work with alsa It's supposed to just work, but bluez-utils in Debian has audio support disabled. I've rebuild the package with the patch found in the bug report, copied the extra configuration files as I mentioned in a followup to the bug report, and brought my Debian up to speed. Once the patched bluez-utils is in place, this is how to get the headset to work:
  1. put the headset into pairing mode
  2. hcitool scan (to get the address of the headset)
  3. put this in ~/.asoundrc (using the address you got with hcitool scan):
    pcm.bluetooth_hw  
       type bluetooth
       device 00:11:22:33:44:55
     
    ctl.bluetooth  
       type bluetooth
       device 00:11:22:33:44:55
     
    # No idea why this is needed, but it makes aplay complain a bit
    # less, and also it makes aoss work
    pcm.bluetooth  
        type plug
        slave.pcm "bluetooth_hw"
     
    
Now, forget hcitool cc: in order to pair with the headset, the command is:
mplayer -ao alsa:device=bluetooth moo.wav
This will trigger a funky chain of events that will eventually cause the bluetooth applet to ask you for the pin (0000 for the headsets), get things paired and activate super cow powers. Now you have an alsa sound card called 'bluetooth' that works only with some, but not all, alsa applications. mplayer works. aoss works, but not always. aplay seems to work. twinkle won't work; apparently, it's because it tries to open the device multiple times. Feeding synthesised speech to the headset Synthesised speech is done by festival. Festival works with oss. The headset works with alsa. aoss works, but not always. This is the script I'd like to run:
#!/bin/sh
warn()  
    echo -n "Attenzione: "
    if [ $1 == 1 ]
    then
        echo -n "manca un minuto"
    else
        echo -n "mancano $1 minuti"
    fi
    echo " alla fine."
 
(
    for x in 5 4 3 2 1
    do
        warn $x
        sleep 1
    done
)   festival --tts --language italian
By tweaking the sleep times and numbers a bit, it's a useful prototype that sends updates on how much time is left for the presentation. This, under aoss, does not work reliably. An alternative is to replace the festival invocation with this:
echo string   text2wave tmpfile.wav
mplayer -ao alsa:device=bluetooth tmpfile.wav
However, I found no way to tell text2wave to use Italian instead of English. I did manage, however, to get some link between festival and the headphones. At a further stage, I can write a program for the countdown that keeps the audio device open and every once in a while gets a waveform out of text2wave and feeds it to the audio device. Keeping the audio device open seems a good idea, to avoid losing the beginning of the message while the connection is established (happens with my cheap headset) and to avoid the headset to go idle and switch off. Reacting to the buttons on the headset It's supposed to be possible, but I didn't manage to find out how to do this using the normal alsa driver, now that btsco is apparently deprecated. Once I find out how to be notified of button presses, I'll try to see how to send a Page Down keystroke to OpenOffice Impress or xpdf. Voice commands sphinx2-bin seems promising, but since everyone around me is now asleep, playing with voice commands has to be postponed. Further ideas

Adam Rosi-Kessel: MBTA On Time

After my many philippics against the MBTA, I should give the T credit for being nearly 100% on time this week (at least within five to ten minutes of target), so much so that I am often sprinting to catch the train because I had gotten used to it being late. That the trains are only half-full due to people’s vacations must be related. So maybe the long-term solution is to alienate enough riders that they leave the system? Technorati Tags: ,

Russell Coker: Twilight of the Books?

I’ve just read an interesting article in the New Yorker titled “Twilight of the Books” [1]. It started with some depressing statistics about literacy. One comment that I couldn’t figure out concerned “the panic that takes hold of humanists when the decline of reading is discussed“. The decline in literacy concerns me because I want to live in a society where everyone can contribute as equals and where all voters have the possibility of becoming well informed about the issues that affect their vote. If literacy declines far enough then fascism seems to be the inevitable result. I’m not sure whether that makes me a humanist according to the author. Below in the second part of this post (not included in the feed) I include my dictionary definition of the word, #4 is the definition most commonly used today (which is a reasonable match for my beliefs). There is some interesting information regarding basic research on the mental abilities of literate and illiterate people which suggests that people who an read are better at handling abstract concepts and hypothetical situations. The article notes that spending time on the net increases academic scores for children. It also makes the interesting claim that visiting pr0n sites increases grades, I find that difficult to believe. I wonder whether there is a difference between readers and writers in this regard. Does the typical serious net user who averages writing more than 3650 messages a year for fun (in addition to whatever email may need to be written for work) plus some blog posts and writing other web pages have different mental abilities to someone who just reads what others write? Does blogging (and other writing on your choice of topic) change your brain? What about programmers, does spending 8 hours a day writing formal rules for hypothetical mathematical situations (which is essentially what programming is about) change your brain? Are programmers going to have greater abilities for managing abstract concepts and hypothetical situations than people who have not had such experience? NB It will be difficult to determine this as people who have such skills will find programming easier and more fun so therefore a career in programming computers is self-selecting for people with such abilities. Another interesting fact is the results of research into the comprehension of a PowerPoint presentation. People who read it without an audio-visual accompanying it learned more and rated it as more interesting. Based on this my plan is that in future when attending conferences I will try and read papers which are presented BEFORE attending the lectures. Unfortunately most conferences which have papers presented seem based on the idea that you give a lecture about a topic as a teaser for your paper and assume that the audience knows nothing about it (conferences which don’t have papers outnumber the ones that do). Most Linux conferences seem based on the idea that almost no-one reads papers at all, they attend lectures and visit web sites and IRC channels afterwards. NB this comment is based on talking to people who attend conferences and my observations on attending conferences - it is not a criticism of any conferences merely an observation on cultural attitudes. Based on this information it seems reasonable to provide copies of lecture notes to the audience before the lecture. For example for a typical talk that I give to a LUG I could blog the lecture notes before the meeting and email the LUG mailing-list with the URL, people who really want to learn would hear me talk AFTER reading the notes and hopefully get the best of both forms of learning. I had been considering producing some YouTube [2] videos with instructions on how to use SE Linux. But it seems that might not be such a good idea (at least not a good enough idea to justify the amount of effort I would have to spend). The author seems to misunderstand YouTube, it is NOT about making the Internet resemble TV (where millions of mindless drones watch content created for the lowest common denominator in the audience). The AtGoogleTalks on YouTube [3] and www.ted.com are examples of high-quality free content (comparable to the best TV documentaries - the type of content which is cited as increasing the academic results of children) and the culture of creation and discussion must be a good thing. Most TV is bad because it’s one-way communication and the quality of the content is low. YouTube videos are widely discussed in email, blogs, and other written forums. The creation of the best (and often most viewed) videos would surely involve some writing. I wonder whether the benefits attributed to reading can be obtained without reading fiction. The nature of work is changing to require an increasing amount of reading and writing. The most menial work requires reading instruction manuals. Most of the best paid jobs involve a lot of reading and writing. If reading fiction isn’t required then it seems that there is little risk in the immediate future. (more…)

27 December 2007

Martin Michlmayr: Installer finally working again on Linksys NSLU2

The release release team of Debian released 4.0r2 today which fixes the bug that kept the installer from working on ARM based systems, such as the Linksys NSLU2. This means that installations are finally possible again. I've updated my installation instructions accordingly. I've also updated the tar ball used for the manual installation to 4.0r2 but I doubt many people are interested in this method now that the installer is working again.

Miriam Ruiz: SMV Video Format

Some small portable MP3 players also allow reproducing images and videos (does anyone know why they call them MP4 players?), but they need the latter to be in some funny format called SMV (for devices with SigmaTel chipset. Other devices use different formats, such as AMV for devices with Actions chipset, MVS for those with Sunplus chipsets, MTV, DMV or ASF). SMV seems to stand for “SigmaTel Motion Video”, and was developed by SigmaTel Inc to allow users to transform common PC video files and watch them on their portable multimedia players (PMP). I’ve been trying to find out how to convert videos to this format for a while, to be able to watch them in a small gadget I bought some time ago, but haven’t been able to do so from Linux yet. All the converters seem to be privative, and just for Windows, although they seem to work with wine according to some reports I’ve read on the net. I’m not putting any closed-source software in my lappy anyway, so that’s not an option for me. I recently found a web page of someone developing a conversion tool for SMV called smvconv, based on mplayer and ffmpeg and released under a MIT/X11 license. It’s just a small C program and a shell script, and seems to be in a very preliminary stage, but the most important part is that he has also published the structure of SMV files, which seem to be, in fact, quite a simple format composed of some headers, a WAV audio file and some JPEG frames: An SMV file has three sections, concatenated together:
  1. An IMA ADPCM .wav file, with header.
  2. An SMV header.
  3. A number of .jpeg files, with headers, each prepended by a 24-bit (3-byte) little-endian value representing the size, and buffered at the end with nulls, so that they are at predictable locations (the jpeg modulo). SMV is a constant-bit-rate format, but the underlying format (jpeg) is not. Proprietary encoders -according to smvconv’s author- probably make up for this by encoding at various qualities until a jpeg of the proper size is made.
The SMV header is a magic string in ASCII (”SMV002000″) followed by a number of 24-bit (3-byte) little-endian values representing the width, height, header length (in 3-byte words, starting with some magic “002″), some apparently constant value (1), the jpeg modulo, fps, number of frames. some apparently constant values (a 1 and a 0), the number of frames per jpeg, and 4 padding values (65793 == 0×010101). The default qualities seem to be 35kBps (”High”), 25kBps (”Medium”) and 16kBps (”Low”). Lets hope to have some working converter soon, so we can use this feature in those cheap players. I don’t remember where I put the USB connector for mine, but as soon as I find it -it seems to be non-standard, so no way to replace it with a new one, AFAIK- I’ll start experimenting with it.

26 December 2007

Aigars Mahinovs: Bread

Fresh bread I have now gotten into baking bread at home and I like the result greatly. The inspiration came from an anime Yakitate!! Japan! - a very funny anime about bread bakers with lots of parody on other anime and lots of over-the-top reactions to bread. It also has a lot of tips on baking your own bread which helps people get started. I have heard that ‘Yakitate!! Japan’ caused a bread baking mania in Japan on par with the Go mania from ‘Hikaru No Go’ (Off-side note: I wonder if making an anime about developing free software would turn people in Japan and all over the world to do it more?) I watched the anime a couple years back and promptly forgot about it, but now when I was thinking about what anime to show to my girlfriend it came back to me. After that we both decided that we need an oven to bake bread in, unfortunately the flat we are in has no oven, so we had to buy a free-standing one. After much research and deliberation and some good advice from my friends, I got us a Samsung CE1071AR microwave oven with grill and a convection oven function. It has been the best decision - cooking with this thing is easy and painless. It is large enough for one large loaf of bread or a bunch of cookies in two levels. It has a steam-based self-clean function and an automatic preheat function. It can do all the things that a microwave oven can do and also combine regular oven with microwaves. And best of all it also has a 40 degree setting in the convectional oven mode - that is perfect for raising bread right in the oven. I am starting with the simplest bread recipes from The Fresh Loaf site tutorial section and in short order was able to produce some of the best tasting bread I ever had. You can see the result above. Now when my girlfriend and her sister decided to cook all kinds of stuff for Christmas I was not bored, but rather the opposite happened - I participated and had fun. Even more so - we are now watching the ‘Yakitate!! Japan’ anime, together with my girlfriend, looking for new tips for the cooking. I just might try to make a croissant next :D

MJ Ray: Cyclocross: Hofstade

Hope you had a good Christmas Day if you celebrate it. The cycling starts again already: RAI Sport Sat (free-to-air 13e) have highlights of today’s seventh Cyclocross World Cup event from Hofstade Belgium at 22:30 CET today (Wednesday). No idea whether it will be repeated… my recent predictions seem to have been a bit wrong. Hofstade is the sixth elite men’s event to actually happen, after the cancellation of their race at the Milan round. Sven Nys of Belgium leads the elite men’s rankings by almost 500 points from compatriots Bart Wellens and Klaas Vantornout. Daphny van den Brand of the Netherlands leads the elite women by 340 points from USA’s Katherine Compton. 300 points for a win, then 260, 220, 190, 170, and so on. The contests aren’t over yet. Update: It’s on again 22:30 CET today (Thursday) and repeated at 11:10 tomorrow (Friday) according to teletext.

Julien Valroff: Etch to Lenny upgrade

I have just upgraded one of my system from Etch to Lenny. The process was very fast and I had no problem, except hal which refused to start because of SELinux. This is now fixed thanks to audit2allow. I have also lost some time due to the fact I had forgotten to install the headers of the upgraded kernel, preventing me from building the module of my wireless card.

25 December 2007

Adeodato Sim : Moving to ikiwiki

As many others, I’ve moved this blog to ikiwiki. In fact, I’ve moved my whole 3-page website to ikiwiki, and it only felt natural to migrate the blog as well (I may miss hobix’s webpage, though). Anyway, this gives me a bit more flexibility when creating the RSS feeds, so I’ve now created a separate feed for Planet Debian (which won’t have only Debian-related content, mind you), and left the old RSS URL to include all posts, e.g. some more personal ones, or some that I’d find unsuitable for the planet. If you’re interested, here is the full feed. I run ikiwiki in my laptop to generate static html, and rsync the generated output to the webserver. I have a Bazaar branch in my laptop as well, but it doesn’t interact with ikiwiki in any way. Finally, I’m very grateful that Joey committed this minutes after me mentioning on IRC, and I’m very grateful as well to whoever wrote the typography plugin. Migrating the old blog wasn’t hard, just tedious and boring, particularly since I didn’t want to keep using Textile, but migrate to Markdown. I switched off usedirs to keep old URLs working (I’d rather not mess with redirections), and used the date option of the meta plugin, so that the “Posted” information for old entries when inlining would be accurate. This still left the “Last modified” timestamp in the individual pages wrong, so I just used a script that would change the mtime of the entries in the filesystem to their creation time. One wart I’ve found is that I’m very used to having both a filename and a title for each entry, and have the filename just present in the navigation bar of the browser, and the title shown in big inside the page. You can do this in ikiwiki by using the title option of the meta plugin, and giving a H1 element in the entry content. However, this makes the H1 show in the RSS feed, which I had always noticed in Zack’s blog, and always found inconvenient. Oh well. It also makes for the same title to appear twice in the default [[inline]] page; to solve it, I just hide with CSS the H1 there — zack, e.g., does not use [[meta title]], and aligns the permalink to the right. Update: So I was washing the dishes and it struck me: maybe with a conditional! And, effectively, it is possible, given that there is a convenient included test. So now I start my entries with:
  [[meta title="This is the long title"]]
  [[if test="!included()"
       then="# This is the long title"]]
Yay! Update (2007-12-27): Lars does it differently, by only providing [[meta title]], and modifying the page template to include:
  <h1><TMPL_VAR TITLE></h1>
Update (2007-12-29): I finally decided, at least for now, that is cleaner not having the title duplicated in two lines, and went with a template. I didn’t want the <h1>title</h1> bit in all pages, though, and Joey pointed out that I could use a different template for blog entries using the pagetemplate_plugin.

Frans Pop: Visually beautiful music

Most audio players offer visualizations. Unfortunately most of them either are just plain boring or don't really visualize the music very well. KDE's amarok has one that is really excellent: jakdaw. Jakdaw does a good job of both following and representing the intensity of the music. And it generates an amazing display of colors. But even with a good visualization a lot of music is not all that interesting to watch. Over the last month or so I've occasionally been "looking" through my music collection. The visualizations are surprisingly varied for different artists. And though a lot of them are nice to watch, some artists consistently produce much more varied and artistic displays than others. To some degree it is predictable, but not always. Quite often the visualization is a lot less interesting than you'd expect and especially some slower or quieter songs produce much more interesting displays than you'd expect. A blanket of sound does not produce a very interesting display, but strong accents and mood changes do. As is often the case in art, the real challenge in composing music seems to be leaving things out and to have individual instruments play their own tune instead of having everything move together. The two artists that really stand out so far are Björk and Faithless. Both consistently produce visualizations that are at times stunningly beautiful and also show a lot more detail in the music than others. For Björk It's Oh So Quiet (from Post) and Violently Happy (from Debut) are very nice, but two songs that really stand out are Hunter (from Homogenic) and Hyper Balad (from Post). For Faithless songs like We Come 1 and Tarantula (from Outrospective), and Salva Mea and Insomnia (from Reverence) are truly worth watching.

Aigars Mahinovs: Christmas cooking

Wierd cookies Last night we celebrated Christmas with some friends by doing a lot of cooking - baking mostly. In the end we had some regular sweetbread dough and some gingerbread dough left over. On a whim I suggested to put them together - we rolled out both doughs very thin (3-4 mm), put them on top of each other (with some vanilla powder in between) then rolled that into a big roll and cut it into 1 cm pieces. After glazing that with beaten egg and cooking for 15 minutes in 200 degrees C oven we got what can be seen in the photo above. The taste is phenomenal - it has the hard and crispy layers of gingerbread and soft layers of the regular sweetbread and sweet all through. In some cookies the innermost core was made of a chunk of soft gingerbread - that tasted the best. I also got myself an oven and have started to bake home-made bread, but that’s for another post :). Merry Christmas and Happy New Year to all!

24 December 2007

Steve Kemp: I saw momma kissing santa claus

Well I've been in Devon for the past week, and will remain here for another week. During that time I've averaged about ten minutes of online time a day! So far things are going well, but it will be wierd spending time with another family over Christmas. Still I've been vaguely productive. I've released a new version of chronicle - which has the CGI support for leaving comments upon my entries. (TODO: Reinstate some previous comments for Martin Krafft) One thing I'd not anticipated was the amount of spam I'd start recieving. The peak so far was 40+ comments a day, all with random URLs. I deleted them manually for the first day - but now I've written a shell script or two to classify comments via the spamfilter I use for handling email. I'm not 100% sure I should have done that. I suspect that over time I will find better results if I actually have a distinct "blog spam" and "blog ham" corpus - rather than risk confusion over "email" and "blog" texts to classify. Still I shall wait and see. The only thing that I think I want to do now is add a bit more fine control over the comment process, so the choice is not just between comments being globally on, or globally off. A nice middle-ground where I could say "Comments enabled for entries posted within the past two weeks or so". Anyway thats my quota for today. Now I have to walk the family dog ..

Martin Michlmayr: Joining HP

I joined HP's Open Source and Linux Organization (OSLO) at the beginning of the month as an Open Source Community Expert. I spent the last three weeks in Ft. Collins for some training and to get to know the team, but normally I'll be working from home in Europe. The main focus of my work will be governance issues related to the deployment of FOSS in enterprise environments. However, I've already started to get involved in a number of other areas I'm interested in, such as community relations. I'm pretty excited about my new position because it is a good fit for my skills and interests.

Erich Schubert: Training my AI

Some time ago I've been working on an AI to classify web pages. I've spidered (and classified!) about half a million web pages I'm using for training.This totals to about 40.000 categories and 100.000 useful tokens. I need 8 bytes of storage - two float values - for each combination, which is a matrix of about 27 Gigabytes. I'm using mmap to map my data files into memory for convenient access. On a 64 bit system, I can keep them mmapped all the time.This results in the following funny top output:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
12443 erich     26  10 27.7g 309m  21m R  8.5 32.8  86:01.98 train
So according to top, the process is using 27 GB of virtual memory. That is the data files, actually. The 300 MB resident memory is the training data it's processing. At this point, all my data has been converted to 32-bit integers, so this is already condensed down a bit.It's also obvious that ext3 supports sparse files - running "du" on my database directory currently gives 1.5 GB (it just has started filling the matrix), adding the "apparent size" switch gives 29G.I hope that when the training run has finally completed (ETA is a couple of days), the AI will actually be able to classify webpages somewhat reliably. :-) You can think of it like a huge bayesian spam filter. Except that I've added some boosting that should improve results, some computational improvements for speed and scaled it up to 40.000 categories instead of just "spam".Other uses I'm planning for the AI is automatic email filtering into multiple folders (best to be employed on Google GMail, where an email can have multiple labels, not just one folder), automatic document classification for document and knowledge management systems, etc. pp.[Update: I havn't yet decided if or when I'll release the code as GPL. Right now, the code could require some cleanups. And I'm considering to start a business around this datamining and classification stuff, so I might want to keep it closed for some time at least. The business will most likely be around integrating the code though, so a public release might well be possible.]

Next.

Previous.