Arnt Gulbrandsen
About meAbout this blog
2019-03-09

Brexit

I make mistakes. I'm a programmer, half of what I do is giving birth to new bugs, and I hate it. So of course I try to improve that percentage. To identify and avoid error-prone routines, to interrupt mistakes before they've gone too far, etc.

Brexit scares me. Britain is an entire country with all the democratic mechanisms and institutions, with a long tradition, with no external pressure, with a full set of checks and balances, no lack of time or other resources except what they imposed on themselves. If experience, review, discussion or routines guard against mistakes, then noone should be more able to avoid big mistakes than Britain. Yet with just three weeks to go, they still seem headed for an utter mess. I can't bear to watch it.

2018-09-21

Seeing like a state

This is the third blog posting in three days. The intelligent reader may have guessed it: I'm tidying my office again. Yes I am. One desk is tidy already, and while working on the second desk, I found a book called Seeing like a state in one of the piles.

There was a note sticking out of page 352, so of course I opened the book and started reading.

The book is a strong condemnation of various well-intended reforms and schemes. Why did so-and-so agrarian reform fail? Because the reformers expected reality to match a simplistic model and when it didn't, they tried to bend reality to their model instead of the other way around. In some cases reality eventually bent (at considerable cost to the people whose lives were being reformed), (more…)

2017-01-25

Audience and goal

Written texts have two major invisible properties: audience and goal. I can't remember who taught me about that, but I taught it to my friend Abhijit Menon-Sen when we started working together, and the texts he and I have written together over the years always have a hidden comment describing the audience(s) and goal(s) for that text. That's why those texts are crisp and to the point.

Here's an example. Not by us together, this one is his alone.

Abhijit and his girlfriend Hassath have recently built a house, it's aaaaalmost done now, and a few weeks ago Abhijit wrote a blog posting about an electric power gadget they bought for the house. The audience for that posting consists of two groups of people: Friends who want to know how the house is coming along, and people who are searching for reviews of the gadget before possibly buying one themselves. The goal for the first group is to describe the power problems and how Abhijit and Hassath are coping, and for the second group, to tell them whether and how well that particular gadget helps with that kind of power problem.

Now please read about their amazingly unreliable power supply and consider how each sentence, each paragraph and each picture helps with either or both of those goals, in the eyes of those audiences. Does a sentence say something that both audiences already know, or does it tell either or both audiences something Abhijit wants to tell them? Does a sentence help with one goal but disturb the other? What does the photo achieve? Would mentioning the audiences or goals in the text help to achieve either of the goals, or would it distract or detract?

That posting may be stylistically vapid, but it achieves Abhijit's goals and that makes it good writing. The rest is a mere question of how good.

Now please start formulating an explicit audience and goal before you write your own email, documentation, almost anything. Help save the world from pointless blather and documentation that forgets the critical points.

2016-07-21

Open source is succeeding, and rms is unhappy

This summer Dropbox released an image compression thing called Lepton, effectively a better way to encode JPEG (same principles, same pixel results, considerably better execution of various implementation aspects). Dropbox didn't have to do that. But one does nowadays, it's become part of modern programming culture. Using and releasing open source is a best practice, as the buzzword goes.

Around the same time Richard M. Stallman posted a condemnation of companies that both support free software and teach classes in use of nonfree software. Condemnation is the word he chooses, not my choice. No fraternisation with the enemy!

That enemy is us, now. The enemy is those who follow today's conventional best practices. A stealth-mode startup I am talking to has ten projects on github, because the CTO there has decided that whatever good programmers consider good is what shall be done in his realm. Most of the projects are forks, some with PRs for upstream, others described as the code in this fork isn't really suitable for upstream, but take it if you want. Good, polite behaviour, best practice indeed, and very different from the GNU purity that rms requires.

What is left of rms' following if the good programmers are declared to be enemies? The outlook for the GNU project is poor.

2015-04-07

On software architecture

It's not particularly sensible, and not related to any software architecture I deal with at the moment, but I do want to post this photograph. Nominally it's is a photo of the concrete kind of architecture, not the software kind, but doesn't it look like an enterprise-ready, flexible, feature-rich and polished staircase framework?

It's from a hotel interior, so I expect there's a lift off-camera that people use when they want to get anywhere.

2014-01-24

Eighty million polygons

Reality is eighty million polygons per second, said a weighty graphics book I read almost twenty years ago, when I was looking to draw perfect bezier curves quickly. RiscOS could, I wanted to.

Maybe that's not true any more. Reality has changed. (more…)

2013-11-18

Someone has to make the decisions

It's weasel wording and angers me. The real meaning of the statement is almost always that someone is me, and we both know I'm not particularly well qualified.

Another ancient Trolltech principle was the person who did the work had final authority over how it was done. Not exactly a result of planning — I think that principle came to be when the passion for quality clashed with the workload. A serendipitous compromise.

2013-10-29

Typing on an outsourced keyboard

I'll need to test something with a bluetooth keyboard. I really like the Nexus 7 tablet, so off to Amazon: nexus 7 2012 keyboard. Ah, hm, since I don't like QWERTZ keyboards, best try amazon.­co.uk too: nexus 7 2012 keyboard. There were many contenders, including what I bought and will return: (more…)