Advice to American IT writers

When you say ‘soup-to-nuts’, we don’t know what it means. Frankly, it sounds like a potentially painful accident (depending on the temperature of the soup).

I looked it up. It means ‘end-to-end’. Why not use ‘end-to-end’ then? We all need to avoid strange localisms in our language. I mean, I’ve never finished a meal with nuts. Cheese or coffee, yes, but never nuts.

And the word ‘doable’ is not a word – we’ve already got a word for that anyway, and it is possible.

I’m guilty too – I used “elephant in the room” for a bit of humour. Completely confused my Zimbabwean colleague with that phrase. Presumably, elephants in rooms really was more of a problem for him.

Advice to American IT writers

Security Expert can't have ever coded

So, according to ZDNet, Security expert Howard Schmidt wants coders to be held responsible for vulnerabilities in their code. This is REALLY dumb.

He gets one thing right – I’ll give him that. Most developers don’t have an adequate idea of what security entails, and training in this is, at best, extremely rare. There should be more of that, both at university and in the job – attacks evolve, after all.

But making developers responsible? When they don’t have the authority to control the product? Management choose what features are ‘in’ or ‘out’, project times scales, budget, etc.. I’d love to produce better code, but my boss will reject my ‘It’ll take twice as long and be 3 times as expensive’ – and rightly so. Continue reading “Security Expert can't have ever coded”

Security Expert can't have ever coded

Throwing around data like it was water

An interesting article about ‘Web 2’. A bit buzzwordy, but it’s point is valid – the web is moving away from a book based ‘page’ paradigm towards a ‘data aggregation’ one. Instead of visiting specific pages, grab the data you need and put it onto one.

It’s interesting, and exciting, and although user discomfort with change will slow it down, we’d best be ready for it.

Throwing around data like it was water

Testing Programmes and Statistics

“Programmers Need To Learn Statistics Or I Will Kill Them All” – an article about statistic and programme testing. You know, load testing and all that jazz that you know you’re supposed to do.

Recently I was tasked with doing a heap of load testing, and we had all sorts of problems – all related, really, to confounding. I didn’t (and don’t) feel I know enough to design a load test, and the tools we were using were, well, limited. It’s interesting to note that I came to the same conclusion – that the data throughput was the most important metric.

However, the reason all these things talk about the number of users isn’t because programmers want it – rather, management and customers want to know how many users will it support. Telling them that you got an average data throughput of whatever is a better measure, but it doesn’t really mean anything to them – whereas could support 25 concurrent users does.

Testing Programmes and Statistics

Thoughts on Coding

When writing web applications, ultimately, you probably want to look at performing load testing. This is most easily done by an application, running a script, and pretending to be a number of users.

Of course, if you’re doing something like, say, creating nodes in some sort of a hierarchy (think messages, or files/folders), then you might need to do some stuff before performing other operations – like see if your node was created, get its ID, that sort of thing.

So here’s my thought – make that easy. Put things like ‘New Node ID = ‘ into HTML comments near the top of the page. That way, it should be possible to find and read them with many of these tools.

At the moment, we’re using OpenSTA, which works. That’s about the best that can be said for it. I like the look of Webload but it’s probably too expensive.

Thoughts on Coding

Computer Science isn't Programming

I’ve often thought this, and it’s interesting to see that Joel Spolsky agrees.

Computer Science is the science of, well, computation. It’s a question of what is possible with computers, is more like a branch of Mathematics, and much of it can be done without computers. I mean, a lot of the fundamentals had been figured out before the development of the transistor.

Software writing, well, that’s an Engineering skill. It’s got a practical end. I guess it is the difference between someone proving by thought that bridges can cross rivers, and someone actually building a bridge to cross a river this wide, strong enough for that type of cart, etc..

And at the moment, nobody really teaches Software Engineering. Which is a shame. But at least it explains how I came to software writing from a Cybernetics background without suffering much of a disadvantage. Just like Computer Science, we’d picked up programming as just one of our ‘tools’ during our studies…

Computer Science isn't Programming