" /> Bill de hÓra: April 2006 Archives

« March 2006 | Main | May 2006 »

April 30, 2006

CSS from scratch

(for those not using a feed reader)

I just rewrote the CSS for the main pages of this site. It's a long time since I wrote out a CSS file from scratch. Most CSS files I have written have been cobbled together from spare parts, or adjustments to existing sheets - the usual view source approach. I found starting from zero highly educational, especially what needs to happen for fluid layout, typeface scaling, tabs, and div based layout. There are plenty of problems no doubt with this site's stylesheet (and I still don't have a print.css (done)), but I think it's better today than it was yesterday.

I also changed the layout to have 2 columns instead of 3. The Google ads are gone from the front page (they don't "fit" there anywhere now) - instead there are pullins from del.icio.us, last.fm and flickr. As an experiment I added co.comment links to posts - tracking weblog comments is a nuisance, I don't have/want a comments feed, so co.mments might be a good way to deal with that*. I also added a new colors to the site - orange for feed thingies and blue for del.icio.us (up to now this site used black, white, gray, red and maroon). I added some leading to the text, I think it makes it easier to read. The comments start with the commentors name/link in a larger font instead of having them at the bottom of the comment. Other blogs I like do that, and it seems easier to follow, and to truth be told, I also wanted it to be easier for me to grab a commentor's homepage link with a right-click. Finally in comments - I changed the form layout so that the comment box and the buttons are at the top instead of the email/url/name fields, which is the default MT layout. The new comment layout is not idiomatic, but I figure putting the optional stuff first is just putting junk in someone's path.

I still don't have an about page. Must fix that.

update: Dominic says I need a left margin, he's right (done). It's easy to tell I work with fullscreens and alt tab ;)

* this because someone will ask - no, I have no other interest in co.mment.

links for 2006-04-30

April 29, 2006

links for 2006-04-29

Vurt Machine

Tim Bray, Having Done Java:

"I've observed that, on average, the quality of the libraries is better in Java than in the competition: Perl, Python, Ruby, whatever. Don't get upset, those other languages have lots of other advantages and are The Right Tool for lots of jobs."

The Java 3rd party libs are plenty good. Even Hani could find a few decent libraries. I wondering if Tim is playing up the Run Your Language On The JVM angle - aka "Use Jython/Rhino/JRuby".

Parand points out: "I typically have a harder time finding a library I need in Java than in Perl or Python."

Library management is one case where configuration over convention wins. Perl CPAN is the benchmark for programming languages; for operating systems it's Debian apt. I have no Perl worth mentioning, but everything I've ever had to do with Perl involved CPAN. My experience of apt on Debian is such that I wouldn't want to be without it given more than one server to run - apt is essential kit. Ruby has the gems framework and Python has eggs. Java is behind on this front - Maven and Ivy aren't quite at that level, and I don't know if there's anything coming through in the JCP. It's interesting because support for code signing in Java is good.

It all comes down to systems management. Maybe the answer is for Smartfrog to get an elevator pitch together.

April 28, 2006

links for 2006-04-28

Launch Missiles? Ok. Cancel.

More SOA fretting, this time from Jason Bloomberg:

"This tool leverages several Services that form part of the SOA governance framework, but the executive is none the wiser about these technical details; all managers need to know is that they have the authority to change certain corporate policies via the corporate portal. As such, the exec can go into the portal and adjust the Service-level agreement (SLA) for corporate reporting that includes the required report, changing the turnaround time for corporate data from "up to one week" to "up to one day," through the click of a button.

Now IT has a problem, as the Butterfly Effect takes its toll. Will the IT infrastructure be able to respond to the executive's change automatically, or will it require manual intervention by the IT staff? Will IT simply fail to satisfy the new SLA? Even worse, what if different executives have entered more than one policy change during the same period of time? Which one should IT address first? " - ZapThink :: Research - SOA Governance and the Butterfly Effect

Software was specified, designed and written so that an exec could click a button. Now there's this potential cascade of issues due to a clicking on that button. The question to ask is - why was the button there?

April 27, 2006

SOA architecture diagram

Originally uploaded by bdehora.
Found one.

DOA: DisOriented Architectures

I think I'm done with Oriented Architectures. *OA isn't helping. I think I need to eliminate "oriented" from my software lexicon.

Service Oriented Architecture: I have a particular understanding of what that is, that seems to be different to other peoples'. Vastly different. It's better perhaps to avoid the term, or at least concede it.

links for 2006-04-27

April 26, 2006

links for 2006-04-26

Instant Messaging for P2P

Steve: Developing on the Edge - JXTA is five.

"Now that everyone has forgotten about P2P, it's time to remember that it has uses. One of the nice things is that by decoupling destinations from hostnames, and using relay sites outside the firewall, JXTA, Jabber, etc, can all do two-way comms despite the presence of firewalls."

I was pretty excited about JXTA a few years ago. XMPP and firewall adminstrators killed most of it, along with complexity - JXTA is the WS-* of P2P. I think most of the P2P use cases that aren't covered off by bittorrent will get eaten by Instant Messsaging technology, particulary XMPP. Mostly what's left are pub/sub push and blackboard style drop and pickup coordination stories.

Ever shared files on the work lan via XMPP? Try it. XMPP filesharing *kills* Web Drop Box, and Send File Over Email antipatterns. Except that being behind a firewalled NAT makes it difficult for non-software types. And XMPP will probably do nicely for voice over IP.

Internet Application Protocols always win.

April 25, 2006

Web2.0 and deferred integration costs

Web2.0 is the sum of:

  • dead cash chasing investment, and
  • Cheap broadband, and
  • Documented URL query strings, and
  • Working javascript (I know!), and
  • CSS awareness, and
  • Data served as XML, and
  • Web apps that do one thing well

The last one is interesting. There's a large collective bet right now that the integration costs on specialised web applications won't be an issue a few years out. Or at least they'll be less of an issue than building software that tries to do everything (aka "Groupware"). Today the Web application landscape doesn't look a whole lot different from departmental IT circa the mid to late Nineties - lots of little things waiting to be hooked together. It turns out that was, and still is, hard work.

If integrating web based systems turns out to be a non-problem, I think we might to close to the position where we can say there is no aspect of software design that cannot be deferred until later, except the first test. It also has a massive implications for the EAI sector.

Some people call web integration "mashups", which goes to show that no matter what, computer types are terrible are giving things names*. A mashup was what I used to do on the weekends.

* Along with POX (Plain Old XML), which seems to be a fashionable acronym with recovering WizzyDeathStar types. I suppose SmallPOX is what runs on series 60 phones.

April 24, 2006

The biggest problem the software industry has

Eric Newcomer: "The biggest problem for business and industry today is software productivity."

I was on the way to work today, wondering what the biggest problem the software industry has today. I think it might be payment models.

That's entertainment

In consumer software only three activities generate value - creating distractions, making connections, removing choices.

that's entertainment

links for 2006-04-24

April 23, 2006

Post Facto Architecture

"If your design can be expressed in code, do it; if it can't then model it first." - Grady Booch

Grady Booch was asked the question "which matters more: the architecture as designed or the one the running system happens to have?" He said that this was a silly topic "akin to asking what matters more to water, oxygen or hydrogen?".

Considering the development phase of an enterprise system is probably no more than 20% of its lifecycle, the Post Facto Architecture would seem to have a broader economic impact.

links for 2006-04-23

April 22, 2006

links for 2006-04-22

Information Underload. Part I, Feed By Time

I'm subscribed to hundreds and hundreds of feeds. It's starting to get ridiculous, even just scrolling through them is a time eater.

So today I did two things. First I removed about a hundred or so feeds that seem to be inactive not in my sphere of interest (whatever that means) or I just didn't recognise anymore*. Then I split the rest into four buckets:

  • work feeds
  • once-a-day
  • once-a-week
  • once-a-month

Work feeds (and wow we have a good few of those now, where did they come from?) and once-a-day, I'll follow... once a day. Once-a-week and once-a-month are for periodic checking either because the content is infrequent but good, or the content is very infrequent but very good. It also means I don't have have really (really) long scrolling screens in my reader (feeddemon) anymore.

I figure these buckets are going to be more general than thematic or tag based ones - all the interesting bloggers are multi-faceted anyway, and as regards tagging, well I outsourced that problem to del.icio.us, long ago.

Analogies to Lifestreams style temporal interfaces welcomed.

feed by time

Originally uploaded by bdehora.

* One good reason perhaps why you should use your name on your weblog. The (my) brain can generally do name lookups way faster than obscure brandname or tagline lookups. We're not all Tim Bray or Jason Fried. I know what's going to over the next few months tho' - I'm going to end up following links to a blog articles and realise I'm not subscribed to someone cool, whom I used to be. And into the once-a-month they will go.

April 21, 2006


Scott Marks, Cynicism Is Not A Recreational Drug:

"Unfortunately for EAs, the story of value is often less tangible. Good architecture is often felt more than it is seen. It is often about risk management more than immediate revenue generation, EA deals in the intangibles."

Good EA post, no handwaving.


Shelf, after shelf, after shelf. I should really write some reviews.

architecture and lisp
Originally uploaded by bdehora.

Django: Magic Merging

Adrian Holvaty: "Call for testing: magic-removal branch... We're aiming for a merge to trunk on next Friday, April 28."

For those not following Django's development, "magic removal"is a major alteration of Django's innards, to remove clever code from the framework. It's been running for a few months on a separate development branch. Plenty of people have been asking when this merge is going to land - looks like it's starting - the branch is feature complete and is going into testing. I'll be moving some apps across this weekend to check it out.

After this merge, Django 1.0 can't be far off. Sweet. It's an *excellent* framework. This will take a lot of doubt out of the whether Django is ready and when.

Parand Tony
, if you're reading, I haven't forgotten your mail.

April 20, 2006

Thunderbird with IMAP annoyance

Since I moved over some mail accounts to IMAP, I've found that Thunderbird locks up the compose mail window, presumably it's doing some IMAP related work that isn't pushed into a background thread. That means I can't type for 3-5 seconds every so often when composing a mail, while I wait for Thunderbird to let me start typing again. Anyone else seen this, or have a workaround? Failing that, anyone recommend a windows mailer that plays nice with IMAP?

April 18, 2006

One Big Presentation

43 Folders: Life inside one big text file". I think if I was going to do it that way, it would be in one big S5 file..

A markdown2S5 thingie would be cool.

April 17, 2006

Software tryouts

After mucho hardware problems last week, I've been reorganising some data and have had a think about how I go about the work stuff and what tools I use. Here's some I've been trying out

Qumana: offline blog editor. Very slick (Java app). But the editor is poor - you can't afaict configure the typeface and the default type face is very very hard to read - I doubt I could use it for long periods. It also seesm to drop junk into your markup here and there. The drop pad feature is clever; you drag text or images onto a floating box and they come through to the post. If they fixed up the editor (it's core to blogging after all), there's a nice product here. Uninstalled for now, with a reminder to check again in 6 months.

w.bloggar: reinstalled now that I finally figured out how to get it to post to MT3.2 (the xmlrpc required the password be set separately from the user account - grr, that's been a problem for months). Still my favorite offline blogging tool.

ultraedit 12: after finding my v10 licence key (as resulting of moving some mail to IMAP), I bought an upgrade bundle. I think this will become my default text editor along with emacs - v12 is so much better than v10 which I always felt was a hodgepodge of features (albeit very useful ones) . The main reason to upgrade wasn't UE itself, but UltraCompare, which does 3 way diffs at a fraction of the price you'd pay for Araxis Merge (my version only supports 2-way diffing). You don't need to do 3-ways that often, and if you do there's something wrong with how you work (!), so it makes sense to go for the cheaper option. UE 12 also seems to load much faster than I remember v10 ever doing - slow load time was one of the reasons Textpad tended to get used.

Google calendar: so far I'm liking it, it's easy to use. It doesn't have any concept of events that get done or of bookable resources (like meeting rooms), which you tend to need for work reasons.

last.fm: I came across this via Cote. It's cool. I don't really know how to explain why it's cool - it has that del.icio.us/web2.0 pointless-but-so-useful quality. I guess someone will end up buying it for a stack of cash once they get a critical mass of users. At the moment they see to be having DB access problems, the site is sluggish and sometimes drops you altogether with a "come back later" message. But it's cool, and free, so it's hard to worry about uptime.They don't cross-reference with other users until you have about 300 items uploaded, which makes me think they're using old-school collaboarative filtering algorithms.

Copernic: searching email with thunderbird is a pig. I'm hoping Copernic will sort that out once it's done indexing. If it doesn't I'm going to have to figure something out with Lucene. Or get a better mailer (GMail isn't it). i dunno - everything seems to be evolving along nicely, except email.

SnagIt: We got some licences in work. Very good software; you'll never go back to copy and pasting into paint after using this.

Opus 8: I mentioned this a while back. Superb explorer replacement. If I could figure out how to get it to show me TortoiseSVN's icon overlays, I'd be set.

I've come to the conclusion that I need a 'rich todo' list. 37s tada lists or Confluence todo macros just don't cut it - there's insufficent structure and context in flat lists. I think this might be me. When I take notes it's rarely in list form and almost always in terms of mindmaps and diagrams - relating things to other things is how I cope best with new information. Todo lists are useful but tend to feel clumsy somehow (read Mark Forster for a better explanation). With tagging. And mindmap support - I am loving mindmaps. You can (and I do) look at a mindmap months after it was recorded, and it will make sense - their recall ability is fantastic compared to flat lists. Mindmaps are trees, so they're begging to to be exported to OPML or XOXO. An Ajax version of Freemind would be just about perfect.

April 14, 2006

BDD: Backup Driven Development

as documented here, I had some problems with my laptop and some of my backups due to the backup drive failing also.

What did I need to recover from backup? Work email. That's it. This is major progress compared to the last few times I had machine problems. Everything else was on one of:

  • a subversion repository
  • a mailing list
  • an external drive
  • a weblog
  • a wiki

In other words, I'm close to a point (maybe this year!) where I don't have to down tools and decide to back things up. Or have to remember to decide to back things up, which is the real problem ("Who has time for backups? I know, it's crazy!").

Once I can get all my mail accounts moved to IMAP*, I'll be close to zero backup. Yes that's weasel wording - clearly I'm backing up. But replacing the "stop, find what to backup, find where to backup, backup, wait, continue" with "send, checkin, upload", which is part of the software work cycle anyway, strikes me as progress. I guess/hope it'll be like Test Driven Development - like you do with testing, slice the backup steps finer and finer until they become indistinguishable from the work itself.

Reinstalling applications then is what will be left to do - everything else can be downloaded or checked out. Installing apps is a nuisance and can take a lot of time, even when you have a list. However give it a few years and we'll be running on VMWare/Xen with the core apps installed on an image. Which will be backed up.

Still, not everyone is a software developer so using stuff like wikis, mailing lists and source control systems is going to seem like so much tech nonsense. But applications can and should be doing more here. If amazon and the like are going to get into the utility data storage business,then desktop apps could get backup to the network automatically. Not just apps, media devices too. A camera or a phone could just stream the fotes up to Flickr or S3, or MyDataCenter.com. By the end of this decade, being asked to save a file could be a thing of the past.

* I have a Gmail account but don't really use it. Web mail never grew on me. That calendar stuff seeems pretty cool though.

The sky is falling in, more after this

Nick Carr: "The more we suck in information from the blogosphere or the web in general, the more we tune our minds to brief bursts of input. It becomes harder to muster the concentration required to read books or lengthy articles - or to follow the flow of dense or complex arguments in general. Haven't you, dear blog reader, noticed that, too?"

Nick Carr's weblog is fascinating. I subscribed the minute I head he had one since the book is a personal favourite. Its calculated cynical faux-Ludditism is perfect for baiting technologists. Watching Carr criticize, undermine and attempt to devalue IT technology, particulary web technology, while doing so using web technology is so wonderfully ironically dissonant. It's like the watching a news reporter talk on TV about "The Media" as though the media was really something else. That many of the posts have real grist makes it all the better.

April 13, 2006

Not a whit

Norm Walsh, Validating microformats: "I'm still not satisfied. And I remain convinced that this problem has to be solved before microformats can be considered a reliable way to encode data."

I wonder if anyone cares*. Straight up take it or leave it validations are often only really useful on administrative boundaries and at the point of publication. Most validations are in fact partial and stateful ("in the brief state, verify that these 3 fields are populated before proceeeding."). If anything's going to "validate" uF's it'll be technologies that can deal with partial information and perhaps some being able to assume that 3 or 4 fields will always be there. You don't need a full valdiation language for that. You need a dictionary of xpaths, or RDF, or code that is dictionary driven acting as a content firewall. Maybe full validation as the default stance is enterprisey? And if you really need it, write a better pipeline to convert from the uF to some XML format that is more responsive to validation tools?

* on re-reading this sounds like a snipe at Norm. I should say then, that it wasn't meant to be. I'm dissonant on the idea that basic stuff like validation and well-formedness can't be assumed, but people and applications seem to cope and be fine with that.

April 10, 2006

Anyone recommend an Irish data recovery service?

The laptop screen glitches then laptop video card fails. Then you keep ringing support to arrange to get an engineer out. Then the backup data drive fails. Then the backup machine can't run some software without crashing. Been a rubbish few days, plus deadlines. So if you've emailed me since about last Thursday and haven't heard from me, I'll get back to you real soon, promise.

And if you can recommend a data recovery service in or around the Dublin area for what looks like a corrupted ntfs drive, or indeed plain recovery software, please leave a comment!

April 07, 2006


Apparently, if the Gilmor gang has it right, MySpace can charges out $750,000 per day on the front page for ads. That's TV scale revenue. And take away the social features, MySpace feels like a mass-market LJWorld.

Django inherits the earth?

April 05, 2006

WWW 2006, nope. ApacheCon 2006, maybe.

Can't go to WWW 2006, we're in a family way just about then. But I'm guessing it'll be MMM 2006 - Microformats, Microformats, Microformats*.

Maybe I'll get to ApacheCon, it's in the Burlo, like.

* Got to talk to Sean today about microformats for a bit. I'm Sold.

Quite the motivational speaker

"This is for you new people. I only have two rules. Rule one, everyone fights. Rule two, no one quits. If you don't do your job, I'll kill you myself. Do you get me? " - Jean Rasczak