May 2011
2 posts
Whom To Follow
Are you annoyed by Twitter’s grammatically incorrect “Who to follow”? Here is a bookmarklet for you: javascript:$(‘#global-nav-whotofollow%20a’).text(‘Whom%20To%20Follow’);$(‘a[href=/#!/who_to_follow/suggestions]%20span’).text(‘Whom%20to%20follow’);undefined
3 tags
duckprxy now on github
It’s been quite a while since I released duckprxy, the duck typing (well, as close as it gets) library for Java.
I had a bug fix that I wanted to release, but never got around to do it. The bug fix was sitting there uncomitted (I don’t really know why) and now I forgot what it really fixed. Anyway, all the tests (including some new test) pass. So I guess it works correctly.
Anyway,...
November 2010
1 post
Going from Nuclblog to tumblr
I’m not a big blogger. I just write a post every few month about stuff that I don’t want to forget. I did not want to maintain my own blog software installation any more. So I’m now transitioning away from Cyrus Harmon’s nuclblog to a hosted solution: tumblr.
I’ll move over my old blog posts within the next few days and set up redirects.
Here is my first post from...
July 2009
1 post
2 tags
Updating FreeBSD with ZFS Root File System
This weekend I wanted to update my FreeBSD box and saw that the ZFS tools fundamentally changed. The UPDATING file has a corresponding note:
20090520:
Update ZFS to version 13. ZFS users will need to re-build
and install both kernel and world simultaneously in order
for the ZFS tools to work. Existing pools will continue to work
without upgrade. If a pool is...
June 2009
1 post
1 tag
Equals != Equality
The other day, I read the article How to Write an Equality Method in Java. Which reminded me that I wanted to write an entry about equality in programming. I cannot hope to cover this topic adequately in a blog post. My goal is merely to show that equality is very hard and that we often have a sever misconception about it.
Most programming languages give us several ways to check equality. Java...
March 2009
1 post
1 tag
Linguine with Meatballs and Tomato Sauce
The other day, my wife and I made linguine with meatballs and tomato sauce with an improvised recipe. We were quite pleased with the result. This recipe serves three to four people.
Ingredients
500 g Linguine
500 g Minced Beef
1 ts Meat Rub
Smoked Paprika
Salt Pepper
2 Spanish (Red) Onions
2 - 3 Cloves Garlic
Olive Oil
3 ts (Sun Flower)
Oil
1 cn Tomato Paste
500 ml...
November 2008
2 posts
4 tags
Duckprxy now with Javassist Implementation
I just released version 0.2 of duckprxy. It now comes with a duck proxy implementation that uses Javassist: JavassistDuckPrxy.
Proxies created with JavassistDuckPrxy are not using runtime reflection, but dynamically created code that is compiled to byte code by Javassist. This should reduce the overhead to that of normal delegation, hence, very little. I did not do any performance tests yet,...
3 tags
FreeBSD: Encrpyted ZFS Root with Geli
ZFS is supposed to support encryption, but it does not yet on FreeBSD. In a previous post I wrote about setting up ZFS on FreeBSD where the root file system uses UFS and the rest goes to logical ZFS volumes.
This time I use geli to encrypt a disk partition and use ZFS for the root file system. I encountered a few problems which I’d like to document here.
The FreeBSD Handbook section on...
October 2008
2 posts
4 tags
Duck Typing for Java
Every now and then I need to implement some interface, but only one (or very few) methods of it. Usually I need something like this in test code, but it is useful elsewhere, too. The mocking libraries I have seen so far offer something similar, but not quite in the way I want to have it.
I had the idea to use something like duck typing for it for a while now. Yesterday I finally found some time...
4 tags
Klatschbase 0.7 with Persistence and Generics...
I did not really need persistence in Klatschbase, because I never restarted the Lisp image Klatschbase was running in since version 0.2. The only reason I used a different Lisp image in 0.2 than in 0.1 was due to the fact that I moved Klatschbase to another server. Being able to deploy a new version without stopping your application is really a nice feature of Common Lisp.
However, an unexpected...
July 2008
2 posts
2 tags
FreeBSD 7 on Compaq 6710b
As mentioned in the previous post, I installed FreeBSD on an HP Compaq 6710b. Previously, I had Ubuntu 8.04 installed.
Booting the ISO Image
First of all, I had to choose how to install. My preferred way of installing FreeBSD and Linux is to boot from a minimal CD and then get the packages (or whatever they are called for the system at hand) via network. The 6710b is an Intel 64 bit architecture....
2 tags
ZFS on FreeBSD
This posting is a small wrap-up of how I set-up ZFS on my FreeBSD 7 installation. I am currently in the process of installing FreeBSD 7 on a Compaq 6710b. A complete report about this will follow in a future posting, but this posting is not about the hardware side.
Sun’s file system ZFS has a lot of cool features. If you understand german, you can listen to Chaosradio Express episode 49 to...
June 2008
1 post
4 tags
The Visitor Pattern in Differen Languages
In this post I want to explore the usage of the visitor pattern in different programming languages.
The goal is always to represent expression trees, i.e., to have the abstract syntax tree (AST) of an algebraic expression like 2 * 5 - 3.
Let us start with a simple implementation in Java:
import java.util.HashMap;
import java.util.Map;
public class ExpressionTree {
public static...
May 2008
3 posts
4 tags
Character Encoding --- Part 2: HTTP Auth
My last blog entry was about the character encoding problems I had with Klatschbase. Of course, there has to be a follow-up, since encoding problems are so ubiquitous.
I did a change to hunchentoot’s basic authorization method to allow utf-8 login name and password. As Edi Weitz pointed out in the hunchentoot mailinglist, this change is not standard compliant. Thinking about it, my...
5 tags
Character Encoding --- a Never Ending Story
Character encoding really is a never ending story. I am a huge fan of Unicode and UTF-8. But it is still not the default everywhere. This blog entry is about the problems I encountered while making Klatschbase working correctly with UTF-8.
First of all, SBCL - my common lisp implementation of choice - supports UTF-8 out of the box. So, no problem here.
Hunchentoot, Edi Weitz’s wonderful...
3 tags
Klatschbase Improvements
I just had a chat with a friend using my chat software klatschbase. A few good ideas came up how to improve it. Since I yet have to set up trac, I simply blog about it.
Some people were irritated because they saw nothing dirtectly after sending a message. Hence, a special entry for direct feedback was introduced. But this also irritates some people, because in rooms they see their message twice....
April 2008
1 post
4 tags
CACert
For a lot of things one needs SSL certificates. However, getting certificates often is expensive. But there are alternatives. One alternative is CAcert.
CAcert is web of trust based and works with points. You can simply register. After that you need some people with enough points to assure you.
You can create unasured client certificates without any points. With more points you can do more...