coffee, black   no sugar

All | Status | Society | People | Software

20071122 Thursday November 22, 2007
wide or deep
20071112 Monday November 12, 2007
the most annoyed iTunes user

...is my seven year old daughter. Every time an iTunes updates comes and she logs onto my Mac (with her own account), she gets the legal gibberish when checking her favorite video podcasts.

We oldtimers have all for a long time getting used to the license agreements and confirm them without really looking at them (I mean, who has really read this things?). But for my daughter, these really get in her way, not to say face:

  • they are unpredictable. *She* has not installed anything - wo it is a complete surprise when they appear
  • even if she really tried, she could not understand them
  • even if she did, I am certain that it has no legal relevance for a seven year old
Which makes me think that user account with child/age flags would make sense for user interfaces. More and more children use computers every day, so why do we treat every user as an adult?

Technorati Tags: , , ,

20071012 Friday October 12, 2007
http signatures

Technorati Tags:

20070926 Wednesday September 26, 2007
amazon mp3

Amazon mp3 store is super cool, nicely done. I can't wait for the german store to open.

Who wants to use the iTunes UI, when a really nice Web UI is available?

Technorati Tags: ,

20070817 Friday August 17, 2007
open source branding
Bild 1-4

So, we all can enjoy Steve Yegge in his recent talk about open source and branding. When talks exactly as he writes in his blog. Sharp guy. The best part of the talk is when he identifies marketing concepts with programming idioms. Nice.

Since I was very interested in marketing and brading ten years ago, I read the Book on Branding, namely Die Gewinnung des öffentlichen Vertrauens von Hans Domizlaff. I don't know about an english translation of the book, however there is an article in english about him. Whoever can read german should get the book. Seriously.

Technorati Tags: , , ,

20070625 Monday June 25, 2007
amanda doc rot
200706251430

Amanda, the open source archiving software is currently in version 2.5.2p1. The good news I want to deliver upfront is: i managed to get it working! And so can you! But I want you to save you a lot of pain I went though. So here is how I did it.

Besides having a butt-ugly logo, Amanda is the most popular archiving open source software. I use it for almost 3 years now starting with release 2.4.5. That one installed fine and the documentation matched the actual code. No longer so.

Doc rot has set in and the documentation is some major changes behind the current version. Not only that, but documentation seems to be smeared over the amanda wiki.

The biggest challenge for me always was the authentication amanda uses. In the 2.4.5 days amanda did basically lack authentication. From 2.5 onwards new methods like bsd, bsdudp, bsdtcp, ssh and kerberos have been added. While I never tried kerberos, I experimented (and cursed) all the others. I never got the bsd* thingies to work, nor do I really know what they do. The documentation is silent on this. Maybe I just lack some context here.

Anyway: bsd and bsdudp I got so far that a client received requests from the dump program, but was unable to send any answer back. Leading to a timeout error on the dump server. bsdtcp was not working at all. My xinetd got freaked out over too many connection attempts and shut down the amanda daemon. Even 500 allowed attempts per second were not enough. Maybe this is a bug in my xinetd, but I could not find anything on the net.

So I configure ssh, since I know at least how that protocol works and what security implications there are. The documentation on ssh setup in amanda is quite verbose, but unfortunately forgets to mention exactly which users need to authorize their keys on the network. So, here is how it works:

Usually, you set up the user amanda on your tape server and all backup clients and she is the one running the dumps. So all client machines amanda accounts need to authorize the server amanda's ssh key (including the server itself, if your server wants to backup itself). Easy.

Now, when you want to do recovery, you run amrecover and that program wants to run as root (for obvious reasons). Do you now expect that running amrecover on your backup server should work just like that? Not so. Even if you are on the tape server, amrecover wants to ssh using the amanda account. Since amrecover runs under root, this means that the amanda user on the tape server needs to authorize the root ssh key from *any* machine you want to run amrecover on. Ok?

If you follow this procedure, you should have amanda up and running quite quickly. Also, if you go for the ssh mode, you want to disregard all amanda documentation about xinetd and services. ssh mode does not need all that.

Hope this helps.

Technorati Tags: , ,

20070618 Monday June 18, 2007
web needs a patch

One of the things Dare and Yaron got right in the recent discussion about Web3S and APP (see here and here): time is ripe for a PATCH method.

Why is that? You can compare the current mechanisms and protocol for editing the web to the state of team work in programming twenty years ago. In the eighties (as I recollect them, your mileage may vary) people developing on PCs migrated from using plain text files to SCCS, or even RCS. This followed the more mature working style of people on PCs and also multi-person projects became more common. Collaboration needed tools.

Unix Patch

The genius Larry Wall came up with patch and that tool is the working brain behind everything from RCS to CVS to Subversion, Perforce and ClearCase. You name it. It is immensely useful. You know it. But in the light of recent discussion it might be worth restating why patch is so great.

What (for me) is at the core of diff/patch is what I call SMUC (Smallest Meaningful Unit of Change). For programming languages which almost all use a single command per line of code, treating a text line as your SMUC make sense. Add to three simples rules:

  1. Changes on adjacent lines get aggregated to a block.
  2. Either all changes in a file get applied or none.
  3. Reformatting a complete file is the last thing you want to do.
This simple algorithm, in practice, allows patches on the same set of files to be merged successfully in more than 99 percent of the cases without human intervention. This is great for productive collaboration since you can work in a team without locks (and painful serialization) and without loss (your changes are not easily overwritten by others).

Web Patch

And now we want to do that very same thing on the Web: productive collaboration in a team. And we discover that always PUTting complete documents hurts. And also that LOCKing resources only gets in the way (who has the lock token? Uh, Bob maybe. When is he back from vacation?).

Optimistic locking (Etags) is a good failsafe against overwriting other peoples changes. But when you have detected that, can you rescue your edits? Alas, most likely not. So you have the choice between doing all edits again or overwriting the other persons changes anyway. Urgs.

While changes to documents in JSON format might actually work with the UNIX diff/patch, protocols like APP and Web3S serialize in XML. So, a standardized XML diff format would be super useful here. Well, Microsoft itself published such tools in 2002 (no longer working under Vista, I heard), IBM has something similar as well. The diffxml project seems to be in alpha release since April 2005. Hmm.

Giving the world a standardized XML diff format requires some supernatural powers:

  1. You need someone with big cred like Tim Bray to pull it through. Once there is a working group around it, pressures from all sort of sides will build up.
  2. Making a generic, one-for-all solution is very difficult. And maybe too costly to implement for most use cases. So, some well opinionated design decisions up-front are necessary. Repeat point 1.

Technorati Tags: , , , ,

20070531 Thursday May 31, 2007
itunes plus
200705310959

I just bought my first music from iTunes Store. Yes, now. At last. Of course it is iTunes Plus. Sounds nice.

I had not bought music there since I do not want to encourage DRM in any form. Yes, circumvention of Apple's DRM is quite easy, but still. Kind of a purist, me, there. Well.

As a feedback to the store UI, there were two things which confused me:

  • The marking of songs and albums as available in Plus format is subtle. Which is what I like. However for someone new to Plus (and who isn't?), I was looking for a confirmation in my shopping basket that the album I was about to buy indeed and truly is Plus. Clicking on the '+' icon just gave an error, command-I was not working. Hmm. Maybe that error, once fixed, would reveal what i was looking for.
  • I could not find the shopping basket! Yes, I know it's next to the store link in the list to the left. But I had opened the store in a separate window and did not see the main window any more. Being an experienced internet shopper, I was looking for some kind of shopping basket icon or checkout link on the store pages. But nothing! I wonder how many amazon users stumble across this one. My mother certainly will be unable to buy at iTunes store.
The rest of the shopping then went smoothly.

Technorati Tags: ,

20070514 Monday May 14, 2007
RPC vs. REST in two sentences

In a recent posting in rest-discuss Roy Fielding answered (probably for the zillionth time) the Question:

On May 10, 2007, at 11:25 AM, Ittay Dror wrote:
> i'm having a hard time understanding your explanation. can you 
> please post two examples, one "RPC plus streaming", the other true 
> REST?

RPC is remote procedure call. One of the things that typical RPC
mechanisms lack is the ability to describe responses (or even
parameters) as a stream of data as opposed to a small data type.
HTTP has no problem doing that even when it is used in an RPC way.
[...]

I offer a description of the main diffence in two short sentences:

In RPC style URIs name questions. In REST style URIs name answers.
You can insert some mainly somewhere and point out edge cases, but it still remains the basic difference.

Technorati Tags: , ,

20070426 Thursday April 26, 2007
pc and mac
200704261712

Today we decided to offer a choice to our employees Manfred and Michael: either a MacBook or a Dell Inspiron. The configurations were similar, but not the same. Both were 1.8 GHz Core Duo with 2GB of RAM. The Book comes with its 13 inch screen, the Dell with 14, but both with same number of pixel. The Dell's hard disk is twice the size of the Book's (120 GB).

To make a long story short: Manfred decided for the Dell, Michael for the MacBook.

The MacBook will arrive tomorrow morning, the Dell brigade is trying to order it with Windows XP Professional right now, shunning Vista Business Edition (where no one is certain what it is anyway).

It will be very interesting to see which experience they make during the next weeks and months...

Technorati Tags: ,