Monday 30 June 2014

My Week Off & Software Dependencies

I've just had a week off, well when I say off I mean I didn't have to get up and go into the office, instead the house needed tending to... Lots of tending to...

I've laid a new floor, had a wall demolished, removed tonnes (literally) of old fencing, painted life preservers (for by the canal side), cut down (clipped not chopped) tree's to size, visited our second house to check on the tenants, and I've done multiple runs to the tip to get rid of tonnes of this junk.

All in all, I'm exhausted and thankful to be back in the office... So what has software been doing without me?

Well, it seems a quite able chap has been busy looking through the code, and has left a bunch of very good insights into fixes for the code, almost like a peer review, something this project sorely needed.

I've duly sent a rebuild and am now awaiting feedback, but whilst that all goes on I decided to look at some of the support tools I use, to see about sending them to various people in the building.

The first problem was this is that I didn't write half of these tools, they were written pretty much as a stop gap measure, and here they are nearing nine years old and still in use in their flaky, temporary, incarnations.

They rely on libraries people don't have, they use modules which are part of the source - meaning to use it you must have the whole source checked out - and they look terrible.

This reliance on other libraries is something I need to tackle, on some systems - like Linux - you can get away with assuming the user is able to go get the libraries your software needs (if you tell the user which are missing that is) but on windows its unforgivable to leave a piece of software to crash through some mysterious missing library problem.

And this is exactly what we get with these tools at the moment, I know why they're crashing, I know others know why they're crashing, and if other more dense users read the error message they'd know why its crashing and be able to ask for a solution.  But instead I'm met with the continual report that the program is broke, and then a wall of silence as to what's wrong with it.

So, developers out there the world over, if your software needs a library, and that library is only on your machine, let everyone know, make your software check for the presence of it, don't just let it run off the end of its runtime and crash!

No comments:

Post a Comment