Thursday, October 1, 2020

Contract Programmer Seeks Job in Cambridge (£500 reward)

Anyone in Cambridge need a programmer? I'll give you £500 if you can find me a job that I take.

CV at

I make my usual promise, which I have paid out on several times:

If, within the next six months, I take a job which lasts longer than one month, and that is not obtained through an agency, then on the day the first cheque from that job cashes, I'll give £500 to the person who provided the crucial introduction.

If there are a number of people involved somehow, then I'll apportion it fairly between them. And if the timing conditions above are not quite met, or someone points me at a shorter contract which the £500 penalty makes not worth taking, then I'll do something fair and proportional anyway.

And this offer applies even to personal friends, and to old contacts whom I have not got round to calling yet, and to people who are themselves offering work, because why wouldn't it?

And obviously if I find one through my own efforts then I'll keep the money. But my word is generally thought to be good, and I have made a public promise on my own blog to this effect, so if I cheat you you can blacken my name and ruin my reputation for honesty, which is worth much more to me than £500.

And I also make the following boast:

I know all styles of programming and many languages, and can use any computer language you're likely to use as it was intended to be used.

I have a particular facility with mathematical concepts and algorithms of all kinds. I can become very interested in almost any problem which is hard enough that I can't solve it easily.

I have a deserved reputation for being able to produce heavily optimised, but nevertheless bug-free and readable code, but I also know how to hack together sloppy, bug-ridden prototypes, and I know which style is appropriate when, and how to slide along the continuum between them.

I've worked in telecoms, commercial research, banking, university research, chip design, server virtualization, university teaching, sports physics, a couple of startups, and occasionally completely alone.

I've worked on many sizes of machine. I've written programs for tiny 8-bit microcontrollers and gigantic servers, and once upon a time every IBM machine in the Maths Department in Imperial College was running my partial differential equation solvers in parallel in the background.

I'm smart and I get things done. I'm confident enough in my own abilities that if I can't do something I admit it and find someone who can.

I know what it means to understand a thing, and I know when I know something. If I understand a thing then I can usually find a way to communicate it to other people. If other people understand a thing even vaguely I can usually extract the ideas from them and work out which bits make sense.

Saturday, March 7, 2020

Coronavirus: Bad

I am late to this party, I am ashamed of my inattention. But over the last few days I have been reading with increasing concern.

It appears that we have a three-or-four day doubling time and a 1-2% death rate:

Death rate could be lower for various reasons to do with counting, could be higher if the health system is overwhelmed.


200 cases in UK today (March 7th)
800 next week
3200 the week after that
12800 the week after that
51,200 next month (April 7th)
13,107,200 the month after that (May 7th)
everyone in England by mid-May,

which is to say:

between 6 hundred thousand and a million and a half deaths by the middle of May, mostly elderly people.

And that, I think, is the sober, sensible, most likely guess at what might happen over the next couple of months, if nothing changes.

Draconian action by the Government might slow things down, and give us time to react, but I am not terribly optimistic. We do not have the necessary apparatus of oppression.

No need to panic, what good will it do?

But think, plan.

This is the Spanish Flu come again. It is not the Black Death.

Do not fear excessively for your children. They seem mostly immune, for no reason anyone understands.

For most people it will be a bad case of the flu.

If you have elderly relatives and friends, tell them that you love them. Do not go to visit them, at least not once things kick off.

Persuade them to stay inside, and to cut contact with everyone they know.

If this fails and they become ill, by all means go and do what you can to help them through it.

Pneumonia, I am told, is one of the better deaths.

Home Made Hand Sanitizer: Glycerin and Ethanol

Hand sanitizer is worth its weight in gold these days, but the popular brand Purell is just 3 parts ethanol to 1 part glycerin.

Both these things are still (7th March) readily available and cheap in large quantities.

Isopropanol should also work, I think.

Tuesday, January 7, 2020

Finding a Good Teacher (Draft)

A reddit comment that got a lot of upvotes, so posting it here.
Will probably come back and turn it into a proper essay at some point

I have found in the course of learning and teaching many different things that a good coach will:

(a) spend a few minutes watching what you're currently trying to do

(b) work out what the right thing to teach you next is (this is the hard part of teaching, learning the structure of the subject and what order to teach it in)
(c) explain what it is that needs doing, demonstrate the difference between what you're doing and what you should be doing.

(d) get you to do the new thing and check that you're doing it right.

(e) show you how to feel the difference between what you were doing and what you should be doing. This is crucial, because once you can feel whether or not you're doing the new thing right, it is easy to practice it and it will quickly become automatic.

In a good lesson, you should be able to go through this process for several different points, and if you make notes and go away and practice the things, then after every lesson you'll get obviously much better at the thing you're trying to do.

You'll be able to feel the difference, and it will be obvious to others too.

If you feel you're not making progress, or your teacher is just saying the same thing over and over again but it's not helping or it feels wrong, then you have a bad teacher and you should find someone else.