<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CU4MR3g5fCp7ImA9WxBWFU4.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884</id><updated>2010-02-07T09:13:06.624Z</updated><title>Ian J Cottee</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.cottee.org/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.cottee.org/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>50</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/cotteeblog" /><feedburner:info uri="cotteeblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;AkIDSXw6eCp7ImA9WxBWEUk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-659426771302558315</id><published>2010-02-02T21:51:00.002Z</published><updated>2010-02-02T22:09:38.210Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-02T22:09:38.210Z</app:edited><title>More code from the pros</title><content type="html">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.&lt;br /&gt;&lt;br /&gt;Oh my god. &lt;br /&gt;&lt;br /&gt;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'. &lt;br /&gt;&lt;br /&gt;Hang on - pain in the eyes.&lt;br /&gt;&lt;br /&gt;OK. Back. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Unfortunately, you're still a wank stain. C'est la vie.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-659426771302558315?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/659426771302558315/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=659426771302558315" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/659426771302558315?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/659426771302558315?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/S8-GF75-ufc/more-code-from-pros.html" title="More code from the pros" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2010/02/more-code-from-pros.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QBQX0_fip7ImA9WxNVE0U.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-9008157997953595668</id><published>2009-10-24T11:49:00.001+01:00</published><updated>2009-10-24T11:49:10.346+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-24T11:49:10.346+01:00</app:edited><title>Snow Leopard and 32bit 64bit Psycopg woes</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;span&gt;Ah yes, let's quickly do some work this morning. How soon that turns into watching multiple parts of your development environment fail. &lt;br/&gt;&lt;br/&gt;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. &lt;br/&gt;&lt;br/&gt;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. &lt;br/&gt;&lt;br/&gt;&lt;code&gt;    jlp:~ icottee$ defaults write com.apple.versioner.python Prefer-32-Bit -bool yes&lt;/code&gt;&lt;br/&gt;&lt;br/&gt;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:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;    export CC="gcc -arch i386"&lt;/code&gt;&lt;br/&gt;&lt;br/&gt;Now you reinstall psycopg2 and wahey you can at last get on with what you were supposed to be doing. &lt;br/&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=3655362a-575d-8178-a64f-4d46aec76dcf' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-9008157997953595668?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/9008157997953595668/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=9008157997953595668" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/9008157997953595668?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/9008157997953595668?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/CDDioIwOQ7E/snow-leopard-and-32bit-64bit-psycopg.html" title="Snow Leopard and 32bit 64bit Psycopg woes" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2009/10/snow-leopard-and-32bit-64bit-psycopg.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUCQHk_cSp7ImA9WxNWGEs.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-820007291579576766</id><published>2009-10-18T11:37:00.001+01:00</published><updated>2009-10-18T11:37:41.749+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T11:37:41.749+01:00</app:edited><title>Why I don't care if you have a computing degree or not</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I have a real problem which I am aware of and compensate for, but it exists. &lt;br/&gt;&lt;br/&gt;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. &lt;br/&gt;&lt;br/&gt;The following is an example of why. &lt;br/&gt;&lt;br/&gt;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:&lt;br/&gt;&lt;blockquote&gt;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.&lt;br/&gt;&lt;/blockquote&gt;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. &lt;br/&gt;&lt;blockquote&gt;Her: I can't get this alias to work&lt;br/&gt;&lt;br/&gt;Me:  No idea, google it&lt;br/&gt;&lt;br/&gt;Her: Not allowed to, we must use man&lt;br/&gt;&lt;br/&gt;I google it&lt;br/&gt;&lt;br/&gt;Me:  Do this&lt;br/&gt;&lt;br/&gt;Her: How did you find that out?&lt;br/&gt;&lt;br/&gt;Me:  I googled it.&lt;br/&gt;&lt;br/&gt;Her: I am not allowed to do that. I must use man&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;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 &lt;b&gt;never&lt;/b&gt;. 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. &lt;br/&gt;&lt;br/&gt;Have you &lt;b&gt;ever&lt;/b&gt; tried to get anything useful out of man? Try it. &lt;br/&gt;&lt;br/&gt;Let us turn to our most loved bible of computing misanthropy, The UNIX- HATERS Handbook. Click &lt;a href='http://web.mit.edu/%7Esimsong/www/ugh.pdf'&gt;here&lt;/a&gt; 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'?&lt;br/&gt;&lt;blockquote&gt;man was great for its time. But that time has long passed.&lt;br/&gt;&lt;/blockquote&gt;That was in 1994. Here we are, in 2009, and computing courses (&lt;b&gt;Internet &lt;/b&gt;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.&lt;br/&gt;&lt;br/&gt;Where was I? Oh yes, IT related degrees. &lt;br/&gt;&lt;br/&gt;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'. &lt;br/&gt;&lt;br/&gt;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.&lt;br/&gt;&lt;br/&gt; And no, I don't have a degree.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=cb96b445-6a18-8a2c-8f44-d7c7c871b047' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-820007291579576766?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/820007291579576766/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=820007291579576766" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/820007291579576766?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/820007291579576766?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/19AqxwxUJMY/why-i-don-care-if-you-have-computing.html" title="Why I don&amp;#39;t care if you have a computing degree or not" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://blog.cottee.org/2009/10/why-i-don-care-if-you-have-computing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EDRnY8eCp7ImA9WxNWFE8.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-1807672502374642845</id><published>2009-10-13T11:27:00.003+01:00</published><updated>2009-10-13T11:27:57.870+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-13T11:27:57.870+01:00</app:edited><title>Mighty Mouse - The emperor has no clothes</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I admit it. I am gullible, easily manipulated and just a plain old Apple fan boy. Since they came out, I've been a &lt;a href='http://www.apple.com/mightymouse/'&gt;Mighty Mouse&lt;/a&gt; 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.&lt;br/&gt;&lt;br/&gt;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!??&lt;br/&gt;&lt;br/&gt;So goodbye mighty mouse. I have three wireless mice on this desk. All Logitech. They all work. Repeatedly. My latest is a &lt;a href='http://www.amazon.co.uk/Logitech-Wireless-Bluetooth-Laser-Laptop/dp/B000T5IUTO/ref=sr_1_3?ie=UTF8&amp;amp;s=electronics&amp;amp;qid=1255429160&amp;amp;sr=8-3'&gt;Logitech V470&lt;/a&gt; which arrived today for my Mac to replace the previous insult on practicality. Go and look at the top reviews &lt;a href='http://www.amazon.co.uk/Logitech-Wireless-Bluetooth-Laser-Laptop/dp/B000T5IUTO/ref=sr_1_3?ie=UTF8&amp;amp;s=electronics&amp;amp;qid=1255429160&amp;amp;sr=8-3'&gt;on the Amazon page&lt;/a&gt;. Who wrote them? Bloody mac users fed up with the bloody shitey mouse. And it's a damn site cheaper than the Apple crap. &lt;br/&gt;&lt;br/&gt;Fix the bloody thing already Apple. It's shite.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=f0ab4478-ae6c-8c26-95fa-fbef296eafa1' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-1807672502374642845?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/1807672502374642845/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=1807672502374642845" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1807672502374642845?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1807672502374642845?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/NFy3OynpBrc/mighty-mouse-emperor-has-no-clothes.html" title="Mighty Mouse - The emperor has no clothes" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.cottee.org/2009/10/mighty-mouse-emperor-has-no-clothes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQBQX0yeyp7ImA9WxNXFkk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-4585681509398408787</id><published>2009-10-04T09:52:00.001+01:00</published><updated>2009-10-04T09:52:30.393+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-04T09:52:30.393+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="development" /><title>The importance of developers working with clients</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;a href='http://www.crockford.com/'&gt;Douglas Crockford&lt;/a&gt; says in &lt;a href='http://gigamonkeys.com/blog/'&gt;Peter Seibel&lt;/a&gt;'s excellent &lt;a href='http://www.codersatwork.com/'&gt;Coders At Work&lt;/a&gt;:&lt;br/&gt;&lt;blockquote&gt;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. &lt;br/&gt;&lt;br/&gt;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.&lt;br/&gt;&lt;/blockquote&gt;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. &lt;br/&gt;&lt;br/&gt;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. &lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=7f09ca5c-5bd9-8fcc-9bcd-94cc6eceb7c7' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-4585681509398408787?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/4585681509398408787/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=4585681509398408787" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4585681509398408787?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4585681509398408787?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/AEpsBzRzoY8/importance-of-developers-working-with.html" title="The importance of developers working with clients" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2009/10/importance-of-developers-working-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MGQXY6fip7ImA9WxNXFEw.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-4073362460420832865</id><published>2009-10-01T18:49:00.000+01:00</published><updated>2009-10-01T18:50:20.816+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-01T18:50:20.816+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="hardy" /><title>Windows 7 / Emacs / Ubuntu</title><content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/zobbo/3971672619/sizes/o/" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 5px; display: inline; border-top: 0px; border-right: 0px" title="emacs-screens-shot" border="0" alt="emacs-screens-shot" align="left" src="http://lh3.ggpht.com/_CWGtck4wwhI/SsTnZko8I0I/AAAAAAAAD_8/swlxclRMWpY/emacs-screens-shot%5B4%5D.png?imgmax=800" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Dell is back in Windows land, with Windows 7 installed. I’m using it with the setup I detailed &lt;a href="http://blog.cottee.org/2008/05/linux-vmware-vista-useful.html"&gt;here&lt;/a&gt; and everything works as expected. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CWGtck4wwhI/SsTnYnTmmLI/AAAAAAAAD_0/uyepcFGg7Ks/s1600-h/emacs-screens-shot%5B3%5D.png"&gt;&amp;#160;&lt;/a&gt;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 &lt;a href="https://www.getdropbox.com/home"&gt;Dropbox&lt;/a&gt; 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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;1. ECB Directories window&lt;/p&gt;  &lt;p&gt;2. ECB Current directory window&lt;/p&gt;  &lt;p&gt;3. ECB Methods and variables browser (showing items for the DateTime.py file)&lt;/p&gt;  &lt;p&gt;4. ECB History Window (files recently visited)&lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;6. DIRED view of a directory I am working in. &lt;/p&gt;  &lt;p&gt;7. irc (#django channel on freenode)&lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;The Dell’s 1920x1080 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. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-4073362460420832865?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/4073362460420832865/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=4073362460420832865" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4073362460420832865?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4073362460420832865?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/Hd7ErFoRnSQ/windows-7-emacs-ubuntu.html" title="Windows 7 / Emacs / Ubuntu" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.cottee.org/2009/10/windows-7-emacs-ubuntu.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUINQnwzfSp7ImA9WxNXEkk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-4831405286567584839</id><published>2009-09-29T17:59:00.001+01:00</published><updated>2009-09-29T17:59:53.285+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-29T17:59:53.285+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="computers" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="witterings" /><category scheme="http://www.blogger.com/atom/ns#" term="osx" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><title>Printing</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;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. &lt;br/&gt;&lt;ul&gt;&lt;li&gt;Jaunty works 95% of the time. Sometimes it just stops and wants a restart before coming back to life. &lt;br/&gt;&lt;/li&gt;&lt;li&gt;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. &lt;br/&gt;&lt;/li&gt;&lt;li&gt;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. &lt;br/&gt;&lt;/li&gt;&lt;li&gt;Son's XP machine. Prints around 70% of the time. Same symptoms as the Windows 7 machine when it doesn't print. &lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;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. &lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=ef8ef95c-e768-83bf-9500-4aead1c92b34' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-4831405286567584839?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/4831405286567584839/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=4831405286567584839" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4831405286567584839?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4831405286567584839?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/BW8N23FaUZA/printing.html" title="Printing" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2009/09/printing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EBSX05fip7ImA9WxJbFk0.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-4230533073364764843</id><published>2009-07-25T09:02:00.001+01:00</published><updated>2009-07-26T11:54:18.326+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-26T11:54:18.326+01:00</app:edited><title>Life with BT Broadband</title><content type="html">&lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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 &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Testing your line, it confirms your line can only support max speed 500KB/s. initial test indicates your Broadband performing as it should&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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? &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Update Sunday 26th July&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Just been asked by BT:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;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&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Hahahahaha - bonk&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-4230533073364764843?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/4230533073364764843/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=4230533073364764843" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4230533073364764843?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4230533073364764843?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/54iKP09BpF0/life-with-bt-broadband.html" title="Life with BT Broadband" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blog.cottee.org/2009/07/life-with-bt-broadband.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMNQnY4cSp7ImA9WxJbFU0.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-1774519041608065766</id><published>2009-07-25T08:38:00.001+01:00</published><updated>2009-07-25T08:38:13.839+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-25T08:38:13.839+01:00</app:edited><title>scan.co.uk good … laptopstuff.co.uk bad</title><content type="html">&lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-1774519041608065766?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/1774519041608065766/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=1774519041608065766" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1774519041608065766?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1774519041608065766?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/WZMQod1SNHQ/scancouk-good-laptopstuffcouk-bad.html" title="scan.co.uk good … laptopstuff.co.uk bad" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2009/07/scancouk-good-laptopstuffcouk-bad.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcGRHczcSp7ImA9WxJbEEw.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-2626821381110122810</id><published>2009-07-19T11:56:00.001+01:00</published><updated>2009-07-19T16:40:25.989+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-19T16:40:25.989+01:00</app:edited><title>Jaunty – Compiz – Emerald – Dell Studio 15"</title><content type="html">&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CWGtck4wwhI/SmL7eeHlJBI/AAAAAAAAD_M/WjM7Zfts7n8/s1600-h/IMG_0235%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="IMG_0235" border="0" alt="IMG_0235" align="left" src="http://lh3.ggpht.com/_CWGtck4wwhI/SmL7fEAYfuI/AAAAAAAAD_Q/Ft7djeYmwZU/IMG_0235_thumb%5B1%5D.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; I hate Dell with a loathing that is hard to put into words. Nevertheless, I now have a Dell laptop. I love screen space and this 15” monitor has a 1920x1050 screen. Portable (it’s bigger but lighter than my MBP) and with a great screen resolution it’s great for developing. &lt;/p&gt;  &lt;p&gt;Build wise it sucks. A lot of keyboard flex which doesn’t bother me but doesn’t say much about quality. The surround around the screen is also very flexible. It also has NO indicator lights for wifi / hard disk / pretty much anything. Very sparse. It came with Vista, which lasted for ten minutes (just long enough to check the laptop worked) before I wiped it and put Jaunty on. The lid design has been roundly mocked by my colleagues and my eldest daughter. Personally I like it although it does have the look of have being vomited on. The overall look of the laptop is slabish. If I hadn’t used the name ‘pig’ for the little NC10, I would have given the name to this laptop but for less affectionate reasons. Here are the basic specs:&lt;/p&gt;  &lt;p&gt;&lt;tr&gt;&lt;td bgcolor="DFECFA" width="20%"&gt;&lt;font size="1" face="arial"&gt;Base      &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;td bgcolor="DFECFA" width="45%"&gt;&lt;font size="1" face="arial"&gt;&lt;b&gt;Intel® Core 2 Duo Processor P8600 (2.40Ghz, 3MB, 1066MHz)&lt;/b&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="FFFFFF" width="20%"&gt;&lt;font size="1" face="arial"&gt;Memory      &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;td bgcolor="FFFFFF" width="45%"&gt;&lt;font size="1" face="arial"&gt;&lt;b&gt;4096MB 800MHz Dual Channel DDR2 SDRAM [2x2048]&lt;/b&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="DFECFA" width="20%"&gt;&lt;font size="1" face="arial"&gt;Keyboard      &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;td bgcolor="DFECFA" width="45%"&gt;&lt;font size="1" face="arial"&gt;&lt;b&gt;Internal UK/Irish Qwerty Keyboard&lt;/b&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="FFFFFF" width="20%"&gt;&lt;font size="1" face="arial"&gt;Video Card      &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;td bgcolor="FFFFFF" width="45%"&gt;&lt;font size="1" face="arial"&gt;&lt;b&gt;512MB ATI Mobility RADEON HD 4570&lt;/b&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="DFECFA" width="20%"&gt;&lt;font size="1" face="arial"&gt;Hard Drive      &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;td bgcolor="DFECFA" width="45%"&gt;&lt;font size="1" face="arial"&gt;&lt;b&gt;500GB (5.400rpm) SATA Hard Drive&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CWGtck4wwhI/SmL7hG3iaJI/AAAAAAAAD_U/TRlDdk2OUL8/s1600-h/Screenshot-1%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Screenshot-1" border="0" alt="Screenshot-1" align="right" src="http://lh5.ggpht.com/_CWGtck4wwhI/SmL7iCci5fI/AAAAAAAAD_Y/qvWdVX-mv28/Screenshot-1_thumb%5B2%5D.png?imgmax=800" width="244" height="139" /&gt;&lt;/a&gt; The nice thing I like about it is the Compiz environment which *is* just so much eye candy but I actually like how I interact with it. First of all, the screen resolution gives a lot of space. I can easily run emacs with two 80 column spaces side by side and have space for a couple of terminals. Yes, the machine is called ‘Picard’. Yes, it does have ST:TNG sound effects on it. Yes, I am a sad sad man. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CWGtck4wwhI/SmL7qwcZN1I/AAAAAAAAD_c/Or0ijzN-VfM/s1600-h/Screenshot-2%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Screenshot-2" border="0" alt="Screenshot-2" align="left" src="http://lh4.ggpht.com/_CWGtck4wwhI/SmL7sIdNYRI/AAAAAAAAD_g/9PIY7pVkAV8/Screenshot-2_thumb%5B1%5D.png?imgmax=800" width="244" height="139" /&gt;&lt;/a&gt; The screen is set into six virtual desktops. As you can see, we go into eye candy heaven with this. I can rotate around easily just using the keys if I want, but also easy to do with a mouse or the track pad. Being able to see stuff like this works very well for quickly navigating around multiple windows and desktops. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CWGtck4wwhI/SmL7wMm9GiI/AAAAAAAAD_k/Z8130n09k0o/s1600-h/Screenshot-3%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Screenshot-3" border="0" alt="Screenshot-3" align="left" src="http://lh5.ggpht.com/_CWGtck4wwhI/SmL7xfXpjOI/AAAAAAAAD_o/isCRLqUEXWo/Screenshot-3_thumb%5B1%5D.png?imgmax=800" width="244" height="139" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;And it’s great for showing off as well ;)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-2626821381110122810?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/2626821381110122810/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=2626821381110122810" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/2626821381110122810?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/2626821381110122810?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/crmDKd1OFso/hardy-compiz-emerald-dell-studio-15.html" title="Jaunty – Compiz – Emerald – Dell Studio 15&amp;quot;" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://blog.cottee.org/2009/07/hardy-compiz-emerald-dell-studio-15.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcHSXY7fip7ImA9WxJVFEo.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-3180913703281140374</id><published>2009-06-30T21:23:00.001+01:00</published><updated>2009-07-01T19:30:38.806+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-01T19:30:38.806+01:00</app:edited><title>I hate Dell</title><content type="html">&lt;p&gt;I have only had to shout down the phone twice in my life. Once was in 2005’ish I believe. The other time was this week. Both times were to Dell, although the first time was to technical support and this time was to sales support. It’s somewhat encouraging to know that their sales support is as bad as their technical support. I assume their presales support is better otherwise they wouldn’t sell anything.&lt;/p&gt;  &lt;p&gt;So here’s the story. &lt;/p&gt;  &lt;p&gt;One of the perks of my life is hardware. I have one old client from my pre Blue Fountain days and every now and again they fit me up with a new laptop. Due to some confusion, the first order, placed on the 24th was rejected. On the 26th (having mulled some more and upgraded some of the specs (including lighting on the keyboard and bluetooth), I tried to place the order again rejected again.&lt;/p&gt;  &lt;p&gt;Approximately three hours later I suggested I use a different one of their company credit cards and I’d put in all the details myself. I also made the delivery address the same as the invoice address which I know can cause issues otherwise. I also added a digital camera to the order. To my joy, about thirty minutes late I got an order confirmation. Hoorah. Or so I thought. The confirmation page doesn’t mention the original order number but if I’d looked at the specs on the PDF it would have told me that they had issued an order for a laptop, the first spec laptop. I would have also noticed that it had no camera with it. &lt;/p&gt;  &lt;p&gt;But at 18:39 on the 26th I got a Dell order check. They gave me two internet receipt numbers. One for the first order I’d placed on the 24th and one for the last order that I actually wanted, placed a few hours earlier. Those clever Dell people. They’d realised the issue and were asking me to confirm which one I wanted. at 19:03 I replied that it was ONLY the last order I wanted. And I felt happy with the world. Sad deluded fool I am. &lt;/p&gt;  &lt;p&gt;At 21:31 on the 26th, I got another confirmation email. Odd – this was just for the camera. The order screen was still showing as the first order processing, the third order was for a camera only. The order screen for the laptop was showing the previous spec. &lt;/p&gt;  &lt;p&gt;OK, I thought, I’ll ring Dell in the morning. Oh no you won’t matey. Once you’ve placed your orders Dell will not answer their phones apart from during working hours. Worrying. Still, I’d get it sorted Monday. &lt;/p&gt;  &lt;p&gt;Sunday brought interesting news. My laptop was in production. Worrying. Even more worrying was another potential duplicate order message. This time the first order reference was for the second order I’d placed! The second order reference was a number I’ve never seen in my life and to this day I don’t know what it is. Entering it into the system gives me “We’re unable to give you an update at the moment”. I replied to this confirmation mail saying ‘DO NOT PROCESS ANYTHING, UNTIL i SPEAK TO YOU IN THE MORNING’. &lt;/p&gt;  &lt;p&gt;The next day dawned and I prepared for the joy of customer support. Lady 1. Listened patiently and explained to me that the laptop was on the first order and the camera was on the second order. OK … but the first laptop is wrong – I replied to your confirmation mail which says I have three working days to reply. I replied in 30 minutes. &lt;/p&gt;  &lt;p&gt;“Ah so sorry”, she says, but it is in production and can’t be stopped. &lt;/p&gt;  &lt;p&gt;“Sorry? Can’t be stopped!? I replied in 30 minutes!”. &lt;/p&gt;  &lt;p&gt;“So sorry sir.”&lt;/p&gt;  &lt;p&gt;What should I be doing then. &lt;/p&gt;  &lt;p&gt;“When it’s delivered you can return to us with an explanation and you can have your money refunded.”&lt;/p&gt;  &lt;p&gt;Splutter. Er, you want to make a laptop – I don’t want. Send it to me. Let me send it back to you. Then you give me the money back. And then I order the right one again!? Did I get that right?&lt;/p&gt;  &lt;p&gt;“Sorry sir, there’s nothing that can be done. “&lt;/p&gt;  &lt;p&gt;Well yes – we can do something. We can refuse to take this ridiculous situation and tell them where to put their laptops. I am not sure how long I was on the phone but by the end of it I’d been promised her senior would be calling me to see what could be done. And I was exhausted. Having somebody just repeating to you something nonsensical regardless of what you said back was exhausting. I am told my voice was clear across the breadth and depth of the Liverpool office.&amp;#160; &lt;/p&gt;  &lt;p&gt;Man 1 phoned me back. He helpfully explained that the order was too late to be cancelled and that there was nothing that could be done. Back to the order check email I went. No budging. Why did they then process PART of the third order? He didn’t know but there was nothing that could be done. I told him that a) I would reporting them to the credit card company b) I would not be accepting anything they tried to deliver to me&amp;#160; and c) I would then turn this over to the company solicitor. &lt;/p&gt;  &lt;p&gt;This resulted in a 10% discount offer. Which threw me a bit off balance. But the fact remained. It wasn’t what I ordered, they’d asked me for a confirmation which they now claimed was pointless as it was too late AND they’d tampered with the third order. Somebody had seen that order, cut the laptop off it and just gone ahead with the digital camera. That was not automated. He even had the affront to tell me that I’d placed the third order for&amp;#160; camera only. I vented. &lt;/p&gt;  &lt;p&gt;“I’m sorry sir, can you tell me what you actually want.”&lt;/p&gt;  &lt;p&gt;“I want the items on the third order. That’s all I want. Nothing else. Nothing more. Nothing less. &lt;/p&gt;  &lt;p&gt;“The third order was for a laptop as well sir!?”. &lt;/p&gt;  &lt;p&gt;Aaaaaaaaaaaaaaaghhhhhhhhh. &lt;/p&gt;  &lt;p&gt;He said he’d talk to somebody and call me back. &lt;/p&gt;  &lt;p&gt;After that call (Monday 29th, about 13:00), I realised that the prices had changed between the orders as well. I was being offered a discount but the revised order had only added a tenner to the total price, so the whole unit cost must have gone down. So it was a discount on the old price. No wonder they were so desperate to flog me the original laptop. &lt;/p&gt;  &lt;p&gt;So I awaited the call back. And waited. Today, Tuesday 30th – I phoned Dell at 17:30. “The person you wish to speak to is not available at the moment, can I ask him to call you back?”. Yes, I replied calmly. That would be nice. He has not done so yet. &lt;/p&gt;  &lt;p&gt;Watch this space. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Update 1. Tuesday 30th, 22:28 - They’ve changed the status screen for order 1 to ‘shipped’. Looks like I’ve been totally ignored so far. Will be making another call tomorrow morning unless they phone me first. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Update 2. Wednesday 1st July, 16:15 – The man I need to speak to is on another line. He will call back in 20 minutes. ‘Are you sure?’. Yes sir. No call back. &lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-3180913703281140374?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/3180913703281140374/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=3180913703281140374" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/3180913703281140374?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/3180913703281140374?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/kvXOjw_SpRc/i-hate-dell.html" title="I hate Dell" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.cottee.org/2009/06/i-hate-dell.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYGQ3c-fyp7ImA9WxJWEEg.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-1551733235190371477</id><published>2009-06-15T10:28:00.001+01:00</published><updated>2009-06-15T10:28:42.957+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-15T10:28:42.957+01:00</app:edited><title>It's coming back!!</title><content type="html">&lt;script type="text/javascript" src="http://widgets.clearspring.com/o/4a1c128fff6697d7/4a361448f5f50744/4a1c128fff6697d7/c0f02d38/widget.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-1551733235190371477?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/1551733235190371477/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=1551733235190371477" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1551733235190371477?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1551733235190371477?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/5ZdlSbWX1Kk/it-coming-back.html" title="It&amp;#39;s coming back!!" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2009/06/it-coming-back.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQEQXg6fCp7ImA9WxJRGEU.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-7400600070490994338</id><published>2009-05-21T05:31:00.001+01:00</published><updated>2009-05-21T05:31:40.614+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-21T05:31:40.614+01:00</app:edited><title>My machines</title><content type="html">&lt;p&gt;Hello. I’m not dead yet, although the current quantity of phlegm etc must suggest otherwise. As I can’t sleep and as I have just reinstalled one of my laptops AGAIN I thought I’d take the opportunity to offer some comparisons of the different machines I’m running and how they compare.&lt;/p&gt;  &lt;p&gt;There are currently five machines I use daily. Three of them are portable (yes, I've been carrying them all backwards and forwards to the office) and two of them are desktops – one at home and one at the office. Here’s what they do and what they’re running:&lt;/p&gt;  &lt;h5&gt;Quad Core Custom PC (nickname, the beast)&lt;/h5&gt;  &lt;p&gt;I built this in March for approximately 700 quid. Intel Core 2 Quad Q6600 G0 Stepping (2.4GHz 1066MHz) Socket 775 L2 8MB Cache Processor, Asus P5Q PRO P45 Socket 775 8 Channel Audio ATX Motherboard, 1TB Drive, 4GB of fast RAM, Nvidea 9800 GTX 512MB Video card. It’s got dual monitors connected to it.&lt;/p&gt;  &lt;p&gt;This dual boots Vista 64 Bit and Ubuntu 9.04. It’s an excellent gaming PC although I have little time to play on it and actually use it mostly for just multiple terminal sessions ssh’d to client machines when working from home! Having said that, when (WHEN) I have some serious time, it’s awesome for developing on. &lt;/p&gt;  &lt;p&gt;The config is also great for overclocking although on this particular machine I haven’t spent any time doing so. I’m planning on sticking Windows 7 64 Bit on here at some point in the not too near future as I do have some problems with the Vista install. On the whole though – it’s a great (and currently underutilised) machine. &lt;/p&gt;  &lt;p&gt;Oh, the cooling fans give off a lovely blue glow as well ;)&lt;/p&gt;  &lt;h5&gt;MacBook Pro (nickname, mbp – yawn)&lt;/h5&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh6.ggpht.com/_CWGtck4wwhI/ShTZGPXZU7I/AAAAAAAAD1Q/d0XiDHKnW3c/s1600-h/mbp%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="mbp" border="0" alt="mbp" align="right" src="http://lh6.ggpht.com/_CWGtck4wwhI/ShTZHAjhIkI/AAAAAAAAD1U/EaWOPZXShR0/mbp_thumb%5B1%5D.png?imgmax=800" width="244" height="144" /&gt;&lt;/a&gt; As detailed &lt;a href="http://blog.cottee.org/2008/10/macbook-pro.html" target="_blank"&gt;here&lt;/a&gt;, this is my main machine. Awesome machine, dualboots between OS X and XP although 99% of the time is just spent in OS X. At work it’s dual monitor and handles all my web browsing, itunes, emacs, textmate, mail. Everything. Also has vmware on with Ubuntu and XP virtual machines when needed. A thing of beauty – if only the form factor was a &lt;em&gt;little&lt;/em&gt; smaller.&lt;/p&gt;  &lt;h5&gt;Asus Aspire 2920 (nickname Bongo)&lt;/h5&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CWGtck4wwhI/ShTZH15EH9I/AAAAAAAAD1Y/EQImYUF10qM/s1600-h/acer-aspire-2920%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="acer-aspire-2920" border="0" alt="acer-aspire-2920" align="left" src="http://lh4.ggpht.com/_CWGtck4wwhI/ShTZIqmhPGI/AAAAAAAAD1c/jbothlYoFvA/acer-aspire-2920_thumb%5B1%5D.jpg?imgmax=800" width="185" height="244" /&gt;&lt;/a&gt; My second main machine in reality. This laptop is a little gem. Yes – it does look like a fisher price toy (especially when open) BUT it’s just a great machine for running VMWare workstation on (I had a 12 system Ubuntu VPN config simulated on it once). The keyboard is big enough to make typing easy (I’m typing on it now) but the whole form factor is great. 2GB of RAM and a Core Duo processor T5750. &lt;/p&gt;  &lt;p&gt;Until yesterday it was dual booting XP and Ubuntu 9.04. Mostly used for XP and VMWare workstation, yesterday I wiped it and stuck Windows 7 on it. Yes, yes I know. But it runs like a DREAM. It’s far more responsive than either of the other two OS’s were on it (even installed from new), every driver worked from the beginning, hibernation/suspend JUST works, all the special function keys JUST WORK. I’m not a Microsoft fan by any means and Windows 7 is hardly a revolution but I’m impressed (it’s the main reason I’m typing this up). &lt;/p&gt;  &lt;p&gt;Because of the size of this machine, it’s the main machine I just pick up when I need some portability (the MBP is just too big for that). &lt;/p&gt;  &lt;h5&gt;Samsung NC10&lt;a href="http://crunchbanglinux.org/" target="_blank"&gt;&lt;/a&gt; (nickname pig)&lt;a href="http://lh4.ggpht.com/_CWGtck4wwhI/ShTZJPK33tI/AAAAAAAAD1g/i2KcEBQjNmQ/s1600-h/samsung-nc10-netbook%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 25px 5px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="samsung-nc10-netbook" border="0" alt="samsung-nc10-netbook" align="right" src="http://lh5.ggpht.com/_CWGtck4wwhI/ShTZJ-XN2yI/AAAAAAAAD1k/4qRHZ5JjnCc/samsung-nc10-netbook_thumb%5B1%5D.jpg?imgmax=800" width="244" height="244" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;A new addition to the family.&amp;#160; Came with XP, now has &lt;a href="http://crunchbanglinux.org/" target="_blank"&gt;CrunchBang&lt;/a&gt; Linux (Ubuntu based) installed as dual boot. I’ve been coveting one of these for a while as I’ve always wanted a NetBook with good keyboard and good battery life that can run Linux. Specifically for just undisturbed coding within Emacs. This little baby does it all. I love it – and I’m about to remove XP from it completely and make it CrunchBang only. The battery life on these is superb (6 hours) and CrunchBang is a great distribution to run on it. I must resist the temptation to put Windows 7 on here as well. Although, mmmm – it’s a nice thought. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h5&gt;Apple iMac G4 (nickname bob)&lt;/h5&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh5.ggpht.com/_CWGtck4wwhI/ShTZKfFnVdI/AAAAAAAAD1o/_t0M7Yy3xd8/s1600-h/iMacG4%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="iMacG4" border="0" alt="iMacG4" align="left" src="http://lh5.ggpht.com/_CWGtck4wwhI/ShTZK6GthkI/AAAAAAAAD1s/gOpxyiZwRy4/iMacG4_thumb%5B2%5D.jpg?imgmax=800" width="244" height="224" /&gt;&lt;/a&gt; The oldest computer I still use, the classic ‘tablelamp’ look still has something about it. 512MB of memory, PPC processor running at 1Ghz, 17” screen. I confess – I really only use this for terminal sessions, iTunes and more recently Spotify – but it’s a great little machine and for a complete audio pleb like me – I like the sound the little speakers give out. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;&lt;/h5&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h5&gt;Conclusion&lt;/h5&gt;  &lt;p&gt;So in conclusion I think I can safely say, I use far too many computers in my day to day life. Which reminds me of one other thing. I always find there are certain files I want on all five machines and keeping them in sync has always been a nightmare – UNTIL. &lt;a href="http://www.getdropbox.com/" target="_blank"&gt;Dropbox&lt;/a&gt;. Works fine on everything. You won’t know it’s there. Perfect.&lt;/p&gt;  &lt;p&gt;Now god help me if Apple ever release a 12” MBP.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-7400600070490994338?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/7400600070490994338/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=7400600070490994338" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/7400600070490994338?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/7400600070490994338?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/Vo9i_jhEXJc/my-machines.html" title="My machines" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.cottee.org/2009/05/my-machines.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcMRXgyfCp7ImA9WxRXGUg.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-6218685957735549358</id><published>2008-10-25T18:34:00.001+01:00</published><updated>2008-10-25T18:34:44.694+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-25T18:34:44.694+01:00</app:edited><title>MacBook Pro </title><content type="html">This is a little embarrassing. &lt;br /&gt;&lt;br /&gt;You may remember &lt;a href="http://blog.cottee.org/2008/05/welcome-from-macbook-pro.html"&gt;this&lt;/a&gt;. Well, I now have one of the new model MacBook Pro's. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;2.53GHz Intel Core 2 Duo&lt;br /&gt;4GB 1066Mz DDR3 SDRM-2x2GB&lt;br /&gt;320GB Serial ATA @ 7200&lt;br /&gt;SuperDrive 8X DL&lt;br /&gt;Mini DisplayPort - DVI Adapter&lt;br /&gt;N0 VGA Adapter&lt;br /&gt;No Modem&lt;br /&gt;No Remote&lt;br /&gt;No iWork Preinstalled&lt;br /&gt;No Final Cut Exp Preinstalled&lt;br /&gt;No Aperture Preinstalled&lt;br /&gt;No Logic Exp Preinstalled&lt;br /&gt;KYBD/User's Guide -B&lt;br /&gt;Country Kit-GBR&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;What happened to the old one? Well there was an ... er ... accident. It's going to be repaired and rerouted to somebody else. So I get a new MBP. Yes, I'm a lucky man. &lt;br /&gt;&lt;br /&gt;It's really nice. The screen/audio/keyboard are better. It has the better graphics card. I went for the 7200 disk to eek some better performance out of it. &lt;br /&gt;&lt;br /&gt;I've been on Vista for the last couple of weeks whilst this was sorted out. I can cope with Vista but it's good to be home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-6218685957735549358?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/6218685957735549358/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=6218685957735549358" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6218685957735549358?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6218685957735549358?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/bzi51Pl15sQ/macbook-pro.html" title="MacBook Pro " /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.cottee.org/2008/10/macbook-pro.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MMRX04fCp7ImA9WxRXGUg.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-6209578621588885157</id><published>2008-10-25T18:20:00.000+01:00</published><updated>2008-10-25T18:24:44.334+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-25T18:24:44.334+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="family" /><title>Calvados Lamppost III</title><content type="html">We have a cat. &lt;br /&gt;&lt;a href="http://www.flickr.com/photos/78771328@N00/2971384827" title="View 'IMG_1404.JPG' on Flickr.com"&gt;&lt;img src="http://farm4.static.flickr.com/3275/2971384827_62d803dc86_s.jpg" alt="IMG_1404.JPG" border="0" width="75" height="75" align="left" /&gt;&lt;/a&gt;&lt;br /&gt;For people who know us this may be a surprise. I love cats and Akemi doesn't. I also am/was allergic to cats. But we now have one. We had a holiday in Normandy in August and I noticed then I wasn't sneezing when playing with the landlady's cat. So far I've not sneezed once since Calvados came home (or even when I visited the cat home). Alisa loved playing with the cat in Normandy and as the other two are still a bit wary about animals we thought it was time to take the plunge. Hugo and Selina both seem very happy with the new arrival. &lt;br /&gt;&lt;br /&gt;We found her through Mid Cheshire Animal Welfare. She's not a kitten - she's a beautiful young cat - between 1 and 2 years old. She's been with us since the end of August and is pretty settled down now. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/78771328@N00/2972221668" title="View 'IMG_1424.JPG' on Flickr.com"&gt;&lt;img src="http://farm4.static.flickr.com/3221/2972221668_ae4fe3bc5c_s.jpg" alt="IMG_1424.JPG" border="0" width="75" height="75" align="left" /&gt;&lt;/a&gt;Why the name? Calvados as that's the region we were staying. Lamppost as I always had a dream of getting some pure breed cat for showing and exhibiting them under the name of Lamppost. Calvados isn't pure breed but she still gets the name. And with a name like Calvados Lamppost, the III adds a little gravitas. She's known affectionally as Calvy. She'd been in the sanctuary since May so when I let her out for the first time in four months she went wild. Here she tackles a tree.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-6209578621588885157?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/6209578621588885157/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=6209578621588885157" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6209578621588885157?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6209578621588885157?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/82xx1YaNIJM/calvados-lamppost-iii.html" title="Calvados Lamppost III" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/08/calvados-lamppost-iii.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYESXo6fip7ImA9WxdVEUQ.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-9037571250902492995</id><published>2008-07-16T08:08:00.001+01:00</published><updated>2008-07-16T08:08:28.416+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-16T08:08:28.416+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cartoons" /><category scheme="http://www.blogger.com/atom/ns#" term="humour" /><title>This cartoon wrote a sweary word on your toilet wall</title><content type="html">I don't normally  blog cartoons but &lt;a href="http://bigeyedeer.wordpress.com/2008/07/15/this-cartoon-wrote-a-sweary-word-on-your-toilet-wall/"&gt;this one&lt;/a&gt; made me pause for thought and laugh. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-9037571250902492995?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/9037571250902492995/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=9037571250902492995" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/9037571250902492995?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/9037571250902492995?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/YcmO71eBSts/this-cartoon-wrote-sweary-word-on-your.html" title="This cartoon wrote a sweary word on your toilet wall" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.cottee.org/2008/07/this-cartoon-wrote-sweary-word-on-your.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMCSHczeyp7ImA9WxdWEkg.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-5086000400979780168</id><published>2008-07-05T11:07:00.003+01:00</published><updated>2008-07-05T12:14:29.983+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-05T12:14:29.983+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="django" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><title>Django - Named URLS Gotcha</title><content type="html">A post in two parts. &lt;br /&gt;&lt;br /&gt;First of all - thanks to Magus on #django for pointing out one of my errors to me. I've been working through &lt;a href="http://www.apress.com/book/view/9781590599969"&gt;Practical Django Projects&lt;/a&gt; over the last couple of days and it talks about having named urls. Take a look at these three one liners:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# from urls.links.py &lt;br /&gt;&lt;br /&gt;    (r'^$', 'archive_index',link_info_dict, 'coltrane_link_archive_index'), &lt;br /&gt;&lt;br /&gt;# from urls.py&lt;br /&gt;&lt;br /&gt;    (r'^weblog/links/', include('coltrane.urls.links')),&lt;br /&gt;&lt;br /&gt;# In my template I get the url using &lt;br /&gt;&lt;br /&gt;  {% url coltrane_link_archive_index  %}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;We give our view a name (coltrane_link_archive_index), then we call that view with urls.py so it's context will be /weblog/links - and then in our template we can just use the url tag to call that named url. If the url gets moved, your templates will still work - and of course it saves a lot of tedious typing. Great. &lt;br /&gt;&lt;br /&gt;So working through the book, the blog application requires a lot of templates and views and stuff. So I thought I'd just do the main one and get the minor ones working later. But I did check to make sure that links to those views were working and they were not. &lt;br /&gt;&lt;br /&gt;Written like this, the problem is obvious, a named view won't work if the view it's pointing to doesn't work. So if your url tag's don't function - make sure what they should be taking you to are ok. &lt;br /&gt;&lt;br /&gt;But there's more. Because when I wrote the underlying views it still wasn't working. And I discovered something interesting. I had a problem last night after restarting the web server - The first time I'd go to a page I'd get &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;ImproperlyConfigured: Error while importing URLconf 'coltrane.urls.tags': name 'Link' is not defined&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;For some reason I couldn't work out why that was happening last night. I have no idea why I could not - it's blatantly obvious. I wasn't doing an import of the Link model for my tags url file. But I was ignoring it yesterday because I found that if you just asked for the page again it then displays (not the tags page, I hadn't written that, but the rest of the site &lt;strong&gt;seemed&lt;/strong&gt; to be working. I put it down to some strange 'glitch'. It wasn't. &lt;br /&gt;&lt;br /&gt;I'm guessing here somewhat but I think what happens is the first time you load your site up, Django precompiles the regular expressions used for your urls. During that compile if it hits an error you'll have some urls working (up to where it failed) and some not. The second time you hit the site that doesn't happen (it thinks the regular expression compilation has completed) and doesn't raise the error again. But of course all the urls that failed won't be working (hence why url tag wasn't working). &lt;br /&gt;&lt;br /&gt;On a final note, you'd think by now that I would have learnt that when you have a 'strange glitch' there's something bigger lurking there that you really need to understand. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-5086000400979780168?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/5086000400979780168/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=5086000400979780168" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/5086000400979780168?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/5086000400979780168?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/oKbL4cVvdgU/django-named-urls-gotcha.html" title="Django - Named URLS Gotcha" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/07/django-named-urls-gotcha.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ECSHs9eyp7ImA9WxdWEEU.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-1563838065664443735</id><published>2008-07-03T13:54:00.001+01:00</published><updated>2008-07-03T13:54:29.563+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-03T13:54:29.563+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="django" /><title>NewForms Admin - Flatpages</title><content type="html">&lt;a href="http://www.apress.com/book/view/1590599969"&gt;Practical Django Projects&lt;/a&gt; (Chapter three), talks about defining an admin interface which is all well and good unless you're using the NewForms Admin branch (which is intended to become part of Release 1.0). So if you're an early adopter or reading this after the big change, you'll be needing to do the following. &lt;br /&gt;&lt;br /&gt;The reason I bothered writing this was I couldn't work out how to override the fact that FlatPage had already registered a ModelAdmin (try to register yours throws an error). A pointer from #django on irc and a look at the source code revealed that unregister was the baby you wanted. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;from django.contrib import admin&lt;br /&gt;from search.models import SearchKeyword&lt;br /&gt;from django.contrib.flatpages.models import FlatPage&lt;br /&gt;&lt;br /&gt;class SearchKeywordInline(admin.TabularInline):&lt;br /&gt;    model = SearchKeyword&lt;br /&gt;    &lt;br /&gt;class FlatPageAdmin(admin.ModelAdmin):&lt;br /&gt;    inlines = [&lt;br /&gt;        SearchKeywordInline,&lt;br /&gt;        ]&lt;br /&gt;&lt;br /&gt;# We have to unregister it, and then reregister&lt;br /&gt;admin.site.unregister(FlatPage)&lt;br /&gt;admin.site.register(FlatPage, FlatPageAdmin)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-1563838065664443735?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/1563838065664443735/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=1563838065664443735" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1563838065664443735?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1563838065664443735?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/gDq1J8tAfVE/newforms-admin-flatpages.html" title="NewForms Admin - Flatpages" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://blog.cottee.org/2008/07/newforms-admin-flatpages.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4FQn88cCp7ImA9WxdQF0U.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-5494820046338398737</id><published>2008-06-18T10:55:00.001+01:00</published><updated>2008-06-18T10:55:13.178+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T10:55:13.178+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="postgres" /><title>Postgres - Converting Encodings</title><content type="html">I've run into a number of problems recently with dealing with old databases of ours which are encoded with LATIN1. Now, with postgres 8.3 (maybe before) you'll get a message if you try to create LATIN1 saying something like &lt;br /&gt;&lt;pre&gt;createdb: database creation failed: ERROR:  encoding LATIN1 does not match server's locale en_US.UTF-8&lt;br /&gt;DETAIL:  The server's LC_CTYPE setting requires encoding UTF8.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I got bored trying to work out why - it seems to be that postgres now prevents what it shouldn't have allowed in the past but did. But if you do want to convert from the old to the new locale - how do you do it? Remarkably simple it turns out. &lt;br /&gt;&lt;br /&gt;Do a pg_dump of your existing database. Then take the dump file and run it through iconv - something like this. &lt;br /&gt;&lt;pre&gt; &lt;br /&gt;	iconv -f latin1 -t utf8 original.sql &gt; converted.sql&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It's pretty obvious what the options mean (-f = from, -t = to). iconv comes as standard on Mac and should be available for most linux distos (seems to be installed on ubuntu server by default). &lt;br /&gt;&lt;br /&gt;However, before you get too excited - you should ensure that whatever apps are using that database will cope with the new encoding for input and output. That may be 'non-trivial' ;) &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-5494820046338398737?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/5494820046338398737/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=5494820046338398737" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/5494820046338398737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/5494820046338398737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/oD5dl83WHnQ/postgres-converting-encodings.html" title="Postgres - Converting Encodings" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/06/postgres-converting-encodings.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QASHk9eip7ImA9WxdQFUk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-4929120248402436944</id><published>2008-06-15T18:02:00.001+01:00</published><updated>2008-06-15T18:02:29.762+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-15T18:02:29.762+01:00</app:edited><title>Fuel strike: 100 petrol stations reported to have run dry</title><content type="html">The Guardian reports &lt;a href="http://www.guardian.co.uk/uk/2008/jun/15/oil.transport"&gt;"Fuel strike: 100 petrol stations reported to have run dry"&lt;/a&gt;. I'm not sure if that is supposed to make us worried. Doesn't sound very high to me. &lt;br /&gt;&lt;br /&gt;According to Wikipedia we have &lt;a href="http://en.wikipedia.org/wiki/Filling_station#Number_of_petrol_stations_worldwide"&gt;9,271 petrol stations in the UK&lt;/a&gt;. So that's ... er ... just over 1%.  &lt;br /&gt;&lt;br /&gt;Come on - we need HEADLINES!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-4929120248402436944?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/4929120248402436944/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=4929120248402436944" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4929120248402436944?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4929120248402436944?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/-eHl6z3f0IE/fuel-strike-100-petrol-stations.html" title="Fuel strike: 100 petrol stations reported to have run dry" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/06/fuel-strike-100-petrol-stations.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8EQ3szcSp7ImA9WxdQFUk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-8829088102533604561</id><published>2008-06-15T17:53:00.001+01:00</published><updated>2008-06-15T17:53:22.589+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-15T17:53:22.589+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="osx" /><title>Rhino on OS X Leopard</title><content type="html">When I was using Ubuntu as my main development environment I used rhino to try and learn Javascript in a bit more detail. &lt;br /&gt;&lt;br /&gt;Coming back to OS X means that I wanted rhino but had no idea how to install. This is how I did it. If you come across this page and it's wrong please let me know. I just wanted to get something running. &lt;br /&gt;&lt;br /&gt;1. Get the source file and extract it. I used ftp://ftp.mozilla.org:21/pub/mozilla.org/js/rhino1_7R1.zip. Use unzip rhino_7R1.zip if it doesn't extract. &lt;br /&gt;&lt;br /&gt;2. In the top level you'll see a js.jar file - copy that to /usr/share/java (sudo cp js.jar /usr/share/java)&lt;br /&gt;&lt;br /&gt;3. Create the following script in /usr/local/bin/rhino (this is copied from the rhino install on Ubuntu Hardy)&lt;br /&gt;&lt;pre&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;/usr/bin/java -jar /usr/share/java/js.jar $@&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;4. Make it executable (chmod +x /usr/local/bin/rhino)&lt;br /&gt;&lt;br /&gt;Now if you type rhino you can do the following &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mbp:java icottee$ rhino &lt;br /&gt;Rhino 1.7 release 1 2008 03 06&lt;br /&gt;js&gt; x = 23 * 44&lt;br /&gt;1012&lt;br /&gt;js&gt; y = 'fish'&lt;br /&gt;fish&lt;br /&gt;js&gt; x&lt;br /&gt;1012&lt;br /&gt;js&gt; y&lt;br /&gt;fish&lt;br /&gt;js&gt; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Truely you are a javascript god. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-8829088102533604561?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/8829088102533604561/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=8829088102533604561" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/8829088102533604561?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/8829088102533604561?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/EdU08P6EycE/rhino-on-os-x-leopard.html" title="Rhino on OS X Leopard" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/06/rhino-on-os-x-leopard.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QHSHk5fip7ImA9WxdRFko.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-94194142867192326</id><published>2008-06-05T14:08:00.001+01:00</published><updated>2008-06-05T14:08:59.726+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-05T14:08:59.726+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="witterings" /><title>8 Things We Hate About IT </title><content type="html">I just read &lt;a href="http://www.businessweek.com/managing/content/jun2008/ca2008064_652958.htm?campaign_id=rss_topStories"&gt;this&lt;/a&gt; and noticed one of the comments at the end of it.&lt;br /&gt;&lt;blockquote&gt;Did you write the first draft of this article in crayon? The only point made here that even approaches a fundamental understanding with the current reality of actual IT experience is the fact that 75% of the guys are approaching 40 years of age and haven't the slightest bit of motivation to learn new things. &lt;/blockquote&gt;I find the idea that as you approach 40 you lose motivation to learn new things to be boggling. My big problem at the moment is my motivation to learn new things is stronger than ever but the time I have to sit and focus on such things is pretty minimal. &lt;br /&gt;&lt;br /&gt;I head back to the UK tomorrow morning and of the books I brought here to read I've managed to complete about 0.25% (if I'm feeling generous).  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-94194142867192326?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/94194142867192326/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=94194142867192326" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/94194142867192326?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/94194142867192326?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/R7Jb8f7zP4Y/8-things-we-hate-about-it.html" title="8 Things We Hate About IT " /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.cottee.org/2008/06/8-things-we-hate-about-it.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4HQHc5cSp7ImA9WxdREUg.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-5242395674948025556</id><published>2008-05-30T13:34:00.001+01:00</published><updated>2008-05-30T13:35:31.929+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-30T13:35:31.929+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="python" /><title>Unit Testing</title><content type="html">With apologies to The Monkeys&lt;br /&gt;&lt;blockquote&gt;I thought unit tests were just for fairy tales&lt;br /&gt;Never had the time to do things right&lt;br /&gt;Going live was frantic &lt;br /&gt;Development a drag &lt;br /&gt;Changing all my code got real bad&lt;br /&gt;&lt;br /&gt;Then I wrote my tests, now I'm a believer&lt;br /&gt;Without a trace of doubt in my mind &lt;br /&gt;I'm in love - mmmmmmm &lt;br /&gt;I'm a believer, best thing I've ever tried&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Ahem. Or something. I've just made substantial changes to two of our production systems over the last couple of weeks, but thanks to &lt;a href="http://www.agmweb.ca/blog/andy/"&gt;Andy&lt;/a&gt; and some stuff we did months ago in a pub, I have tests. They rock. Not saying they've nailed everything but certainly they've made a big difference. &lt;br /&gt;&lt;br /&gt;The first system I changed it was remarkably painless and I felt remarkably confident. The second system was a bit more rushed but the go live had no major issues. The one issue that did crop up I changed on my test system here, ran the unit tests, watched them fail, fixed the code again, ran the tests again, watched them past, svn updated the live system and all was fine. Never felt in much panic and making the fixes was a much more pleasurable experience. &lt;br /&gt;&lt;br /&gt;The only problem is - I can now see all the areas I don't have tests for ... &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-5242395674948025556?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/5242395674948025556/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=5242395674948025556" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/5242395674948025556?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/5242395674948025556?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/4OEQqna5w54/unit-testing.html" title="Unit Testing" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/unit-testing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ANSH4yeSp7ImA9WxdREU4.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-1036005356437292219</id><published>2008-05-30T09:21:00.001+01:00</published><updated>2008-05-30T09:23:19.091+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-30T09:23:19.091+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="postgres" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="hardy" /><title>pg_top on Ubuntu Hardy - Postgres top utility</title><content type="html">This morning I got &lt;a href="http://search.cpan.org/~cosimo/pgtop-0.04/pgtop"&gt;pgtop&lt;/a&gt; working but had some questions which I forwarded to the author Cosimo Streppone. In his very polite reply he pointed out I should really be using &lt;a href="http://ptop.projects.postgresql.org/"&gt;pg_top&lt;/a&gt; (note the hyphen) so I then set to getting that to work on Ubuntu Hardy Heron.&lt;br /&gt;&lt;br /&gt;Download the latest release from the site above (I downloaded pg_top-3.6.2.tar.gz) and then&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;tar -zxpvf pg_top-3.6.2.tar.gz &lt;br /&gt;cd pg_top-3.6.2&lt;br /&gt;./configure &lt;br /&gt;make&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It's very possible you might get some errors during this. The three I had were&lt;br /&gt;&lt;pre&gt;configure: error: no acceptable C compiler found in $PATH&lt;/pre&gt;&lt;br /&gt;You don't have the basic build tools installed. Do. &lt;br /&gt;&lt;pre&gt;sudo apt-get install build-essential&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Also during config &lt;br /&gt;&lt;pre&gt;configure: error: pg_config not found&lt;/pre&gt;&lt;br /&gt;Get the postgres dev libs - do&lt;br /&gt;&lt;pre&gt;sudo apt-get install libpq-dev&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;During make I got a heap of errors - starting with &lt;br /&gt;&lt;pre&gt;gcc  -Wall -g -L/usr/lib -lpq  -o pg_top color.o commands.o display.o getopt.o screen.o sprompt.o pg.o pg_top.o username.o utils.o version.o m_linux.o -ldl -lm &lt;br /&gt;display.o: In function `display_move':&lt;br /&gt;/home/icottee/pg_top-3.6.2/display.c:257: undefined reference to `tgoto'&lt;br /&gt;/home/icottee/pg_top-3.6.2/display.c:257: undefined reference to `tputs'&lt;br /&gt;display.o: In function `display_write':&lt;br /&gt;/home/icottee/pg_top-3.6.2/display.c:387: undefined reference to `tgoto'&lt;br /&gt;/home/icottee/pg_top-3.6.2/display.c:387: undefined reference to `tputs'&lt;/pre&gt;&lt;br /&gt;The solution I found was to &lt;br /&gt;&lt;pre&gt;sudo apt-get install libncurses5-dev&lt;/pre&gt;&lt;br /&gt;Then rerun config AGAIN and do a make. &lt;br /&gt;&lt;br /&gt;Now I could &lt;pre&gt;pg_top --help&lt;/pre&gt;&lt;br /&gt;And all was good. Read the web page for info about what you can do with it. But in short you can see all running postgres processes, see what they are doing, examine their query plan, what locks they have and examine table and index statistics of the relevant tables. Full info and screenshots can be found &lt;a href="http://ptop.projects.postgresql.org/screenshots/"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-1036005356437292219?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/1036005356437292219/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=1036005356437292219" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1036005356437292219?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1036005356437292219?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/UJwFqRyLgE4/pgtop-postgres-top-utility.html" title="pg_top on Ubuntu Hardy - Postgres top utility" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/pgtop-postgres-top-utility.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQDRn48eip7ImA9WxdREE8.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-544330840834024612</id><published>2008-05-29T02:03:00.001+01:00</published><updated>2008-05-29T02:09:37.072+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-29T02:09:37.072+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Old rails, rake - running on Hardy</title><content type="html">From my own benefit ... to help with installing and maintaining our old ruby apps, do this&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sudo apt-get install rails rubygems irb ruby&lt;br /&gt;sudo gem install -y rails --version=1.2.3&lt;br /&gt;sudo gem install -y rake --version=0.7.3&lt;br /&gt;sudo gem install -y postgres-pr&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The problem with this is that it's not sitting in your path and Ubuntu will keep asking you to install rails via apt. So&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sudo ln -s /var/lib/gems/1.8/bin/rails /usr/local/bin/rails&lt;br /&gt;sudo ln -s /var/lib/gems/1.8/bin/rake /usr/local/bin/rake&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9210244490645736884-544330840834024612?l=blog.cottee.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/544330840834024612/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=544330840834024612" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/544330840834024612?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/544330840834024612?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cotteeblog/~3/Yvl9uXCskVk/old-rails-rake-running-on-hardy.html" title="Old rails, rake - running on Hardy" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04675264434156999038" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/old-rails-rake-running-on-hardy.html</feedburner:origLink></entry></feed>
