The JollyBOX websites: JollyBOX blog, JollyBOX code
Welcome to the JollyBOX. It's good to see you could make it in time. Just have a look around, and enjoy what you read—I try not to make it too boring. Or maybe, you just want to know a thing or two about me?
After having read this post's title, you might have though “ah, he'll be presenting [insert favourite subculture keyboard layout eg neo]! nice!”. If so, you'd be wrong. If, on the other hand, you're thinking “perfect keyboard layout? There's no such thing!”, then I couldn't agree more. Anyway, …
I have been using the standard US keyboard layout for years, almost always without actually using an American keyboard. The main reason I chose it over the German layout is that characters like []{}|/`, used in many programming languages, are placed in a civilized manner, meaning I can type them quickly and without breaking my fingers.
The standard US layout has a certain problem, though: when it comes to typing in languages that don't happen to be English, it fails spectacularly. Since I have to write quite a lot of German and, nowadays, French, on my computer(s), this is quite a drawback.
It's not that hard to create your own keyboard layout, which I have done. I chose to use a standard US layout as base, leaving every single key binding intact, using level-3, i.e. AltGr, bindings to represent missing characters.
The German umlauts and ligature ÄäÖöÜüßẞ (the last character is the capital ß) I decided to map to the most obvious places imaginable: on the A, O, U and S keys, so AltGr+Shift+U produces Ü.
I created support for most romance languages by adding Çç to the C key (as above), Ññ to the N key, and a number of hidden dead keys: AltGr+' e renders é, AltGr+" e renders ë; the keys for `,~ and ^ act equivalently. The characters Ææ,Œœ,Øø and Åå are on the W,I,Q and Z keys, respectively, ensuring full support for French, Danish, Norwegian, Swedish, and probably other languages. The Esperanto alphabet is completed by the dead circumflex ˆ and AltGr+y, rendering ŭ. Some other possibly useful characters, beside the quotes „ « » ‹ › “ ”, are ¿ ¡ € £ ‰ Δ π μ § ¦ - —. If you're really interested in the details of the layout, please, try it out!
For X11 (Linux and other Unices): us_tj2.tgz.
For Microsoft Windows: us_tj2c.zip. (older version, missing a number of characters. German, French, and Spanish are supported equally.)
Years ago, I used Linux because it was new and interesting to me, and I had the time and motivation to just play around with it. The fact that I switched distributions all the time was a mark of that.
At some point or points in between, it might have been the freedom.
Now, the reason is: “Why not?”; I've used GNU/Linux for ages, I can almost always make it do what I want to do when I want it – it works. Windows or Mac OS X would probably also work just as well if I was as used to them as I am used to Linux. But I'm not.
The original creation of this blog in April 2008 was the beginning of a JollyBOX.de renaissance. Maybe the key change was the usage of Serendipity, giving up on AFoC. Since then, I have created a new, simple and refreshing reference design with simple, regular logos for sub-sites. Nice.
Since not too long ago, the website has been hosted on an external server, meaning it's faster and more reliable than before. Finally, even JollyBOX code now uses the new design, and is based on PmWiki instead of simple HTML, which is a great help now that it's going to host information on software I write (previously at the now-dead zombieHQ). To celebrate this new splendor, the JollyBOX sites now all carry a bar at the top referencing each other.
I would like you to know that
A wee while ago, I decided to learn a lisp. Randomly, my lisp of choice was Common Lisp. (though I will probably have a look at Scheme sooner or later) As if a new programming language wasn't enough, I also started using GNU Emacs (rather than my previous absolute favourite Vim) for editing the code... Why ? SLIME. Implementation-wise, I have used GNU CLISP (love it), Steel Bank Common Lisp (SBCL, quite nice) and GCL (rather pointless).
Of course, you cannot really learn a programming language without programming with it. Back in the day, I used the BWInf competition to learn the adorable Python language (along with a book), and this time, I solved a part of this years' BWInf round 1 in Common Lisp for starters. But, more importantly, as it was more fun and I can publish the code, I have written a bare-bones IRC bot in lisp using the CL-IRC library (which is very lacking in documentation, but both the IRC protocol and the library source code are open, so that wasn't a great problem).
You can get the code via Mercurial.
There is really only one aspect of the implementation worth noting here: the command-creation macros. Not really spectacular, but rather lispy, I'd say.
Instead of
(defun blah-command (connection source channel text)
; make sure the user is logged in
; parse the text into useful chunks
; more ))) than cool
)
(setf *commands* (cons (list "blah" #'blah-command
"blah documentation) *commands* ))
You write
(auth-irc-command admin "blah" (connection source channel) (arg1 arg2 arg3) ; get stuff done )
etc.
Macro definitions are here.
Until recently, this site was hosted on my home server, which is connected to the internet over an asynchronous DSL connection, without a fixed IP address, that broke off at least every 24 hours. And hosting a web site on a crappy connection is never really good.
Anyway, I now have a VPS, and I can only hope that means everything jollybox will experience a lot less downtime in future. I have already migrated this blog (which was relatively easy, since this Serendipity setup uses SQLite3 instead of some dinosaur of a server) and set up a mail hub, which basically means that all the new spam is stuck in one central location when my home mail server isn't accessible.
Seriously, I can't wait for proper IPv6 deployment, I can't wait until having a few IP addresses of your own becomes natural once more. We already have the software, now the development of a v6 internet must continue at the leaves of the network: if ISPs don't provide IPv6 addresses and routing to customers, why would anyone want to properly hook up their servers to the IPv6 network—it costs at least a little time, after all. I know the Windows Firewall isn't suited for the internet, but we can't cope with less than 2³² addresses forever, especially if we want to give Africa civilized access to the 'net, and, while I don't know if I'll have any influence there at all, I want high-speed lines all the way from Cape Town to Helsinki.
Once again, my desk is rather clean (a state that doesn't tend to last for long, let's see how long it holds this time), and I have decided to reintroduce a multi-head setup at my workstation. I've done this twice, and always enjoyed the space, and now I've also seen what it's like to have only a 20in wide flat screen sitting in front of you. In addition to that, I made sure there was a place for my laptop, as the recent acquisition of a PCMCIA network card made it desktop-compatible once again.
To spice things up a bit, and, I'll be honest, to spare myself the tedious labour of stretching toward my laptop whenever I want to use it, I've started using one quite magnificent piece of software called Synergy. What Synergy does is, quite simply, allow me to control my laptop with my desktop's keyboard and mouse (over the network). This feels just like having multiple X11 displays: I just move my mouse pointer off the left edge of my big screen and focus is on my laptop. This allows me, for instance, to have an IRC client running on the wee laptop screen without really being distracting ![]()
By the way, the video deliberately placed on the right-hand screen in the photograph is one of Julien Doré's extremely arty «Les Limites»-clips. Grep Youtube for it if you will.
Having finished the blog's style, it is now time to implement a common theme out of that for all of jollybox.de (except maybe the zombieHQ). The designs will follow a common scheme, but not be identical—the blog is slightly wider (due to the sidebar), and they shall have different Tango-based colour schemes. The root logo looks like this:

This uses the Tango Butter
colourset, which was also used in the style sheet. Similarly, on this blog, the logo and style alike use the Tango Chameleon
colours. I have created logos in all Tango colours, but probably won't need them all
The images were created in Inkscape, the fonts used are Gentium and Century Schoolbook.
Just for reference, here is what I used as logo before:

Any comments are, as always, welcome.
Though I swore to myself a while ago that I would cease to hop from one distro to another faster than Steve Ballmer can say “patent”, I have just started downloading 64 Studio 2.0 which I intend to install alongside my Debian sid system. Though, in general, I don't mind the “instability” of Debian GNU/Linux unstable—in fact, I quite like how new software flows in and creates tiny problems every few weeks instead of ripping apart the system every release—, but lately, and especially today, I have become fed up of a certain consequence: video editing software is constantly broken. A while ago, the Debian kernel team included the new Firewire stack in the distribution, a change which has a habit of breaking nearly everything to do with Firewire (well, firewire network (not many use it AFAIK, but I do), some devices like (I think) iPods, and, most importantly, DV), and the fact that Cinelerra isn't included in Debian-proper doesn't go too well with the rapid software rotation either. In effect, I cannot get video onto my drive with an upstream kernel (there are alternative kernels by Holger Levsen, which do the job), and cannot edit video at all.
So, when I have a problem with digital multimedia processing, on a 64-bit Debian system, why not try a 64-bit Debian-based probably-stable distribution tailored towards digital multimedia production, eh ? I also briefly contemplated getting arch linux (NO: unstable as well, and cinelerra, in a comunity repository, might disintegrate after a few updates there too...) or Ubuntu hardy (NO: pulseaudio etc), but 64 Studio just seamed a lot more lovable. Well, we'll see. I'll probably install it tomorrow and spam you all with a boring update on whether it does what I want or not.
If all goes well, you will be able to see a very confusing film by me from roughly this Sunday, 18:00z.
Since I started this blog, I've wanted to make it look the way I wanted, even though I didn't really have an idea what that could be. I have now, after reading what Pascal Klein has to say on the subject, crafted a design I think is nice and elegant, and emphasizes the content enough in a beautiful way. To be honest, it still needs some work ![]()
While I chose the precise text style manually, for colours I used the Tango project's palette and drew inspiration from that same project in designing the header graphic and the icons. I am going to use Tango emoticons and a Tango RSS icon as well soon.
Here you have some example code, including my font choices:
body {
font-size: 81.25%; /* 1em = 13px IF font size is set to 16px */
font-family: "Liberation Serif", "Times New Roman", Times, serif;
background: #2e3436;
padding:0;
margin:0;
}
blockquote {
font-family: "Liberation Sans", Arial, Helvetica, sans-serif;
font-size: 0.923em;
...
}
pre.sourcecode {
font-family: "DejaVu Sans Mono", "Bitstream Vera Sans Mono", monospace;
font-size: 0.769em;
...
}
Note that the default fonts are all libres, and included in a number of GNU/Linux distributions



