<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-695352467604484711</id><updated>2010-01-05T21:18:30.246+09:30</updated><title type='text'>nthrbldyblg</title><subtitle type='html'>Random thoughts (what blog would be complete without them?); computer related info; travel photos; etc.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default?start-index=26&amp;max-results=25'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>63</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-3200587757788420495</id><published>2009-12-03T13:31:00.000+09:30</published><updated>2009-12-03T13:31:58.598+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='fake'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Goodbye comment spam!</title><content type='html'>I don't know whether to count myself privileged or unlucky, but spammers have now started comment spamming by blog!&amp;nbsp; I guess this is one of those annoying rights-of-passage.&lt;br /&gt;&lt;br /&gt;I noticed a trend where they first post something simple like "I really enjoyed reading this post about &amp;lt;random word from blog&amp;gt;, thankyou".&amp;nbsp; Since allowing a few of thoses, I'm now getting 6 or so spams a day.&lt;br /&gt;&lt;br /&gt;I first turned on comment verification for posts older than 14 days, but that just means I get the comment spam in my inbox.&lt;br /&gt;&lt;br /&gt;So I've now turned on captcha's (or "word verification" as Google's blogger calls it) so let's hope that reduces the spam.&lt;br /&gt;&lt;br /&gt;If you're interested, the setting is in "Settings &amp;gt; Comments" called "&lt;label for="commentCaptcha"&gt;Show word verification for comments?&lt;/label&gt;".&amp;nbsp; Choose "yes" and save.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-3200587757788420495?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/3200587757788420495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=3200587757788420495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/3200587757788420495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/3200587757788420495'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/12/goodbye-comment-spam.html' title='Goodbye comment spam!'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-2905534300534953261</id><published>2009-11-26T03:33:00.002+09:30</published><updated>2009-11-26T05:07:39.487+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='workplace'/><title type='text'>Hallo from Germany!</title><content type='html'>I'm in Nurnberg at the SPC/IPC/Drives fair this week!  Great weather, great people, great service!  Germany is the land of automation - from toilets to bars, there's some level of automation everywhere.&lt;br /&gt;&lt;br /&gt;I also like the public toilets - €0.50 to get in (refundable on a purchase from the nearby shops) however the toilets are high-quality 5-star and CLEAN!  (Of course with automatic taps, flushers, etc).  And some pipe rainforest sounds as well...  I'd happily pay 50c to use a clean public toilet in Australia.&lt;br /&gt;&lt;br /&gt;Anyway, it's great to see all the manufacturers that I couldn't access in Australia, under one roof (or 10 roofs actually).  I've been able to get access to some of the head developers for PLCs and IPCs and ask them detailed questions that Australian distributors have no clue about.&lt;br /&gt;&lt;br /&gt;I even bumped into Manfred Werner (not realising it was him until we swapped business cards) because he happened to be standing at the CoDeSys front desk.  I was able to ask him about the future of CoDeSys and the integration of a C compiler.  Needless to say they're not considering it right now, but the Matlab code generation topic has been raised with them a lot recently, so they're thinking...&lt;br /&gt;&lt;br /&gt;Well, the days are short, the weather is a refreshing "cool", and I'm looking forward to the Christmas Market (Christkindlesmarkt) on my only day off.  So Guten Tag!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-2905534300534953261?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/2905534300534953261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=2905534300534953261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2905534300534953261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2905534300534953261'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/11/hallo-from-germany.html' title='Hallo from Germany!'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-3833677709107968654</id><published>2009-08-26T21:59:00.003+09:30</published><updated>2009-08-27T10:32:11.578+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='GPS'/><category scheme='http://www.blogger.com/atom/ns#' term='XDA'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>Extracting CAB files for Windows Mobile without ActiveSync</title><content type='html'>I received an old bluetooth GPS that I write about &lt;a href="http://nthrbldyblg.blogspot.com/2009/08/what-do-do-with-bluetooth-gps.html"&gt;here&lt;/a&gt;.  To install the software, I simply had a Windows (not mobile) executable.  I don't have Windows and ActiveSync installed, so how do I go about getting the contents out of the executable and onto my Windows Mobile phone?&lt;br /&gt;&lt;br /&gt;In most cases it's quite easy!  Here are some tips:&lt;br /&gt;&lt;h3&gt;Try 1: Is a plain CAB alternative offered?&lt;/h3&gt;This may seem obvious to some, but check if the software is offered in two forms - as a Windows executable, &lt;span style="font-style: italic;"&gt;and&lt;/span&gt; a plain CAB file download.  Browse around the website or CDs for files ending in .CAB&lt;br /&gt;&lt;h3&gt;Try 2: Is it a self-extracting zip file?&lt;/h3&gt;This is the easiest form of executable!  Zip files can be made "self extracting" by containing both executable code and the embedded zip structure.  To find out (from Linux, Unix, BSD etc) just run an incantation of zip that understands dos-based &lt;a href="http://www.pkware.com/"&gt;PKZIP&lt;/a&gt; archives, such as &lt;a href="http://www.info-zip.org/"&gt;info-zip&lt;/a&gt;.  (You may have this version of zip already).&lt;br /&gt;&lt;br /&gt;info-zip comes with zipinfo which lists information about zip files.  In my case, the TomTom executable is called navupd521.exe&lt;br /&gt;&lt;pre&gt;$ zipinfo navupd521.exe&lt;br /&gt;Archive:  navupd521.exe   4409856 bytes   5 files&lt;br /&gt;-rw-a--     2.0 ntf  4762417 b- defN 16-Jan-06 13:17 setup.apk&lt;br /&gt;-rw-a--     2.0 ntf       81 t- defN 23-Feb-05 23:28 cp.txt&lt;br /&gt;-rwxa--     2.0 ntf  2498560 b- defN 16-Nov-05 15:49 setup.exe&lt;br /&gt;-rw-a--     2.0 ntf        0 t- stor 24-Feb-05 11:05 TomTom Update.cid&lt;br /&gt;-rw-a--     2.0 ntf       22 t- stor 11-Jul-05 08:54 ttn.txt&lt;br /&gt;5 files, 7261080 bytes uncompressed, 4377788 bytes compressed:  39.7%&lt;br /&gt;&lt;/pre&gt;If you see a list of files, then the executable is understood by zip.  But alas! there's no CAB files in here.  Unless they're in that setup.exe...&lt;br /&gt;&lt;pre&gt;$ unzip navupd521.exe&lt;br /&gt;Archive:  navupd521.exe&lt;br /&gt;inflating: setup.apk          &lt;br /&gt;inflating: cp.txt             &lt;br /&gt;inflating: setup.exe          &lt;br /&gt;extracting: TomTom Update.cid  &lt;br /&gt;extracting: ttn.txt            &lt;br /&gt;$ ls&lt;br /&gt;cp.txt         setup.apk  TomTom Update.cid&lt;br /&gt;navupd521.exe  setup.exe  ttn.txt&lt;br /&gt;$ zipinfo setup.exe&lt;br /&gt;[setup.exe]&lt;br /&gt;End-of-central-directory signature not found.  Either this file is not&lt;br /&gt;a zipfile, or it constitutes one disk of a multi-part archive.  In the&lt;br /&gt;latter case the central directory and zipfile comment will be found on&lt;br /&gt;the last disk(s) of this archive.&lt;br /&gt;zipinfo:  cannot find zipfile directory in one of setup.exe or&lt;br /&gt;      setup.exe.zip, and cannot find setup.exe.ZIP, period.&lt;br /&gt;&lt;/pre&gt;And here's the end of the line!  The setup.exe file is not a zip archive (even though they sometimes are called setup.exe).&lt;br /&gt;&lt;h3&gt;Try 3: Temporary files&lt;br /&gt;&lt;/h3&gt;Use wine to &lt;span style="font-style: italic;"&gt;start&lt;/span&gt; the install process, and look for temporary files.&lt;br /&gt;&lt;br /&gt;In my case, when I run &lt;tt&gt;wine navupd521.exe&lt;/tt&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;While the TomTom installer is complaining that your computer does not support the device blahblah or somesuch rubbish, look for a directory in &lt;&gt;/windows/temp that wasn't there before.  If necessary, create an index of all the files in your wine c drive before you run the installer.  Then do it again with the installer running, then check for differences.  There should be a temporary file or directory  somewhere!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;copy&lt;/span&gt; the entire directory (for TomTom that's "&lt;.wine&gt;/drive_c/windows/temp/WZSE0.TMP/") to somewhere safe&lt;/li&gt;&lt;li&gt;Exit the installer, and search for CAB files in the directory you just copied.&lt;/li&gt;&lt;li&gt;For TomTom you will find:&lt;br /&gt;WZSE0.TMP/pocketpc/tomtom.cab&lt;br /&gt;WZSE0.TMP/pocketpc/ttn.cab&lt;br /&gt;WZSE0.TMP/palmos/navigator.CAB&lt;/li&gt;&lt;li&gt;Choose the right CAB file  matching your device by name or directory.   I'm going with the pocketpc directory for my pocketpc!&lt;/li&gt;&lt;/ul&gt;Now all that's left is to copy the CAB files to your device using bluetooth, USB, or storage card; then select them in Windows Mobile to start the install.&lt;br /&gt;&lt;br /&gt;(This example is for the TomTom Navigator 5 December 2005 update.  After installing your original TomTom Navigator, run these CAB files to update to the new version)&lt;br /&gt;&lt;br /&gt;And that's how you can get CAB files without Windows!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-3833677709107968654?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/3833677709107968654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=3833677709107968654' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/3833677709107968654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/3833677709107968654'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/08/extracting-cab-files-for-windows-mobile.html' title='Extracting CAB files for Windows Mobile without ActiveSync'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-2744961537245218257</id><published>2009-08-25T21:02:00.006+09:30</published><updated>2010-01-04T13:52:46.491+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='GPS'/><category scheme='http://www.blogger.com/atom/ns#' term='XDA'/><title type='text'>What do do with a bluetooth GPS</title><content type='html'>&lt;a href="http://www.tomtom.com/lib/images/milan/GPSimage.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.tomtom.com/lib/images/milan/GPSimage.jpg" style="cursor: pointer; float: left; height: 163px; margin: 0pt 10px 10px 0pt; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;I received a &lt;a href="http://www.tomtom.com/products/product.php?ID=103&amp;amp;Category=14&amp;amp;Lid=4&amp;amp;TT=16a8b1fa-baba37bd-16a8b185-baba37bd-00000002-lau37u76eai648kjni3bsvn0t6"&gt;bluetooth GPS, by TomTom&lt;/a&gt;, which came with TomTom Navigator 5.&lt;br /&gt;&lt;br /&gt;It installs on my O2 Windows Mobile 5, it pairs, it works, but there are no maps for Australia.  It is, after all, from 2005.&lt;br /&gt;&lt;br /&gt;(I've made some notes on &lt;a href="http://nthrbldyblg.blogspot.com/2009/08/extracting-cab-files-for-windows-mobile.html"&gt;extracting and installing CAB files in Linux without ActiveSync&lt;/a&gt;, which you might be interested in).&lt;br /&gt;&lt;br /&gt;I've searched for map downloads, but as far as I can tell, they're not available for Australia for this version of Navigator.  Nor are TeleAtlas maps, which are supposedly compatible.&lt;br /&gt;&lt;br /&gt;So the question is: &lt;span style="font-style: italic; font-weight: bold;"&gt;What do I do with this bluetooth GPS?&lt;/span&gt;  It works fine with my phone, and no doubt would work with my laptop.  I don't want Google Maps, because it doesn't give voice guided directions, nor does it allow you to download maps.  (You have to be within range of a 3G tower at all times).&lt;br /&gt;&lt;br /&gt;I would have liked a voice-guided navigator for my mobile, but I can't find one.  Nor do I want to hack or download the latest Tomtom Navigator, or equivalent.&lt;br /&gt;&lt;br /&gt;Your suggestions please!  The more unusual the better!  Duct tape required!  Perhaps a GPS-aware back to base alarm for my car?  You think of something...&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Ideas so far:&lt;/h3&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Download a compatible program and create data for &lt;a href="http://www.openstreetmap.org/"&gt;OpenStreetMap&lt;/a&gt;.  (OpenStreetMap is creating a royalty free and open GPS street map of the world, but they need GPS data).  I could permanently mount my GPS and phone in the car, and upload the data from time to time.&lt;br /&gt;&lt;br /&gt;The only problem is Yahoo has provided some free data already which covers most of the city I live in...&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sell it (no box, CD's, used condition, I might get $20USD...)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;(Waiting for idea #3)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-2744961537245218257?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/2744961537245218257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=2744961537245218257' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2744961537245218257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2744961537245218257'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/08/what-do-do-with-bluetooth-gps.html' title='What do do with a bluetooth GPS'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-7903619834333739116</id><published>2009-08-12T21:22:00.004+09:30</published><updated>2009-08-12T22:01:12.604+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='TV'/><category scheme='http://www.blogger.com/atom/ns#' term='inspiron9100'/><title type='text'>Dell Inspiron 9100 infra red port</title><content type='html'>My old Dell laptop has a built-in infra red port on the front.  In the 4 or more years that I've had it, I've had no need for the port.&lt;br /&gt;&lt;br /&gt;Now that it is becoming my (MythTV) media centre, the infra red port becomes useful!  Here are the steps I used to get it working.  I had some small hassle with the built-in serial port driver taking over.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;First, make sure it's enabled in the BIOS, and take note of the serial port it's attached to.&lt;br /&gt;&lt;br /&gt;There are no other serial ports on this laptop, so anything that looks like a serial port is likely to be the infra red port.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I used &lt;span style="font-style: italic;"&gt;lirc&lt;/span&gt; to receive and configure the port.&lt;br /&gt;&lt;br /&gt;In Gentoo enable the lirc global USE flag (global means put it in make.conf because many programs can make use of it).  Also add this line to make.conf:&lt;br /&gt;&lt;code&gt;LIRC_DEVICES="sir"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In other distros, you have to somehow build the sir driver.&lt;br /&gt;&lt;br /&gt;Also add the lirc USE flags &lt;span style="font-style: italic;"&gt;hardware-carrier&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;transmitter&lt;/span&gt;.  You can do this in &lt;code&gt;/etc/make.conf&lt;/code&gt;, or better use &lt;code&gt;/etc/portage/package.use&lt;/code&gt;, or better still, make package.use a directory, and add the file &lt;code&gt;/etc/portage/package.use/lirc-20090806&lt;/code&gt; with the contents:&lt;br /&gt;&lt;code&gt;app-misc/lirc hardware-carrier transmitter&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;(You can of course make any-named file in /etc/portage/package.use)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;(re)compile!  This includes lirc, MythTV, mplayer and anything else that might be able to take advantage of your new lirc USE flag.&lt;br /&gt;&lt;br /&gt;In Gentoo, you could use the command:&lt;br /&gt;&lt;code&gt;emerge --update --newuse --deep world&lt;/code&gt;&lt;br /&gt;to find and rebuild all packages that have changed USE flags.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Now you need to load the lirc module.  For com1, run this command:&lt;br /&gt;&lt;code&gt;modprobe lirc_sir io=0x2f8 irq=3 threshold=5&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;options lirc-sir io=0x2f8 irq=3 threshold=5&lt;/code&gt;&lt;br /&gt;Also add this line to remove any conflicts:&lt;br /&gt;&lt;code&gt;install lirc_sir setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_sir&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Make sure you run &lt;span style="font-style: italic;"&gt;update-modules&lt;/span&gt;; then unload and reload the lirc_sir module after any changes to lirc.conf&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Test your configuration with mode2.  Run mode2 as root and then press buttons on a remote.  You should see some output like&lt;br /&gt;&lt;code&gt;pulse 591&lt;br /&gt;space 96900&lt;br /&gt;pulse 9042&lt;br /&gt;space 2277&lt;br /&gt;pulse 591&lt;br /&gt;space 96900&lt;br /&gt;pulse 9042&lt;br /&gt;space 2273&lt;br /&gt;pulse 594&lt;br /&gt;space 96901&lt;br /&gt;pulse 9042&lt;br /&gt;space 2274&lt;br /&gt;pulse 593&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;If not, make sure you've unloaded any serial related module.  Check dmesg after loading the lirc module to make sure your hardware is recognised:&lt;br /&gt;&lt;code&gt;$ dmesg | grep lirc_sir&lt;br /&gt;lirc_sir: I/O port 0x03e8, IRQ 4.&lt;br /&gt;lirc_sir: Installed.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You're almost there!  Now you can download remote codes from the &lt;a href="http://lirc.sourceforge.net/remotes/"&gt;LIRC website&lt;/a&gt;, or make your own with irrecord.  I made my own, since my remote wasn't there.&lt;br /&gt;&lt;br /&gt;Copy the remote code file to /etc/lircd.conf&lt;br /&gt;&lt;br /&gt;Leave the /etc/conf.d/lircd blank or all commented out if you have the same hardware&lt;br /&gt;&lt;br /&gt;Start lircd: &lt;code&gt;/etc/init.d/lircd&lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;And that should be that!&lt;br /&gt;&lt;br /&gt;Many thanks to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The &lt;a href="http://www.lirc.org/"&gt;LIRC project website&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.gentoo-wiki.com/wiki/LIRC"&gt;The Gentoo wiki LIRC guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;This &lt;a href="http://datacurrent.blogspot.com/2008/02/comercial-infrared-lirc-on-dell.html"&gt;Data Current blog post&lt;/a&gt; by Boian Berberov&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-7903619834333739116?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/7903619834333739116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=7903619834333739116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/7903619834333739116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/7903619834333739116'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/08/dell-inspiron-9100-infra-red-port.html' title='Dell Inspiron 9100 infra red port'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-6346337994856607240</id><published>2009-08-05T16:51:00.004+09:30</published><updated>2009-08-05T21:34:38.891+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='SynCE'/><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='XDA'/><title type='text'>SynCE 0.14 updates</title><content type='html'>SynCE 0.14 ebuilds are now available in the overlay for all SynCE packages.  (See the &lt;a href="http://www.synce.org/moin/SynceInstallation/Gentoo"&gt;instructions here&lt;/a&gt; for details)&lt;br /&gt;&lt;br /&gt;You should have no trouble compiling and installing (of course, let someone know if you do!)&lt;br /&gt;&lt;br /&gt;Most of the SynCE problems seem to come from configuring and using (or trying to).  So &lt;span style="font-weight: bold; font-style: italic;"&gt;before you report any bugs&lt;/span&gt;, please try these steps.  Note: this is a short summary!  Please read the &lt;a href="http://www.synce.org/moin/SynceInstallation/Gentoo"&gt;SynCE wiki&lt;/a&gt; for full instructions.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;First verify you have version 0.14 of everything, using eix, equery, genlop or whatever.&lt;/li&gt;&lt;li&gt;Backup all your Contacts, Calendar, Tasks and Files.  (I use Sprite Backup that came with my Treo Pro).  This is important as Windows Mobile 6 will delete all data associated with a deleted partnership.&lt;/li&gt;&lt;li&gt;Remove the multisync group (your command may vary)&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;tt&gt;$ msynctool --delgroup synce-sync&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Remove the partnership&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;tt&gt;&lt;/span&gt;$ delete_partnership.py&lt;span style="font-family: courier new;"&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Delete the ~/.opensync and ~/.synce directories (copy any local config files first)&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;tt&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;$ rm -rf ~/.opensync ~/.synce/*&lt;span style="font-family: courier new;"&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Create a new partnership (change the name and objects to synchronise)&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;tt&gt;&lt;/span&gt;$ create_partnership.py "TreoPro" "Calendar"&lt;span style="font-family: courier new;"&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Create a new opensync group, and add members (alter members to suit your needs)&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;tt&gt;&lt;/span&gt;$ msynctool --addgroup synce-sync&lt;br /&gt;$  msynctool --addmember synce-sync evo2-sync&lt;br /&gt;$ msynctool --addmember synce-sync synce-opensync-plugin&lt;br /&gt;$ msynctool --showgroup synce-sync&lt;span style="font-family: courier new;"&gt;&lt;/tt&gt;&lt;/span&gt;&lt;br /&gt;If these steps fail, check the output from --&lt;span style="font-style: italic;"&gt;listplugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;tt&gt;&lt;/span&gt;$ msynctool --listplugins&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;br /&gt;Available plugins:&lt;br /&gt;evo2-sync&lt;br /&gt;synce-opensync-plugin&lt;br /&gt;testmodule&lt;span style="font-family: courier new;"&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;If you upgrade sys-apps/hal to &gt;= 0.5.13 (which is now in ~x86) you will have to compile synce-hal again.  This is because the hal scripts directory has changed, and synce-hal only detects this at install-time.&lt;br /&gt;&lt;br /&gt;Errors similar to &lt;a href="https://www.opensync.org/ticket/1131"&gt;https://www.opensync.org/ticket/1131&lt;/a&gt; were fixed for me by following the steps above.&lt;br /&gt;&lt;br /&gt;Let me know of your success / failure.  SynCE 0.14 will be in portage in the fullness of time!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-6346337994856607240?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/6346337994856607240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=6346337994856607240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/6346337994856607240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/6346337994856607240'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/08/synce-014-updates.html' title='SynCE 0.14 updates'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-6544144156802979448</id><published>2009-07-28T21:19:00.004+09:30</published><updated>2009-07-29T10:47:45.420+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='TV'/><title type='text'>Artec DVB USB in Linux</title><content type='html'>So I &lt;a href="http://nthrbldyblg.blogspot.com/2009/07/artec-usb-dvb-t-tuner-card.html"&gt;unboxed&lt;/a&gt; my Artec TV tuner card, now I have to get it working!&lt;br /&gt;&lt;br /&gt;You need firmware and kernel modules.  You can download the firmware for it here:&lt;br /&gt;http://www.wi-bw.tfh-wildau.de/~pboettch/home/files/dvb-usb-dib0700-1.20.fw&lt;br /&gt;&lt;br /&gt;Use wget or some way of getting it.  Then move the file to /lib/firmware.&lt;br /&gt;&lt;br /&gt;You also need the v4l-dvb kernel drivers (compatible with kernel 2.6.16  and up).  In Gentoo, emerge &lt;span style="font-style: italic;"&gt;media-tv/v4l-dvb-hg&lt;/span&gt;.  Other distributions have &lt;a href="http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers"&gt;instructions here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now insert the card. udev will handle loading the correct modules.  My syslog output looks like this:&lt;br /&gt;&lt;pre&gt;usb 1-3: Product: ART7070&lt;br /&gt;usb 1-3: Manufacturer: Ultima&lt;br /&gt;usb 1-3: SerialNumber: 001&lt;br /&gt;usb 1-3: configuration #1 chosen from 1 choice&lt;br /&gt;dvb-usb: found a 'Artec T14BR DVB-T' in cold state, will try to load a firmware&lt;br /&gt;usb 1-3: firmware: requesting dvb-usb-dib0700-1.20.fw&lt;br /&gt;dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'&lt;br /&gt;dib0700: firmware started successfully.&lt;br /&gt;dvb-usb: found a 'Artec T14BR DVB-T' in warm state.&lt;br /&gt;dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.&lt;br /&gt;DVB: registering new adapter (Artec T14BR DVB-T)&lt;br /&gt;DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...&lt;br /&gt;DiB0070: successfully identified&lt;br /&gt;input: IR-receiver inside an USB DVB receiver as /class/input/input7&lt;br /&gt;dvb-usb: schedule remote query interval to 50 msecs.&lt;br /&gt;dvb-usb: Artec T14BR DVB-T successfully initialized and connected.&lt;br /&gt;&lt;/pre&gt;Look for a line similar to &lt;span style="font-style: italic;"&gt;dib0700: firmware started successfully&lt;/span&gt;.  If you see &lt;span style="font-style: italic;"&gt;Cannot find firmware file&lt;/span&gt; then make sure you downloaded the firmware properly, and check your system's firmware directory.  Also check the firmware file name, as it might want a slightly different firmware file.&lt;br /&gt;&lt;br /&gt;That's it!  From there I plugged in an antenna, loaded MythTV, and watched some HD TV!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-6544144156802979448?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/6544144156802979448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=6544144156802979448' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/6544144156802979448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/6544144156802979448'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/artec-dvb-usb-in-linux.html' title='Artec DVB USB in Linux'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-8124359852983876411</id><published>2009-07-28T12:33:00.002+09:30</published><updated>2009-07-28T12:39:51.810+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='SynCE'/><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='XDA'/><title type='text'>SynCE 0.14 in Gentoo</title><content type='html'>I just tested app-pda/synce-gvfs-0.3 in Gentoo with gnome-base/gvfs-1.2.3.  This is the first ebuild for the &lt;a href="http://www.synce.org/"&gt;SynCE&lt;/a&gt; 0.14 release (&lt;a href="http://sourceforge.net/forum/forum.php?forum_id=980480"&gt;announcement here&lt;/a&gt;), and it's available in the &lt;a href="http://www.synce.org/moin/SynceInstallation/Gentoo"&gt;SynCE overlay&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;synce-gvfs works without upgrading other SynCE components to 0.14.  For me, it fixes a gvfs crash when trying to copy files off your device.&lt;br /&gt;&lt;br /&gt;Comments welcome :)  The rest of SynCE 0.14 will happen eventually :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-8124359852983876411?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/8124359852983876411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=8124359852983876411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/8124359852983876411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/8124359852983876411'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/synce-014-in-gentoo.html' title='SynCE 0.14 in Gentoo'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-1949637187637641917</id><published>2009-07-28T12:20:00.006+09:30</published><updated>2009-07-29T22:10:44.497+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='TV'/><category scheme='http://www.blogger.com/atom/ns#' term='inspiron9100'/><title type='text'>Artec USB DVB-T tuner card</title><content type='html'>I just purchased the Artec T14BR HD DVB-T TV tuner dongle for turning my old laptop into a MythTV box.  It cost $46.90 including GST and postage from &lt;a href="http://www.dealsdirect.com.au/p/artec-t14br-usb-digital-tv-receiver/"&gt;Deals Direct&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I now have a High Def set top box, with 80Gb hard drive for (essentially) $46.90.  And if I want to make it a twin tuner HD STB, it's just another $46.90.&lt;br /&gt;&lt;br /&gt;Here is the picture of the box:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ARK1pLwRAEE/Sm5qKgHhSRI/AAAAAAAAArg/PMLefZ3Q57Y/s1600-h/IMAG0126.jpg"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_ARK1pLwRAEE/Sm5qKgHhSRI/AAAAAAAAArg/PMLefZ3Q57Y/s200/IMAG0126.jpg" alt="" id="BLOGGER_PHOTO_ID_5363340934897551634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here are all the contents (note, no aerial, but I knew that):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ARK1pLwRAEE/Sm5ootMB6WI/AAAAAAAAArQ/2U42uGokMa4/s1600-h/IMAG0127.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_ARK1pLwRAEE/Sm5ootMB6WI/AAAAAAAAArQ/2U42uGokMa4/s200/IMAG0127.jpg" alt="" id="BLOGGER_PHOTO_ID_5363339254778947938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And finally a close up of the interesting stuff:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ARK1pLwRAEE/Sm5oowlCOAI/AAAAAAAAArY/ssvmqf2Sj1U/s1600-h/IMAG0128.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_ARK1pLwRAEE/Sm5oowlCOAI/AAAAAAAAArY/ssvmqf2Sj1U/s200/IMAG0128.jpg" alt="" id="BLOGGER_PHOTO_ID_5363339255689132034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The dongle has a window on either side, presumable for the IR reciever in the middle somewhere.&lt;br /&gt;&lt;br /&gt;Support for Linux is supposedly good (stay tuned, haha!).  &lt;span style="font-style: italic;"&gt;lsusb&lt;/span&gt; identifies it as "&lt;span style="font-style: italic;"&gt;Bus 001 Device 025: ID 05d8:810f Ultima Electronics Corp.&lt;/span&gt;"  The syslog output when I plug it in looks like this:&lt;br /&gt;&lt;blockquote&gt;usb 1-3: new high speed USB device using ehci_hcd and address 25&lt;br /&gt;usb 1-3: New USB device found, idVendor=05d8, idProduct=810f&lt;br /&gt;usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;br /&gt;usb 1-3: Product: ART7070&lt;br /&gt;usb 1-3: Manufacturer: Ultima&lt;br /&gt;usb 1-3: SerialNumber: 001&lt;br /&gt;usb 1-3: configuration #1 chosen from 1 choice&lt;br /&gt;&lt;/blockquote&gt;This isn't "the" laptop, so I don't have any drivers installed for it, hence that's all for now.&lt;br /&gt;&lt;br /&gt;I'll let you know how it works in my &lt;a href="http://nthrbldyblg.blogspot.com/2009/07/artec-dvb-usb-in-linux.html"&gt;next post&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-1949637187637641917?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/1949637187637641917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=1949637187637641917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/1949637187637641917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/1949637187637641917'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/artec-usb-dvb-t-tuner-card.html' title='Artec USB DVB-T tuner card'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ARK1pLwRAEE/Sm5qKgHhSRI/AAAAAAAAArg/PMLefZ3Q57Y/s72-c/IMAG0126.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-571380822408562308</id><published>2009-07-13T21:15:00.004+09:30</published><updated>2009-07-13T21:24:24.554+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>Hey you! Follow my Blog! (please?)</title><content type='html'>A huge thanks to the many visitors to &lt;a href="http://nthrbldyblg.blogspot.com/"&gt;my blog&lt;/a&gt; each month.  I've made a few changes to my blog to make it a bit more interactive.&lt;br /&gt;&lt;br /&gt;Now you can "follow" this blog and see an image cloud of other followers.  Just click on the "Follow" button to the right.&lt;br /&gt;&lt;br /&gt;Also, I've added "reactions" below each post.  They're easier than comments, and it offers a way to give me some quick feedback (like "cool", or "shut up!").&lt;br /&gt;&lt;br /&gt;So please try it out, For Great Justice.  (or not, it's up to you :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-571380822408562308?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/571380822408562308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=571380822408562308' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/571380822408562308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/571380822408562308'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/hey-you-follow-my-blog-please.html' title='Hey you! Follow my Blog! (please?)'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-1392414999189349896</id><published>2009-07-11T12:52:00.003+09:30</published><updated>2009-07-11T14:10:22.124+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='workplace'/><category scheme='http://www.blogger.com/atom/ns#' term='Workstation'/><category scheme='http://www.blogger.com/atom/ns#' term='inspiron9100'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>Broadcom BCM4306 wireless LAN without ndiswrapper</title><content type='html'>I've been updating an old laptop as you &lt;a href="http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-1.html"&gt;might&lt;/a&gt; &lt;a href="http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-2.html"&gt;have&lt;/a&gt; &lt;a href="http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-3-cpu.html"&gt;read&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;Last night I tried to start the wireless LAN, but too many kernel upgrades had obsoleted my setup!  When I first got the laptop around 2004, ndiswrapper was the only option.  By now I thought there must be a better way!  I settled on the &lt;a href="http://wireless.kernel.org/en/users/Drivers/b43"&gt;b43legacy drivers&lt;/a&gt;.  Many thanks to that great site for all the specific details.&lt;br /&gt;&lt;br /&gt;As I write, I'm using the wireless LAN with b43legacy without problems!&lt;br /&gt;&lt;br /&gt;But how?  I'll show you the details for the specific WLAN controller in the Dell Inspiron 9100.&lt;br /&gt;&lt;br /&gt;According to &lt;a href="http://wireless.kernel.org/en/users/Drivers/b43"&gt;wireless.kernel.org&lt;/a&gt; (wko)&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;If your card is a BCM4306 Rev 2, or only has 802.11b capability, it uses b43legacy. All other models use b43.&lt;/blockquote&gt;As you can see, I have revision 2, so I have to use the b43legacy driver.  To identify your card, type `lspci -vnn | grep 14e4`.  This is my response:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Subsystem: Broadcom Corporation Device [14e4:4d64]&lt;br /&gt;02:00.0 Ethernet controller [0200]: Broadcom Corporation BCM4401 100Base-T [14e4:4401] (rev 01)&lt;br /&gt;02:03.0 Network controller [0280]: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 02)&lt;/pre&gt;The &lt;span style="font-style: italic;"&gt;14e4&lt;/span&gt; is necessary to use any b43 driver.&lt;br /&gt;&lt;br /&gt;At &lt;span style="font-style: italic;"&gt;wko&lt;/span&gt;, b43legacy is specified for revision 2, and b43 for revision 3.&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Supported chip types&lt;br /&gt;* bcm4306 (Rev. 2 uses b43legacy, Rev. 3 uses b43)&lt;/blockquote&gt;Now to configure your kernel.  (This may be done for you).  Check these options are set:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Networking support &gt; wireless&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Generic IEEE 802.11 Networking Stack (mac80211)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Enable LED triggers (MAC80211_LEDS)&lt;/span&gt; (if you have LEDs)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Also enable:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Network device support &gt; wireless LAN&lt;/li&gt;&lt;/ul&gt;and the following options:&lt;br /&gt;CONFIG_B43LEGACY=m&lt;br /&gt;CONFIG_B43LEGACY_PCI_AUTOSELECT=y&lt;br /&gt;CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y&lt;br /&gt;CONFIG_B43LEGACY_LEDS=y&lt;br /&gt;CONFIG_B43LEGACY_DEBUG=y&lt;br /&gt;CONFIG_B43LEGACY_DMA=y&lt;br /&gt;# CONFIG_B43LEGACY_DMA_AND_PIO_MODE is not set&lt;br /&gt;CONFIG_B43LEGACY_DMA_MODE=y&lt;br /&gt;# CONFIG_B43LEGACY_PIO_MODE is not set&lt;br /&gt;&lt;br /&gt;Now make, install, and reboot!  The module &lt;span style="font-style: italic;"&gt;b43_legacy&lt;/span&gt; was loaded automatically for my by udev.&lt;br /&gt;&lt;br /&gt;I use &lt;span style="font-style: italic;"&gt;wpa_supplicant&lt;/span&gt; to connect.  Your config files may vary.  Somehow you need to specify that wpa_supplicant should be started like this:&lt;br /&gt;&lt;pre&gt;wpa_supplicant -iwlan0 -Dwext -c/etc/wpa_supplement.conf&lt;/pre&gt;&lt;br /&gt;In gentoo, edit /etc/conf.d/net:&lt;br /&gt;&lt;pre&gt;modules_wlan0="wpa_supplicant"&lt;br /&gt;wpa_supplicant_wlan0="-Dwext"&lt;br /&gt;config_wlan0="dhcp"&lt;br /&gt;dhcpcd_wlan0="-L"&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;There's one final step.  The BCM cards need firmware which is loaded by the proprietary windows drivers.  You must download this in addition to a firware cutter called b43-fwcutter.  In Gentoo, &lt;span style="font-style: italic;"&gt;emerge b43-fwcutter&lt;/span&gt;.  Then run these commands (thanks again to &lt;span style="font-style: italic;"&gt;wko&lt;/span&gt;).&lt;br /&gt;&lt;pre&gt;export FIRMWARE_INSTALL_DIR="/lib/firmware"&lt;br /&gt;wget http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o&lt;br /&gt;sudo b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta-3.130.20.0.o&lt;/pre&gt;The output looks like this:&lt;br /&gt;&lt;pre&gt;This file is recognised as:&lt;br /&gt;ID         :  FW10&lt;br /&gt;filename   :  wl_apsta.o&lt;br /&gt;version    :  295.14&lt;br /&gt;MD5        :  e08665c5c5b66beb9c3b2dd54aa80cb3&lt;br /&gt;Extracting b43legacy/ucode2.fw&lt;br /&gt;Extracting b43legacy/ucode4.fw&lt;br /&gt;Extracting b43legacy/ucode5.fw&lt;br /&gt;Extracting b43legacy/ucode11.fw&lt;br /&gt;Extracting b43legacy/pcm4.fw&lt;br /&gt;Extracting b43legacy/pcm5.fw&lt;br /&gt;Extracting b43legacy/a0g0bsinitvals2.fw&lt;br /&gt;Extracting b43legacy/b0g0bsinitvals5.fw&lt;br /&gt;Extracting b43legacy/a0g0initvals5.fw&lt;br /&gt;Extracting b43legacy/a0g1bsinitvals5.fw&lt;br /&gt;Extracting b43legacy/a0g0initvals2.fw&lt;br /&gt;Extracting b43legacy/a0g1initvals5.fw&lt;br /&gt;Extracting b43legacy/b0g0bsinitvals2.fw&lt;br /&gt;Extracting b43legacy/b0g0initvals5.fw&lt;br /&gt;Extracting b43legacy/b0g0initvals2.fw&lt;br /&gt;Extracting b43legacy/a0g0bsinitvals5.fw&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You may need to specify a different firmware directory.  /lib/firmware is correct for Gentoo.&lt;br /&gt;&lt;br /&gt;Now you should be able to start your network script.  In Gentoo &lt;span style="font-style: italic;"&gt;/etc/init.d/net.wlan0 start&lt;/span&gt;.  syslog shows:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;b43legacy-phy0: Loading firmware version 0x127, patch level 14 (2005-04-18 02:36:27)&lt;br /&gt;b43legacy-phy0 debug: Chip initialized&lt;br /&gt;b43legacy-phy0 debug: 30-bit DMA initialized&lt;br /&gt;Registered led device: b43legacy-phy0:tx&lt;br /&gt;Registered led device: b43legacy-phy0:rx&lt;br /&gt;b43legacy-phy0 debug: Wireless interface started&lt;br /&gt;b43legacy-phy0 debug: Adding Interface type 2&lt;br /&gt;b43legacy-phy0 debug: Radio initialized&lt;br /&gt;b43legacy-phy0: Radio turned off by software&lt;br /&gt;b43legacy-phy0: Radio turned on by software&lt;br /&gt;/etc/init.d/net.wlan0[12885]: WARNING: net.wlan0 has started, but is inactive&lt;br /&gt;wlan0: direct probe to AP --:--:--:--:--:-- try 1&lt;br /&gt;wlan0 direct probe responded&lt;br /&gt;wlan0: authenticate with AP --:--:--:--:--:--&lt;br /&gt;wlan0: authenticated&lt;br /&gt;wlan0: associate with AP --:--:--:--:--:--&lt;br /&gt;wlan0: RX AssocResp from --:--:--:--:--:-- (capab=0x431 status=0 aid=2)&lt;br /&gt;wlan0: associated&lt;br /&gt;wpa_cli: interface wlan0 CONNECTED&lt;br /&gt;dhcpcd[13080]: wlan0: dhcpcd 4.0.13 starting&lt;br /&gt;dhcpcd[13080]: wlan0: broadcasting for a lease&lt;br /&gt;dhcpcd[13080]: wlan0: offered x.x.x.148 from x.x.x.1&lt;br /&gt;dhcpcd[13080]: wlan0: acknowledged x.x.x.148 from x.x.x.1&lt;br /&gt;dhcpcd[13080]: wlan0: checking x.x.x.148 is available on attached networks&lt;br /&gt;dhcpcd[13080]: wlan0: leased x.x.x.148 for 604800 seconds&lt;br /&gt;&lt;/pre&gt;I removed IP addresses, hostnames, and MAC addresses.&lt;br /&gt;&lt;br /&gt;And that's it!  Let me know how you go, especially if you have an Inspiron 9100.  If not, be sure to check out the official site for more details: &lt;a href="http://wireless.kernel.org/en/users/Drivers/b43"&gt;http://wireless.kernel.org/en/users/Drivers/b43&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-1392414999189349896?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/1392414999189349896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=1392414999189349896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/1392414999189349896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/1392414999189349896'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/broadcom-bcm4306-wireless-lan-without.html' title='Broadcom BCM4306 wireless LAN without ndiswrapper'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-7098716305931186848</id><published>2009-07-10T16:53:00.000+09:30</published><updated>2009-07-10T16:55:49.617+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='workplace'/><category scheme='http://www.blogger.com/atom/ns#' term='Workstation'/><category scheme='http://www.blogger.com/atom/ns#' term='inspiron9100'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>Dell Inspiron 9100 Internals part 3: CPU cooling assembly</title><content type='html'>After removing the video card, the next step was to access the&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ARK1pLwRAEE/Slaa1d2QRwI/AAAAAAAAAqI/IN8vb7EKTOA/s1600-h/IMAG0092.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_ARK1pLwRAEE/Slaa1d2QRwI/AAAAAAAAAqI/IN8vb7EKTOA/s200/IMAG0092.jpg" alt="" id="BLOGGER_PHOTO_ID_5356639050139715330" border="0" /&gt;&lt;/a&gt; CPU fan.  In the picture on the right you can see the &lt;span style="font-style: italic;"&gt;Microprocessor Thermal-Cooling Assembly&lt;/span&gt; starting with the CPU fan at the bottom middle, running over the northbridge copper heat transfer pipe, and finally to the CPU heatsink.  This Aluminium block has two copper pipes running to the left and right fans, for extra cooling.&lt;br /&gt;&lt;br /&gt;Once I had got this far, I suspected the blockage was after the fan, but before the Aluminium block.  I removed the video card (as you saw previously) and then the four screws on the block.&lt;br /&gt;&lt;br /&gt;The block gave a bit of resistanc&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ARK1pLwRAEE/SlaczmqgRcI/AAAAAAAAAqQ/qO5Z73yDS2k/s1600-h/IMAG0100b.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 70px;" src="http://3.bp.blogspot.com/_ARK1pLwRAEE/SlaczmqgRcI/AAAAAAAAAqQ/qO5Z73yDS2k/s200/IMAG0100b.jpg" alt="" id="BLOGGER_PHOTO_ID_5356641217169868226" border="0" /&gt;&lt;/a&gt;e, and then lifted. Experts would recommend you do this to a hot machine, and this is the reason why: There's the CPU nicely stuck to the block.  &lt;span style="font-weight: bold; font-style: italic;"&gt;oops!&lt;/span&gt;  The CPU pulled right out of the closed ZIF socket!  Note that you can't do this to a warm laptop, unless you're fast, as it takes time to get this far.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hardwareanalysis.com/content/topic/42265/?o=20#489137"&gt;There's a great thread here&lt;/a&gt; about removing a stuck CPU.  I think the dental floss is a bit over the top (and time consuming), so I used a heat gun.  I placed the assembly upside-down so the CPU wouldn't fall off, and blew the heat gun (or hair dryer) on the two end fins.  Stop when it's only just too hot to touch.  Then only a tiny bit of pressure was required to lift the CPU.  &lt;span style="font-style: italic;"&gt;Don't apply pressure to the corner of the CPU with a screwdriver!&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ARK1pLwRAEE/SlaeIkaKE-I/AAAAAAAAAqY/Bmalkjp9R1U/s1600-h/IMAG0101.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_ARK1pLwRAEE/SlaeIkaKE-I/AAAAAAAAAqY/Bmalkjp9R1U/s200/IMAG0101.jpg" alt="" id="BLOGGER_PHOTO_ID_5356642676853314530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here's the final shot showing no CPU or video card.  &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Make sure you cover the ZIF socket&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt; with something to keep it dust free.  And don't touch the CPU or heat sink heat transfer surface, as your skin-oils can deter the heat transfer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ARK1pLwRAEE/SlafWLFATHI/AAAAAAAAAqg/Ay-4N6SKgvI/s1600-h/IMAG0102.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_ARK1pLwRAEE/SlafWLFATHI/AAAAAAAAAqg/Ay-4N6SKgvI/s200/IMAG0102.jpg" alt="" id="BLOGGER_PHOTO_ID_5356644010083503218" border="0" /&gt;&lt;/a&gt;Here's the cooling assembly.  You can see the thick dust covering the channel.  There was also dust all through the fins.  (Again, sorry for the bad photos).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now I cleaned the CPU surface and heat sink surface with alcohol and a lint-free cloth, and applied a covering of Arctic Silver.  The next two photos show why it needed cleaning:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ARK1pLwRAEE/SlagpTOFfeI/AAAAAAAAAqw/3pqBkEx-FLA/s1600-h/IMAG0105b.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 188px;" src="http://3.bp.blogspot.com/_ARK1pLwRAEE/SlagpTOFfeI/AAAAAAAAAqw/3pqBkEx-FLA/s200/IMAG0105b.jpg" alt="" id="BLOGGER_PHOTO_ID_5356645438198218210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ARK1pLwRAEE/SlagpK2ky6I/AAAAAAAAAqo/qnRDcVLSNwA/s1600-h/IMAG0104b.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 160px;" src="http://1.bp.blogspot.com/_ARK1pLwRAEE/SlagpK2ky6I/AAAAAAAAAqo/qnRDcVLSNwA/s200/IMAG0104b.jpg" alt="" id="BLOGGER_PHOTO_ID_5356645435952122786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And now it's time to reinstall!  Follow the pull-apart instructions backwards.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ARK1pLwRAEE/Slbr1jEzTkI/AAAAAAAAAq4/aVKuo0m_ync/s1600-h/resumedb.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 112px; height: 200px;" src="http://2.bp.blogspot.com/_ARK1pLwRAEE/Slbr1jEzTkI/AAAAAAAAAq4/aVKuo0m_ync/s200/resumedb.png" alt="" id="BLOGGER_PHOTO_ID_5356728111984758338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Take careful note of where the screws go as some screws were different sizes to the ones listed in the Dell guide.  Also make sure you take care with re-inserting the parts.  I cracked the display bezel and one hinge because I couldn't fit the centre hinge cover properly.  Nevermind, they're only about &lt;a href="http://www.parts-people.com/index.php?action=item&amp;amp;id=882"&gt;US$25&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;On the right you can see a gcc compile at 100% CPU usage.  The CPU has only just started to heat up at 43 degrees C.  It didn't pass 58 degrees after compiling my system for hours, and the fans were all at low / medium speed.&lt;br /&gt;&lt;br /&gt;Finally, at idle, it's now 40 degrees C.  (woot).&lt;br /&gt;&lt;br /&gt;Oh, and by the way:  I suspended before taking out the CPU, and I resumed days later without any software issues!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-7098716305931186848?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/7098716305931186848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=7098716305931186848' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/7098716305931186848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/7098716305931186848'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-3-cpu.html' title='Dell Inspiron 9100 Internals part 3: CPU cooling assembly'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ARK1pLwRAEE/Slaa1d2QRwI/AAAAAAAAAqI/IN8vb7EKTOA/s72-c/IMAG0092.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-672582032877460285</id><published>2009-07-10T08:03:00.002+09:30</published><updated>2009-07-10T11:35:52.409+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='workplace'/><category scheme='http://www.blogger.com/atom/ns#' term='Workstation'/><category scheme='http://www.blogger.com/atom/ns#' term='inspiron9100'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>Dell Inspiron 9100 Internals part 2: Video card</title><content type='html'>&lt;a href="http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-1.html"&gt;Part 1 of pulling-apart my laptop is here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this part I'm showing pictures of the video card before and after removal.&lt;br /&gt;&lt;br /&gt;Here is the exposed shot again:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWKdVNXwlI/AAAAAAAAApo/XwfgeI5fz0U/s1600-h/IMAG0092.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWKdVNXwlI/AAAAAAAAApo/XwfgeI5fz0U/s200/IMAG0092.jpg" alt="" id="BLOGGER_PHOTO_ID_5356339568341140050" border="0" /&gt;&lt;/a&gt;At the top left you can see two sets of cooling fins with a copper pipe running diagonally to a daughter board.  This board is my ATI Mobility Radeon 9700 M10 with 64Mb RAM (woohoo!).  Other options are the Mobility 9700 with 128Mb RAM, and the Mobility 9800.  (I wish I had the 9800...)&lt;br /&gt;&lt;br /&gt;Below the heat sinks on the far left is a fan.  One heat sink transfers heat from the video card (furtherest back) via the copper pipe you can see.  The other heat sink transfers heat from the CPU via a copper pipe that runs under the video card.  You can just see it running parallel to the back edge.&lt;br /&gt;&lt;br /&gt;Follow the &lt;a href="http://support.dell.com/support/edocs/systems/ins9100/sm/video.htm#1006368"&gt;Dell instructions for removing the video card&lt;/a&gt; (and my disclaimer) in &lt;a href="http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-1.html"&gt;Post 1&lt;/a&gt;.  It looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWLueYfP4I/AAAAAAAAApw/WwaS1CQw4i8/s1600-h/IMAG0097.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWLueYfP4I/AAAAAAAAApw/WwaS1CQw4i8/s200/IMAG0097.jpg" alt="" id="BLOGGER_PHOTO_ID_5356340962373091202" border="0" /&gt;&lt;/a&gt;You can see the copper transfer pipe, and the cooling fins.  Copper is excellent at transferring heat!  You'll see why in Part 3.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The next photo shows what the system board looks like without the video card!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ARK1pLwRAEE/SlWMwZBm0cI/AAAAAAAAAp4/JcWiWL-LJCI/s1600-h/IMAG0096.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_ARK1pLwRAEE/SlWMwZBm0cI/AAAAAAAAAp4/JcWiWL-LJCI/s200/IMAG0096.jpg" alt="" id="BLOGGER_PHOTO_ID_5356342094806307266" border="0" /&gt;&lt;/a&gt;You can now clearly see the CPU heat transfer pipe, as well as a third copper pipe under the video card.  The third pipe looks like its attached to the northbridge heat sink.  This third pipe runs diagonally to the CPU cooler, and ends in a small aluminium heat transfer block under the black plastic cover you can see.&lt;br /&gt;&lt;br /&gt;The video card slot is visible next the the fan.  Kudos to Dell and other laptop manufacturers for making laptops almost as modular as desktops, however replacement video cards are hundreds of dollars!  I can't find any cheap second hand parts.  If you can, let me know!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-672582032877460285?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/672582032877460285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=672582032877460285' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/672582032877460285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/672582032877460285'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-2.html' title='Dell Inspiron 9100 Internals part 2: Video card'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWKdVNXwlI/AAAAAAAAApo/XwfgeI5fz0U/s72-c/IMAG0092.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-8715081871154583558</id><published>2009-07-10T08:02:00.001+09:30</published><updated>2009-07-10T11:32:51.513+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='workplace'/><category scheme='http://www.blogger.com/atom/ns#' term='Workstation'/><category scheme='http://www.blogger.com/atom/ns#' term='inspiron9100'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>Dell Inspiron 9100 Internals part 1: accessing the components</title><content type='html'>So I've had my Inspiron 9100 since 2003 or 2004 - when they were quite new.  Back then the 3.0GHz P4 was a super machine, and even now it beats most light laptops with boot-up time and performance.&lt;br /&gt;&lt;br /&gt;Lately it's been under a desk as a remote server, so I haven't seen much of it.  I pulled it out recently and noticed the fans were spinning quite a lot, and the CPU temp was quite high - 60 - 70 degrees.&lt;br /&gt;&lt;br /&gt;I pulled out the two side ventilators (fans) and cleaned a large amount of fine dust from the fans and heat sink fins.  This has massively reduced the fan usage, and the CPU temperature is now down to 40 degrees at idle.&lt;br /&gt;&lt;br /&gt;However there's one more fan - the CPU fan - that I couldn't easily reach.  I could hear it all the time so I assume its suffering from the same problem: dust.  I finally decided to pull it apart and clean it, and here is my progress.  This is also an interesting look into how a Dell laptop wears over time - not too bad in my opinion.&lt;br /&gt;&lt;br /&gt;First, CONTINUE AT YOUR OWN RISK!  The pull-apart starts easy and low risk, but as soon as you pull apart the display assembly, video card and CPU you're in the high-risk area.  If you break your laptop, you can keep the change from selling the parts on eBay!&lt;br /&gt;&lt;br /&gt;Second, &lt;a href="http://support.dell.com/support/edocs/systems/ins9100/sm/index.htm"&gt;follow the instructions from Dell&lt;/a&gt; - they're the ultimate pull-apart guide and I only found them lacking at the very last stage (CPU fan removal).&lt;br /&gt;&lt;br /&gt;Here's a grainy shot of the left hinge cover - there's plenty of dust there.  (sorry about the bad quality - it's my phone camera).  See the dust near the display attachment:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWG9P64PtI/AAAAAAAAApA/1vv2WUiGPuI/s1600-h/IMAG0089.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWG9P64PtI/AAAAAAAAApA/1vv2WUiGPuI/s200/IMAG0089.jpg" alt="" id="BLOGGER_PHOTO_ID_5356335718630702802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I've taken off the keyboard and surrounds.  There's more dust:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ARK1pLwRAEE/SlWG9ozgXvI/AAAAAAAAApQ/l2xJvLH5QPw/s1600-h/IMAG0091.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_ARK1pLwRAEE/SlWG9ozgXvI/AAAAAAAAApQ/l2xJvLH5QPw/s200/IMAG0091.jpg" alt="" id="BLOGGER_PHOTO_ID_5356335725310664434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is a shot of the laptop from the top as you would sit at it to work, but without the display, keyboard, touchpad, etc.  The CPU fan is at the bottom centre.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWG99J5-xI/AAAAAAAAApY/puzs-3YwOpA/s1600-h/IMAG0092.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWG99J5-xI/AAAAAAAAApY/puzs-3YwOpA/s200/IMAG0092.jpg" alt="" id="BLOGGER_PHOTO_ID_5356335730773326610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is just half of the screws I removed (I count 30 so far).  Next to them is the hinge covers:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ARK1pLwRAEE/SlWG-E_PxXI/AAAAAAAAApg/Rby14U8g4SQ/s1600-h/IMAG0093.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_ARK1pLwRAEE/SlWG-E_PxXI/AAAAAAAAApg/Rby14U8g4SQ/s200/IMAG0093.jpg" alt="" id="BLOGGER_PHOTO_ID_5356335732876100978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This got me to some of the system board components.  In &lt;a href="http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-2.html"&gt;the next post&lt;/a&gt; I'll show the removed video card, CPU and heatsinks.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-8715081871154583558?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/8715081871154583558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=8715081871154583558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/8715081871154583558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/8715081871154583558'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/dell-inspiron-9100-internals-part-1.html' title='Dell Inspiron 9100 Internals part 1: accessing the components'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ARK1pLwRAEE/SlWG9P64PtI/AAAAAAAAApA/1vv2WUiGPuI/s72-c/IMAG0089.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-8234288088499012032</id><published>2009-07-03T14:10:00.005+09:30</published><updated>2009-07-03T14:57:57.181+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='tcl'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>The Twouble with Tcl</title><content type='html'>From time to time I do a bit of tcl.  Mostly as maintenance for existing tcl programs.  I haven't made up my mind entirely about it yet - I've seen some very powerful programs in tcl, and yet occasionally I'm still "surprised" by a feature.&lt;br /&gt;&lt;br /&gt;I spent a couple of hours today trying to figure out why a tcl program of mine wasn't running, and so I've made some notes:&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Real languages don't have reserved words&lt;/h2&gt;&lt;br /&gt;In tcl, you can redifine parts of the language in tcl itself.  For example if you wanted to redefine &lt;span style="font-style: italic;"&gt;if&lt;/span&gt;, just write a new function:&lt;br /&gt;&lt;pre&gt;proc if {cond expres} {&lt;br /&gt; puts "cond is $cond"&lt;br /&gt; puts "expr is $expres"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;set a 1&lt;br /&gt;if {$a == 1} {&lt;br /&gt; puts hello&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Sounds neat. In fact &lt;span style="font-style: italic;"&gt;proc&lt;/span&gt; itself is just a command that takes 3 arguements (name, arguements, and body).  However, don't start using simple names in your tcl languages like this:&lt;br /&gt;&lt;pre&gt;proc open {} {&lt;br /&gt; set ::alarm_socket [open_socket $::options(-alarm_host)]&lt;br /&gt;&lt;br /&gt; foreach host $::options(-hosts) {&lt;br /&gt;  verbose "open $host"&lt;br /&gt;  set ::sockets($host) [open_socket $host]&lt;br /&gt;  # set up an event handler for when data is readable on this socket:&lt;br /&gt;  fileevent $::sockets($host) readable [list process $host]&lt;br /&gt;  # initialise socket timeout with open time&lt;br /&gt;  set ::socket_t($host) [clock seconds]&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Because &lt;span style="font-style: italic;"&gt;open&lt;/span&gt; is what you might call a reserved word.  (I should have known with &lt;span style="font-style: italic;"&gt;open&lt;/span&gt;, but should I really have to remember all the &lt;a href="http://www.tcl.tk/man/tcl8.5/TclCmd/contents.htm"&gt;reserved words?&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;The error looked something like this:&lt;br /&gt;&lt;pre&gt;$ ./test.tcl&lt;br /&gt;invalid command name "::tcl::tm::UnknownHandler"&lt;br /&gt;while executing&lt;br /&gt;"::tcl::tm::UnknownHandler ::tclPkgUnknown msgcat 1.4"&lt;br /&gt;("package unknown" script)&lt;br /&gt;invoked from within&lt;br /&gt;"package require msgcat 1.4"&lt;br /&gt;("uplevel" body line 2)&lt;br /&gt;invoked from within&lt;br /&gt;"uplevel \#0 {&lt;br /&gt;package require msgcat 1.4&lt;br /&gt;if { $::tcl_platform(platform) eq {windows} } {&lt;br /&gt;if { [catch { package require registry 1.1 }] } {&lt;br /&gt;..."&lt;br /&gt;(file "/usr/lib/tcl8.5/clock.tcl" line 23)&lt;br /&gt;invoked from within&lt;br /&gt;"source -encoding utf-8 [file join $TclLibDir clock.tcl]"&lt;br /&gt;(procedure "::tcl::clock::format" line 3)&lt;br /&gt;invoked from within&lt;br /&gt;"clock format [clock seconds]"&lt;br /&gt;(procedure "alarm_timeouts" line 3)&lt;br /&gt;invoked from within&lt;br /&gt;&lt;/pre&gt;... and so on.  Yeuch!  And it was encountered with this one line:&lt;br /&gt;&lt;pre&gt;   puts "$::argv0: [clock format [clock seconds]]"&lt;/pre&gt;The problem?  I redefined &lt;span style="font-style: italic;"&gt;open&lt;/span&gt;, which was used internally by &lt;span style="font-style: italic;"&gt;clock&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Real languages don't have types:&lt;/h2&gt;&lt;br /&gt;You can do lots of nice things in tcl without types, in a similar (but different) way to perl.&lt;br /&gt;&lt;pre&gt;set a world&lt;br /&gt;puts "Hello $a" ;# prints 'Hello world'&lt;br /&gt;set a 1&lt;br /&gt;incr $a&lt;br /&gt;puts "$a + 2" ;# prints '2 + 2'&lt;br /&gt;&lt;/pre&gt;This looks normal to someone used to perl and tcl.  Noticed how I don't need format specifiers or concat functions.  You can also do this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;set a pu&lt;br /&gt;set b ts&lt;br /&gt;$a$b "Hello World"&lt;/pre&gt;&lt;br /&gt;Which prints:&lt;br /&gt;&lt;pre&gt;Hello World&lt;/pre&gt;&lt;h2&gt;Real languages don't have comments&lt;/h2&gt;&lt;br /&gt;They have a comment command of course!  And the comment command is a command that takes arguments (the comment itself) that aren't evaluated.  Except that because of this, you can't have an unmatched brace in a comment:&lt;br /&gt;&lt;pre&gt;# if ($sometest) {&lt;br /&gt; $somecode&lt;br /&gt;#}&lt;/pre&gt;&lt;br /&gt;The tcl solution?  &lt;pre&gt;if (0)&lt;/pre&gt; blocks or the like...&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;br /&gt;So if you haven't yet learnt tcl, I encourage you to find a tcl hackers tcl program, and delve into it to see just how it works.&lt;br /&gt;&lt;br /&gt;If you try to learn tcl only by writing it and not by reading others' code, then you'll learn tcl with the habits you're used to, and you will possibly miss some of the powerful features.&lt;br /&gt;&lt;br /&gt;After all, C programmers can program C in just about any language!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-8234288088499012032?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/8234288088499012032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=8234288088499012032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/8234288088499012032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/8234288088499012032'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/07/twouble-with-tcl.html' title='The Twouble with Tcl'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-6306882028352550182</id><published>2009-06-01T14:10:00.003+09:30</published><updated>2009-06-01T14:19:05.147+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='M6300'/><category scheme='http://www.blogger.com/atom/ns#' term='workplace'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Evolution 2.26 - scrolling performance improves (finally!)</title><content type='html'>I recently upgraded to Gnome 2.26, and not noticing too many new features I just discovered this:  Evolution 2.26.2 finally handles scrolling large mail folders effectively.&lt;br /&gt;&lt;br /&gt;I have in excess of 1000 emails in some of my mail folders, and I have a &lt;a href="http://nthrbldyblg.blogspot.com/2008/05/logitech-mx-revolution-in-linux.html"&gt;Logitech MX400 Laser mouse&lt;/a&gt; which lets you disengage the "clutch" (the wheel that typically clicks in defined steps as you scroll it) so that you can do large freewheeling scrolls with one finger movement.  This helps to navigate large documents, web pages, and folder lists.&lt;br /&gt;&lt;br /&gt;Previously in Evolution, scrolling the wheel by a large amount meant that when the wheel stopped, Evolution would keep scrolling for some time as it tried to keep up with all the events.&lt;br /&gt;&lt;br /&gt;Now, however, the folder stops scrolling as soon as my mouse wheel stops moving.  Good stuff!&lt;br /&gt;&lt;br /&gt;(For the record, Claws has had the nicer behaviour for some time, just in case you were thinking of telling me it was a new mouse driver!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-6306882028352550182?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/6306882028352550182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=6306882028352550182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/6306882028352550182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/6306882028352550182'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/06/evolution-226-finally-updates-scrolling.html' title='Evolution 2.26 - scrolling performance improves (finally!)'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-3872600778662878416</id><published>2009-05-21T01:12:00.006+09:30</published><updated>2009-05-22T09:57:15.020+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>Another Password Generator</title><content type='html'>So I wrote a password generator, why not?!&lt;br /&gt;&lt;br /&gt;I had some free time recently, I was about to reset someone's password for a site I administer, and I thought it would be nice to have a small script generate semi easy to remember but semi secure passwords.&lt;br /&gt;&lt;br /&gt;Firstly, I usually use either of these two one liners:&lt;br /&gt;&lt;tt&gt;$ for ((n=0;n&lt;10;n++)); if="/dev/urandom" count="1"&gt; /dev/null | uuencode -m -| head -n 2   | tail -n 1 | cut -c-8; done&lt;br /&gt;&lt;br /&gt;$ for ((n=0;n&lt;10;n++)); if="/dev/urandom" count="1" bs="8"&gt;/dev/null | uuencode -m - | tail -n 2 | head -n 1 | cut -c -8; done&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;The results are similar.  You get a bunch of passwords looking like this:&lt;br /&gt;&lt;tt&gt;zZqTqB23&lt;br /&gt;Fh0qKx05&lt;br /&gt;skhDDXPN&lt;br /&gt;GmToF0H0&lt;br /&gt;yWieCLfu&lt;br /&gt;6lmrPOm5&lt;br /&gt;Tq+Tz/G/&lt;br /&gt;ybYWDvXp&lt;br /&gt;u018CGWA&lt;br /&gt;9FyV1zJq&lt;/tt&gt;&lt;br /&gt;Which is handy for setting up lots of accounts, which I do occasionally.  However, people hate them because 9FyV1zJq is harder to remember than their cat's name.&lt;br /&gt;&lt;br /&gt;The script I just wrote (in Perl) uses word lists and random numbers to generate passwords like this:&lt;br /&gt;&lt;tt&gt;kagu757elf&lt;br /&gt;matt37spif&lt;br /&gt;hiss378gyro&lt;br /&gt;err410eyed&lt;br /&gt;zest957pirn&lt;br /&gt;twin452road&lt;br /&gt;czar210mum&lt;br /&gt;mors720cops&lt;br /&gt;floc684wok&lt;br /&gt;odor384hymn&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Sure, these aren't as secure, but they're better than "tiggles".&lt;br /&gt;&lt;br /&gt;Oh, and my wordlists come from &lt;a href="http://wordlist.sourceforge.net/"&gt;wordlist.sourceforge.net&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;pre&gt;&lt;wl&gt;#!/usr/bin/perl -w&lt;br /&gt;&lt;br /&gt;# A utility to create reasonable strength and semi-easy to remember passwords&lt;br /&gt;# out of word lists and random characters.&lt;br /&gt;#&lt;br /&gt;# Copyright 2009 Iain Buchanan.  Freely redistributable and modifiable.&lt;br /&gt;&lt;br /&gt;use strict;&lt;br /&gt;&lt;br /&gt;my @lists = ('/home/iain/personal/ispell-enwl-3.1.20/altamer.0',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/altamer.1',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/altamer.2',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/american.0',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/american.1',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/american.2',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/british.0',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/british.1',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/british.2',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/english.0',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/english.1',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/english.2',&lt;br /&gt;            '/home/iain/personal/ispell-enwl-3.1.20/english.3');&lt;br /&gt;&lt;br /&gt;my @wordlist;&lt;br /&gt;&lt;br /&gt;foreach my $list (@lists) {&lt;br /&gt;  open (WL, "$list") or print "Couldn't open wordlist '$list': '$!', skipping.\n";&lt;br /&gt;&lt;br /&gt;  while (&lt;wl&gt;) {&lt;br /&gt;     chomp;&lt;br /&gt;&lt;br /&gt;     next if (length &gt;= 5); # ignore long words&lt;br /&gt;     next if /^[A-Z]/;      # ignore Nouns &amp;amp; abbvs.&lt;br /&gt;&lt;br /&gt;     push @wordlist, $_;&lt;br /&gt;  }&lt;br /&gt;  close (WL);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for (1..10) {&lt;br /&gt;  print $wordlist[int (rand ($#wordlist))];&lt;br /&gt;  print int (rand (999));&lt;br /&gt;  print $wordlist[int (rand ($#wordlist))];&lt;br /&gt;  print "\n";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/wl&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-3872600778662878416?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/3872600778662878416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=3872600778662878416' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/3872600778662878416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/3872600778662878416'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/05/another-password-generator.html' title='Another Password Generator'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-2886111753649630195</id><published>2009-05-12T11:44:00.004+09:30</published><updated>2009-05-21T01:12:05.623+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>The results are in: It's Apathy by a landslide!</title><content type='html'>Thanks to everyone who took part in my recent poll &lt;span style="font-style: italic;"&gt;"What would you like me to post more about?"&lt;/span&gt;  That is, all 6 of you, including myself.  The results are as follows:&lt;br /&gt;&lt;style type="text/css"&gt;.nobrtable br { display: none }&lt;/style&gt;&lt;br /&gt;&lt;div class="nobrtable"&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;th&gt;Votes&lt;/th&gt;&lt;br /&gt;&lt;th&gt;%&lt;/th&gt;&lt;br /&gt;&lt;th&gt;Post&lt;/th&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td&gt;(50%)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;IT related technical articles&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  3&lt;/td&gt;&lt;br /&gt;&lt;td&gt; (50%)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Linux howto's, tips &amp;amp; tricks&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  3&lt;/td&gt;&lt;br /&gt;&lt;td&gt; (50%)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Renewable energy power station bio's&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  2&lt;/td&gt;&lt;br /&gt;&lt;td&gt; (33%)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Reviews of my electronics (phone, set top box, espresso machine, etc)&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  2&lt;/td&gt;&lt;br /&gt;&lt;td&gt; (33%)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Random thoughts &amp;amp; musings on anything&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  1&lt;/td&gt;&lt;br /&gt;&lt;td&gt; (16%)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Personal &amp;amp; Family events&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  0&lt;/td&gt;&lt;br /&gt;&lt;td&gt; (0%)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Dell Precision M6300 howto's for running Linux&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  0&lt;/td&gt;&lt;br /&gt;&lt;td&gt; (0%)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;I can't stand reading anything you write!&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;There were 6 unique voters, including myself.  The poll ran for most of April, 2009.  Voters could select multiple entries.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Conclusions&lt;/h3&gt;So what?  Well, there were nowhere near enough votes for me to make any drastic changes.  Most of my visits are for the ever-popular &lt;a href="http://nthrbldyblg.blogspot.com/2008/06/vmware-and-fubar-keyboard-effect.html"&gt;Vmware keyboard page&lt;/a&gt;.  I can safely say that the results can be completely ignored!&lt;br /&gt;&lt;br /&gt;If you don't agree, comment!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-2886111753649630195?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/2886111753649630195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=2886111753649630195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2886111753649630195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2886111753649630195'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/05/results-are-in-its-apathy-by-landslide.html' title='The results are in: It&apos;s Apathy by a landslide!'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-181612760662787440</id><published>2009-04-14T14:10:00.005+09:30</published><updated>2009-05-13T08:18:16.741+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='timesave'/><title type='text'>Stumbleupon stumbles on</title><content type='html'>Stumbleupon is the latest to make my whinge list.  After registering eons ago, and never revisiting the site or hearing from them since, I just got this email:&lt;br /&gt;&lt;blockquote&gt;StumbleUpon | Discover Your Web. Here are this&lt;br /&gt;week's most popular bHistory, Music, Guitar/b&lt;br /&gt;sites recommended by people like you on&lt;br /&gt;StumbleUpon.&lt;br /&gt;Your 5 Favorites&lt;br /&gt;&lt;/blockquote&gt;Followed by an email full of links, with this in the footer:&lt;br /&gt;&lt;blockquote&gt;StumbleUpon sends these emails based on the&lt;br /&gt;preferences you set for your account. Your use of&lt;br /&gt;our service is subject to the StumbleUpon Terms of&lt;br /&gt;Service http://www.stumbleupon.com/terms/ .&lt;br /&gt;If you do not wish to receive weekly&lt;br /&gt;recommendation e-mails, please login&lt;br /&gt;[link]&lt;br /&gt;and change the setting on your preferences page&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Please note that it may take up to &lt;span style="font-weight: bold;"&gt;14 days&lt;/span&gt;&lt;/span&gt; to&lt;br /&gt;process your request.&lt;/blockquote&gt;Fourteen days?  To process an automatic request?  What are you doing Stumbleupon?  Mailing the requests via Antarctica?  Perhaps you're employing people to flip the bits manually to boost the economy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-181612760662787440?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/181612760662787440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=181612760662787440' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/181612760662787440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/181612760662787440'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/04/stumbleupon-stumbles-on.html' title='Stumbleupon stumbles on'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-2791312206489754323</id><published>2009-04-14T11:47:00.003+09:30</published><updated>2009-04-14T11:52:56.268+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Poll: What should I blog about?</title><content type='html'>Now that I get a few hits to this blog, I thought I'd let you decide what you would like to read.&lt;br /&gt;&lt;br /&gt;I've created a poll you should see at the top of every page, until the end of April '09.  Let me know what you would like to read.  Comment if there should be more options.  So far I have four votes!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-2791312206489754323?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/2791312206489754323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=2791312206489754323' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2791312206489754323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2791312206489754323'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/04/poll-what-should-i-blog-about.html' title='Poll: What should I blog about?'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-3982713906933802296</id><published>2009-04-03T21:34:00.004+09:30</published><updated>2009-04-03T23:06:08.916+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='fake'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><title type='text'>Blocking port 25</title><content type='html'>I had a call from a friend complaining that they just purchased a wireless broadband stick (from Telstra using their Next-G network which is a HSDPA network using UMTS850MHz) and the could not send mail via their normal mail accounts.&lt;br /&gt;&lt;br /&gt;A few minutes of checking found that Telstra and Bigpond block outgoing access to port 25 to anything other than their own mail servers.&lt;br /&gt;&lt;br /&gt;The reasons are &lt;a href="http://bigpond.custhelp.com/cgi-bin/bigpond.cfg/php/enduser/std_adp.php?p_sid=cMAqCP8h&amp;amp;p_lva=&amp;amp;p_faqid=5562&amp;amp;p_created=1080867561&amp;amp;p_sp=cF9zcmNoPTEmcF9ncmlkc29ydD0mcF9yb3dfY250PTIwJnBfc2VhcmNoX3RleHQ9cG9ydCAyNSZwX3Byb2RfbHZsMT1_YW55fiZwX3BhZ2U9MQ**&amp;amp;p_li="&gt;listed here [bigpond.custhelp.com]&lt;/a&gt; as well as at other pages.  This post will list why their reasons are flawed, and how to get around them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Flawed Reasoning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Bigpond claims&lt;/span&gt; they manage the use of port 25 to "to prevent spammers sending unsolicited email using [their] network."  OK, that sounds fair enough at first glance, but when you realise how easy this is to get around (use a different port, for example) then this reason becomes redundant.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Bigpond claims&lt;/span&gt; that other ISPs are taking similar steps and that their changes have been "proven to prevent some types of spam activity".  However spammers, like advertisers, attempt to stay ahead of the latest trends, and as soon as one method of spamming is blocked, they will use another.  &lt;span style="font-style: italic;"&gt;Also&lt;/span&gt; Internode (as an example) blocks port 25 by default, but lets you turn this feature off.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Furthermore&lt;/span&gt;, spammers are setting up real mail servers around the world.  In conjunction with a tailored trojan that uses a different port to send mail, Bigponds efforts are useless.  In fact &lt;a href="http://bits.blogs.nytimes.com/2009/03/31/spam-back-to-94-of-all-e-mail/"&gt;&lt;span style="font-weight: bold;"&gt;Spam levels are back to 95% of all email traffic&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally, you could pay the extra money for a fixed IP address from Telstra,  and they won't block the port.  In my opinion, &lt;span style="font-weight: bold;"&gt;this is shameless money grabbing&lt;/span&gt;.  Please explain why a user on a fixed IP address is not susceptible to a spam sending trojan or virus?&lt;br /&gt;&lt;br /&gt;Perhaps the spam is purposefully malicious, and Telstra would like to know whose account to suspend?  Telstra (along with most ISPs) keep detailed logs of traffic and authentications, so they can easily tell which user from a dynamic IP address was accessing which sites at any point in recent history, therefore static IP addresses are no easier to crack down on.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;More Problems than Solutions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Bigpond says &lt;/span&gt;that you can use their Bigpond mail server to send mail, and thus get around the port block.  You can in fact do this, and still have your email appear to come from you@yourhost.com (and not you@bigpond.com).&lt;br /&gt;&lt;br /&gt;This solution is not ideal for two reasons:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;1. Travelling&lt;/span&gt;&lt;br /&gt;The frequent traveller, like my friend, is often on different networks.  He must be able to use whichever network he is on and send / receive his normal email.  To set up a different outgoing mail server, and perhaps a different profile (from whichever mail client he is using) for each network is both time consuming and pointless.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;2. Your email looks like spam&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;When you send email where the FROM address is you@yourhost.com, but it goes through a different email server you@bigpond.com, the recipient's (him@friendsmail.com) mail server &lt;a href="http://forums.ezimerchant.com/showthread.php?t=189"&gt;may block or mark your email as spam&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is because exactly that technique (using a FROM address and mail server that do not match) is used by spammers to send spam.  The recipient mail server checks the DNS records of the sender (yourhost.com), and if they don't match the originating server (bigpond.com), then your email may be deleted, rejected, or set aside.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Getting around it&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OK, so what do you do to get around it?  By far the best way is to authenticate with your mail server, and use a &lt;span style="font-style: italic;"&gt;secure&lt;/span&gt; port.  By using a secure port (usually not port 25) Bigpond won't block your outgoing mail.  In fact this should work for many networks that block port 25.&lt;br /&gt;&lt;br /&gt;You have the added advantage that your mail is probably encrypted, or at least your password will be (don't rely on this to encrypt sensitive emails though, as you can bet it will be transmitted in plain text at some stage of the process).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Is my mail server compatible?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The best thing to do is try!  Different mail clients do this in different ways:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Evolution 2.24.5&lt;/span&gt;&lt;br /&gt;Edit &gt; Preferences &gt; Mail Accounts &gt; Edit &gt; Sending Email &gt; Use Secure Connection&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Thunderbird 3.0b3&lt;/span&gt;&lt;br /&gt;Edit &gt; Account Settings &gt; Outgoing Server &gt; Edit &gt; Connection Security&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Outlook [including Express]&lt;br /&gt;&lt;/span&gt;You have to edit your account settings from one of the main menus.  You may have to then choose &lt;span style="font-style: italic;"&gt;View or Change existing email accounts.&lt;/span&gt; Then select the account and choose &lt;span style="font-style: italic;"&gt;Change&lt;/span&gt;; then &lt;span style="font-style: italic;"&gt;more settings&lt;/span&gt; (I think) and then you should see a secure option.  &lt;span style="font-weight: bold;"&gt;Note&lt;/span&gt; the SPA option is not what you're looking for here, although you can use it if supported.&lt;br /&gt;&lt;br /&gt;If you get timeouts or errors sending mail, then try slightly different options (if you have a choice).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-3982713906933802296?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/3982713906933802296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=3982713906933802296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/3982713906933802296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/3982713906933802296'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/04/blocking-port-25.html' title='Blocking port 25'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-255113151595878046</id><published>2009-03-30T11:45:00.004+09:30</published><updated>2009-03-30T16:27:13.990+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><title type='text'>Ba-a-a Ha-a-a Ha-a-a</title><content type='html'>LED's on sheep?  Now this would have taken a long time to prepare...&lt;br /&gt;&lt;br /&gt;&lt;object height="295" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/D2FX9rviEhw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/D2FX9rviEhw&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="295" width="480"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;This appeals to my nerdy nature!  &lt;a href="http://blog.martinbaart.de/2009/03/29/extreme-sheep-led-art/"&gt;Thanks Bort for the link!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-255113151595878046?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/255113151595878046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=255113151595878046' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/255113151595878046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/255113151595878046'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/03/ba-a-ha-a-ha-a.html' title='Ba-a-a Ha-a-a Ha-a-a'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-35953129586726840</id><published>2009-03-27T13:28:00.005+09:30</published><updated>2009-03-28T22:04:53.693+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Linux is about choice (pt 2)</title><content type='html'>So you've seen my hasty "Linux is about choice" post already.  In all fairness to Zimbra, it's a great product, and I'm sure many people rightly swear by it.&lt;br /&gt;&lt;br /&gt;Part two of my rant deals with another situation that is slightly different - &lt;blockquote&gt;"Why then, do applications (or their developers) decide to take away [or keep] that choice?"&lt;/blockquote&gt;&lt;br /&gt;While the Zimbra example is easy to argue (and has been suggested already) as a "bug", my second example could be purely opinion.&lt;br /&gt;&lt;br /&gt;Think about the great program gnome-power-manager.  For those of you who don't know Gnome / Linux, gnome-power-manager is an all-in-one laptop battery monitoring tool.  It has the standard battery icon showing charge level; a power history graph showing power history, voltage history, charge profiles and more; as well as LCD backlight, sleep and hibernate controls.  &lt;span style="font-weight: bold;"&gt;And in my opinion, it does a a great job!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(Should any of the developers involved read this, my intention is not to pick on or make fun of you, I hope to purely use the issue as an example, not the people involved!)&lt;br /&gt;&lt;br /&gt;Ok, so I was configuring gnome-power-manager to handle everything it is designed to handle, with the exception of power off / hibernate.  I use ACPI to hibernate my machine when the power button is pressed, and when the battery power drops to below 5%.  (Why ACPI? Because it works regardless of weather I'm logged into Gnome or not; or even if X is not running at all).&lt;br /&gt;&lt;br /&gt;Here are the related power button options:&lt;br /&gt;"When the power button is pressed", the options are (Ask me, Hibernate, or Shutdown)&lt;br /&gt;"When the suspend button is pressed", the options are (Do Nothing or Hibernate).&lt;br /&gt;&lt;br /&gt;There is no option to "Do nothing" when the power button is pressed.  In fact, why are the four options not available for either button?  (Ask, Hibernate, Shutdown, Nothing).&lt;br /&gt;&lt;br /&gt;In my opinion, this would be the ultimate options offering the most flexibility, without overloading the user with a bulk of detail in the control panel.  And yet it looks like my opinion is not understood.  It appears the primary reason is because including the "Do Nothing" option would mean gnome-power-manager is doing "half a job".&lt;br /&gt;&lt;br /&gt;Could you not forsee that parts of your application may be highly desired, and other parts not so?  Given the large "roll your own" background of so many Linux users, why would that mantra not continue as far as possible?  Why does Evolution (and Claws and Thunderbird), Firefox, and so on have a plugin framework?  Or an external editor option?&lt;br /&gt;&lt;br /&gt;Precisely because different people use Linux in different ways.  &lt;span style="font-style: italic;"&gt;And this is why Linux is about choice!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OK, I promise I'll get back to a technical blog post next :)  And if you're interested, &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=517923"&gt;the bug is here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-35953129586726840?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/35953129586726840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=35953129586726840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/35953129586726840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/35953129586726840'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/03/linux-is-about-choice-pt-2.html' title='Linux is about choice (pt 2)'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-267088504148738671</id><published>2009-03-27T10:16:00.006+09:30</published><updated>2009-03-27T10:49:05.054+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><title type='text'>22 degrees C, and light snow!</title><content type='html'>A few weeks ago on a trip to New Zealand, I had some restrictive internet access, so my usual RSS feeds and news reports weren't working.&lt;br /&gt;&lt;br /&gt;I set up iGoogle (which lets you customise your google home page) to keep me up to date.&lt;br /&gt;&lt;br /&gt;One day I noticed the weather report: 22 degrees Celcius, and light snow!  I would have liked to see the snow, especially given it was summer!&lt;br /&gt;&lt;br /&gt;Here's the screenshot:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ARK1pLwRAEE/ScwjaXQbuEI/AAAAAAAAAng/e7k74-njQ38/s1600-h/22degC-light-snow-sm.png"&gt;&lt;img style="cursor: pointer; width: 800px; height: 308px;" src="http://3.bp.blogspot.com/_ARK1pLwRAEE/ScwjaXQbuEI/AAAAAAAAAng/e7k74-njQ38/s400/22degC-light-snow-sm.png" alt="" id="BLOGGER_PHOTO_ID_5317664195844225090" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-267088504148738671?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/267088504148738671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=267088504148738671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/267088504148738671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/267088504148738671'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/03/22-degrees-c-and-light-snow.html' title='22 degrees C, and light snow!'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ARK1pLwRAEE/ScwjaXQbuEI/AAAAAAAAAng/e7k74-njQ38/s72-c/22degC-light-snow-sm.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-695352467604484711.post-2502787787410746654</id><published>2009-03-27T10:15:00.000+09:30</published><updated>2009-03-27T10:50:27.899+09:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='timewaste'/><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><title type='text'>Linux is about choice (pt 1)</title><content type='html'>I argue that Linux is about choice.  You may argue that is about something else.  I think that's fine, so long as we don't argue against each other, but for each other.  Why?  Because Linux is about different things to different people, and that's great!  That's why it is so attractive and diverse.&lt;br /&gt;&lt;br /&gt;Why then, do applications (or their developers) decide to take away that choice?  Is it because they really don't see how other people may like to use their programs?  Fair enough.  Is it because they want to impose their ideas on how and why their program should be used?  Not fair.  What if you provide polite detailed examples of different use cases, and yet the response is "no thanks, we don't / won't do it that way".&lt;br /&gt;&lt;br /&gt;You've guessed by now this is a rant.  What sparked it off?  Two recent applications are giving me grief.  This post will look at the first, and why:&lt;br /&gt;&lt;h1 style="font-weight: normal;"&gt;Zimbra webmail client&lt;/h1&gt;Zimbra makes a great webmail, calendaring (and others) suite.  However, I noticed that since I set up my Zimbra calendar (and so did 20+ other people here) that any appointments people send me are being automatically accepted.  So what?  Well, from time to time I get a (usually pointless) meeting request that I don't want to accept, and yet I find Zimbra has accepted it, even when I'm not logged on.&lt;br /&gt;&lt;br /&gt;No problemo, just find the preference and turn off "automatically accept meeting requests".&lt;br /&gt;&lt;br /&gt;The only options that look close are in "preferences &gt; calendar":&lt;br /&gt;&lt;br /&gt;Permissions&lt;br /&gt;Free / Busy: &lt;br /&gt;[ ]        Allow all users to see my free/busy information&lt;br /&gt;[ ]        Allow these users to see my free/busy information:&lt;br /&gt;[text box]&lt;br /&gt;&lt;br /&gt;Invites: &lt;br /&gt;[ ]        Allow all users to invite me to meetings&lt;br /&gt;[ ]        Allow these users to invite me to meetings:&lt;br /&gt;[text box]&lt;br /&gt;&lt;br /&gt;So first of all, I chose "Allow these users to invite me to meetings:" and left it blank.  This didn't work, in fact the behaviour was exactly the same as before.&lt;br /&gt;&lt;br /&gt;So secondly I kept "Allow these users to invite me to meetings:" but entered my email address in the text box.  Surely this would work?&lt;br /&gt;&lt;br /&gt;Well it kind of worked.  Now when people send me appointments, they only show as attachments which I can do nothing with (in Zimbra webmail).  I can't even add them to my calendar.  I suppose I should be happy that at least they don't get automatically accepted...&lt;br /&gt;&lt;br /&gt;So my next solution was to try Evolution.  I shared my Zimbra calendar and loaded it into Evolution.  Great!  There's all my appointments!  However, when people send me meeting requests, I can't add them to my Zimbra calendar from Evolution.  Even though Evolution asked me for the user name and password.&lt;br /&gt;&lt;br /&gt;Then I gave up.  I've deleted my Zimbra calendar and gone back to plain old Evolution.&lt;br /&gt;&lt;br /&gt;Your thoughts, gentle reader?  Am I expecting too much?  Is this such an edge case that no Zimbra developer could possibly have forseen it?  I think not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/695352467604484711-2502787787410746654?l=nthrbldyblg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nthrbldyblg.blogspot.com/feeds/2502787787410746654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=695352467604484711&amp;postID=2502787787410746654' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2502787787410746654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/695352467604484711/posts/default/2502787787410746654'/><link rel='alternate' type='text/html' href='http://nthrbldyblg.blogspot.com/2009/03/linux-is-about-choice-pt-1.html' title='Linux is about choice (pt 1)'/><author><name>Iain</name><uri>http://www.blogger.com/profile/02776494225547665112</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00694484888437554493'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry></feed>