British Gas (by )

Ok, I'm starting to get annoyed with British Gas, so it's time for a RANT.

When we moved into the new home, it had prepayment meters for gas and electricity. For those not familiar, these are meters where, rather than having your meters read and being billed on what you have used, you have to take a smartcard to a shop and pay to get it "charged" with credit, which you then take home and insert into the meter. The meter keeps a credit balance, which it subtracts from as you use energy, and when it hits zero, you get switched off until you put more in.

This is annoying, as you have to keep remembering to top it up, and it's also more expensive; you get charged more per unit of energy used for the privilege of all that extra infrastructure. It's usually an arrangement one enters into if one is having trouble paying the energy bills, as it makes you unable to use more than you can afford. In which case, you can get put onto prepayment meters, at an even more inflated rate, in order to pay off the debt as well as buying your energy every time you top up.

So, we of course wanted OFF. To do this we first need to take over the gas and electricity supply from the previous folks, then when the account's in our name, we can get it transferred. The gas and electricity accounts are both run by British Gas, who helpfully send a letter to "The Homeowner" at the address telling us to get in touch with them as soon as possible so we can take over the account, as the previous folks had told them they'd moved out; in particular, it warned us that the previous owner's smartcards may be configured to repay debts, so we'd need our own ones to be charged a more reasonable rate.

So we sign up with them, as advised, and are told it'll take about twenty-eight days for "the paperwork" to happen, and then we'll get our new gas and electricity smartcards shortly after that.

So we plod on, using the previous owner's smartcards which, I note, are particularly expensive for gas at least; we're putting in £20 top-ups of gas at least once a week, and often twice.

Then we get a letter asking us to ring them to confirm some details, which I do, and am thanked for the details, and told the account take-over can now REALLY start, and will probably be finished around the end of February, and we should be able to get our meters swapped over to normal ones after that.

Well, it's now March, and I've rung up to ask about that, only to find out that only the electricity is in our name; the gas is still in the previous people's name. Apparently "an error" was made originally. Anyway, apparently that's being cleared up, and they're trying to get me set up for a credit meter, and I was on hold for ages, and got cut off, so rang up again, and was on hold for ages, then was told it was taking a while so they'd ring me back...

That was a few hours ago. I'm still waiting. And we're still running on the previous owner's smartcards, paying inflated rates. It'll have been two months soon.

WHY does this have to be so SLOW? Why can't they just put the account into our name immediately, when we ring up? Why does it need to take 28 days at all, let alone take the month and a half it's been so far?

While we've been waiting for the gas and electricity to be fully transferred, British Telecom have managed to lay an entire NEW PHONE LINE to our house, complete with digging trenches and everything, and Andrews and Arnold (AAISP) set up broadband on it. Both actions requiring ACTUAL WORK to happen rather than just changing some entries in a database and posting us some smartcards. AAISP's contribution to this alone is probably similar to what British Gas had to do; adding us to their accounts database and contracting BT to put an ADSL linecard in at the exchange, then posting us a configured router, and it took them one week, most of which was waiting for BT to do their bit...

A week off (by )

I took last week off of work, to recuperate from the house moving and to spend some time setting up my workshop. That sounds like more house moving, but it's without deadlines, and it's taking time to sort out my own space the way I like it. So it's relaxing and settling! I did a few other things, too. I chose the Half Term week for my holiday, as no work AND no school runs would mean I didn't need to get up in the mornings, and so I could spend more time with our children. Sarah's teenaged (well, 12 and 14) cousins visited for half term, too, and were eager to help out with interesting DIY projects!

  • We laid concrete in the fireplace, to bring the base level with the rest of the floor so we can tile it to make a nice hearth. We mixed the concrete by hand, and leveled and tamped it into the space, then checked back on it over the next few days until it was hard.

  • We laid mortar along a messy and dirt-accumulating crevice in the workshop floor, to level it. This was fairly similar to the laying of concrete, except using sand rather than all-in ballast as the aggregrate.

  • Painted most of the workshop floor with the special concrete floor paint I bought from the excellent and helpful Bailey Paints. We can't paint over the bit we laid mortar on until it's cured sufficiently, which will take a few months, so that bit can wait.

  • Constructed and arranged the furniture in the workshop. Shelving had to be assembled, and my famous double-deck electronics desk put back together!

  • Mounted my tool board on the workshop wall. It's happy in its new home.

  • Mounted and wired in the Caffreys sign. Years and years ago Sarah and I, with my friend Matthew, witnessed a pub being redecorated, and the illuminated Caffreys sign was being chucked into a skip. We asked if we could take it, and it's followed us ever since then, being used as a rather unweildy novelty lamp; now we have a place we can mount it properly to the wall, so it's mounted on the outside of my workshop, with the cable run properly through the wall so it can be plugged in inside.

  • Mounted and wired in the router, power strip, switch and UPS. We have a nice new cupboard under the stairs, built for us by Sarah's brother David. I've mounted the "core network" devices directly to the inside wall of the cupboard, and will mount one of my patch panels there when I run CAT5 to sockets around the house (and a trunk to the workshop, where my second patch panel will be installed in the comms cabinet - when it's bolted to the wall; we bought the bolts for that, but didn't get around to it).

  • Gone climbing (with Jean and Sarah's cousins) at The Warehouse in Gloucester, which has excellent facilities for children and young folks. Everyone had a good time.

  • Worked more on my scripts to migrate the massive amount of data from my current hosting setup, love.warhead.org.uk, to the new hardware. Love currently runs on a pair of servers, fear and infatuation, whose responsibilities will be taken over by one, just called love. This will be a simpler and more reliable setup, which will be easier to migrate in future, and will (touch wood) crash less. Oh, and it gives us much more disk space.

The love migration scripts were about the only stuff I did with computers all week. I'd have liked to have done more (I have some Ugarit, R7RS, and Chicken Scheme TODOs), but the presence of teenagers who would get bored if they didn't have exciting DIY tasks to do meant I focussed on things I could do with them. This isn't a problem, as in only one week I couldn't do ALL my projects; even focussing on DIY, we didn't get it all done 🙂

However, I think I need to take time off to relax like this more often. Mainly because, despite not needing to be up in the morning, I kept waking up at around 6am and not being able to get back to sleep. And once I woke up from a nightmare that I was neglecting all my responsibilities and everyone who depended upon me was being let down. These are not healthy signs...

Computer Science (by )

Is a Computer Science degree useful for people who want to have a career in software development? Many who work in the field come from physics, maths, or electrical engineering degrees, and do perfectly well. There's a widespread feeling that the concepts taught on computer science degrees, such as formal logic, proving the correctness of algorithms, functional programming, compiler theory, and so on are, at best, only vaguely useful in "real-world" software engineering, There's a sort of warm fuzzy feeling that knowing these things makes you a Better Programmer, even if you never use the knowledge directly, because you're more aware of the underpinnings of the tools you use. But I don't think anyone has ever shown a real benefit. With the obvious exception of people who go into niches such as compiler development, or writing tools for mathematicians...

Software development, in practice, is mainly engineering; often just following simple plans in obvious ways, like bricklaying. It takes skill to do it neatly and well, but not imagination or theoretical background. Familiarity with tools such as off-the-shelf libraries and standard system interfaces like POSIX are probably more useful than Prolog programming to most programmers. Debugging is, in practice, more valuable as a skill than using natural deduction to prove the correctness of algorithms.

But that's not to say that computer science is useless. Many modules in my computer science degree were engineering based, looking at practical topics such as building reliable distributed systems, dealing with concurrent access to resources, databases, networks, and operating systems. Those courses covered how things like TCP stacks are built, but that's necessary information to properly use them; information required by anyone who has to do a good job of writing network software. And the theoretical modules, on semantics, functional programming, logic, Prolog, and formal methods were useful to me as a special case of somebody interested in building new programming languages; a small minority of us nerds-among-nerds bury our heads in topics like continuation-based models of concurrency, and then emerge at the end with practical tools such as programming languages, threading libraries and distributed agreement protocols that the rest of the nerds can use to build applications with.

However, an electrical engineer will be taught programming, aimed at writing embedded software. It will be approached as an engineering activity, goal-oriented and pragmatic, emphasising requirements capture and verification of the result, and debugging. Issues such as working with the constraints of the hardware will be covered. It's no surprise that electrical engineers are widespread and successful in the software industry. But the electrical engineers who make it in software have had to do a lot of learning in their own time, and as such, it's harder to select them; they need to be individually interviewed in depth, rather than being rolled off the University assembly line pre-tested to a known standard.

So perhaps computer science degrees need to diversify further. Mathematics is often split into Applied and Theoretical sects; the distinction is sometimes arbitrary, with most topics straddling the divide in some way, but they are taught with different emphases. Theoretical mathematicians are better trained to go into mathematical research in academia or the more abstract R&D teams, while applied mathematicians are primed to dive into practical problems in statistics, simulation and optimisation. Perhaps we need something similar in computer science; I know that most degrees are modular, and mine let one end up with a degree title reflecting the specialisations one took, but I'm not talking about modules - I'm talking about a fundamental shift in emphasis in the degree, from day one. Everyone should start off with a year of practical software engineering, because even the most abstract theoretician needs to know how their work will be applied (and have the skills to build implementations of their theories, so they can be tested and then applied by others). Teach enough about compilers and computer architecture to give the student a head-start in optimising their code, without going into the detail required to build compilers or design CPUs. Give a nod to formal methods in showing how to design correct algorithms by informally argument.

Then in the second year and beyond, let it be down to modules; the software engineers can go into things like networking, databases, graphics, operating systems, high performance computing, distributed systems, and so on, depending on their desired specialisation. The theoreticians can go into abstract topics. And by all means, at the end, give them a Software Engineering degree if they did mainly software engineering modules, Computer Science if they did mainly theoretical modules, and something like "Applied Computer Science" if they did a mixture. Don't restrict student's choices, unless modules have an actual dependency on the knowledge from previous modules; but at the same time, give them guidance by explaining which modules will help them for different career paths. And don't force software engineers to spend their time learning abstract stuff they'll resent, in the vague hope that it will make them better programmers; it's no more useful than the electrical engineers working in software who had to sit through courses on filter design!

Tax returns (by )

Many years ago, around 2000, I formed a limited company. A bunch of us wanted to rent a rack in a data centre and host our servers there, and it seemed wise to have a separate legal entity to sign the contract with the ISP for the rack.

This cost me some money here and there in fees, and I had to take the time to keep books and file annual reports and accounts, but it was bearable.

Then a few years later, I became a freelance software engineer, and as the company already existed, it made sense to operate through that. Making a profit rather than being propped up by cash loans from me meant the company's tax returns became more complex, so I paid an accountant to do those, and that was fine as the saved money in using the company paid for his fees.

So all was fine until 2007, when a flood destroyed our home (and my placed of work).

I had to keep working to support my family, so I went to London to borrow space to work and sleep in, and did what I could to keep cash flowing. But this meant I wasn't spending much time at home where my paperwork was, and had little time to deal with book keeping, and my post was arriving into a building site back home.

A year later we were able to move back in, to try and pick up the pieces. But life was harder than it had been, and Sarah was sicker, and it's taken me until 2012 to catch up.

But last week I submitted my last personal tax returns. Towards the end of last year, my last corporation tax returns. Earlier that year, my last VAT returns. And the good news is, I seem to be eligible for some tax back. I'm happy about that as a friend leant me a thousand pounds in 2007, and I've still yet to pay him back; my tax repayment will cover that, plus some interest and a little left over... I'll pop it into the savings account and wait a few months in case HMRC change their mind, however.

But having all this done is a huge weight off my mind, one that had hung over me for about for years. Right now I seem to be in a phase of shedding burdens and finishing things; the only big thing I have left hanging over me now is migrating my servers, then I can start relaxing a bit and get on with my projects for the year!

Moving house (by )

I hate moving house. It's a lot of work, for a start. It's a period during which all your stuff is packed away so you have to make do continually. And you have to tear apart the home you spent years building, while remembering all the fun times you had in the cold, empty, rooms you are carrying boxes out of. It feels a bit like burning your own wedding photos...

...but soon, it will be over, leaving just the mild frustration of living in a home where many of your possessions are still "in a box somewhere", but at least then you're on the upward path of things continually getting better as you unpack things and find them new homes, slowly customising your new space.

I'm looking forward to sorting out my workshop. It's currently just full of things all over the floor. I'm taking a week off of work to recuperate from the moving, and to sort it out. I'm going to pile everything at one end so I can paint the floor and finish painting the wall, then move everything to the nice end so I can finish the floor and walls in the other end. I'm going to set up my desk, my electronics workbench, and my welding bench. I'm going to run Ethernet into the house so I can get network connectivity. I'm going to set up a 12v power distribution system for fun stuff, such as a Raspberry Pi in a box driving an LED matrix display and a USB hard disk (as a Ugarit distributed storage node) and crazy future home automation experiments and LED lighting in the nearby shed (it's hard finding stuff in there in the dark). I'm going to fix the leaky roof and the draughty eaves so it's warmer and dryer in there. I'm going to rebuild my furnace and experiment with casting aluminium bronze. I'm going to build my wife a radio telescope. I'm going to build my wearable computer and continue my project to bring about my own technological singularity. I'm going to make time for myself to turn some of my unrealised ideas into beautiful things.

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales