This had not been the post I had planned for my return to my blog but this story annoyed me too much, I have always thought I would steer clear of political issues, but for me this story is too ridiculous to avoid.
So banks can run themselves into billions of pounds of debt but because they are banks they will get bailed out by governments. Now I would be the first to admit I do not want to see a recession (especially given my new circumstances) but what kind of precedent does this set, basically it says to banks do what you want and we will always bail you out, as we have no choice!
So in case you didnt bother reading the link the UK government is prepared to buy potentially a lot of bad debt (mortgages in the UK) 50bn to be precise and give presumably (I am no expert – but banks aren’t stupid – well that is debatable at the moment) some pretty secure assets in return, leaving the tax payer with a hell of a lot of potential debt in the future [if we have sub-prime problems like the US]. Which seems pretty likely given that sub-prime mortgages are the driving force of repossessions at the moment in the UK (see http://news.bbc.co.uk/1/hi/business/7242311.stm) and according to the Financial Times 10 to 11 per cent of all mortgages made in six UK towns were made to Sub-Prime mortgages (http://www.ft.com/cms/s/0/eba43318-0d83-11dd-b90a-0000779fd2ac.html).
But to me this is not really the end of it because the UK economy is in such a bad way thanks to Gordon Brown (while he was the chancellor), the way the UK government is doing this 50bn giveaway is excluding the new debt from our national debt. Because obviously this could not be added to the national debt due to the fact that Brown (who still likes to see himself as a good chancellor) borrowed so much money because he could not pay for everything he was spending despite all of his stealth taxes. So Brown does not want to show the true state of the UK’s debt, which obviously does not include over 1 TRILLION POUNDS worth of debt the public are in (see http://news.bbc.co.uk/1/hi/magazine/6954817.stm and http://news.bbc.co.uk/1/hi/business/5128220.stm and http://news.bbc.co.uk/1/hi/business/3935671.stm) apart from that the UK economy is in great shape.
I realise Gordon Brown is no longer the Chancellor but Darling is a mere puppet as he can’t do anything to damage Brown’s premiership, which to me is so damaged is untrue, in fact earlier this week he was voted the worse Prime Minister in 70 years.
I haven’t even touched on the Royal Bank of Scotland’s decision to bail themselves out of debt by asking shareholders to buy more shares (http://news.bbc.co.uk/1/hi/business/7353774.stm), what sane person would consider that?
Anyway sorry for the rant normal service will be resumed on my next blog post I promise, and hopefully some better English but its late and I had to get this off my chest!
Posted in Uncategorized | Tagged Credit Crunch, Economy, Gordon Brown, UK Government | Leave a Comment »
I am sorry for my long absence, it was not planned but more enforced, to begin with I was in a position where I was party to information I could not discuss within my current employer, although I probably could have easily avoided discussing it. My big problem was it resulted in me setting up my own company and consequently I have worked stupid hours the last few months. I have also had a very steep learning curve, suffice to say I think I am finally set-up as a company, I have my accounts set-up in Sage and things are progressing nicely although I will need more paying work soon.
Basically the company I had been working for, for reasons I won’t go into were forced into a split and effectively if you include my company in the split, three new companies were formed. This was potentially good for me as the system that the original company used (that I wrote) looked like it would be needed by the other two companies unfortunately it looks like only the original company and one of the new companies will need it. This means I probably no longer have enough work till the end of the year, which at the beginning of the year had looked likely. But that is life and I am excited about the possibilities that have opened up to me as a result of this. I now run my own company which I had often dreamt of doing but never had the guts of starting, so now I just have to make it work.
I am planning to try and make semi-regular blog posts at least once a week, and I will try to make them on the original topics I had planned but given my new circumstances I can see me discussing problems I have experienced in setting up and running my own company.
Posted in Running a company | 1 Comment »
Last weekend while still suffering with the nasty bug that has been sweeping the UK I spent the time getting an old laptop running again, a colleague had got me interested in the Asus Eee, I have wanted a lightweight laptop to do blogging on, while I am watching the TV for a while; and he reignited my interest in bringing an old laptop (Satellite 2140CDS) back to life.
I’ve lost a lot of time trying to revive this thing but something odd happened this time, when I turned it on, it booted up into DSL which I had spent most of my time trying to get to work last time, even though it had resulted in an error when installing it. The problem was I couldnt get my network card to work, so I went through the distributions I tried last time, DSL, DSL-N, Puppy and Xubuntu. This time I got some success with Xubuntu.
One of the problems I ran into was the Terminal would crash X windows when I tried to open it, and given that I was trying to change the resolution of my screen as for some reason it was set to 600×480 and no panel was running so I did not have access to the applications menu, the terminal was an essential tool, luckily I could use xterm. I love it when you try and get one thing working and you have to solve something else before you can do what you actually want to do; it reminds me of programming.
Luckily I found the answer to this problem fairly quickly; which required me to change the colour depth from 24 to 16 in xorg.conf. Cool one problem solved now back to solving the issue of the resolution, which was as simple as reconfiguring X Windows.
So my laptop is now running Xubuntu the problem is I still have not got it working 100%, as I just can’t get my network card working, I have both a Wired and Wireless PCMCIA card and Xubuntu just wont recognise either. As I always seem to find with Linux some things are easy and others can be just plain irritating but I will persevere. The good thing about this post is that it has helped me think about what the likely problems are and it sounds like PCMCIA is not actually working and I have found the following advice to get it working.
If anyone has any other suggestions on how to get the network card running they will be gratefully received.
Posted in Uncategorized | Tagged Linux, Xubuntu | Leave a Comment »
Confession I am a moron!
I know copy and paste is a poor excuse for programming, but I still do it. Why do I do it? I use the excuse that it’s quicker but who am I kidding it’s not.
In Code’s Worst Enemy, Steve Yegge says that every programmer has to learn the copy and paste lesson the hard way and he is definitely right:
Computers make copy-and-paste really easy, so every programmer falls into the trap once in a while. The lesson you eventually learn is that code always changes, always always always, and as soon as you have to change the same thing in N places, where N is more than 1, you’ll have earned your scar.
I guess I still use copy and paste because I am just being lazy; I don’t what to have to think about designing for reuse but let me tell you a story where I truly earned my scar.
A few years ago I began writing what has turning into a major project one of the tasks I had to do was create Excel files programmatically, I did this using SpreadsheetML that was introduced in Excel XP (2002 or whatever the hell you want to call it). Once I had produced one class that generated the excel file along came a new requirement for another file which was slightly different. So what do I do? I copied and pasted the entire class, big mistake. (To be fair I did think about writing for reuse but I thought it would take me too long to do it) But wait it gets worse so much worse, I didn’t just do this twice; I did it again, and again and AGAIN.
The result five classes that were all doing effectively the same thing and it was impossible to justify the time to fix this hack which meant I was stuck with this code for the foreseeable future. I dread to think how many times I had to modify some or all of those classes and each time I did, I cursed my stupidity for not taking the time and designing for reuse, because overall I was definitely less productive than if I had written the code properly in the first place.
Luckily around this time I was doing research into improving the security of software and realised this was an ideal case study, so it was a win-win situation; the client got an improved version of the code for free and I got to clean up some code that I was truly embarrassed about. The code that I produced is much cleaner uses one class to produce the SpreadsheetML and the other classes use this class to create the file based on their specific needs. Hmmm, that sounds like basic programming to me!
The problem is I still copy and paste, never to that extent but I still do it, however from this point forwards I refuse to ever allow myself to use copy and paste again.
Posted in Programming | Tagged Bad Practices, Copy and Paste, Programming | Leave a Comment »
So for those of you who are in my shoes and need to update your CV, check out ten tips for a (slightly) less awful resume, it is a highly entertaining read and I can’t recommend it enough. What I love about it, is the complete overuse of profanity that had me in stitches, see what do I know?
He has a great story about putting stupid things on your CV, which I won’t spoil for you. My worst is stating I had developed “a faulty intranet”, rather than “a faculty intranet”. Luckily the interviewer that pointed it out saw the funny side of it, I was quite embarrassed.
Right I promise I will get out a post about programming at some point before the end of this week as I know I haven’t done much blogging about that in a while. But I have several posts I have been working on, that I just seem unable to finish at the moment, although to be fair I haven’t been trying that hard.
Posted in Uncategorized | Tagged CV, Profanity, Resume | 1 Comment »
Robert Scoble has a great post about surviving a possible recession next year. It struck a chord with me because I am having to think about my future at the moment and one of the things that I am taking into account is a recession.
Personally I have to say I think a recession is inevitable. Unfortunately my current contract is due to end early next year and I am currently looking at my options, I have a number of ideas floating about at the moment.
One of which involves me starting up my own company and going contracting, I think joining a new company and contracting are probably just as risky in a recession and I have often thought about contracting but never had the guts to do it, the current climate is making me think less about the risks.
Other things I would like to do is get into writing for magazines such as SQL Server Magazine and MSDN magazine. My final idea is to create a Pro account at Smug Mug and try and sell some of my photos as I am an avid amateur photographer.
These are some of the things I am doing to diversify. What are you doing to lessen the risks of a recession to you?
Posted in Uncategorized | Tagged Economy, Recession | 4 Comments »
Ok here is an unusual post for me but this week I seem to have read a lot of blog posts with over use of profanity and it got me thinking, now I have no objection to the use of swear words but I do think some people tend to use a lot of profanity when other words would have more impact. I think sometimes a swear word can help to emphasise a point but in writing I would still look for alternative words.
Maurice Broaddus writes:
I know folks who use their naughty words to shock or show how hardcore they are, ironically missing the fact that frequent use of their (limited) hardcore vocabulary lessens the impact of the words.
Now I should say before I get lots of comments like “pot kettle black”, “how do you have the nerve”, from friends and family. I do use some colourful language verbally, although I think I am getting better, mind you according to a study I am helping to boost morale in the workplace, well that’s just, erm… can’t possibly swear in this post
, a load of rubbish if you ask me.
I don’t know I just think we have a great language why not use it fully especially in writing, maybe its just me and I should get a life. Oh and to, said friends and family, you can moan at me if I swear too much from now on.
So a question for you is it just me or do you agree?
Posted in Uncategorized | Tagged Language, Profanity | 2 Comments »
Fasthosts have taken a beating in the news recently, (BBC News, The Register – comments) what I find funny about this is I think they were just protecting their customers after their systems had been hacked into by crackers, but this is not what they are getting hammered for (well it is but the latest furore isn’t) its because they decided to reset those customers passwords who had not reset them since the attack.
In my opinion this was the right decision however what they should be taking a beating for is; how long it took them to reset their customer’s passwords (the hack took place around the 18th October and they reset the passwords on the 7th December but issued a warning on the 30th November), to be fair they did do this to try and give the customers a chance to change their passwords (and those that did were not affected by the global reset) but surely 3 weeks is too long.
The other odd thing they did was they sent out the new password via snail mail, obviously there are some issues sending passwords out via email but if it was me I would have been happy about that, as I would have changed it the second I got the email, well I would have changed it the second I found out about the compromise.
You have to remember that Fasthosts is used by small businesses so the majority of businesses that use Fasthosts probably do not have IT staff, which then comes down to the age old problem of educating users (see Schneier Educating Users or Ranum’s brilliant article The Six Dumbest Ideas in Computer Security both are quite old articles but both are worth reading if you missed them first time round.
To quote Ranum:
“if it was going to work, it would have worked by now”
Posted in Security, Users | Tagged Security, Users | Leave a Comment »
When I first started programming I learnt what I thought was a very nifty trick; using the compiler to tell me where the problems were in my program. I even did it when I knew where the problems were. To me this seemed like a perfectly sensible thing because why look at the code when the compiler could do my job for me. But the problem with this is the compiler is only ensuring the program is syntactically correct not that it works. Even though I knew this I was still happy to do it. I would always think “I will come back and fix this later” but of course I never did until a user encountered the bug or I did in testing.
Thankfully I learnt a long time ago that this practice actually cost me more time than I saved by misusing the compiler.
Whittaker and Voas talk about how compilers have helped to decrease the quality of software in their paper 50 Years of Software: Key Principles for Quality. They state that in the early years of computing that software quality was a lot higher, in the 50s this was the result of the people who were writing programs at this time “physicists and mathematicians” “rigorously documented, peer-reviewed, and implemented mathematical proofs”. In the 60s, there was typically only one computer that allowed programmers to compile their work and time on these machines had to be booked well in advance and a failure of a program to compile resulted in lengthy delays for the programmer and as a result of “this painful compilation process kept programmers at their office desks – checking, soliciting peer review, and reading, rereading, their cards (the code) until they had exhausted every available avenue of review”. However it was in the late 70s that compilers became available on every PC and consequently “compilation was available any time a programmer wanted a quick syntax check”, and it became all too easy to assume all is well once a program has successfully compiled.
Another reason why I do not do this now is because I have developed various tools to aid me in my job, one such tool; automates some of the repetitive code that I have to write, I will discuss this tool in a future blog post. Because this tool speeds up my development it helps me to concentrate on ensuring that the code I am writing does what it is supposed to.
I truly believe that as programmers we need to develop/buy tools to help us to perform our jobs better, but it is important not to rely on these tools, as otherwise we may start abusing them. Michael Howard discusses this in his blog post code scanning tools do not make software secure:
The tools we have included in Visual Studio 2005, are very useful, but they are no replacement for human intellect. If a developer does not know how to code securely, or if a designer does not know how to design secure systems, and testers don’t know how to validate the security-posture of code, tools will provide little, if any, help.
He goes on to say:
Don’t get me wrong, source code analysis tools find real bugs, and they are very useful. I love code analysis tools but I refuse to allow developers at Microsoft, or anywhere else for that matter, to believe that such tools will fix the core problem of developers writing insecure code.
I am a great believer in producing good quality software and as developers we must use tools for the purpose they were meant for, not ones that help us to cut corners, in our heart we know whether what we have produced is a hack or the best solution we could have produced at that time (even if in six months it looks like a hack). That said sometimes a hack is necessary but we have to realise that, that hack will probably survive a long time and may end up causing us problems further down the road.
Posted in Programming, Tools | Tagged Compilers, Programming, Tools | 1 Comment »
I recently had a conversation with one of my users that shocked me so much (more on that later) that it convinced me to invest in some usability books. These days, I have started to buy books only based on recommendations so I checked out Jeff Atwood’s recommended reading list. Of that list I added three more books to my ever expanding book collection.

Two of which relate to usability (Don’t Make Me Think: A Common Sense Approach to Web Usability and The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity) the other (The Pragmatic Programmer) looks like the type of stuff I want to address on this blog, so another perfect addition to my collection. The book I want to talk about though is Steve Krug’s book Don’t Make Me Think: A Common Sense Approach to Web Usability. Unusually for me the day I received it I sat down and made a real effort to read the book, although the great thing about it, is its quite a short book and could easily be read in half a day. As I was reading the book I actually stopped and wrote my first blog post (this one) and then set-up my blog, simply because I read this:
“One of the things that becomes obvious as soon as you do any usability testing – whether you’re testing Web sites, software, or household appliances – is the extent to which people use things all the time without understanding how they work, or with completely wrong-headed ideas about how they work.”
This resonated with me, because it was the exact reason that caused me to buy usability books in the first place. Something in the application (that I had written) that I thought was truly obvious clearly wasn’t because the user in question just did not get it and this feature had been added about a month ago, but in reality had been around since the application was first used about a year and half ago, but the only person to blame was me. Krug goes on to say:
“I’ve seen lots of people use software and Web Sites effectively in ways that are nothing like what the designers intended.”
Well that’s good at least it’s not just me that runs into this problem, and it is a fundamental problem with programmers. But how can we address this? Well the ironic thing about Krug’s book is most of what he talks about I take for granted as a user but apply none of the concepts when I program, in fact Krug discusses this early on in his book:
“The good news is that much of what I do is just common sense, and anyone with some interest can learn to do it.”
And carries on:
“Like a lot of common sense though its not necessarily obvious until after someone’s pointed it out to you.”
I personally believe Krug’s book should be on every single programmers book shelf, if you do buy the book, do yourself a favour and buy Information Architecture for the World Wide Web, I know I will be but only to replace the copy that I never got back after lending to someone. Over the next few days I will put together my own recommended reading list and would be interested to hear of other books that other people think are essential reading.
Posted in Programming, Usability | Tagged Books, Usability, Users | Leave a Comment »