Doc Searls notes a good summary of the state of digital security infrastructure. Some of the flavors he lists I've never even heard of—a nice chance to read something new and different and yet the same old thing.
Tuesday, December 30, 2003
Sunday, December 28, 2003
Microsoft is dead, long live Microsoft
I've seen Microsoft put the kibosh to its own obit too many times to let myself any longer have hope. Nonetheless, those of you who still think defeating the Eye of Redmond is possible can take heart in this article from The Enquirer. I fear it is more likely to belong in this Enquirer.
Wednesday, December 24, 2003
A great link for automated testing
Manageability has a great list of automated testing tools for Java. If you have a need for this sort of thing (and anyone programming in Java who says they are without a need is pulling your leg), this is the list for you.
JDK 1.5
Are you ready for JDK 1.5? Members of JavaLoby may preview the alpha as long as you follow the stipulations. Sun is looking for feedback. Go forth, and backfeed.
Thursday, December 18, 2003
Careful what you wisk for
The Web Starter Kit (Wisk) project is now open for business on SourceForge. Their are no web pages (yet) but I hope to upload the starting code base into CVS over the weekend.
Tuesday, December 16, 2003
Re: Web Starter Kit
I didn't think I'd been the first to think of something like the Web Starter Kit. Software Craftsman has the same idea. (Also see his neat idea for finding unused Java classes.)
Friday, December 12, 2003
My name is ...
Fellow ThoughtWorker Mike Mason hits it on the head:
We realised that ThoughtWorks isn’t a consultancy — it’s a self-help group for developers who are really testers. We should have these meetings where we sit round in a circle and say stuff like “My name’s Mike and I’m test infected.” I’ve been writing code with lots of tests ever since joining ThoughtWorks, and I don’t think I could go back…
Amen, brother. Test-driven development really is faster, better cheaper.
Thursday, December 11, 2003
Web Starter Kit
I'm considering putting to together a "Web Starter Kit" (WSK or wisk) for starting J2EE webapp projects. Basically, it would be all the technology which goes into iteration 0 of such a project, all hooked together to help others get a jump start. It becomes tiresome to redo the same week's worth of plumbing on every new project. I'm thinking of constructing it with:
- Maven
- Tomcat
- JSPWiki
- JUnit
- HttpUnit
- JWebUnit or Cactus
- JCoverage
- CruiseControl
- Struts + Tiles
- XDoclet
- Hibernate or JDO
What would you add? What would you change?
Friday, December 05, 2003
Swing low
These days I do mostly Java web programming, but I also worked on PCGen for a few years where I cut my teeth on Swing (Rule #1 of large, distributed open-source programming: change as little as possible to get your work done — this is the opposite of close-at-hand XP programming where refactoring rules; I'm embarrassed to even contemplate this). And BileBlog has it right: Swing programming is hard. I never felt completely happy with the results, always with the niggle in the back of my mind that my work could be done better. It was easy to fall into custom widgets (why is JTabbedPane so minimally functional?) and such without addressing the bigger picture. Perhaps someday I can get back to the problem.
Tuesday, December 02, 2003
Does maven suck?
I am presently enamored by maven, more specifically, by its very nice report generation when I run maven site. But I also like to read the other side, and Why Maven Sucks is about as "other side" as it comes. Welcome to The BileBlog. :-)
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="http://apache.org/dav/xmlns" xmlns:C="svn:"> <C:error/> <m:human-readable errcode="165005"> Expected version '2' of repository; found no version at all; is 'C:/SVN/local' a valid repository path? </m:human-readable> </D:error>
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) Ok, 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. Linus
Sparse
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.
Friday, November 14, 2003
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.
Monday, November 10, 2003
Interesting XP post
Java Today notes a short, interesting XP post by Curtis Cooley talking about his experience with XP in practise.
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.