Friday, 31 October 2014

Good things

I love Dragonette:


Going home on the bus in the dark reminds me of when I started work as a developer two years ago, and the strange feeling of being old and young at the same time.

Wednesday, 15 October 2014

This bugs me

1. I keep hearing people say that Grace Hopper invented the term bug, and feeling unable for social reasons to point out that this is not true. There is a record of an actual bug (a moth) being removed from the computer she worked on (it had jammed something up) but the term 'bug' was used in engineering as early as Thomas Edison. Just wikipedia it! It has sources.

2. On the other hand, I love you xkcd. This one has a particularly good mouse-over tooltip.

Sunday, 12 October 2014

Closing some tabs

1. I did a girls' career event the other day, in which I tried to explain why coding is sometimes beautiful, and probably just made them all think it's a career for loonies. (I don't mind that too much, there might be a young-me-type there who hears and understands.) Here are some links about the beauty of coding:
http://kottke.org/14/06/getting-high-on-programming
www.slate.com/articles/technology/technology/2014/06/coder_s_high_the_intense_feeling_of_absorption_exclusive_to_programmers.html

2. Of course the tech world has its own problems. Love that someone called "bingo" in this talk.

3. Life involves weird challenges sometimes. Watch this mini version of the hero's journey:



4. Watching these people move in medieval armour is seriously freaky. It reminded me of an Italo Calvino novella in which a famous knight is a suit of armour with nothing inside.


5. Chart about US inequality. British poor pay more taxes. Even the Daily Telegraph thnks the middle classes should revolt (now the "officer class" are affected).

6. This modern setting of a medieval Icelandic hymn makes things feel better:

Saturday, 5 April 2014

Some good things

All this week I've been remembering that we have gay marriage now, and feeling happy. There are all sorts of good things it seems like we can't have for stupid political reasons, and then every now and then something cuts through all that, and suddenly the US has a black president, and two people who love each other can get married in the UK regardless of whether they are both women, or both men, or one of each (what a past chief rabbi used to refer to as a "mixed marriage"). Hurray!

More trivially, there are also some good things on the internet. If you've not seen PBS's Idea Channel, here is quite a good one:


Baby on a horse!


Cat enters house:

Friday, 7 March 2014

Pair programming

I read a review in the Graun of a book about coding. I think the reviewer has taken over-seriously the talk about every child learning to code -- I think that computer programming is just one of those things, like physics or a foreign language, to which children should be exposed. Other forms of logical thinking, like the Sanskrit mentioned in that review, are probably going to have a similar effect on people's ability to think well and write well (in any language) as adults. I bet the same sort of kids would love both Sanskrit and programming, but at least the kids who hate programming can be convincingly told that there's a practical reason for learning it.

Writing programs is really excellent. I can't think of anything quite like it. I spent today "pair-programming", which is when two people work together to do a "code spike", which is when you get lots of rough code done in a short time. It's very immediately obvious when you do this that you can get further this way than by each working alone -- and I say this as someone who likes to work independently. It's exhausting on the brain but very satisfying; you can easily start a day with a problem you neither of you know how to handle, and end up the day with an unpolished but working solution.

In my previous life I don't think I ever did anything quite like this. I suppose the closest I came to it was in discussing things with intelligent colleagues, which alas is a less prominent part of academic life than people might imagine. I do know a few excellent people whom I would seek out to bounce ideas off. Sometimes at good conferences, the ones where genuine interest in the subject was unhampered by political currents and expressions of ego, you'd get excellent discussions which felt like a bit more than the sum of the previously-held opinions of the people there. So from time to time I might get the same sort of thing, a sense in a conversation between two or more people that although separately we might be quite intelligent, we are each of us more intelligent for being in conversation with the other. But the difference is that what we were talking about was not a thing we were making. It wasn't a thing where one of us could say "Well, we could just run it and see what happens", and then right-click on it and select "Run as Java program", and wait to see what the errors tell us about it. Ideas about Anglo-Saxon history or about manuscript production don't really do anything. Maybe they affect other people's ideas about things, but they take a long time to do it, and it's easy to suspect that there wouldn't be a complete correlation between the degree to which people are affected and the truth of the idea. But the recursive function we've just written either works or it doesn't; we can quickly find out that it's flawed, and use that to move us forwards.

I think that what makes writing code so compelling is that it has two complementary but different aspects. There is this baseline: it has to work. You give it to a computer, and if you've written it right the computer does what you want. But that's only the baseline: the code also needs to be well-written. Writing code that a computer can read is the (relatively) easy bit. Writing code that other humans can understand, maintain, improve, and reuse is the really difficult thing. That's where it becomes important to make your code elegant and simple. You can repeat code as much as you want for all a computer cares, it's the human beings who need it to be possible to alter a particular piece of functionality in just one place; a computer has no trouble using hideous labyrinths of interconnected methods with variables called things like "integer1", but the people who try to expand or reuse your work will curse you heartily, and probably do it badly, and it will be your fault. So making code that works is a bit like the satisfaction of making a practical physical object, and making code that is elegant is like making something beautiful. (It's a pity William Morris was born too early to join in.) Steven Poole in that review says
though some code in action can constitute art (eg certain videogames), the millions of lines of symbolic instructions themselves are not poetry
I have seen code that's beautiful in the same way as my favourite jug is beautiful (it was designed by Vera Wang). You need to know a bit about coding to see its appeal, but I think the same thing's true of football and certain complicated wines, and I take it on trust that there are things in those to appreciate. I might prefer to read that code than play the 'videogame'.

Also, when I retire I think I might learn Sanskrit. Life is good!

Saturday, 22 February 2014

Information

1. I suppose it's a badge of honour to work for a place which the Daily Mail hates so much. I like this collection of gifs which tries to give the overall message of the recent Met Office report on this winter's weather, with the proviso that "the global weather system is insanely complex".

2. The NHS is selling off patient records. They'll be anonymous -- of course they'll be anonymous, everything is anonymous these days, and there is no way they could possibly be abused. But in case you still don't like the idea you can opt out. There's a useful Fax Your GP service here. My doctor's practice actually provides a model letter on its website for you to print off and post in, so I've already done that.

3. And if you're wondering about anonymity and uniqueness in another area, this website can tell you how unusual your computer is just by looking at the information that the browser gives it. Mine is unique among the nearly four million tested so far due to its combination of plugins and fonts. It's an EFF site so I sort of trust it not to abuse the information... Is that inconsistent of me? To be honest I don't really think there are many people who want to abuse my information, but there's not many people I trust to be intelligent with it.

Sunday, 16 February 2014

Entertainment mostly

1. I was listening to Radio 1 this morning and a song came on which starts out as a setting of D. H. Lawrence's poem about the singing woman and the piano. Nick Mulvey, Cucurucu. I've always found that poem disconcerting; I don't think of D.H. Lawrence weeping like a child for the past. The song is OK.

2. I've been watching lots of The Good Wife -- damn you DVD box sets! -- which I rather like. It's about a woman whose husband is caught using prostitutes and possibly being corrupt in his role as District Attorney of Chicago. She stands by him at humiliating press conferences, he's jailed, and then she has to go back to work as a lawyer to keep the family going. It's pretty watchable and passes the Bechdel test in spades. The main role is played by Julianna Margulies, who has this excellent way of setting her jaw and saying nothing which I puzzled over for ages until I realise it's just like Frances McDormand in Fargo. Legal dramas are always a bit odd because they give the impression that going to court involves a lot of shouting like an argument at primary school, and I have no idea if that's true. The Good Wife makes references to this gap between real life and narrative drive in a way I don't completely get. The firm's partners are accused of taking decisions based on feelings and their drive to win rather than on business logic, which is surely a necessity for a TV drama; one of the main characters gets promoted in a narratively satisfying way, and later it's pointed out that the promotion was rather arbitrary. Maybe like in Sophie's World they will eventually get accused of being fictional characters. Anyway I'm enjoying it quite a lot.

3. The storms here have been pretty grim at times. These last two are apparently of a type that's quite interesting meteorologically -- something to do with how they form, and the way that they don't just go over straightforwardly but have a sort of sting in their tail. I went with my parents on an RSPB bird-watching cruise in the Exe estuary yesterday. We didn't go any closer to the sea than Exmouth and Dawlish Warren, and we went up as near Exeter as Topsham. We saw quite a lot of dunlin (also known as the "sea mouse") and huge flocks of godwits, as well as many other birds such as mergansers, curlews, shags, and a few of the avocets which are the ostensible purpose of the trip. The mud banks were markedly speckly, and apparently this was because so much water has come down the Exe that the top layer of mud has been washed away, exposing stones which are usually more deeply buried. The large flocks of avocets which I saw last year when I did the same trip with a friend were not in evidence. They must have gone somewhere with more food. I hope they'll be back. We went at low tide because it's the best time to see birds, but really far up the Exe you could see wave damage done in the recent storms. We did see a peregrine menacing some godwits, which was a pretty impressive sight.

4. In other news I have to do a Java exam in April. It's not a trivial one -- eight people did it from the office last year and two of them failed. I think I'll probably be OK if I can muster the energy to put the work in. I'm quite keen to get it over and done with. I feel like I've come a long way over the last year and a bit, and that I'm just beginning to know what I'm doing, but there's a lot more to learn.