They Write the Right Stuff

The Write the Right Stuff. Grown-up software production vsMicroserfs. Written for a general readership, this is one of the better non-technical articles on software engineering I’ve read. A very refreshing antidote to our industries’ all to frequent rhapsodizing about the latest system architecture fashion or complex middleware layer. If I could have one sentence from this article pummled into the head of every software development manager, it would be “Don’t just fix the mistakes — fix whatever permitted the mistake in the first place.”

A few links

Deeply cool wallpaper. Check out the free gallery. I have Morning Light on my system at 1152×864 – it reminds me so much of the forest on Myst Island and Selenic. #

The Onion: New National Parks Website Makes National Parks Obsolete. #

Extreme Ironing. Love it. #

Explorapedia Nature: Earth Rotates in Wrong Direction. This behaviour is by design, no doubt. Theres a whole load of these atHoppoDoc. Q253912 is splendid…

Maths, misc.

Been nosing around a few maths and physics sites today…

I first read Godel, Escher, Bach at the age of about twelve when I borrowed it from the library back in Hull. I didn’t understand much of it at that age, but G?del’s Incompleteness Theorem blew my mind. It still does. There’s a whole load of explanations, in English, of this deciptively simple theorem. I prefer the one by Rudy Rucker – somewere, I’ve got a copy of Infinity and the Mind that I haven’t read it for at least ten years.

I like the idea of Penrose Tiles – you can tile an infinite surface without the tile pattern ever repeating. You can play with Penrise tiles using this rather smart Java applet. There’s an interesting site about the mathematics and history of tiling: the galleries showing the full set of plane symetry groups are very beautiful.

Now goggle your eyes at the Penrose Tribar.

M-theory is a kind of generalisation of Superstring Theory, which is itself what we gor when someone added extra dimensions to the old idea of String theory (sooo Eighties, darling). Greg  Egan‘s bookDiaspora uses this type of physics to make possible a very complex plot. Recommended if you like hard SF.

Whizzy new site features

Today I finally added a couple of new and, ahem, rather snazzy features: a photo album and an RSS feed. Just like the proper grown-up blogs have…

– # –

The technical details, for anyone who wants to know.

The photo album is a ASP.NET web application written in C# with a Jet database at the back-end. (I don’t yet feel like dropping $100/year for SQL Server.) As with classic ASP, the pages are all generated on-the-fly at the server using the database. The output formatting needs some adjustment and the code is still fairly raw and unforgiving of errors, but hey – it works.

This was my first webforms app, and it went quite well. Knowing a bit about winforms and its object model certainly helped. Having built an Intranet at Cogsys using classic ASP 2.0, VBScript and InterDev, this experience was certainly several orders of magnitude less painful. Now is probably a good time to get Dino Esposito’s book to find out how I should have done it.

By contrast, the RSS feed’s XML is built by CityDesk when it generates the site. No dynamic server-side stuff at all, just a statically generated file. Viewed from within CityDesk, its really just some boilerplate XML with an embedded CityScript loop that iterates over all the articles in the CityDesk database. For each article, it then emits a chunk XML with appropriate tag values pulled out of the article’s properties. Although this approach is nice and simple, it does have one problem. Because CityScript lacks string manipulation functions, I can’t escape any HTML tags in the <description> block, and therefore I can’t have hyperlinks inside the description text.

(If you’ve got this far and you still don’t know what RSS is, take a look here. Its cool stuff indeed.)

Ultimately, and time permitting, I intend to cut the dependence on CityDesk by re-implementing the whole site using ASP.NET, with the dynamic content in a database. Even if nobody ever reads the site, it’ll be a nice learning exercise.

– # –

Update: 22nd October 2002. Found a fix for the tage escaping problem described above. Thesolution is to bracket the field in a [CDATA[ … ]] .block

Listening for bugs

This is kind of interesting. Pity they based it on Pascal: limits the immediate real-world applications somewhat.

There’s more info on the project’s site and here (warning: nasty cursor-tracking animation thingy). The sound downloads appear to be missing, but there’s some disappointingly simple ones here.

I wonder what kind of audible difference there would be between equivalent programs written in different languages. I imagine C++ as sort of fast and spiky (like, say, the The Rite of Spring), and VB as slower and more melodic. Hopefully, someone will turn this into a Visual Studio addin soon. I must know what COM Interop sounds like.

This stuff reminds me of the stories of programming poineers debugging programs on early systems by listening to the radio interference generated by the machine. Always wondered about that, but it appears to be plausible.


Musical approach helps programmers catch bugs

http://www.newscientist.com/news/news.jsp?id=ns99992757

09:32 05 September 02
Exclusive from New Scientist Print Edition
 
Making music out of computer code is helping programmers to catch the bugs that can cause software to go awry.

Computer code is often prone to errors that are difficult to spot. In a long program, made perhaps of hundreds or thousands of lines of programming language code, it is possible for the writer to misjudge how the various elements of the software will work together.

So-called debugging software can iron this out, by letting people look at a graphical representation of a program. This helps find bugs by highlighting which parts of a program are communicating with others.

But the computer’s sound capabilities are ignored in debugging, says Paul Vickers at the University of Northumbria. “It’s sitting there as a completely unused channel, while lots of effort is being put into visualisation tools.”

So Vickers and James Alty of Loughborough University developed a system that automatically converts computer program code written in Pascal into simple “music”.

When different sections of code are put together, they should form a harmonious tune. But if a loop, for example, does not execute properly, the music would not ascend properly and the programmer should hear the error. Similarly, a duff statement would produce a different chord that would be immediately apparent.


 

Copyright

The first draft of the DMCA-inspired European Union Copyright Directive has been published at http://www.patent.gov.uk/about/consultations/eccopyright/. Forget about any old-fashioned ideas you might have about “owning” that software you bought. If you don’t like the spyware thats bundled with it, then tough. Disable it and you’re going to jail for three months, you commie.

Details and analysis:

http://uk.eurorights.org/issues/eucd/ukimpl/critique_uk_impl.html

http://uk.eurorights.org/issues/eucd/ukimpl/critique_uk_impl.html##SECTION00050000000000000000

http://www.stand.org.uk/weblog/.

 

The Games

Well, the games are over. Pretty soon, they’ll have taken the nice coloured banners down from the lamp-posts and gone back to not sweeping the streets as much. And the stadium will be a bloody football ground. Like we need another one.

I don’t like sport, so I was a bit surprised by something that happened. What surprised me was not that it all seemed to go pretty well, but that even though I only watched the opening and closing ceremonies and a few minutes of the swimming (all on TV), it still managed to puncture my feeling of smug, comfortable cynicism about the whole thing.

This is not a state of affairs that I’m used to. Its this place, you see. I’ve managed to live in Manchester for about ten years without ever really feeling like I had any emotional connection to the area. Its just were I happen to be. Unlike everywere else I’ve ever lived, I just have no feeling of place here. No connection to it. Just too big a place to feel like a place, probably.

But the strangest thing: watching the rain lashing down on the closing ceremony, and the people there having such an blatantlygood time, I almost felt … well, proud. Of this city and what it did for those few days.  Almost Mancunian. A strange feeling, and it didn’t last very long, but I remember it for other places in the past. Hull, Leicester, Alresford. Maybe it’ll be back again.

– # –

Anyway. As a counterpoint to these nice, warm, fuzzy feelings, heres an email that was doing the rounds at the time of Manchester’s bid to stage the 2004 Olympic games:

—–Original Message—–

Date: 06 November 1998 12:35

Subject: Fw: Manchesters bid to stage to 2004 games

 

In an attempt to influence the members of the international Olympic committee on their choice of venue for the games in the year 2004, the organisers of Manchester’s bid have already drawn up an itinerary and schedule of events.

A copy has been leaked and is reproduced below.

OPENING CEREMONY

The Olympic flame will be ignited by a petrol bomb thrown by a native of the city (preferably from the Moss Side area), wearing the traditional balaclava. The flame will be contained in a large chip-pan situated on the roof of the stadium.

THE EVENTS

In previous Olympic games, Manchester’s competitors have not been particularly successful. In order to redress the balance, some of the events have been altered slightly to the advantage of local ‘Manchester’ athletes.

100 METRES SPRINT

Competitors will have to hold a video recorder and microwave oven (one in each arm) and on the sound of the starting pistol, a police dog will be released from a cage 10 yards behind the athletes.

100 METRES HURDLES

As above but with added obstacles (ie. car bonnets, hedges, gardens, fences, walls etc.)

HAMMER

Competitors in this event may choose the type of hammer they wish to use (claw, sledge etc) the winner will be the one who can cause the most grievous bodily harm to members of the public within the time allowed.

FENCING

Entrants will be asked to dispose of as much stolen silver and jewellery as possible in 5 mins.

SHOOTING

A strong challenge is expected from the local men in this event. The first target will be a moving police van. In the second round, competitors will aim at a post office clerk bank teller or Securicor style wages delivery man.

BOXING

Entry to the boxing will be restricted to husband and wife teams, and will take place on a Friday night. The husband will be given 15 pints of lager while the wife will be told not to make him any tea when he gets home. The bout will then commence.

CYCLING TIME TRIALS

Competitors will be asked to break into the University bike shed and take an expensive mountain bike owned by some mummy’s boy from the country on his first trip away from home. All against the clock

CYCLING PURSUIT

As above but the bike will be owned by a visiting member of the Australian rugby team, who will witness the theft.

MODERN PENTATHLON

Amended to include mugging, breaking and entering, flashing, joy riding and arson.

THE MARATHON

A safe route has yet to be decided, but the competitors will be issued with sharp sticks and bags with which to pick up litter on their way round the course.

SWIMMING

Competitors will be thrown off the bridge over the ship canal. The first three survivors back, will decide the medals.

MENS 50KM WALK

Unfortunately this will have to be cancelled as the police cannot guarantee the safety of anyone walking the streets of Manchester.

THE CLOSING CEREMONY

Entertainment will include formation rave dancing by members of the Salford Health in the Community anti-drug campaigners, synchronised rock throwing and music by the Stockport Community Choir. The Olympic flame will be extinguished by someone dropping an old washing machine onto it from the top floor of the block of flats next to the stadium. The stadium will be then boarded up before the local athletes break into it and remove all the copper piping and the central heating boiler