Category Archives: Uncategorized

Now with added HTTPS!

Man, this blog is old, isn’t it? I’ve been through a couple of phases of maintaining this blog and abandoning it, but even the most recent spurt of activity was sufficiently far in the past that HTTPS was still regarded as expensive and a bit of a hassle, not really worth the effort for read-only sites. Obviously that’s changed in the last 7 years.

The good news is that in the modern world (or even the world of 5 years ago) HTTPS is pretty trivial, and that I’ve finally got round to doing the work. This doesn’t constitute a guarantee that I’m going to add anything to this site, but you never know.

The reason this site has been dormant for so long is that I’ve not really decided what its focus is. I’ve got another much more focused blog talking about Python, which is my most serious technical writing project. Professionally I’m mostly slinging Typescript these days, which is fun but doesn’t give rise to quite the amount of nerd minutiae that C++ does. I’ve long ago decided that if I want to touch on politics that should be a separate site. I’m working in a small company again, which means I have less to say about organising teams than I might have.

Most likely I might hope to start adding a few odds and ends on this site that don’t fit anywhere else, and see where that takes me.

Kid’s can’t use computers—and it doesn’t matter

This article by Marc Scott on the state of computer knowledge among young people got me angry. All the more angry because, among all the bits I disagree with, I think he has a point.

In summary, he is arguing that the widespread belief that the young people of today are knowledgeable about computers is wrong. In Scott’s view, which I largely share, there’s a mistaken conflation of being able to operate a computer with having an understanding of computers. Although the next generation of people are comfortable using computers in their daily lives, they are helpless when it comes to performing non-routine tasks or anything technical. Any abilities they do have are spoon-fed to them and they have no ability to self-teach.

The first thing that bothered me about the article was the arrogant tone. There’s nothing wrong with a good blog rant, especially on a site you own. I know I’ve done a few myself. But the article seems to aim to right some of these misunderstandings, and if so the tone is working against this by being dismissive.

Combined with the arrogance there was a vein of mind-reading being applied to the author’s opponents. It makes for good writing to tell a story involving emotional colour, but the inferred (or rather guessed-at) thoughts of one’s antagonists can’t be used as a part of your argument without further proof. In the anecdote that leads the article, Scott eviscerates the character of a young woman who asked for help with her computer, just because he didn’t like the look on her face. His characterisation may be true, but it would be a stronger argument without this.

Putting aside these reservations, I find myself agreeing with the content but somewhat disagreeing with the prescriptions. I certainly agree that there’s a lot of ignorance out there, but I don’t think there’s ever been a golden age where understanding of computers was any better than it is today.

I think things look worse than they used to for two reasons. Firstly, there’s more broad exposure to computers as thus more opportunities for people to reveal ignorance. When I was growing up, people who had no affinity for computers simply didn’t use them. Nowadays, school and jobs and so on force people constantly into situations where they have to fix WiFi problems or display a PowerPoint with the wrong version of the software.

The other problem is something that I think Scott pretty much nailed: there’s a complacency in the way older people judge the skills of younger people. If you’ve never deeply understood computers yourself, then someone who can change the WiFi password probably looks pretty similar to someone who can program a WiFi driver—hence the tedious requests to fix printers that all software developers receive. Again, while this is a problem (and a particular problem when the complacency lies in the teachers who should be educating our children), I don’t see a reason to suppose there’s a decline here.

As to the proposed solutions: clearly anything that spreads knowledge is a good thing. Parents should encourage their children to investigate the world around them and teach themselves, in computing as in anything. But I’d prefer to emphasise teaching everyone the basics rather than trying to produce a few more people with advanced skills while demotivating the rest.

A future where everyone can program is a theoretical possibility, but not with the current state of technology. If it can work at all, I think we’re missing some advance that will make it possible for people to build customised solutions with far lower cognitive load than it currently involves. And while we’re speculating about such future advances, we can probably equally well imagine that the whole concept of programming as an activity will become as outdated as scribes copying books by hand.

In lots of fields of human endeavour there are purists with deep expertise who decry the lack of knowledge among the amateurs. The same thing is true of cooking, tailoring, home repair and car maintenance. Realistically, we won’t all become experts in these things, and I don’t see why programming should be any different.

You don’t need to be like Linus

Discussion has once again flared up about Linus Torvalds’ behaviour on the Linux Kernel Mailing List (LKML). For some background, see Sarah Sharp’s post on the topic.

Various apologists have been pointing out that Linus has a huge workload and that he needs to avoid wasting time on people who submit unworkable code to the kernel. If Linus were not so blunt, they say, the whole community would suffer as he would have less time to approve patches.

The thing is, they may be right. It’s possible that Linus just isn’t able to construct rejection messages that are sufficiently assertive to be taken seriously without resorting to abuse, or at least that doing so would take a lot more of his time than his current approach. And maybe, as a community that benefits from the Linux kernel, we have to put up with that.

None of which is meant to say that Linus’s behaviour is good. Being able to communicate in an assertive (but not aggressive) way is a skill, and people who lack this skill should be considered to be doing worse (all other things being equal) than people who have the skill. Those of us who have weaknesses in our communication style should always be looking for ways to improve, as with any other personal flaws.

If I were Linus’s employer, I’d be asking him to work on his communication skills. But finding things that people need to improve is something that should happen all the time, with every employee. The right question to be asking is whether the employee is overall an asset to the organisation, and I think in the case of Linus it’s clear that he is.

One thing I’d hate to see is other developers taking away the message that Linus’s abusive communication is something to emulate. His other strengths may balance out this flaw, but it’s still a flaw. Everyone has their own mix of strengths and weaknesses, and by all means look to people for role models. But inspiration isn’t all-or-nothing, and you should be careful about which traits you copy.