Category: Technology

Programming, gadgets (reviews thereof) and computers

Not Waving but Drowning

I thought I’d write a little post about Google Wave, and more generally the uptake of new software.

Wave is a recent innovation from Google, currently in restricted beta. It’s a combination of e-mail, instant messaging and wiki. So if you even feel the need to utilise e-mail, instant messaging and wiki functionality simultaneously then this is the app for you. Actually, that’s a little unfair.

This is what it looks like:

So, broadly it looks like an e-mail client. I won’t describe the details here but you can get a better idea from the very fine Complete Wave Guide.

At the moment the problem with Google Wave is that the a relatively small number of people have been given the equivalent of e-mail addresses and told to randomly e-mail each other. Unsurprisingly they’re spending a lot of time “e-mailing” each other about Wave. However, there is serious potential in Wave, aside from the traditional Waving about Wave I got lucky and managed to have a non-Wave useful discussion on Wave. It started with a thing that looked like an e-mail (I had a bunch of questions), my interlocutor started answering the questions in real time. Wave allows you to launch chat at any point in an e-mail, not only that it always you to see  your colleague typing character-by-character. In earlier forays this had been irritating but for a ‘real’ question it was actually rather useful – I could see my colleague getting the wrong end of the stick and put him right promptly. We managed to usefully flit between several conversations, adding things as they occurred to us and the end result is a nice record of a branching conversation.

As a wiki / document preparation system I’m less convinced. The core formatting available in Google Wave is fairly basic, although it can be extended significantly using gadgets and robots, but I can’t see it being a comfortable way of working together on anything other than quite a short document.

I can see this being a great replacement for interminable e-mail threads between multiple participants, and even a way of writing minutes for a bunch of people sitting in a room with each other. If Google Wave were ubiquitous and people were willing to use it, then it would be a significant improvement over e-mail. Ubiquity may be attained in the future for the domestic user – I could imagine it becoming available as an option in Google Mail. To be honest I see far more applications for the business user and there, for larger organisations, uptake will be much slower.

This leads to another issue, even if they have access will people use such a tool? I’m dubious about this, I work in the research arm of a large commercial organisation. So you’d expect this group to be more tech savvy than average, but uptake of new software is pretty slow, people have taken to instant messaging but not wikis, reference management software, revision control, all things you might expect them to find useful. Once you get past the standard business suite of Word, Excel, PowerPoint and Outlook enthusiasm peters out and arguably mastery of even these applications is limited. This isn’t a criticism of my colleagues, it highlights how difficult it is to gain traction with new software. When it comes down to it remembering how to use software is  hard and unnatural so not surprisingly we don’t do it very well.

Ultimately Google Wave is another tool, in a toolbox that is overflowing.

Talkin’ about my generation

My generation have all been wallowing in nostalgia at the Electronic Revolution strand on BBC4, in particular Electric Dreams – the 80’s and Micro Men – the story of Sinclair and Acorn computers. We grew up in a golden age for programming, the generation before us had no hardware and the generation after us had no need to write their own software. We programmed because we had to.

I had a Commodore VIC20, cheaper than the BBC Micro, more classy and substantial looking than the Sinclair ZX81, available slightly before the ZX Spectrum. All of these lovely old machines available for your viewing pleasure at Centre for Computing History, along with many others. Look around the internet and you can also find all manner of emulators and manuals for these early machines. We wrote our own programs, or we typed in games from magazines – this was often a rather lengthy process and a bit prone to error.

I found the “VIC20 Programmers Reference Guide” here re-typed by Asbjorn Djupdal. Here’s snippet: a program which allows you to enter the scores in each quarter for an American football game and then prints them out on screen in a table:

100 DIM S(1,5), T$(1)
110 INPUT “TEAM NAMES”;T$(0),T$(1)
120 FOR Q = 1 TO 5
130 FOR T = 0 TO 1
150 INPUT S(T,Q)
160 S(T,Q) = S(T,0) + S(T,Q)
170 NEXT T,Q
200 FOR Q = 1 TO 5
210 PRINT TAB(Q*2 + 9)Q;
220 NEXT
240 FOR T = 0 TO 1
250 PRINT T$(T)
260 FOR Q = 1 TO 5
270 PRINT TAB(Q*2 + 9) S(T,Q);
280 NEXT
290 PRINT TAB(15) S(T,0)
300 NEXT

Oh, this brings back memories!

To me programming and science (or at least physics) are intimately linked, almost the first programming I ever did was to visualise beat frequencies. To this day, if I want to really understand a scientific paper I’ll implement the equations in a program, as often as not a few typos in the equations are revealed in this way and I’ll have learnt exactly what the paper was on about. Teaching a student is a fantastic why to learn something, teaching a computer is almost as good.

Most the programming I do is of a workmanlike nature, it drives machines for measurements; it processes data; it analyses results; it computes equations, but there is scope in programming for a deep elegance, a pared down beauty which is difficult to describe – it’s like finding the answer to a cryptic crossword clue – perhaps for an artist it’s like finding just the right line to give a character personality. It’s an algorithm that does what it has to do with the least effort required. I still program a lot for my work (relatively small stuff that only I will use), and it’s not unknown for me to waste an hour doing something elegantly rather use the quick, dirty and obvious approach.

Programming is in my genes, in two ways really – my parents were both programmers from the sixties. We once found a leaflet advertising the Elliot 503 in our loft, 400sq ft of ’60s computer with substantially less processor power than the most lowly of today’s devices – this is the computer on which my mum learnt to program. Dad started on an early Ferranti of some description in the late 50’s.

Earlier programming for me pretty much amounted to shouting verbs at things, possibly because I used FORTRAN which at the time was ALL IN CAPITALS. Programming today feels very different, it’s more like visiting a library to get a book of spells to cast or the singing of a choir. I still enjoy doing it, in fact I’m writing a twitter client in C# just so see how to do it.

You might get the impression from all of this that programming is for the mathematically minded, but it isn’t – it’s really for the logically minded, for some mathematical applications maths is required but otherwise it isn’t.

I taught the basics of programming to first year physics students a few years ago, and the thing that really shocked me was that, out of a class of fifty, only one had any real programming experience. There is hope though, I suspect programming still holds a fascination – my single data point: father and son sitting down to program the BBC Micro on Electric Dreams.

The Dorothy Hopkinson Memorial Solar Panel

This post is in memory of my paternal grandmother: Dorothy Hopkinson. This isn’t going to be a maudlin post: granny died about 18 months ago at a fair old age. I remember her for her cheery smile, ultra-competitive playing of cards and Scrabble (whilst simultaneously claiming to be unconcerned by the outcome), her white drop-handlebar bike which she rode into her sixties, spectacles at a jaunty angle as she slept: snoring in front of the TV, icecream made from evaporated milk in battered aluminium dishes and nettle soup. When she died she left some money which I used to buy a direct water heating solar panel which I have christened “The Dorothy Hopkinson Memorial Solar Panel”.

So to the panel: bought from Solartwin it cost about £3000, it comprises a single panel about 6ft by 4ft which is on our roof. Installation was in September 2008, took about four hours and is minimally invasive. The panel takes cold water as it is heading towards the hot water tank, circulates it around the panel (as long as it’s sunny) heating it as it goes, then feeds it back into the top of the hot water tank. Our roof isn’t ideally oriented, it faces west rather than south, so it catches the afternoon sun. There’s only two of us in the house, we use gas for heating, hot water and cooking – so the solar panel is replacing some of that water heating. Our gas bills are already pretty low (~£360 per year). At the same time that we had the solar panel installed we added to our loft insulation and also significantly improved the insulation on the hot water tank (previously it had a flimsy red jacket, worn off the shoulder). As a side note, I found the rolls of loft insulation from B&Q to be rather huggable ;-)

I have, of course, been recording my gas and electric readings every Saturday morning for the last couple of years. Okay, I appreciate most people don’t consider this “natural” but it isn’t hurting anyone and it does give me some nice numbers to play with. Obsessive data collection has a fine track record in science: Tycho Brahe for example spent years collecting data on planetary orbits, Nevil Maskelyne collected data for determining the longitude from the location of the moon, J.D. Bernal’s poor lab technician spent what must have been an incredible amount of time fishing balls out of a bag, recording their exact location as he went (that’s more data collection by proxy) (these are just the ones I can remember off the top of my head). Of course computers and electronics have meant that a lot of data collection can be automated but there’s still a place for a bit of tedious manual data collection in the modern lab (or home). Feel free to add to tales of heroic data collection in the comments.

I give the gas and electricity numbers to a little program I wrote in C# (a relatively new programming language), which plots them out. I used C# as a little exercise to get me using the language – normally I use Matlab (which is a language environment more suited to scientific programming).

Making graphs with numbers comes very naturally to me, and I find it very easy to read a graph. But I observe when we go walking that I’m much happier reading an OS map than my wife who prefers words in a guide book – so I’m not sure everyone reads a graph in the way I do. Perhaps you’d like to comment?

So in the graph above, time runs along the bottom axis from left to right, the gas used in a week runs in the vertical direction. The mountainous bits are the winters, when the central heating is switched on. The relatively flat bits in between are the summers. First thing that strikes you is that the amount of gas used for central heating in the winter is huge (about ten times more) compared to the amount used just to heat water, during the summer. The solar panel was installed in September 2008 (almost a year ago),  over the winter it probably had relatively little effect, although looking at the raw numbers gas usage over Winter 2008/09 was about 20% lower than Winter 2007/8 despite this year being a colder winter. This is probably due to the improved insulation installed at the same time, we went from about 10cm thickness to about 25cm thickness. In the summer the reduction in gas usage is pretty large – down by 55%. Through this summer you can see that the gas usage drops gently to a minimum around June, this is due to the increasing height of the sun in the sky and the lengthening day.

Was the panel worth it? Well, it is quite exciting seeing your water getting heated for “free”, and during the summer months (even a relatively poor summer) we used a lot less gas. In financial terms the payback time for us is very long, although with a larger household and larger hot water tank the pay-off time would be reasonable (i.e. <10 years). Personally, I think the financial argument is missing the point, if we only change our behaviour for short term financial benefit we will all steam, gently over the next 100 years or so.