Category Archives: Old Site

Import from blog.cottee.org

>Chester Zoo

>

Headed to Chester Zoo today, not been there for a year or so. Birthday treat for Alisa (four on Tuesday) and she really enjoyed, as did we all. As a grumpy old man I do wonder why things are so expensive. Five of us meant a family ticket plus another child ticket. And by default they give you the price with a 10% voluntary contribution added came to £67.45. They do ask if that’s OK but the pressure is then on you to decline and feel like a grumpy git.

If you ever go to the Zoo can I recommend the bats and the butterflies. OK, they don’t sound the exciting but both get you close to the action. Exhausted now, time for some cider.

>More code from the pros

>This evening I had the pleasure of looking at a system unconnected with work. The system is critical to the client and put together by a Computer Science graduate and I was asked to give an opinion unofficially for a friend.

Oh my god.

I knew I was in for fun when the schema had tables with mixed upper/lower case – and field names with spaces, percentages, dollar signs and all manner of exciting characters. The system had comments only in what (I presume) was the first part of the system. There was nothing useful in the comments but the programmer declared his genius (not making this up) in taking the work of somebody else and ‘sorting it out’.

Hang on – pain in the eyes.

OK. Back.

The schema seems to have come from the school of “I have an access database and I’m not afraid to use it”. People who think because they know how to use Filemaker Pro or Access or similar revel in their new found status of “Programmer”. No, you are not a programmer. Frankly I’m probably not a programmer any more either but at least I know when code is wrong. if I know how to use Excel does that make me an accountant? No. If I know how to use Paint it doesn’t make me an artist. You have used Access and (I’m sorry) on the evidence shown the only status achieved is “wank stain, second order”. Your exclamations to your poor suffering client (Yes, they showed me the emails), that “Enabling numeric analysis of this data will require some days work in installing the necessary mathematical modules” is wonderful. Your problem is you only knew how to use a varchar (strange, I’ve seen that a few times before) and you’re now realising why data has types.

But take heart. You may not have a clue what you’re doing. And you may struggle to put your trousers on the right way. But you have a degree in IT. Virtually everyone I know will therefore trust you and your future is assured.

Unfortunately, you’re still a wank stain. C’est la vie.

>Snow Leopard and 32bit 64bit Psycopg woes

>

Ah yes, let’s quickly do some work this morning. How soon that turns into watching multiple parts of your development environment fail.

I want to pull some data from a Microsoft SQL Server and into Postgres using Python/Django. The ODBC drivers come from http://www.actualtechnologies.com and I paid 30 quid for a small license that allows 5 concurrent users. It’s only me using it so I only need one so that’s cool. I say 30 quid -that’s for  Mac. If you want to use their Linux version it will be somewhere around 600 quid. Hey ho. Well ok – I’ll just do this on a Mac then.

Now the problems start. Basically, the ODBC drivers won’t work with 64 bit apps. OK, So I’ll force my Snow Leopard python into 32 bit mode using.

jlp:~ icottee$ defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

Now psycopg2 won’t work. And I spend some time faffing around. Eventually I discover to get psycopg2 to work you’ll need to get yourself a 32 bit version of postgres. So the magic rule is download the code for postgres, configure and make install it AFTER you have done:

export CC="gcc -arch i386"

Now you reinstall psycopg2 and wahey you can at last get on with what you were supposed to be doing.

>Why I don’t care if you have a computing degree or not

>

I have a real problem which I am aware of and compensate for, but it exists.

When I see CV’s come into my company for technical jobs and that person has some form of IT degree something inside me dies. Now, I am old enough to recognise that. I have and do and will continue to employ people with IT related degrees. But just because you have a degree in some discipline of computing doesn’t mean you know jack shit that is any use to me.

The following is an example of why.

Akemi has just started a three year full time degree called ‘Internet Computing’. Let’s read the yada yada of what that actually means. From the web site:

The internet has become central to a wide range of commercial, educational, and leisure activities.  As a result, the internet is used directly by a diverse collection of individuals and organisations, with different requirements and priorities.  This course provides knowledge and understanding of the architecture and design of web-based systems and web development tools.  it also provides skills that underpin the development and evaluation of collaborative and interactive web sites in commercial settings.

Nope, I’ve got no idea what that means. Currently she’s learning about ARM Processor architectures and Java and bash scripts and management techniques! So today she’s asking about aliases. I rarely use aliases (I don’t like having commands working on one machine that don’t work on another) so I give my stock response.

Her: I can’t get this alias to work

Me:  No idea, google it

Her: Not allowed to, we must use man

I google it

Me:  Do this

Her: How did you find that out?

Me:  I googled it.

Her: I am not allowed to do that. I must use man

Now what sort of goddamn computing course forces you to search ‘man’ for answers whereas you can find informed, understandable, easy to read answers virtually anywhere else. man was useful for finding out information approximately never. OK, OK – you could argue that before widespread availability of the Internet, man had a part to play. But you’re wrong. I remember back in the early 90’s sitting with a hulking big professionally published and printed copy of Linux How-to’s, tutorials etc because ‘man’ was no bloody use. I think ‘man’ was named by a woman as a jibe. It has all the information you want but it’s bloody impossible to make any use of it.

Have you ever tried to get anything useful out of man? Try it.

Let us turn to our most loved bible of computing misanthropy, The UNIX- HATERS Handbook. Click here for a downloadable pdf and treasure it for ever. If you don’t laugh A LOT you’re probably dead. Anyway, back to ‘man’. What does this book that was written in 1994 have to say about ‘man’?

man was great for its time. But that time has long passed.

That was in 1994. Here we are, in 2009, and computing courses (Internet computing courses, for the love of all that is holy!) are teaching their students to use ‘man’. By the way, there’s a whole chapter in that book about documentation, it’s great.

Where was I? Oh yes, IT related degrees.

This ability of Universities to provide minimum useful information but excel in modern techniques of Arse Hattery is stupendous. Now I can’t blame the Universities completely because really, whether people have degrees or not in computing doesn’t have any effect that I can see on whether they can ‘do it’ or not. But when your teaching material is so far removed from real life (unless your goal in life is to write man pages) what is the fucking point? Teach something that is useful. In some ways these degrees are the worst things that can happen because you’re making people think they actually know something about the real world requirements of computing. I remember years ago arguing with a newly indoctrinated graduate about how to tackle a certain issue. My years of experience were no match for their shiny little degree certificate although I assume their management technique training did give them more gravitas that my rather to the point ‘fuck off’.

Now some disclaimers. I assume there are good and bad Universities, courses, lecturers etc. It is very likely that within this world medicore programmers are being educated and improved. My two favourite programmers both have degrees (although only one has an IT related one). But when I get a CV I have no idea what side of the divide you are. I can find that out by talking to you and working with you. And at that point, I really don’t care about degrees.

 And no, I don’t have a degree.

>Mighty Mouse – The emperor has no clothes

>

I admit it. I am gullible, easily manipulated and just a plain old Apple fan boy. Since they came out, I’ve been a Mighty Mouse user, blinded by it’s ergonomics and usual Apple charm. But over all these years it has suffered from one unredeemable problem. It’s pants, crap, shit, bollox. Call it what you like. Any mouse that has a scroll wheel (OK, OK, scroll nipple) which won’t scroll for more than a couple of days without then starting to fail is broken. And yes, when it starts to fail after your two day period of bliss it will fail repeatedly every couple of jesus hair pulling hours.

Yes, I know every BLOODY one of the different ways to get scrolling again. There are whole bloody communities founded on trying to get the things to work for – well, you know – an afternoon would be nice. They’re like the alchemists of old, searching for how to get gold from this lump of god damn useless lead and pissing their lives against the wall in the process. Guess what? I don’t want to spend every couple of hours dousing it with tabasco, rolling it over Indonesian virgins’ thighs or planting it in an organic phase matter transmuter alligned to the lost civilisation of “Are we fucking there yet?”. I want the damn fucking thing to fucking scroll!! In both directions. For more than an hour. Is it so FUCKING HARD!??

So goodbye mighty mouse. I have three wireless mice on this desk. All Logitech. They all work. Repeatedly. My latest is a Logitech V470 which arrived today for my Mac to replace the previous insult on practicality. Go and look at the top reviews on the Amazon page. Who wrote them? Bloody mac users fed up with the bloody shitey mouse. And it’s a damn site cheaper than the Apple crap.

Fix the bloody thing already Apple. It’s shite.

>The importance of developers working with clients

>

Douglas Crockford says in Peter Seibel‘s excellent Coders At Work:

The place where I found that to be most effective was taking testing, sort of, to the ultimate: going to visit customers. I did some of that early in my career and that was a great experience, having to go live with a customer for a week, helping them to install a new system, and helping them to work out the problems with using it.

It gave me a huge amount of insight into what it’s like to actually use our stuff and what I want to be doing for the benefit of the people who are going to be using my stuff. Going back afterwards, developers who had not had that experience all seemed arrogant to me in a way which was completely inexcusable. The lack of respect they had for the people who used our stuff was appalling and it was basically a consequence of their having never met those people.

In my experience this has been very true. Working directly with customers ON SITE can be very painful initially (and management tend to be very wary of letting developers loose on client sites). But handled correctly it benefits everybody. From a personal point of view I love developing on site. It stops distractions, it speeds up feedback and it puts your mind into a different mode.

Oh, go and order the book now if you haven’t got it already. As a developer (on a good day) I really love the way that different people (brilliant people) have different views on good development. And if you’re not a developer, borrow a copy and leaf through. You’ll learn a little about how they tick.

>Windows 7 / Emacs / Ubuntu

>

emacs-screens-shot

The Dell is back in Windows land, with Windows 7 installed. I’m using it with the setup I detailed here and everything works as expected.

 A word about Emacs. I spent quite a bit of time over the last couple of months sorting out the mish mash of different emacs configs I had running. Now there is one config which handles everything I want it to. Whereas before I used to keep the configs in svn, this time I am using Dropbox to share the configs between Ubuntu, Windows and Mac and the .emacs (currently 211 lines long) works perfectly between all three. So when I add a keybinding or piece of emacs code into one they appear on all four machines. Losing version control doesn’t bother me so much, I rarely want to look back through versions – having everything applied immediately is much more useful.

The Ubuntu VM’s I am using on the Windows machine have Dropbox linked through the vmware shared folders. With my current setup I can create a fully working Ubuntu 8.04 environment with all my emacs customisations in less than five minutes.

If you expand that picture you’ll see it’s using ECB mode – something which I used for a few years but stopped using some time ago when I had some issues with it. Starting from the top left and going down and then across we have.

1. ECB Directories window

2. ECB Current directory window

3. ECB Methods and variables browser (showing items for the DateTime.py file)

4. ECB History Window (files recently visited)

5. DateTime.py (something I am actually editing!). Although it’s not switched on here I have flymode on which is linked to various utilities that can display PEP8 infringements or syntax errors inline.

6. DIRED view of a directory I am working in.

7. irc (#django channel on freenode)

8. Editing the hosts file. This is actually in sudo mode, using tramp. Means I can go sudo and edit a file without starting another terminal up.

The Dell’s 1920×1080 resolution makes this worthwhile. I can reboot this machine into Mandriva and have the same development environment straight away. Or switch to the Mac, Ubuntu desktop or even Ubuntu Netbook and have it all working exactly the same. Very nice.

>Printing

>

Why is it so hard to print? I have a bog standard HP Photosmart C4180 here running on an XP machine. It is shared as a windows printer.

  • Jaunty works 95% of the time. Sometimes it just stops and wants a restart before coming back to life.
  • Windows 7. Works about 50% of the time. Sometimes just nothing happens. The Windows 7 machine will sometimes think everything is fine but nothing appears on the XP machine. Sometimes it will just hang. Sometimes it will print. Usually a reboot will help.
  • Mac OS X Snow Leopard. Had to resort to the CUPS interface (http://localhost:631) just to get it to see the printer. Now seems to be working. Seems to be.
  • Son’s XP machine. Prints around 70% of the time. Same symptoms as the Windows 7 machine when it doesn’t print.

If you want to blame the XP machine, last week it was being driven off a Samba machine instead with the same issues. Everywhere I go I have the same experience. Just walking into our office and hitting the print button and having something print out feels like an extraordinary experience. I have no idea how it feels if you manage it two days in a row.

>Life with BT Broadband

>

It’s been four years since I moved back from Japan and I am still not used to the concept of ‘service’ this country has. We seem to revel in mediocrity with the odd beacon of hope shining in the darkness (thank you scan.co.uk, I appreciate you rising about the rest). In my job I like to think I will go the extra mile for a client. For example, over the last couple of weeks I have been sleeping with the mobile and switched on laptop by my head every night to help out a client whose aging hardware necessitated 24 hour care of their web site whilst a hasty migration was planned and carried out. I don’t get paid extra for this, I don’t get anything for it apart from a warm glow when people say thank you. This particular client phoned me at the end of the two weeks of hell to say thank you directly. To me, that is all we need to do. Communicate – take whatever action is necessary – and remember to say sorry and thank you at the right times.

It’s been nearly four months since I realised that my broadband speeds were more akin to last decade’s speeds. Ranting over the issues over the last three months would be pretty futile but here are some conclusions.

1. BT keeps no history of your fault. If you phone the (overseas outsourced) call centre for the fifth time you can still have the delight of being asked if you have changed your micro filters, rebooted the router, tried the BT speed tester etc etc, again and again.

2. In my case, the only cables in my village are BT, so there is no point in switching to a different provider as you’ll still get BT engineers if there’s a hardware issue. Now this will blow your mind. Any engineer that is sent comes with NO history of what previous engineers have done. NONE. I have been asked if *I* know what previous engineers have done. On top of that they must finish AND *close* the call within two hours. Yes, even if the fault isn’t rectified. Even if to rectify the call takes more than two hours.

3. They have a Twitter ID called BTCare. My latest update from them last night (as my broadband tops out at 60KB/s) and after I had stayed in again for my fourth engineer visit was

Testing your line, it confirms your line can only support max speed 500KB/s. initial test indicates your Broadband performing as it should

Er yes, I WOULD LOVE 500KB/s. That’s the whole reason I am complaining for the love of anything holy! So it appears that even @BTCare don’t have any access to history of a call. If I was them, I’d be sitting there, reading the history of calls, engineer visits, terrible download speeds etc and thinking – god, this is bad, we should do something about this. But no, looks like the new reaction is “We can’t see anything wrong sir”. Maybe they’d like me to replace my micro filters again. Or I could phone the BT help desk and they can ask me if I am plugged into the test socket.

4. BT have no concept that asking your customers repeatedly to be around for Engineer visits is actually not that easy. On at least one occasion I stayed in only to find out at the end of the day the engineer wasn’t going to visit and was working at the exchange instead. Once I stayed in to the last moment before I had to drive down south to pick my mother up. End result we ended back at Chester at 10pm instead of 5pm, and no, the broadband was still slow. On one noticeable occasion, Akemi had been in when the engineer visited, after we left we found broadband wasn’t working at all. This was traced back to the router not being plugged in again. The speed was fine for less than 24 hours after reconnection.

How on earth does anyone get anybody to pay any attention to an issue in this country? Do we have to take legal action? Report people to their official overseeing bodies? How much time does that take? Why on earth can’t I just say “There’s a problem” and somebody fixes it? Is it too much to ask for?

Update Sunday 26th July

Just been asked by BT:

I am looking into this further to see what the problem is.I hate to ask but have you tried usuall diagonstics,ie filters,router,test socket

Hahahahaha – bonk

>scan.co.uk good … laptopstuff.co.uk bad

>

If you ever decide to buy something from laptopstuff.co.uk, good luck. Having been asked to provide proof of my billing address as the card company claimed they didn’t know it (um, I’ve lived there three years), I scanned the documents, sent them in and was still ignored. After venting after three days (I had asked for next day delivery originally) I was informed cheerfully the goods were not in stock and would I like to change the order. It took them over a day to acknowledge that no, I was cancelling the order immediately.

In effect they lied, asking for proof of billing to delay, whilst waiting for goods to come into stock. Absolutely pathetic. And as one of those new modern companies who don’t take phone calls in order to cut costs and give you the “best price”, you’ll happily shout into a vacuum.

On the other side of the coin scan.co.uk. These people are just the business. Whenever I have ordered from them everything has gone like clockwork. Very heavily recommended. All it needs is honesty and good communication.