#3 — Abstract

Work­ing as a pro­gram­mer involves think­ing at mul­tiple levels of abstrac­tion. You might be cod­ing a web applic­a­tion, but at any one point it could be data mod­el­ling, present­a­tional markup or low level archi­tec­ture changes. Some­times it is hard to think of some­thing to draw or pho­to­graph. It shouldn’t have to be a real or obvi­ous sub­ject all the time. There­fore I just let my stylus wander and this is what came out.

Con­tinue read­ing

One year on

Here I am, a little over one year since I star­ted writ­ing journal posts every two weeks (or so). Recently my tempo has dwindled thanks to work­ing full-time. That doesn’t mean I’m going to stop, just that with only so many hours avail­able each day I can’t always do everything.

At the moment I am liv­ing in Cam­bridge for 5 nights a week. I com­mute by bike, which takes about an hour each way includ­ing a shower and get­ting changed at the work end. When I get back after work­ing I brew a mug of tea and spend a bit of time cook­ing and wash­ing up. Once or twice a week my even­ing com­mute is diver­ted via a shop to stock up. By the time I sit down at the com­puter (my old laptop — not a fun machine to work on) it’s often 20.30 and I spend the a while surf­ing the web. After­wards I am pretty much exhausted for the day and all I want to do is watch a TV epis­ode or go to bed with a book. And so the cycle goes on…

It’s nice to be work­ing again, but I for­got how much your free time becomes valu­able. The week­ends, pre­vi­ously a time to con­tinue with all my hob­bies and interests, have become a time to recover and basic­ally avoid sit­ting behind a com­puter. My wrists and eyes are not fond of being parked at a desk for so many hours of the day, yet that is what I sub­ject them to.

Mov­ing for­ward I hope to catch up with some of my draft posts. I don’t know who reads this (espe­cially when I write too much in one go) but I shall con­tinue and strive to come up with new things to write about and per­haps man­age shorter, weekly posts.

To pastures new

Things have been quite busy lately; it seems impossible to relax when you have too much time on your hands.

Tomor­row I’m start­ing a con­tract that fills the rest of the year. I’ll be work­ing near Cam­bridge and stay­ing there dur­ing the week. Hope­fully the early winter will not be as bad as last year as I am hop­ing to do most of my com­mut­ing by bike.

This week I’m going to be revis­ing Java, algorithms and data struc­tures dur­ing my free even­ings. I have a day of inter­views com­ing up at a large soft­ware com­pany, and it’s wise to be famil­iar with a lot of the first year com­puter sci­ence material.

I’ll be using a mobile hot­spot for my inter­net dur­ing the week. So far it’s proven faster (on upload) than stand­ard ADSL so I may write up my exper­i­ences in the next few weeks.

Trying out new typefaces

Aside

You may notice I have recently exper­i­mented with the typefaces used on this site. I am cur­rently too busy with another web­site to work on this site’s re-design but a recent pro­ject deman­ded a par­tic­u­lar font fam­ily be used and Typekit happened to have it avail­able. I con­sider the value of the Typekit pack­ages to be quite good con­sid­er­ing what you get so I am going to let my sub­scrip­tion continue.

Last week I was using Gara­mond for head­ings and this week I’ve switched to the clas­sic Futura for head­ings, with FF Dagny being used for body text.

The World’s Best Bread?

Jim Lahey's bread recipe tried and testedWhile I was in Den­mark earlier this month I ended up watch­ing the morn­ing magazine pro­gramme on the equi­val­ent to ITV. One of the lead stor­ies that day was on how to bake the world’s best bread. I am quite fussy when it comes to bread; one could describe me as a bread geek.

Earlier this year I got back in to bak­ing my own bread. As a stu­dent liv­ing in Eng­land, buy­ing what I con­sider the best bread can be both costly and time-consuming. The typ­ical Eng­lish bread bin con­tains a pre-sliced, very chewy (and gen­er­ally white) loaf. While I can put up with this when it is toasted, or when some­thing with a strong fla­vour and enough tex­ture to hide the bread’s awful chewy-fluffy-tastelessness is applied, I gen­er­ally avoid this type of bread. The whole­meal altern­at­ives, pro­duced in the same way, are slightly bet­ter (there is some fla­vour, but the tex­ture is the same) but the only real pos­it­ive side to this style of bread is the extreme longev­ity (i.e. it takes forever to turn stale).

What is it that I look for in a bread? This is prob­ably not a ques­tion most people take time to con­sider in their daily lives. The first issue to con­sider is the flour — whole­meal or white. White is (for me) some­thing to save for spe­cial occa­sions, rather than a day-to-day bread for lunch or accom­pa­ny­ing a meal. My gen­eral bread recipe uses a blend of whole­meal and white flour which pro­duces a good tex­ture; I find pure whole­meal bread can be a bit too dense.

The next factor in bread qual­ity is the tex­ture. I have already explained my dis­like of the sliced Eng­lish bread, which primar­ily stems from the tex­ture. What I look for is a spring in the loaf which is countered by a sat­is­fy­ing crunch in the crust. Chewy can be fine, if the bread springs back and does not stay squashed — as is the case with most sliced super­mar­ket loaves. I am not a great fan of bread which turns to crumbs the moment a bread knife gets within a centimetre.

A third qual­ity of bread which I con­sider is the taste. I don’t like my stand­ard loaves to have a very strong fla­vour like Rye or sour­dough vari­ants, but con­versely a taste­less bread is a little dis­ap­point­ing. I can remem­ber super­mar­ket “French” bread sticks hav­ing a bit more fla­vour than they do nowadays, but gen­er­ally the Italian style loaves have a nice flavour.

You might by now be won­der­ing what the recipe I use for day-to-day bread is. I must admit, I don’t like spend­ing large amounts of time knead­ing. There­fore I often use a bread machine to do the mix­ing and then fin­ish rising and bak­ing in a sep­ar­ate tin (this gives a far bet­ter taste, crust and shape than the machine’s low tem­per­at­ure bak­ing). One recipe I tried and hold in high regard is one from the Guard­ian by Feli­city Cloake: http://www.guardian.co.uk/lifeandstyle/wordofmouth/2010/jun/10/how-to-bake-wholemeal-bread. This method requires repeated knead­ing for short peri­ods, but cre­ates a really good loaf. The stand­ard loaf I make is sim­ilar, using sun­flower oil instead of but­ter, and I vary between using molasses sugar and plain white sugar. I don’t nor­mally add the vit­amin C tab­let, but it does cre­ate a slightly more open tex­ture with whole­meal flour.

First test of Jim Lahey's bread
Today I baked the “World’s Best Bread” for the first time. I say today, but the pro­cess began last night with the ini­tial assembly of ingredi­ents for the twelve hour rest­ing period. This morn­ing the dough was full of air bubbles and had grown con­sid­er­ably in size. The next phase of rising involved dust­ing the fol­ded dough with flour and a little tex­tural sup­ple­ment (in my case poppy seeds) and pla­cing it on a tea towel for a fur­ther hour or two. As I was slightly time con­strained I lim­ited the time to an hour, but the dough had risen sub­stan­tially enough in that time and did not spring back after pok­ing. In the mean time I took the phen­olic handle off my big Le Creu­set (see this post) and pre­heated it to the max­imum oven temperature.

What came out of the oven smelled great, but then I am accus­tomed to that hunger-inducing scent from past bak­ing efforts. The loaf pro­duced a sat­is­fy­ing hol­low noise when tapped and had a bit of give. This reas­sured me that the loaf would not be hor­ribly dense. When I placed the dough in the hot pan, I did not take time to even it out in the base, and to my sur­prise it did not fill the width of the pan. Next time I may try to pro­duce a per­fectly round loaf, but I quite like the rus­tic shape of this first try.

The tex­ture revealed when mak­ing the first slice was much lighter than my usual loaves. Large air pock­ets fea­ture through­out, but the over­all bite ‘gives’ just the right amount. It reminds me of the tex­ture of a good ciabatta. The crust nicely browned for the final 15 minutes in the oven and has a good crunch, bet­ter than my usual attempts.

The fla­vour is cer­tainly good. With such a simple recipe there is not much to alter the pure wheat taste. This loaf has a really nice taste of… wheat. It reminds me of how rye bread has a power­ful sour scent and the flour provides the main taste. I have already men­tioned that my pref­er­ence is for a wholemeal/white blend but that will wait until the next time. This white loaf is slightly darker in col­our than I am used to (do they bleach the super­mar­ket loaves?) but tasted great with cheese, homemade apple chut­ney and apple but­ter.

Would I recom­mend you try this recipe? It is cer­tainly worth the effort to bake it at least once. I used a cast iron sauce­pan but if you don’t have one (yet) then it should work in a lid­ded Pyrex dish or a stain­less steel oven-safe sauce­pan, but not neces­sar­ily as well. My main cri­ti­cism is that it takes a bit of for­ward plan­ning. The best tim­ing is depend­ant on your work sched­ule. The ini­tial pre­par­a­tion takes 5 minutes, but then you need to wait 12–18 hours before rising and bak­ing. I star­ted in the even­ing around 10pm and the loaf was out of the oven at 12.15pm the next day, and that was hur­ry­ing things slightly. Clearly if I was work­ing away from home dur­ing the day this would not be such a good sched­ule, and I would prob­ably have to do the bak­ing the next evening.

For my day to day “sand­wich” bread I will prob­ably stick to my wholemeal/white blend with sugar and oil, but if a trial run of this recipe with whole­meal flour added works well I could end up converting.

In case you missed it, here is the link to the recipe once more.

Edit: I’ve now tried the whole­meal vari­ant which turned out really well, although I added a little brown sugar and adjus­ted the water/flour con­tent. The res­ult­ing bread had a very good tex­ture, and is def­in­itely an improve­ment over my earlier 50/50 white/wholemeal attempt.

Anniversary & A Digital Deluge

This month it is approx­im­ately ten years since I first had a PC and the abil­ity to use the inter­net at home. It is also a year today since I ordered my iMac and iPod Touch. I don’t intend to cel­eb­rate in any par­tic­u­lar way, but I real­ised that is about time I dealt with the ever-growing col­lec­tion of digital data that I’ve accu­mu­lated over the years.

In ten years I have never lost any files other than on one CD which got scratched. But I have man­aged to get myself into a pickle with mul­tiple backups and data dis­persed across far too many disks and fil­ing sys­tems. For the past 2 years I have wanted to get my digital ‘lib­rary’ in order, but it is always a bit of a struggle.

As primar­ily a Win­dows user for many years, I got into a routine of rein­stalling my oper­at­ing sys­tem and soft­ware every 6–18 months. This led me to use sep­ar­ate data and soft­ware par­ti­tions on my hard disk, cre­at­ing a nice clean data stor­age sys­tem. It worked quite well when I lived at home all the time, and I used an external hard disk for backups with most import­ant data duplic­ated on CD or DVD.

Once I had more than one com­puter in the same house, things star­ted to get com­plic­ated. I set up one com­puter as a server which allowed the other PC to syn­chron­ise user files. Easy, simple enough and reliable.

In 2006 I acquired my laptop, which at first fit­ted in with my fil­ing sys­tem quite well. How­ever, when I moved away to uni­ver­sity in 2007 my data became dis­join­ted. Four years later and I haven’t man­aged to assim­il­ate all my data back to a simple data store. Hav­ing a Mac for the last year hasn’t really helped with this prob­lem, although I am gradu­ally import­ing data to the large 2TB hard disk.

I sup­pose the prob­lem is best char­ac­ter­ised by the num­ber of hard disks I have and how big they are:

  • 80GB IDE x 2
  • 120GB SATA x 2
  • 160GB SATA
  • 250GB SATA
  • 320GB USB x 2
  • 400GB SATA
  • 500GB SATA
  • 640GB SATA x 2
  • 750GB USB
  • 2TB SATA x 2
That adds up to over 8 tera­bytes of stor­age. 4 of those drives are primary hard disks in com­puters (80GB IDE, 250GB SATA, 400GB SATA, 2TB SATA) and the oth­ers are either in a desktop PC (3 of them), bare, or in USB enclosures.
I’m sure I will man­age to sort everything out some­how, but with the release of Mac OS X Lion recently I have been plan­ning to clone my 2TB internal drive to the 2TB drive in a USB enclos­ure, just in case some­thing goes wrong. This makes it really tricky to deal with all the data already on the 2TB drive, which I have star­ted to pump out into the remain­ing free space on all the other drives.
To top things off, I have the same situ­ation in the phys­ical space of my bed­room. Many years of bank state­ments across sev­eral accounts, school paper­work, uni­ver­sity notes and exam papers, magazines, CDs, vinyl records, draw­ers full of cas­sette tapes clut­ter up the room that I spend the most time in.
Hope­fully I won’t end up hav­ing to buy more stor­age (another 2TB drive would be handy, but I don’t want more drives!) and I can force myself to clear out things I don’t need any­more. As usual how­ever, the inter­net provides a wealth of dis­trac­tions to stop me mak­ing pro­gress. 10 years of dis­trac­tions so far.

Summer Holiday

It’s approach­ing the time of year when I take an inter­net hol­i­day. I find that it really helps to get away from the con­stant dis­trac­tions and end­less flow of com­mu­nic­a­tions. It’s also con­veni­ent to not have to pay the inter­net roam­ing bill when you are abroad.

This also means that my ever grow­ing selec­tion of blog post drafts will either be pos­ted shortly before I head away, or a little while after I have come back. I have a lot of hours to fill on trains the next few weeks so I hope to at least post a few things before I get away from the internet.

A lot of people I know find it hard to get away from the inter­net. I’m not sure if it’s an addic­tion, or if it’s just a mat­ter of avoid­ing bore­dom. This post by Scott Adams explains part of the reason I enjoy get­ting away from it all: What would hap­pen if the world stopped being bored? It’s a sim­ilar reason to why I enjoy cyc­ling so much. When you have some­thing gnaw­ing on your mind, you can get away from it all and think in rel­at­ive peace before you come back to the com­puter. The endorphins are good too.

What does a Computer Science degree teach you in 2011? (Part 1)

Last Fri­day was the end of my uni­ver­sity degree. I left school in 2007 and went straight to the Uni­ver­sity of York, which at the time was widely regarded as a top 5 Com­puter Sci­ence department.

I had 5 offers to choose between and while York might not have been the highest (Imper­ial Col­lege) or low­est (St. Andrews), it struck a good bal­ance for me. Lon­don was a bit too expens­ive and Scot­land too far away, and my other offers were from uni­ver­sit­ies which didn’t rank as highly.

I thought it would be use­ful to go through the course ret­ro­spect­ively to give an idea of what I have been taught and what options I had. This first post looks at the first year. Con­tinue read­ing