Don’t play with a loaded regex, kids

Otherwise you might be buttumed to be buttociated with the consbreastution of the united states of buttinine.

Try the following Google searches:

buttociate

buttinine

buttume

And, my personal favourite: consbreastution

Haven’t laughed so hard all day. But then I’m easily breastillated.

Update: and there’s more! Wouldn’t want to be a buttembly language developer, or worse, get buttbuttinated.

Funny? Laughed my burte off.

Source: http://thedailywtf.com/Articles/The-Clbuttic-Mistake-.aspx

Unsend

The process of migrating from movable type involved a bit of skimming over old posts. I was certainly, er, ‘younger’ back then. The me of 2002 certainly wrote a lot of crap nonsense.

Not sure the me of 2008 has significantly improved on that score, except whereby writing less at least reduces the number of opportunities to open my mouth and put my foot in it.

Comments!

Plunge taken. Comments enabled on new posts. Come on spammers, I’m ready for you.  Or preferably, don’t.

All I need now is a bit of good old fashioned controversy to kickoff some heated ranting.

That seemed easy enough

Huge endorsement to johncompanies hosting for the same day actioning of my request to switch off an old redhat version onto a shiny fresh Ubuntu install. On a sunday. After I decided this morning to impulsively eject movable type and switch to wordpress, and change distro’s while I was at it. Couple of polite emails confirming I’d backed up everything I needed and blam, old server gone, new server running.

There’ll be broken permalinks all over the place, but who uses links to find stuff anymore? Its all about the search. I’ve maintained the main RSS feed at least, using a bit of mod_rewrite magic.

Just got to get my head around WP now and sort out a theme other than the default.

Update: So it seems that the mod_rewrite rules I used have also ‘preserved’ some of the MT style archive links but due to all the posts getting renumbered on import they all comedically point to different places than they used to.  I like that. I think I’ll leave it.

Dang that’s some mighty fine internets you got there

Today felt like the first day I discovered the world wide web. Pure awesome:

Before today I had never even heard of any of these artifacts of amazing. What a couple of idle hours will find. Okay, five. Or so. Roughly. Maybe seven. Anyway.

PS. If it’s not too late to mention, hotforwords might be a bit NSFW. A little. More embarrassing than, you know, dodgy. Maybe shrink the window a bit before clicking. And look over your shoulder. Check for reflections in windows behind you. Its fine really, just, perhaps, hard to explain if you’re not prepared. She’s got 2 degrees in philology you know. Just explain you only watch it for the etymologies. That excuse always works.

SwingHelper

One of the most common causes of sporadic bugs in swing applications is doing things on the wrong thread. Most common of these is when a thread that is not the Event Dispatch Thread does something that updates the gui. Its very easy to do accidentally as seemingly innocent operations done on a background thread can fire off event listeners and end up inside code it shouldn’t as a result.

CheckThreadViolationRepaintManager from the SwingHelper project is a very useful class that can be easily plumbed into a Swing application to report any wayward threads getting into gui code.

Also from the same stable is the EventDispatchThreadHangMonitor which can report when the Event Dispatch Thread spends too long outside its main loop (which will result in a sluggish and unresponsive gui).

WordPress Fail

So I was all fired up about migrating to wordpress, due to the rot this blog has suffered over time. (The category links have been broken for nearly 2 years now I think). I got as far as the following line in the (ahem) 5 minute install guide:

Create a database for WordPress on your web server, as well as a MySQL user who has all privileges for accessing and modifying it.

And now it all seems like way too much effort. I’m incredibly lazy when it comes to blog tools. Gone are the days when I would happily spend half a day tinkering with the tool prior to writing a 10 minute post. And I’m sick of blasted relational databases. A blog is just a bunch of text snippets with a few bits of metadata around the edges. Why not use a perfectly good filesystem for storing what is so easily represented as a bunch of files? It might even stand a chance of holding my attention long enough for me to finish installing it.

I really want to blog more, but I need the feedback of comments to help keep me going. Every time I’ve tried tinkering with movable type comments to allow me to turn them back on its been buried in spam within seconds, and I can’t be bothered figuring out which magic combination of plugins, captchas, blacklists and runic inscriptions I need to make it work.

I’m off to find some incredibly tedious housework to do that might make farting about with MySql seem like a reward and a treat.

Change the Words

Agile is dead. The word is too easy to slap onto any old thing in an attempt to jazz it up. It’s also pretty easy to use as a pejorative term by those who have no interest in improving. Let’s take a typical interaction:

“We’re doing agile development. By using agile techniques we can work more effectively and our software is easier to change, with fewer bugs. The agile approach lets our customers steer the project while it’s running to maximise return on investment.”

“Agile techniques? I’ve heard about them. Isn’t agile software development just an excuse not to spend time doing design and analysis? How can you run a project without nailing down all the requirements and design in advance? Agile approach? No thanks!”

In my head, I like to replace the word ‘agile’ with ‘professional’ and ‘modern’. To me the above conversation thus sounds a bit like this:

“We’re doing professional development. By using modern techniques we can work more effectively and our software is easier to change, with fewer bugs. The professional approach lets our customers steer the project while it’s running to maximise return on investment.”

“Modern techniques? I’ve heard about them. Isn’t professional software development just an excuse not to spend time doing design and analysis? How can you run a project without nailing down all the requirements and design in advance? Professional approach? No thanks!”

It also works when talking about software frameworks.

“We’ve built a software framework to enforce a standard approach to all applications and maximise reuse of common components. All a project team has to do is work to the common interface and conform their design to the framework. Sharing common software components maximises standardisation between projects.”

I hear:

“We’ve built a software nightmare to enforce a mediocre approach to all applications and maximise reuse of inappropriate components. All a project team has to do is work to an inappropriate interface and conform their design to the nightmare. Sharing inappropriate software components maximises mediocrity between projects.”

(Just to clarify, I’m a big fan of libraries. A library is something that you use. java.util.collections for example. A framework is something that (ab)uses you.)