Engage google before opening mouth

it’s actually really simple.

Web-the_simplest_thing_that_can_possibly-Work. I get WebWork. Finally. For some reason I’ve had a mental block on it up until now. Every time I sat down to explore it something came up, or I got bored. Finally cracked it this afternoon. Turns it I was expecting something complex, and it’s actually really simple. This appeared to cause me as much (or more) mental discontinuity as when I’m expecting something to be trivial, and it turns out to be much more complex. WW really is very simple, but it lacks an ‘idiots guide’ which would have been very helpful to me. I’ll see if I can retrace my steps and post my experiences up sometime. [Pushing the envelope]

Great! A WW idiots guide would be fantastic. Did you read Joseph Ottinger’s tutorial? Maybe that would be a good starting point to collaborate on?

[rebelutionary]

Doh! No I didn’t know about Joseph’s tutorial, I must have skimmed over the post where you mentioned it. That would have made life much easier 🙂

I find this kind of blow-by-blow guide to be an excellent ‘kickstart’ when using a new tool or framework. It helps me get my mind around the paradigm of the tool being used. I wish every new technology had one of these. For anyone else like me who missed Mike’s link, the guide can be found here:-

http://enigmastation.com/~joeo/webwork.html

Ambivalence

I hate starting projects. Writing ANT scripts, setting up the directory structure, configuring the IDE settings, putting all the library jars in the right place etc. I find it all immensely tedious.

I love starting projects. There’s no code written, you are full of ideas, with an infinite solution space to choose from. The journey lies ahead.

So to recap, I love hate love, have mixed feelings about starting projects.

Web-the_simplest_thing_that_can_possibly-Work

I get WebWork. Finally. For some reason I’ve had a mental block on it up until now. Every time I sat down to explore it something came up, or I got bored. Finally cracked it this afternoon. Turns it I was expecting something complex, and it’s actually really simple. This appeared to cause me as much (or more) mental discontinuity as when I’m expecting something to be trivial, and it turns out to be much more complex.

WW really is very simple, but it lacks an ‘idiots guide’ which would have been very helpful to me. I’ll see if I can retrace my steps and post my experiences up sometime.

Revisionism

Found this rather interesting example of slogan reuse while browsing Netscape’s homepage on the wayback machine. Right at the bottom of the page, a reference to ‘Netscape ONE, the Open Network Environment’. Fast forward 6 years and a joint venture or so later, and we have Sun ONE: Open Net Environment. Wow, they have been planning this for a long time, apparently.

HTTP Hangups

Conditional Get Update. Various news aggregators are leaping on the conditional get bandwagon. (108 Words) [The Fishbowl]

Its somewhat ironic that all this effort is suddenly being devoted to make aggregators only perform full GETs when they are needed, when as anyone who’s ever developed a public facing stateful web-app knows, its usually a knock-down drag-out fight to prevent misconfigured proxy servers from caching all your pages (and cookies, some of them) for all eternity and breaking your app in a variety of interesting and humorous ways.

The value of software

OSAF Post Feedbacks.

I disagree that there is no sense of value for software in this country.  I do agree that I seem to be buying less software than before, but I ask what factors might have caused this change?  Microsoft contributed, but there are other factors involved.

[Don Park’s Blog]

I do pay for software. I would pay for more software, if there was quality software out there worth paying for. I think I’ve said it before, but free / open-source software entering a market won’t ipso-facto kill commercial software, but it certainly will raise the quality bar. If the only means for a commercial product to survive in a marketplace is to monopolise it, then it probably doesn’t deserve to survive. I bought The Bat, not because there are no free (or indeed pre-installed) email clients, but because it was sufficiently better to warrant its price. If a product takes a team of 50 a year to develop and costs tens of thousands per cpu, should it really have anything to fear from a competing OSS alternative developed in a few months by 3 or 4 people who’ve never met working in their evenings and weekends? And if it does, does that say anything about its true ‘value’?

RSS Validation

Mark Pilgrim and Sam Ruby have released a nifty RSS

Validator. I had a very quick go at running it through Jython, but it fell over as Jython doesn’t have

the ‘select’ module. A java port would be nice, but its unlikely I’ll have the

time so rather than make promises I can’t keep I thought I’d just flag it up and

see if any of the other java guys feels like taking up the challenge.

Oh yes, and I’m valid apparently. Although I do now feel like an extra in Gattaca.

Namespace collision

Someone else has a software blog entitled ‘Pushing the

envelope‘. Someone from Microsoft to be precise. I knew it wasn’t a

sparklingly original title, and when I first started I was going to call it

‘Random Thoughts’ – until I saw Rickard’s. I’d be annoyed, except the other PTE

was there first, so my bad (although there only appear to be a couple of posts).

I’m pondering the merits of switching to a fully web-based system such as

moveable type, roller, or miniblog, which will involve a URL change and all

sorts of other inconveniences, so maybe I’ll change the title at the same time

just to add to the fun. Darren’s Daily Diatribe, perhaps?

On the other hand I’m no.1 on google for ‘pushing the envelope’ so maybe I can

just pull rank (bad pun intended).

Delegating SAX Parsers vs Digester

Delegating SAX

Parser Handler

Delegating

SAX Parser Handler.
At

work I’m working on refactoring / redesigning something that started as a

cool idea. Basically, you register sub handlers to a root handler with the

path you’re interested in getting messages for (like “/document/header/title”

would get you the events for the document title).[Jason

Carreira]

It does sound quite similar to digester

which allows you to register interest in SAX events using abolute paths,

relative paths, wildcards and so forth and apply Rules when the SAX events

fire. Plus there’s default rules for all kinds of things like creating beans,

setting bean properties, invoking methods. There’s a default object stack

so its very handy for parsing XML config files and turning them into your

domain objects.

Competition in open source can be healthy, though I do prefer reuse when

it makes sense since it promotes a bigger user community which often results

in better software. So I’d recommend evaluating digester first to see if the effort of starting your own project

and supporting it is worth the effort.

[James Strachan’s Radio Weblog]

I discovered Digester a few weeks ago and have found it very useful. Couple it

with BeanUtils

and you’ve got a great way of automagically populating your beans from an XML

config. I have a Configuration object that contains a Map of the ‘digested’

name-value pairs and uses BeanUtils.copyProperties to set the fields on any

Object it gets passed. All I have to do is obey the javabean naming conventions

and it just works. For an additional check you could include the bean classname

in the XML and have the Configuration object complain if it was passed an object

of the wrong type.

Fighting talk

In the script group, the Perl subjects may

be more capable than the others, because the Perl language appears more than

others to attract especially capable

people.

[Lutz

Prechelt, An Empirical Comparison of C, C++, Java, Perl, Python, Rexx, and Tcl]

Ready flamethrowers… Fire!

Could this perhaps be that it takes a better than average developer to wield

Perl in anger without hurting themselves or others? I have something of a

love-hate relationship with Perl. Its power and flexibility is undeniable, its

syntax questionable. I have this nagging fear that the more I learn, the

greater its seductive attraction will become, simply because it allows you to

get away with almost anything.

That’s it. I’m not posting anymore on this (although I reserve the right to

change my mind). There are more important things in life than ‘my language is

better than yours’ catfights. Put your energy into writing code instead.