<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEcMRXg5eSp7ImA9WxRXGUg.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884</id><updated>2008-10-25T18:34:44.621+01:00</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="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>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/cotteeblog" type="application/atom+xml" /><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.</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="0 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://feeds.feedburner.com/~r/cotteeblog/~3/431883148/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></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</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.</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://feeds.feedburner.com/~r/cotteeblog/~3/431859159/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></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. </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://feeds.feedburner.com/~r/cotteeblog/~3/336833953/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></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. </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://feeds.feedburner.com/~r/cotteeblog/~3/327297132/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></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;</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="3 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://feeds.feedburner.com/~r/cotteeblog/~3/325782887/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></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</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' ;) </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://feeds.feedburner.com/~r/cotteeblog/~3/314497429/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></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!</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://feeds.feedburner.com/~r/cotteeblog/~3/312483165/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></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. </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://feeds.feedburner.com/~r/cotteeblog/~3/312468116/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></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).  </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://feeds.feedburner.com/~r/cotteeblog/~3/305321750/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></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;</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://feeds.feedburner.com/~r/cotteeblog/~3/301229787/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></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;</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://feeds.feedburner.com/~r/cotteeblog/~3/301112623/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></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;</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://feeds.feedburner.com/~r/cotteeblog/~3/300200168/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></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><entry gd:etag="W/&quot;DUEFQXo4eip7ImA9WxdSF0U.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-2518271431562688464</id><published>2008-05-26T08:40:00.001+01:00</published><updated>2008-05-26T08:40:10.432+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-26T08:40:10.432+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="macintosh" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><category scheme="http://www.blogger.com/atom/ns#" term="apple" /><title>Apple are slick</title><content type="html">Email from Apple to me after I registered my new purchase&lt;br /&gt;&lt;blockquote&gt;Thanks for registering your new Mac. We have the following on record in your name:&lt;br /&gt;[[IREG_PRODUCT_TEXT]]&lt;/blockquote&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/2518271431562688464/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=2518271431562688464" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/2518271431562688464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/2518271431562688464?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/298215006/apple-are-slick.html" title="Apple are slick" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/apple-are-slick.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EMRXo-eyp7ImA9WxdSF04.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-66951256133190388</id><published>2008-05-25T17:07:00.001+01:00</published><updated>2008-05-25T17:08:04.453+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-25T17:08:04.453+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="shinto" /><category scheme="http://www.blogger.com/atom/ns#" term="japan" /><title>Strange Shinto Days</title><content type="html">There was some kind of meeting in the shrine today. I have no idea what it was about and would not bother to ask. It didn't sound like the most interesting event in the history of Shinto but seemed to involve a lot of priests and study and talking.&lt;br /&gt;&lt;br /&gt;Strange that I should view such a thing as strange. It's a religion, people have views, I guess things need to be discussed. When I came back from the park with the kids I smiled and bowed to the people outside just in case I knew them. No reaction at all. A lot of strangers.&lt;br /&gt;&lt;br /&gt;So a lot of people came to the shrine today to discuss 'Shinto things'. It's a religion - that's what people do. &lt;br /&gt;&lt;br /&gt;This evening I had some wine and some beers, went to bed late. Not long after I fell asleep Akemi woke me up. The alarm that triggers when somebody had come into the shrine had sounded (I didn't hear, I was totally asleep) and Akemi said she thought there was a candle outside the shrine. I looked out the window at the candle. Looked like a light bulb to me - in a strange place. I went into the shrine and nothing human or supernatural jumped on top of me. When I came back upstairs Akemi thought the light might be a reflection from the illumination of one of the 'things' outside. She's probably right. &lt;br /&gt;&lt;br /&gt;There's a story about that alarm but I'll tell it another time. &lt;br /&gt;&lt;br /&gt;And I'm lying in bed now, wondering why I call the 'thing' outside a 'thing'. Why the hell don't I know what it is? &lt;br /&gt;&lt;br /&gt;I'm also thinking I love superstition even though I don't "believe" in it. Makes life a little spicier. &lt;br /&gt;&lt;br /&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/66951256133190388/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=66951256133190388" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/66951256133190388?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/66951256133190388?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/297822774/strange-shinto-days.html" title="Strange Shinto Days" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/strange-shinto-days.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4GSH8zeyp7ImA9WxdSF08.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-6971648818731839465</id><published>2008-05-25T15:14:00.002+01:00</published><updated>2008-05-25T15:15:29.183+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-25T15:15:29.183+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="god" /><category scheme="http://www.blogger.com/atom/ns#" term="religion" /><category scheme="http://www.blogger.com/atom/ns#" term="christianity" /><title>Doug Stanhope - Would You Believe ?</title><content type="html">Yeah  I like this guy.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="373"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ExAw4hIhRIU&amp;amp;hl=en&amp;amp;rel=0&amp;amp;border=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/ExAw4hIhRIU&amp;amp;hl=en&amp;amp;rel=0&amp;amp;border=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="373"&gt;&lt;/embed&gt;&lt;/object&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/6971648818731839465/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=6971648818731839465" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6971648818731839465?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6971648818731839465?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/297777131/doug-stanhope-would-you-believe.html" title="Doug Stanhope - Would You Believe ?" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/doug-stanhope-would-you-believe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAHQHg6eyp7ImA9WxdSF0w.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-1803032224881183792</id><published>2008-05-25T12:12:00.003+01:00</published><updated>2008-05-25T13:32:11.613+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-25T13:32:11.613+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="laptop" /><category scheme="http://www.blogger.com/atom/ns#" term="macintosh" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="vista" /><category scheme="http://www.blogger.com/atom/ns#" term="macbook pro" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="vmware" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="hardy" /><title>Welcome from the MacBook Pro</title><content type="html">It arrived a day late and is looking pretty cool so far. &lt;br /&gt;&lt;br /&gt;So I'm typing this with MarsEdit first of all to see how I get on what that. &lt;br /&gt;&lt;br /&gt;What have I noticed about the new machine. Some random comments made in no particular order. Here's the low down on the specs of the Machine. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; Model Name:	MacBook Pro&lt;br /&gt;  Model Identifier:	MacBookPro4,1&lt;br /&gt;&lt;br /&gt;  Processor Name:	Intel Core 2 Duo&lt;br /&gt;&lt;br /&gt;  Processor Speed:	2.4 GHz&lt;br /&gt;&lt;br /&gt;  Number Of Processors:	1&lt;br /&gt;&lt;br /&gt;  Total Number Of Cores:	2&lt;br /&gt;&lt;br /&gt;  L2 Cache:	3 MB&lt;br /&gt;&lt;br /&gt;  Memory:	4 GB&lt;br /&gt;&lt;br /&gt;  Bus Speed:	800 MHz&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It has a 250GB hard drive, 5400 RPM&lt;br /&gt;&lt;br /&gt;I've been through a number of laptops in the last couple of years. I had the &lt;a href="http://cottee.org/articles/2006/08/23/white-2-ghz-macbook"&gt;MacBook&lt;/a&gt; which replaced my old &lt;a href="http://cottee.org/articles/2005/12/31/apple-ibook-g4-12-1-year-on"&gt;iBook&lt;/a&gt; and died a horrible death. Which was replaced by a &lt;a href="http://cottee.org/articles/2007/04/17/dabs-crap-misco-good"&gt;Sony Vaio VGN-FE41Z&lt;/a&gt;. And I've also been running the &lt;a href="http://cottee.org/articles/2008/04/26/the-hardy-heron"&gt;Dell Inspiron 630m&lt;/a&gt; which I think become my second favorite laptop ever, just behind the 12" iBook before it too popped it's clogs. So maybe over three years I've had five major laptops - running a mixture of OS X, Linux and Windows (XP and Vista). &lt;br /&gt;&lt;br /&gt;I had a bit of a epiphany regarding laptops a short time ago. Because even though I was loving Hardy Heron on the Dell I realised that linux laptop compatibility is a lottery - unless you get one with Ubuntu preinstalled which limits somewhat your choice of machines, trying to get all your laptop features running can become something of a fulltime job. Even on the Dell resume/suspend didn't work (although it did under Gutsy 95% of the time - I suspect I tweaked something in the past which I've since forgotten). So upgrades are exciting times with new treats and old ones sometimes taken from you. The Dell 630m was great but even it was showing it's age. I was plotting what to replace it with and was thinking of something like my last week's &lt;a href="http://blog.cottee.org/2008/05/ubuntu-vmware-vista-xming.html"&gt;Vista setup&lt;/a&gt; but on a much nicer spec machine. You have all the drivers provided, suspend works, you can buy some crappy bargain bit of hardware not wondering if you'll ever be able to use it. So if the "X Server, VMWare" trick works and you can use Ubuntu easily within a windows environment it makes sense to go the Windows route. &lt;br /&gt;&lt;br /&gt;Because the only other option is the Apple route and I swore to the gods I wouldn't give them my money again until they sorted out their production process ... i.e. I won't buy a MacBook until they start making them reliable and resilient. We've bought so many of them and had so many problems and the Apple Care they provided wasn't much use either because you have to sit there arguing that, no, you didn't crack the front casing of it and this is a problem that thousands of others have suffered from. And they still don't believe you. And why don't we just buy Dell's instead because you can get cheap accidental damage cover with that. And actually Vista is not that ugly. It's quite nice. But it's slow. And not very reliable. And 3GB of RAM is about your max. Oh and Steve Balmer. &lt;br /&gt;&lt;br /&gt;Apple are evil. Microsoft are evil. Ubuntu are not evil (or at least, if they are, they're keeping it quiet so we don't feel bad about using an evil os).  But we have to use evil hardware with the good software and maybe something won't work properly. Hmmm ... Apple. &lt;br /&gt;&lt;br /&gt;Am I rambling?&lt;br /&gt;&lt;br /&gt;Anyway, on the spur of a moment decision I went back to Apple. I bought a MacBook Pro because I was not aware of them suffering the same monumental build quality issues as the MacBook. It's a Unix based laptop. It has a great screen and a great keyboard. It has good battery life. It's fast. I was in Japan when the other laptop died and I could easily get a US keyboard and a worldwide warranty. I love OS X. &lt;br /&gt;&lt;br /&gt;I'll blog a bit shortly when I have my same Ubuntu VMWare setup up and running. I'll blog a little bit later, maybe in a couple of months, when I've worked out whether this is really changing my life. If it can and I can reduce my laptops to one again, I'll be a happy man. </content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/1803032224881183792/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=1803032224881183792" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1803032224881183792?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1803032224881183792?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/297726519/welcome-from-macbook-pro.html" title="Welcome from the MacBook Pro" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/welcome-from-macbook-pro.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEDRns4eCp7ImA9WxdSFUo.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-7669464515400389493</id><published>2008-05-23T21:27:00.003+01:00</published><updated>2008-05-23T21:31:17.530+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-23T21:31:17.530+01:00</app:edited><title>The Horror of Coding</title><content type="html">Preach it brother.&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt; These sorts of things that could broadly be classified as unexpected work are coming up with some regularity these days and I was complaining about it, as you do, while me and several folks from the crew I'm on were heading out to lunch at an entirely mediocre deli. The root of the complaint was, "Why?". "Why are we seeing an increasing rate of unexpected work?". Dark matter. Call it what you will, it sucks. It sucks your will to live. This tree search way of working gets tiring in a hurry. If you've been doing this for even a short while you know what I mean. How absolutely draining and demoralizing it is. How much it makes life, inside and outside of work, truly suck. &lt;/p&gt;&lt;p&gt; You know, you hit &lt;b&gt;another&lt;/b&gt; problem you weren't expecting, you traverse back up the tree, sit back in your chair, maybe take a deep breath, and stare at the screen for a few minutes because, now, with so many traversals these days, it takes a real act of will to go deal with whatever it is that's suddently, annoyingily, in your way. This despite the fact that you're going to fall behind in your current task, which is already behind because of unexpected work during your previous task and you should get on this right now. And, if you love coding, really dig putting things together, you take that sighing resignation home with you when you stop typing for the day. How could you not? &lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=231225"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=231225"&gt;http://www.artima.com/weblogs/viewpost.jsp?thread=231225&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And they they'll ask when x,y and z are not done yet.</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/7669464515400389493/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=7669464515400389493" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/7669464515400389493?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/7669464515400389493?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/296819106/horror-of-coding.html" title="The Horror of Coding" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/horror-of-coding.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04FRns-eCp7ImA9WxdSFEQ.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-1712460004818717029</id><published>2008-05-22T22:00:00.002+01:00</published><updated>2008-05-22T22:31:57.550+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-22T22:31:57.550+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="vista" /><category scheme="http://www.blogger.com/atom/ns#" term="xming" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="vmware" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Ubuntu / Vista / VMware / Xming</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_CWGtck4wwhI/SDXV4WxhZRI/AAAAAAAABwM/tT9QW-a0y78/s1600-h/Vista-Emacs.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_CWGtck4wwhI/SDXV4WxhZRI/AAAAAAAABwM/tT9QW-a0y78/s200/Vista-Emacs.jpg" alt="" id="BLOGGER_PHOTO_ID_5203300108659156242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;OK, I've been using this setup for over a week. I'm a developer /sys admin who needs a Linux environment and who is stuck with just a Vista laptop. So here's my solution. Certainly not a perfect solution but a lot better than some I've used in the past.&lt;br /&gt;&lt;br /&gt;The idea is that we run Ubuntu (or any Linux disto) within a VMware machine (I assume the free VMware player would work for this, but i'm using VMware workstation). We then install the free X server &lt;a href="http://www.straightrunning.com/XmingNotes/"&gt;Xming &lt;/a&gt;and use that to start X applications from the Ubuntu machine. In reality I use this for two main reasons - running Emacs with a Linux backend and controlling ssh tunnels. I can do both of these things natively in Windows or using Cygwin but both are painful in real life. And if all your live deployments have Ubuntu at the backend, you really want the same for your development environment.&lt;br /&gt;&lt;br /&gt;First thing you need to do is install Linux on your Vmware machine. I use the Hardy Heron server install as it's a lot lighter than the desktop and we don't want to run a linux desktop anyway. Yes, a desktop inside a desktop could be construed as cool for the first day or so if you have never done it before but it soon becomes a pain in the arse. There are some other versions of Ubuntu which are even more stripped down but we use Ubuntu Server for our normal server installs so I went with that.&lt;br /&gt;&lt;br /&gt;My Vista laptop has 2GB of RAM and is dual core. In the VM I assign both processors and 512MB of memory. I also preallocated the disk to try and eek some more performance out of it (60GB in this case). See my comments later on performance. For networking I used Host. If you are moving your laptop around a lot this may be a small pain as you'll need to keep an eye on the ip address your VM is given each time. Probably better solutions for this.&lt;br /&gt;&lt;br /&gt;Make sure you install the ssh server. On Gutsy and Hardy it's an option you get at the end of the install process. Otherwise "apt-get install openssh-server".&lt;br /&gt;&lt;br /&gt;On Hardy Heron default server install, once it's up and running, the important setting to change is&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   /etc/ssh/sshd_config&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;add the entry&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   X11UserLocalhost yes&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and then do&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   apt-get install xauth&lt;/pre&gt;&lt;br /&gt;Now install &lt;a href="http://sourceforge.net/projects/xming"&gt;Xming &lt;/a&gt;and &lt;a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/"&gt;Putty&lt;/a&gt;. We'll use Putty to ssh into VMware and launch our apps. The settings you need in Putty are wonderfully described &lt;a href="http://www.straightrunning.com/XmingNotes/trouble.php"&gt;here &lt;/a&gt;along with other useful troubleshooting tips which may be of use if you are not going the Ubuntu route. On Ubuntu I just needed to do what I've described above.&lt;br /&gt;&lt;br /&gt;Start up Xming. Now, using Putty, log into your VM. The first time you log in, if you've done what I've outlined, you'll see a message saying words to the effect that .Xauthority is being created. Now launch an X app. You might want to "apt-get install x11-apps" and launch xclock as a test. Revel in it's minimalistic glory. If you don't see xclock appear then check if Xming is trying to tell you something - check if the Xming window is flashing at the bottom of the screen for example.&lt;br /&gt;&lt;br /&gt;If that doesn't work, check out the Xming web site or post a question here.&lt;br /&gt;&lt;br /&gt;Now you can install anything you want to run. In practice, for me, that's meant&lt;br /&gt;&lt;ul&gt;&lt;li&gt;emacs&lt;/li&gt;&lt;li&gt;Firefox&lt;/li&gt;&lt;li&gt;gSTM&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;I have Firefox installed, as I sometimes need to browse sites through the tunnels I create with gSTM. gSTM is a Gnome app. Here it is running, on my Vista desktop. On the right hand screen you can see the obligatory x apps running which are of little use at all. The putty session on the right screen lower is running top on the VM. The upper putty session is connected to a remote system behind a remote system via the tunnel manager.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_CWGtck4wwhI/SDXdBfB3W6I/AAAAAAAABwc/t9yZIXWqTLU/s1600-h/xwidescreen.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_CWGtck4wwhI/SDXdBfB3W6I/AAAAAAAABwc/t9yZIXWqTLU/s400/xwidescreen.jpg" alt="" id="BLOGGER_PHOTO_ID_5203307962075405218" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Problems.&lt;br /&gt;&lt;/span&gt;It's not without it's problems. The screen shot at the start of this post shows me running Emacs and running some unit tests within Emacs which are doing a lot of python and postgres processing. Check out the cpu and RAM usage in the sidebar widget at the right. At that stage the machine was somewhat sluggish although useable. Certainly after a day of heavy development I found a good reboot of the whole setup (from Vista downwards) would help. Having more RAM in the laptop would also benefit although having a 3GB limit with 32bit Vista sucks. In short, you're using a VM and you'll be taking a slice (maybe I should say 'a chunk') off your performance compared to just running Linux directly.&lt;br /&gt;&lt;br /&gt;Two other issues. Not major but to be kept in mind. I find that over the course of a day I end up with a lot of Putty sessions open. I might be able to manage these better if I spent some time looking at it - and it doesn't help that I launch my X apps from Putty as well. Xming goes with a launcher program which I haven't tried yet. That might be useful.&lt;br /&gt;&lt;br /&gt;Final issue is copying and pasting. Sometimes this seems hit and miss but frankly that's not a lot different from what I experience in native Ubuntu. Ctrl-Insert and Shift-Insert sometimes had to be done a few times before something would wake up to what I was doing. This is something I could improve if I had the time (so you can see it wasn't that big a deal).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Benefits&lt;br /&gt;&lt;/span&gt;I've been laughed at once already today for saying this, but I'll say it again. I like the look of Vista and I've grown really attached to that sidebar (can somebody recommend a Mac solution to give me similar functionality). But Ubuntu is damn pretty as well. More importantly, if you're running Vista natively then you don't have to sit there for HOURS on end loading up drivers to get your audio working with your webcam and - oh - that makes the wireless drop out. Hang on, I'll recompile the wireless module - that's better. Oh, the webcam's gone again - and where did the memory card support go to? And don't even BEGIN to talk to me about hibernation. God that drives me mad. Dual boot is a pain in the arse as well. I just want to sit in one environment working.&lt;br /&gt;&lt;br /&gt;So if I need native Vista to get the most out of my laptop my two current options are Cygwin and this. Cygwin is great if all the stuff you need is available in it. It sucks like a hoover if you start having to compile stuff natively under cygwin. Does for me anyway.&lt;br /&gt;&lt;br /&gt;Having the VM as your development environment also makes it a lot easier to move it around to new machines. We'll see how that pans out later today when the new &lt;a href="https://store.apple.com/1-800-MY-APPLE/WebObjects/OrderStatus?appleStoreSessionKey=Mk1DrpyZ1Bha2txCaM2Cowt9PVu541545&amp;amp;olssact=vieworder&amp;amp;csname=consumer&amp;amp;mid=appleglobal%2CapplestoreWW%2Capplestoreus%2CapplestoreUSconsum&amp;amp;cid=AOS-JP-A10000085032&amp;amp;olssgf=461-0023&amp;amp;olsson=W55186281"&gt;MacBook Pro&lt;/a&gt; is due to arrive.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;This time last week I was wondering whether I could make this environment my full time environment. I &lt;span style="font-style: italic;"&gt;nearly&lt;/span&gt; can. In the end the problems are not so much with the solution as with the laptop. It needs a bit more power and it needs more RAM (and I can only go up one more GB easily). Also (this is a Sony Vaio VGN-FE41Z) the fan is bloody loud. I usually sleep with the laptop next to my head. The noise is getting annoying.&lt;br /&gt;&lt;br /&gt;So the &lt;a href="https://store.apple.com/1-800-MY-APPLE/WebObjects/OrderStatus?appleStoreSessionKey=Mk1DrpyZ1Bha2txCaM2Cowt9PVu541545&amp;amp;olssact=vieworder&amp;amp;csname=consumer&amp;amp;mid=appleglobal%2CapplestoreWW%2Capplestoreus%2CapplestoreUSconsum&amp;amp;cid=AOS-JP-A10000085032&amp;amp;olssgf=461-0023&amp;amp;olsson=W55186281"&gt;MacBook Pro&lt;/a&gt; is arriving today. I'll gain more power, illuminated keyboard, Mac loveliness and maybe (maybe) a quieter fan. We'll see. But I'm intending on trying a similar setup on the Mac as well. I'll let you know how I get on. If anybody else is running a similar setup as this on their Windows system let me know how I can improve performance.</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/1712460004818717029/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=1712460004818717029" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1712460004818717029?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1712460004818717029?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/296106330/ubuntu-vmware-vista-xming.html" title="Ubuntu / Vista / VMware / Xming" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp1.blogger.com/_CWGtck4wwhI/SDXV4WxhZRI/AAAAAAAABwM/tT9QW-a0y78/s72-c/Vista-Emacs.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/ubuntu-vmware-vista-xming.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MHRnw9fip7ImA9WxdSEkk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-3524574293090826216</id><published>2008-05-20T03:04:00.004+01:00</published><updated>2008-05-20T03:10:37.266+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-20T03:10:37.266+01:00</app:edited><title>Cyrus IMAP on Hardy Heron #2</title><content type="html">See the previous post to this for the first steps. Note, I posted the following on the Ubuntu forums &lt;a href="http://ubuntuforums.org/showthread.php?p=4998694#post4998694"&gt;here &lt;/a&gt;and there may end up being feedback there to read. &lt;br /&gt;&lt;br /&gt;Please note I am just trying to get a simple cyrus install working so I can test some python code that wants a cyrus server. This is probably insecure, toxic, illegal in most countries and prone to spontaneous combustion.&lt;br /&gt;&lt;br /&gt;I just want to create some mailboxes (I'm not even sending mail to them!). I've changed my permissions as per the previous post and I'm trying to use cyradm to administer my server. cyradm doesn't seem to want to administrate anything. It wants a password and nothing seems to work. This is what I did. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;apt-get install sasl2-bin&lt;/pre&gt;&lt;br /&gt;Then edit /etc/default/saslauthd as it suggests and set START=yes&lt;br /&gt;&lt;pre&gt;/etc/init.d/saslauthd start&lt;/pre&gt;&lt;br /&gt;edit /etc/imap.conf and make sure that the following two settings are uncommented and with these values&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;admins: cyrus&lt;br /&gt;...&lt;br /&gt;sasl_pwcheck_method: saslauthd&lt;/pre&gt;&lt;br /&gt;restart cyrus and log in with&lt;br /&gt;&lt;pre&gt;cyradm -u cyrus --auth login localhost&lt;/pre&gt;&lt;br /&gt;Oh, you may need to set the cyrus user passwd first. Just become root and set it with passwd. Now you can login and create a mailbox.&lt;br /&gt;&lt;pre&gt;localhost&gt; cm ijc&lt;br /&gt;createmailbox: System I/O error&lt;/pre&gt;&lt;br /&gt;Or maybe not - another permissions error it turns out.&lt;br /&gt;&lt;pre&gt;chown -R cyrus /var/spool/cyrus&lt;/pre&gt;&lt;br /&gt;Log back in again and ... weeeeeeee&lt;br /&gt;&lt;pre&gt;localhost&gt; cm ijc&lt;br /&gt;localhost&gt; lm&lt;br /&gt;ijc (\HasNoChildren)&lt;br /&gt;localhost&gt;&lt;/pre&gt;&lt;br /&gt;There, nice and simple. Cough.</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/3524574293090826216/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=3524574293090826216" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/3524574293090826216?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/3524574293090826216?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/293918935/cyrus-imap-on-hardy-heron-2.html" title="Cyrus IMAP on Hardy Heron #2" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/cyrus-imap-on-hardy-heron-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUFQHY_eSp7ImA9WxdSEkk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-1862108636176074471</id><published>2008-05-20T02:12:00.004+01:00</published><updated>2008-05-20T02:16:51.841+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-20T02:16:51.841+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cyrus" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="hardy" /><title>Cyrus IMAP on Hardy Heron</title><content type="html">So you've just installed cyrus imap on Hardy Heron and you can't seem to connect. You try a test telnet session and get &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   icottee@ijcdev:~$ telnet localhost 143&lt;br /&gt;   Trying 127.0.0.1...&lt;br /&gt;   Connected to localhost.&lt;br /&gt;   Escape character is '^]'.&lt;br /&gt;   * BYE Fatal error: can't write proc file&lt;br /&gt;   Connection closed by foreign host.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Take a look in /var/log/mail.err and you'll see stuff like &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   May 19 22:13:15 ijcdev cyrus/imap[8316]: DBERROR: dbenv-&gt;open '/var/lib/cyrus/db' failed: Permission denied&lt;br /&gt;   May 19 22:13:15 ijcdev cyrus/imap[8316]: DBERROR: init() on berkeley&lt;br /&gt;   May 19 22:13:15 ijcdev cyrus/imap[8316]: DBERROR: reading /var/lib/cyrus/db/skipstamp, assuming the worst: Permission denied&lt;br /&gt;   May 19 22:13:15 ijcdev cyrus/imap[8316]: locking disabled: couldn't open socket lockfile /var/lib/cyrus/socket/imap-1.lock: Permission denied&lt;br /&gt;   May 19 22:13:15 ijcdev cyrus/imap[8316]: IOERROR: creating /var/lib/cyrus/proc/8316: Permission denied&lt;br /&gt;   May 19 22:13:15 ijcdev cyrus/imap[8316]: Fatal error: can't write proc file&lt;br /&gt;   May 19 22:13:15 ijcdev cyrus/master[8260]: process 8316 exited, signaled to death by 11&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The solution is simple &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   chown -R cyrus /var/lib/cyrus&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I'd give cyrus a restart after that as well.</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/1862108636176074471/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=1862108636176074471" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1862108636176074471?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/1862108636176074471?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/293901698/cyrus-imap-on-hardy-heron.html" title="Cyrus IMAP on Hardy Heron" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/cyrus-imap-on-hardy-heron.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYNQXk-fip7ImA9WxdSEUg.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-6912271557441993868</id><published>2008-05-19T00:34:00.006+01:00</published><updated>2008-05-19T01:16:30.756+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-19T01:16:30.756+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="drums" /><category scheme="http://www.blogger.com/atom/ns#" term="nagoya" /><title>Magical Otters @ Misfits, Nagoya May 16th, 2008</title><content type="html">&lt;div style="border-right: 15px groove transparent; float: left;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-2f26da234ffaf05b" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqgAAAO3T1daHheEeH3ZcEQIwEb9eOepP2jwyAKQAROVGua5z7n-h5OYANvFB-T3804GbTBwtHquQbbqUjmnAlK0sdVolz8bM3pKg66htla2lIpUXZp1869NYVuzOalQrncUqR42RWkfQcCOjgR1SvAqd2E0B7OsWeU5K6pLrF2SX8CHJj5RQdXCmTpFwSV12Z0VzYbCW_DTiWqKJ_o12RvCVkrjOZsddU_iZU3LG4rX9P6f7%26sigh%3D-Gvef2XdJmURSDYgpjyGqTMLY8o%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D2f26da234ffaf05b%26offsetms%3D5000%26itag%3Dw320%26sigh%3DM-E4U-zcyD71DpiIxXdgQkj7wpE&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"&gt;
&lt;param name="bgcolor" value="#FFFFFF"&gt;
&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqgAAAO3T1daHheEeH3ZcEQIwEb9eOepP2jwyAKQAROVGua5z7n-h5OYANvFB-T3804GbTBwtHquQbbqUjmnAlK0sdVolz8bM3pKg66htla2lIpUXZp1869NYVuzOalQrncUqR42RWkfQcCOjgR1SvAqd2E0B7OsWeU5K6pLrF2SX8CHJj5RQdXCmTpFwSV12Z0VzYbCW_DTiWqKJ_o12RvCVkrjOZsddU_iZU3LG4rX9P6f7%26sigh%3D-Gvef2XdJmURSDYgpjyGqTMLY8o%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D2f26da234ffaf05b%26offsetms%3D5000%26itag%3Dw320%26sigh%3DM-E4U-zcyD71DpiIxXdgQkj7wpE&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/div&gt;&lt;div&gt;On Friday Brian Cullen and the Magical Otters got back together again to provide their usual brand of drunken inspirational shouting and yelling and banging things. Ah - sorry. No, that's what I do. The other, rather more accomplished musicians, struggle bravely on whilst I let out months of pent out aggression and drink copious amounts of beer. Although in my advancing years the amounts are slowly declining.&lt;br /&gt;&lt;br /&gt;As always we prepare meticulously by turning up an hour beforehand and try to get the drums working. In this case I think I finally managed to get sounds from them about ten minutes before we were due to start and get them mostly working at the appointed time. Therefore our rehearsals started at the point of the first song in the set. I'm sure nobody noticed ;).&lt;br /&gt;&lt;br /&gt;Anyway - here's just a taste of that night - a real life Otter's set right down to the high fidelity sounds and blurred vision. Yes, I know it says June 2008 but we can move in time you know ... see you at Shooters on the 6th of June 2008.&lt;br /&gt;&lt;br /&gt;More Otter's stuff at Brian's site ... &lt;a href="http://briancullen.blogspot.com/"&gt;http://briancullen.blogspot.com/&lt;/a&gt;&lt;/div&gt;</content><link rel="enclosure" type="video/mp4" href="http://www.blogger.com/video-play.mp4?contentId=2f26da234ffaf05b&amp;type=video%2Fmp4" length="0" /><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/6912271557441993868/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=6912271557441993868" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6912271557441993868?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6912271557441993868?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/293121834/magical-otters-misfits-nagoya-may-16th.html" title="Magical Otters @ Misfits, Nagoya May 16th, 2008" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/magical-otters-misfits-nagoya-may-16th.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcGRHY8fSp7ImA9WxdTGEk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-8863073177578385927</id><published>2008-05-15T10:14:00.002+01:00</published><updated>2008-05-15T10:17:05.875+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-15T10:17:05.875+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="postgres" /><title>Cloning/copying postgres databases</title><content type="html">Do&lt;blockquote&gt;createdb newdatabase -T olddatabase&lt;/blockquote&gt;always forget this and end up dumping the old database and loading it into the new one. It takes a lot of time that way. This way is quicker.</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/8863073177578385927/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=8863073177578385927" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/8863073177578385927?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/8863073177578385927?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/290790792/cloningcopying-postgres-databases.html" title="Cloning/copying postgres databases" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/cloningcopying-postgres-databases.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8BQnY9fSp7ImA9WxdTGEk.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-2493282635189162363</id><published>2008-05-15T00:11:00.003+01:00</published><updated>2008-05-15T10:30:53.865+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-15T10:30:53.865+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="laptop" /><category scheme="http://www.blogger.com/atom/ns#" term="macintosh" /><category scheme="http://www.blogger.com/atom/ns#" term="macbook pro" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><title>For richer, for poorer</title><content type="html">Currently being assembled, should be with me by the end of next week:&lt;br /&gt;             &lt;blockquote&gt;2.4GHz Intel Core 2 Duo&lt;br /&gt;             MacBook Pro 15-inch Glossy WS&lt;br /&gt;             4GB 667 DDR2 SDRAM - 2x2GB&lt;br /&gt;             250GB Serial ATA @ 5400 rpm&lt;br /&gt;             SuperDrive 8x DL&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;             US KYBD/User's Guide -JA&lt;br /&gt;             Country Kit-JPN&lt;/blockquote&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/2493282635189162363/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=2493282635189162363" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/2493282635189162363?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/2493282635189162363?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/290510615/for-richer-for-poorer.html" title="For richer, for poorer" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/for-richer-for-poorer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MFQH4yfCp7ImA9WxdTF08.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-6595083185905809880</id><published>2008-05-14T01:18:00.003+01:00</published><updated>2008-05-14T01:36:51.094+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-14T01:36:51.094+01:00</app:edited><title>Linux / VMWare / Vista / Useful ?</title><content type="html">OK, I've got two laptops. The one I'm typing on which has no hard disk and is currently just booted from an Ubuntu Hardy Heron CD Rom and a Vaio VGN-FE41Z. Now I tried sticking Hardy onto it the other day using wabi and it works. But it ain't slick. And there's a list of things as long as your arm which don't work properly. And even if I do get it booted into Linux I'm going to lose iTunes (which I'm trying to DRM myself out of but is a slow process). And don't even talk to me about trying to make multiple monitors a painless process.&lt;br /&gt;&lt;br /&gt;In short - it's a Vista laptop. Not even a bad Vista laptop since I took the abomination which is the Sony default install and gave it a clean OEM Vista install.&lt;br /&gt;&lt;br /&gt;So I've been trying to use Hardy in VMWare as a desktop client and it sucks. Sorry, sucks is too strong a word. It's not seamless though - even with the VMWare client. I only want one desktop and having a desktop within a desktop is not good for asthetic, productivity and performance reasons.&lt;br /&gt;&lt;br /&gt;So then I went off on a Cygwin trail. I've used Cygwin before but it doesn't take long for the wonder of what it gives you to be offset by the pain of what it doesn't give you. Example - you want pysycopg installed - you have to compile it. That's not trivial. You want terminal windows that are not the brute ugliness of DOS circa 1990? Not trivial. you just want to "apt-get install foo" ? Not possible.&lt;br /&gt;&lt;br /&gt;So I want VMWare at the backend, but for the windows to appear in Vista as normal windows. The answer is simple and you already know what I'm going to say. You want &lt;a href="http://www.straightrunning.com/XmingNotes/"&gt;Xming&lt;/a&gt; running under Vista and talking to your X apps which are launched from a server only install of Ubuntu. That makes Ubuntu reasonably lightweight and gives you the X apps fully integrated into your desktop environment.&lt;br /&gt;&lt;br /&gt;That's what I'm trying now and will be trialling over the next couple of days. If it works and works well I'll document a little more about what I've done and how it fits together.&lt;br /&gt;&lt;br /&gt;In the meantime, I might just cave in for the sake of getting some done and go and get a MacBook as well.</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/6595083185905809880/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=6595083185905809880" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6595083185905809880?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/6595083185905809880?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/289814815/linux-vmware-vista-useful.html" title="Linux / VMWare / Vista / Useful ?" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/linux-vmware-vista-useful.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcCRX0yfSp7ImA9WxdTFk4.&quot;"><id>tag:blogger.com,1999:blog-9210244490645736884.post-4892064363342585578</id><published>2008-05-12T23:36:00.001+01:00</published><updated>2008-05-12T23:41:04.395+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-12T23:41:04.395+01:00</app:edited><title>Dead laptop</title><content type="html">Nothing like starting the day with a dead laptop.  Well here I am - in Japan. And my main work laptop is dead. Sigh.</content><link rel="replies" type="application/atom+xml" href="http://blog.cottee.org/feeds/4892064363342585578/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9210244490645736884&amp;postID=4892064363342585578" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4892064363342585578?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9210244490645736884/posts/default/4892064363342585578?v=2" /><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/cotteeblog/~3/289001984/dead-laptop.html" title="Dead laptop" /><author><name>Ian J Cottee</name><uri>http://www.blogger.com/profile/00504924271686596427</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.cottee.org/2008/05/dead-laptop.html</feedburner:origLink></entry></feed>
