Archive for the 'Work' Category

Oct 09 2011

Bike to work

Published by Dougal under Life, Work

I’ve recently started commuting to work by bike which is both more enjoyable than walking and gets me there quicker. There are a few downsides but they’re small enough that I’m going to continue like this until the weather really forces me off the road.

I was initially quite afraid of the ride through the centre of Glasgow. There are lots of one-way streets, really steep hills and traffic lights. I was even contemplating leaving the bike at the station overnight and commuting through town by subway. But a few more days of the inner-city commute set me at ease. It can be a bit daunting but I know the route now, and I know the tricky points and where to position myself so I’m not trapped by buses and so on.

Bike to Work Day at the Mid Market Energizer Station

The train is also good. There’s a bike carriage on every train with six hooks to hang bikes. The biggest problem is caused by station staff who create deliberate bottlenecks (!) on the platform ends during peak commuter times, which cause all the following trains to be late. I honestly can’t believe it’s more worth their while to start off the day behind schedule than to just employ enough conductors for the trains.

My work isn’t the most cycle-friendly environment. There’s nowhere particular to chain up a bike, so mine gets tied to the banister at the foot of a stairwell, next to the mops and Slippery Surface signs. Classy! There’s also no shower/changing facilities and the toilets are a bit of an offence to hygiene, so things could be better. But then who puts an office in an industrial estate in the middle of nowhere anyway?

My next steps are to get some panniers for the bike, to reduce the need for a rucksack (which just makes cycling hotter and sweatier) and get more familiar with maintaining my trusty steed. I would have said “I can probably pump up the tyres without assistance” but since the front inner-tube was involved in a “rapid deflation event” last time I tried to pump it up maybe that’s not true! If I suffer a puncture en route I just have to walk it to my destination as I don’t have the immediate skills or materials to patch things up.

2 responses so far

Nov 04 2010

Do you know C-pound? How about C-thud?

Published by Dougal under Friends, Programming, Work

During this period of tedious and unfruitful job applications I’ve come to the conclusion that I’m either a horrible person on paper (I refuse to believe I’m a horrible person in real life) or I need more experience in the object-oriented managed-runtime languages. To wit, Java and C#.

The Java language has failed to get its act together in the last few years and, at least on paper, I have some experience with it since all my university work used Java. (I’m also watching Nick’s updates to remind myself. An RSS feed attached to his bitbucket account makes him dead easy to stalk learn from.) So I thought I’d get myself some experience in C#. I’ve nabbed a project that Mat made a couple of years ago (a game of Thud! from the Terry Pratchett novel of the name, itself based on a Norse board game) and, with his permission, I’m going to whip it into shape.

I know for a fact that it runs fine in Mono, since I knew that two years ago when he first knocked it out, and Mono has come on a long way since then. At the moment it doesn’t do very much and Mat admits that it isn’t great code on the inside either. That’s all fine by me though. I can familiarise myself with the code base by cleaning it up before I decide where the new features need to go.

I hope to keep this and ComicBake going alongside each other, since there are a number of differences besides the subject matter:

  1. Thud! doesn’t have to think much for itself. The program pits two users against each other across the network, so there’s no AI involved. The set of valid moves is very small so the game logic is not tricky. ComicBake, on the other hand, is me trying to encode a set of heuristics to simulate what an artist would do in the same situation.
  2. One is old-fashioned imperative code, in the object-oriented style. It’s fairly staid C# too, not using many of the recent innovations of the language which make it differ nowadays from Java. The other is obviously purely-functional Haskell: higher-order, expressively-typed and immutable.
  3. I can update and release ComicBake when I like. I haven’t checked with Mat whether he’s happy for me to publish the code/changes or whether he wants it just “between friends”. It can just be a learning experience, though obviously it’s a better one if I can point potential employers to it and say look, I can code.

The title is a reference to this Daily WTF classic.

Comments Off

Oct 07 2010

Learn Web Development in PHP in 24 hours

Published by Dougal under Programming, Work

NB: I wrote this some time ago. I didn’t get through to the next round of interview.

I just spent the last ~24 hours writing the biggest chunk of PHP I’ve ever had to work with. This isn’t much of a record, as up until now I’ve never done any PHP/web work outside of the occasional excursion into the WordPress plugins to debug problems. So I went from no PHP experience to writing a simple web app, which gave me quite a feeling of accomplishment.

This was all part of an interview for IDE Group. A fortnight ago I went for an interview, and then they sent me a problem to code the solution for. The problem involved setting up a database for users and related data, querying and updating it via web forms and so on.

Since this was the first time I’d ever done something like this (ie web programming) it was a massive learning experience. Every few steps I rediscovered things, like the need for session management, or data validation procedures, or authentication processes, and so on. There were many many things that I just had to skip over for being too cumbersome to implement quickly — a proper DB schema with validating constraints rather than a jumbled mess, salted-hashed passwords in the database, web pages that conform to any standard, never mind a recent one. The list goes on.

But I tried to get the basics done. I specifically wanted to concentrate on security of the application, since that’s something which is important for the integrity of the application. I didn’t want Little Bobby Tables to make a mess of my database. To that end I was really limiting in what counted as a valid username/password character. I didn’t know how to properly validate password data so I went the route of only accepting alphanumeric sequences. Little Bobby Tables wouldn’t be able to sign up, but at least the DB should still be standing if he tries. The web page itself looked very 1994. No CSS for you!

I handed in my solution about a day after receiving the problem. I was worried that taking this long would count against me, but there was nothing I could really do about that since I didn’t have any experience in what I was doing. I spent a lot of time researching each step and a lot of time debugging because of complete unfamiliarity with the language. The problem statement suggested a couple of frameworks for “bonus points”, though I didn’t use them. I considered that learning how to set up, integrate and use two additional systems over and above what I needed to get the job done would really have killed me.

In hindsight it seems this was the wrong choice. I have since learned from the interviewer that other candidates took much longer (about 3 days in one case). My thinking at the time was that anyone who knew what they were doing would get the whole thing finished in a working day so I wanted to give myself no more than 50% over that. I didn’t want to hand in something really slick that took me a whole week longer than everybody else, so I erred on the side of speed.

In future maybe I will be less cautious about investing extra time, though maybe there won’t be a future. These programming problems don’t seem very common in the UK. Anyone else done this kind of “interview homework” problem before? I can see why they are useful but I can also imagine they would be impossible for someone in a full-time job.

Comments Off

Jul 24 2010

Networking and redundancy (double meanings)

Published by Dougal under Humour, Networking, Work

For the past three and a half years I have been working on router redundancy protocols. When your router (or its upstream connection) dies for some reason you want to minimise the loss on people using the network. Ideally users should never notice loss of connection, though in the real world there will be some time delay before things are working again. The work I’ve been doing relies on having a second router which has its own connection to the local network and to the wider world. It acts as a redundant backup so that when the first one dies the second can step into its place within some short period.

When the primary router is working normally the secondary doesn’t do much. Its only role is to monitor the liveliness of the primary machine. The redundant router can often be used for other things when the primary is operating — and many times the primary acts as a redundant router for the secondary’s clients. Each provides backup for the other.

So when I found out recently that I was being made redundant I thought “great! I’ll just sit and watch other people working and take over if they burst into flames”. But it turns out that when people are redundant it’s totally different from when routers are redundant. Instead of being relied on for backup in case of failure, it means “no longer working”. Strange but true! I can see why it wouldn’t catch on very well in networking.

My last day at Cisco is this Friday (30 July). It’s been an interesting few years and provided novel experiences, silly conversations about Star Trek and given me a bit more confidence. I’m sad to be going, and though there will always be loose ends to tie up and the promise of interesting projects on the horizon, the team I’m leaving behind seems to have a glut of these at the moment. I’m also disappointed that the study group at work will continue reading SICP without me. Obviously I can read it alone but the discussion and peer support/pressure was a useful part of it.

Meanwhile, the job hunt continues. Recruitment agencies make this process at least ten times harder by hiding the employer, the industry and the specifics of the job for their own ends. I have had a few friends pass on job details, and had some telephone discussions, but no success yet. Watch this space, or one very much like it.

One response so far

Jun 19 2010

Initial thoughts on SICP study group

A few weeks ago I mentioned the idea of a study group at work, for the purpose of reading through some programming-relevant texts and discussing them. We’ve been working on Structure and Interpretation of Computer Programs (SICP) for a few weeks now. I’m enjoying it more than I expected. The exercises are mostly within grasp and I’m happy to note that I’m not being left behind intellectually. There are a few mathematical proof exercises I’ve been skipping and some of the more boring “run this computation by hand” are not worth taking to completion once you’ve seen the basic point. But mostly we’re following the exercises as planned.

Scheme is not so interesting so far. The parentheses still bug me and we haven’t got to the stage where dynamic typing has proven useful so I’m smarting from the lack of a decent type system. From what I remember when I skimmed the book in the past most of Scheme development involves creating ad hoc type systems in the runtime. :-) Many people insist that dynamic languages are good for something so hopefully this something will become apparent.

I have enjoyed several of the exercises which require rewriting recursive algorithms in an iterative style. Seeing the contrast and thinking up different routes to the end product is fun, and I’m glad we’ve got a unit test framework (SchemeUnit) to help in that regard. I tried to track down a Scheme version of QuickCheck but while one used to exist it’s disappeared off the net.

Comments Off

May 10 2010

Reading at work

Published by Dougal under Computing, Work

At work there’s a tentative conversation about a book group, to read and discuss (and presumably work through) books like SICP. I’m tempted to join in but I wonder if I’d actually get anything done. I haven’t been to the Science and Society Reading Group for several sessions because I just haven’t had time to read the books in question.

(This is why our other book group is better because reading books is optional and finishing books is not necessary.)

But the combination of SICP and discussion with some of the engaged programmers at work might be really useful. I will put my name down and see what happens. The starting book suggested was the aforementioned SICP but after that they’re going to look at something Agile/XP related which is generally an area I know nothing about except by hyped reputation. I’d also be interested in reading research papers so I might suggest that too.

Comments Off

Jun 30 2009

Life as we know it… has been continuing as usual

Published by Dougal under Life, Work

So, what’s up? Em, it was my birthday two weeks ago. Went to ESI (a Leith restaurant owned by an Englishman, Scotsman and Irishman) and had a good time there with Helen. The service was quite slow but the food was good and there was no faulting the company.

I also organised a sort of test-the-waters meeting of Edinburgh Haskell users. Four of us met in the pub on a Sunday afternoon, and I received two more emails from other people who would have come if I had given more notice. The time didn’t go particularly easily — one of our number was horrendously awkward to talk to — but it was a start. No plans to do anything more with it at the moment.

But out of that (and the advertisements I sent to the Haskell Cafe mailing list) I got a message from Eric Kow, asking if I wanted to help organise a Haskell Hackathon this August to coincide with the ICFP and Haskell Symposium in Edinburgh. So I’ve been thinking about that and coming to realise just how impossible it is to get anything organised while the Festival is on…

Meanwhile I feel that things are going quite well at work, which coincides with the contracting budget being cut to almost-nothing. A good handful of my colleagues are now on redundancy notice. I managed to get the one job for which there was funding, but that only lasts six months. In January or thereabouts I will be looking for something new. I’m not sure what. Helen’s horror stories from work make me think I could at least be a force for good if I tried programming with the NHS. But another part of me thinks the problem is likely to be systemic and no amount of enthusiasm or skill can make up for some problems.

It feels weird to now be looking for jobs — paying attention to the job market, at least — and realising that I have those “two years’ experience” that employers seem so keen on. I had to revise my CV when applying for this position with the extended funding (though strictly speaking it’s exactly what I was doing before) and it’s staggering to think how little experience was expanded to fill those two pages. But now I feel more confident — not only in my own abilities but also in knowing what’s important when applying/interviewing for a new position. I actually have points which are important to me as a developer. They always say you should have something to ask a potential employer in an interview, but knowing what to ask only really comes with that experience.

All this doesn’t get around the fact that applying for jobs is a horrible thing to have to do and I’m not at all looking forward to it.

5 responses so far

Feb 22 2009

Resenting Mondays

Published by Dougal under Life, Work

From Boing Boing:

If one dislikes Monday because of school or work then why does one continue to go back to work or school? I believe that folks like this are probably in the wrong job or studying the wrong course and probably should look for something that enables them to enjoy Mondays — and every other day for that matter. Those who genuinely enjoy work or school probably won’t give “Work or School” as the reasons they dislike Monday.

Interesting, but I don’t agree with the conclusions. I think it’s specifically change that people object to. They don’t like to return to work because they’ve just had two days sitting around at home, relaxing over lunch with family — living in a holiday lifestyle. Then it all has to change.

The same happens to me every single day. In the morning I don’t want to get out of bed, and the evening I don’t want to go to bed. What I’m doing now is always far more interesting than something I might be doing later. And truth be told, last Friday I was late leaving work because I couldn’t bear to leave what I was doing.

So it’s not really about not enjoying the work. For me, at least, it’s about not enjoying the change and resenting that context switch.

One response so far

Aug 07 2008

Celebrations

Published by Dougal under Life, Work

Today has been a fairly good day, and despite the rain we have something to celebrate. So fish and chips with Cava sounds like a fine combination to me!

One response so far

Jul 12 2008

Flatwarming panic

Published by Dougal under Food, Home, Work

So we foolishly decided that we’d get the place redd up if we arranged for a whole bunch of people to come over all at once. Well, they’re coming over this week but there doesn’t look to be much happening on the cleaning-and-tidying front.

I built the final kitchen chair today, so that’s one fewer thing taking up space in the living room. But there’s still loads of boxes full of CDs, DVDs and books which don’t have a home because we have no shelving.

Among today’s minor successes are having a proper set of bathroom towels, and plugging my desktop computer back in. Still no internet connection, but I did put on some photos of my parents’ trip to China, so there’s more variety on the screensaver. I like watching photos as screensavers. (I’ve been teasing my colleagues at work lately by using some of Helen’s food photos as my screensaver. I got back to my desk the other day and they’d turned off my monitor to avoid seeing further tantalising food shots!)

Just now I’ve got some baguettes in the oven, but they’re too slim and are rather too much like breadsticks. But it’s all about the practice…

Comments Off

Next »