Skip to main content

Good bye Last.fm, good bye Audioscrobbler

They have not closed down, I have closed down the link between my audio player of choice and the what-do-I-listen-to tracking machine. I realized that turning it on and off where needed produces more stress to me than the whole service is giving to me. I used to turn it off when I listeneded to mis-tagged tracks or to some advance album that I wanted to keep private in the past. I noticed that last.fm mainly takes me to more of the same : artists that will sound familiar to me. I don't feel that's exciting anymore. I think I'm getting old :-) Don't get me wrong: if Last.fm is useful to you please keep using it. They support XSPF, they cannot be all wrong, right? :-)

Playing around with awk

My first little awk script for fun: linenumbers

#!/usr/bin/awk -f
#
# Copyright (C) 2009 Sebastian Pipping
# Released under GPLv3
#

#
# Usage:
#   ./linenumbers <file1> <file2> ...
# or
#   ... | ./linenumbers
#

BEGIN {
    firstFile = 1
    fileName = "-"
}

{
    if (fileName != FILENAME) {
        fileName = FILENAME

        if (!firstFile) {
            print ""
        } else {
            firstFile = 0
        }

        printf "## File \"%s\"\n", FILENAME
        NR = 1
    }

    printf "%05d %s\n", NR, $0
}

Creative Commons'ing my blog

From today on all post content on this blog including past posts is licensed under Creative Commons Attribution-No Derivative Works 3.0 Germany License. I've been seeing value in Creative Commons for quite some time now but never really thought of applying it to my own blog...? I guess I wasn't really aware that this is work indirectly licensed "no rights at all" unless I make a conscious decision into another direction. In relation to this the Creative-Commons-Configurator WordPress Plugin deserves mentioning. After a few clicks your Wordpress blog is ready for Creative Commons. Recommended.

Why am I moving to Gentoo?

I think of this question again and again. For one because because people are asking me. People who love Debian, people who dislike continuous compilation. And for two because I repeatedly find myself doing something, liking something, working for something that I cannot verbally justify when I need to, may it be to convince somebody by the one more missing argument or when I just don't notice that the important reasons is more like a feeling and that justifying is the wrong thing. Actually it seems quite hard for me to draw this line. So Gentoo.

Just like Git, Gentoo is a big hope for me. In case of Git I knew I was hoping for something better since my first one-hour manual fix-subversion's-merge session, not speaking of Per—cough—force at work. In case of Gentoo I did not know, because Debian, Ubuntu and other distros are fairly usable and try keeping frustrations down. But then there's the moment you see something shiny that makes you quite unhappy with anything less. To me this applies on a small as well as on big scale. So I had a quick look at the flyer of Gentoo on Linux Tag 2008 that a real life friend of mine was involved. It read something like "if perfection is your game". I think that's the first time it hit me, because it made me see what I didn't see before: that Gentoo allows me to apply a higher degree of perfection where other distros don't. No, I'm not perfect, not at all. Still I strive for perfection and many times I catch myself noticing "shit, I have a hard time getting this done and all I do is polishing". Though at some places this allows me and others to fix that few extra bits, those details that matter, that 80:20 kills so often for everyone else. This perfectionism of course applies to my distribution: at USE flag level for example. When I install (i.e. compile) applications I choose the set of USE flags that are cut down to what I need. For media players this means a tons of codecs that are not installed. This is an obvious example that other distros solve through splitting packages sometimes. But it applies at many others places too: Do I want to have certain patches in or do I want it vanilla? Do I need Ruby support and debug info or not? I like to have that power given to me, given to me by default with a close-to-zero extra-barrier to get it. Sure: I could download Debian package sources and build my custom version from that. Is it easy? Is it fun? Not to me. So I like use flags.

For the same perfection reason compilation for just-my-very-platform feels great to me. I don't measure what I actually gain per application (though that would be interesting) but I feel great about not giving any speed away. It's similar to freedom: maybe I'll never need to copy that very music file around more than 4 times but I won't accept anything less than any time.

Another reason why I feel so at home with Gentoo is because everything I see was designed by obviously smart people. I'm used to stumble about "I'd have done that better and I'm no expert at that" -things all the time - not so with Gentoo. And this is where my personal analogy with Git works again (excluding Git's where- in-here-is-my-answer man pages). A few days ago I started my first ebuild. Gentoo doesn't have colormake yet and as I don't see what's happening in gray GCC soup that was a must-do for me. Compared to Debian the packaging documentation in Gentoo is much more to the point and much much shorter. What you get out is shorter too and to me much more lookable at. So while I had to actually work to that point where packaging could be fun with Debian, in Gentoo it was fun from the beginning (with an exception of discussing quotation with people that care about that much more than I do).

So to summarize all that next time I'm asked "why Gentoo?" my answer should be "because I feel at home with it". I don't mind if you keep using Debian. Debian is a great operating system; I still use it as my disc-encryption file server. Still, I don't feel at home there. I have seen my more : this more is Gentoo.

Speaker-wise slow podcasts

As I found out today for interview podcasts a playback speed of 120% can make the interview much more fluid. Many people seem to speak quite slow when their processor and not just the quick-cache is working. For easy-to-follow and well-explained content this might unnecessarily slow down the listening experience, which impatient people (like me in this case) might want to avoid. This is where SoundStretch comes into play. With this Free Software tool you can add an extra 20% of tempo like this:

soundstretch -tempo=+20 <infile> <outfile>

What you get was a much more enjoyable podcast in my case.

Quoting in ebuilds

I learned a few things about quoting in ebuilds today. As of my current understanding it breaks down to two rules:

  1. Double quotes for interface strings
DESCRIPTION="Colorizing wrapper around make"
HOMEPAGE="http://bre.klaki.net/programs/colormake/"
SRC_URI="${HOMEPAGE}${P}.tar.gz"
LICENSE="GPL-2"
  1. Minimal quotes otherwise
S="${WORKDIR}"/${PN}

src_unpack() {
    unpack ${A}
    cd "${S}"
    ..
}

If everything keeps going smooth my first ebuild will be home in the sunrise overlay soon.

uriparser 0.7.4 released

This release fixes null pointer de-referencing and memory leaks at two places. Thanks for the related reports go to Harvey Vrsalovic and Daniel Chapiesky. This release is both source- and binary compatible.

autogen.sh

autogen.sh is nothing new: people write a custom one for every Autotools-based project they work on, unless they use autoreconf and that actually works. I found myself within this set when I stumbled upon project buildconf on SourceForge. What Sean Morrison is working on there is a universal one-file tool to save people from writing these custom almost-identical bootstrap scripts — a universal autogen.sh script. He did a good job: for instance, recursive configures are handled correctly. Technically it's a wrapper around autoreconf but also a replacement where autoreconf is missing. So I gave it a try on my own Autotools based projects. The only thing I missed was downloading of a bleeding-edge config.guess file from GNUlib that I started shipping with releases to better support Haiku. So I communicated with Sean and started adding this feature to the script. Sean improved and extended my patch and started using the end-result with BRL-CAD. The current state is in use at three different places now

and will probably make a new buildconf release after some more testing. If you run an Autotools-based project I'd be interested to hear if buildconf works for you.

Colormake 0.2 ebuild

I just started a personal overlay, for now holding a single noob-ish ebuild for Colormake 0.2. Here's an old screenshot of colormake again to wet your appetite: