Sunday, November 30, 2003

Setting up a Subversion server on Windows

I found mostly excellent instructions on the TortoiseSVN site for setting up a Subversion server on Windows. Included: setting up Apache 2, setting up Subversion, setting up Windows domain authentication, setting up SSL. Quite a decent start. Unfortunately, I am now facing:

<?xml version="1.0" encoding="utf-8"?>
<D:error xmlns:D="DAV:" xmlns:m="" xmlns:C="svn:">
<m:human-readable errcode="165005">
Expected version '2' of repository; found no version at all; is 'C:/SVN/local' a valid repository path?

Time for some Google research.

Wednesday, November 26, 2003

Able hands

It's official: Linus is handing off the 2.6 kernel to Andrew Morton:

From: Linus Torvalds [email blocked]
To: Kernel Mailing List [email blocked]
Subject: Beaver in Detox!
Date: Wed, 26 Nov 2003 12:55:00 -0800 (PST)

 for everybody who thought "stoned beaver" wasn't an appropriate name for
a kernel (yeah, I'm sure IBM really minds my naming scheme, and is deathly
afraid it will scare away customers), I'm happy to tell you that the
beaver just went into detox, and I'm taking the Thanksgiving weekend off.

I give you "Beaver in Detox", aka linux-2.6.0-test11. This is mainly
brought on by the fact that the old aic7xxx driver was broken in -test10,
and Ingo found this really evil test program that showed an error case in
do_fork() that we had never handled right. Well, duh!

While at it, this also pulls in some firewire fixes and a few potential
skbuff leakage points.

Please don't even bother sending me patches, because I'll be stuffing my
face away from email over the next few days. And after that it will be up
to Andrew to say how to go on from here.

Mmmm. Turkey.



Doc Searls posts in The Linux Journal a fascinating talk (with slides! :-) by Linus at the Linux Lunacy Geek Cruise III on the Sparse <garbled> asset compiler, a great GCC extension to improve the typechecking system of ANSI C.

UPDATE: to go with Part I there's also Part II and Part III.

Wednesday, November 19, 2003

Coplien against classes

Classes, who needs them? Coplien (yes, that Coplien) argues for roles and interfaces—objects—to have primacy, not classes.

(Thanks to Carlos Perez for posting about this.)

New Swing tutorial

Sun has a new Swing tutorial updated for 1.4. It's a work in progress, but it's still excellent.

Subversion VC backend for Emacs

Although I use vi and Emacs roughly equally, I do recognize Emacs as The One True Editor, and so I spend much of my programming time booted into Emacs. And as I am now methodically replacing CVS with Subversion for my own needs, I cannot survive without the C-x v family of key sequences. Looking around for an Emacs VC backend for Subversion, I found two and decided to go with the one in the Emacs repository (Monnier) as it will ship with Emacs for the next release. Also, I was unable to find a canonical site for the other backend (Bowman) and when I byte-compiled the two, the Monnier compiled more cleanly than Bowman.

Time for the real test: work.

UPDATE: Well, one drawback to the Monnier version in the Emacs CVS repository: it only works with the CVS HEAD version of Emacs. Oops. For Emacs 21.4 (the current release), I need to use the Bowman version. But, it does not load ok. Live and learn.

And... there's yet a third version (Blandy) according to Karl Fogel. I'll give it a try also. Two things in its favor: it also compiles but and is the only one which loads ok, and it's the only version with useful setup for .emacs:

(add-to-list 'vc-handled-backends 'SVN)

(Magic, isn't it?) Easiest however probably is the most simple:

(load-library "vc-svn")

This seems the right one for now until Emacs 21.4 is out.

Wednesday, November 12, 2003

Microsoft continues to hinder web development

Sometimes overlooked is that Microsoft's embrace and extend strategy doesn't always require the extend portion. Instead Microsoft implements 85% of a standard and misimplements 5% more, never fixing the defects or implementing the remainder. This renders a standard unusable across platforms and implementations. Tables and CSS layout are examples of this dastardy. Reinforcing my ire at Big Black are recent entries on Java Today, Microsoft retrenches around fat clients and Web and rich interfaces: it should be easier than this. It is obvious to all that Microsoft continues to abuse its monopoly position and undermines the web and its potential to illegally maintain that monopoly. Justice may be blind, but the free market isn't. The laws of the jungle applied equally to the mammoth as to the moth and changing business climates will eventually do to Microsoft what the PC did to IBM: reform an incorrigible. Although not everyone agrees.

Tuesday, November 11, 2003

Source control in flux

MickBlog has some nice comments on source control choices. There seems to be a lot of flux right now and I suspect that software development is at a tipping point and not too far from jumping ship from CVS to an alternative. The obvious replacement is subversion, but the present situation is the sort where no contender can be discounted. For now I'm using subversion at home, but I'd like to give arch a spin as well. May the best code win.

Wednesday, November 05, 2003

Java isn't my favorite programming language

As Ravi Mohan writes in Ruby vs Scheme vs Java ... and the winner is ...:

The java code came to about 300 lines , the ruby code had about 70 lines and the scheme code had around 20.The scheme code "cheats" a bit bacause i used a tree walker macro i have been working on for sometime.Since a macro "expands" at runtime, the scheme code when fully expanded would be about 50 odd lines ...Also I am sure the ruby code could be much shorter but i am a novice @ Ruby Programming ! Eclipse was Java's key advantage, but on a code base this small, an ide is not too important.
More than "number of lines" both the scheme and ruby code were very clear and the java code had lots of casts,enumerations, iterators etc. which put a barrier between your mind and the code. I didn't really believe it when Paul Graham said "Succinctness is Power" but I am slowly veering around to this view, even though i still don't think macros are the best ways to provide succinctness .

Now if only Ravi had considered Python as it is much further down the path of having a Java-like development environment than most other modern languages.

Tuesday, November 04, 2003

Fresh, fresh, fresh

Talk about fresh: Python 2.4a0. That's about as alpha as it comes. As always, the most intersting bit is what's new. Of course it is so fresh that it says little of interest. Patience never was one of my virtues.

Agile Python

Declared: Python is an agile programming language.

Somehow, I don't see this happening to Perl anytime soon.