<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12320946</id><updated>2012-01-26T13:04:00.301+08:00</updated><category term='country'/><category term='ploa'/><category term='western australia'/><category term='testing'/><category term='lan'/><category term='wireless'/><category term='perth'/><category term='broadband'/><title type='text'>Perth Penguinista</title><subtitle type='html'>Linux Advocate from Western Australia</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default?start-index=101&amp;max-results=100'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1591</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12320946.post-7438698082651727107</id><published>2012-01-26T12:58:00.002+08:00</published><updated>2012-01-26T13:04:00.323+08:00</updated><title type='text'>DeVeDe on Perfect Pangolin</title><content type='html'>&lt;p&gt;This currently seems a little confused about the version numbering of the &lt;tt&gt;lib&lt;i&gt;blah&lt;/i&gt;-extra-&lt;i&gt;number&lt;/i&gt;&lt;/tt&gt; packages, so...&lt;/p&gt;&lt;p&gt;&lt;tt&gt;apt-get --ignore-hold install devede libavcodec-extra-53 libavdevice-extra-53 libavfilter-extra-2 libavutil-extra-51 libavformat-extra-53 libpostproc-extra-52 libswscale-extra-2&lt;br /&gt;apt-get download libav-tools&lt;br /&gt;apt-get download ffmpeg&lt;br /&gt;apt-get download devede&lt;br /&gt;dpkg -i --force-depends-version libav-tools_0.8-1ubuntu1_i386.deb&lt;br /&gt;dpkg -i --force-depends-version ffmpeg_0.8-1ubuntu1_all.deb&lt;br /&gt;dpkg -i --force-depends-version devede_3.21.0-0ubuntu2_all.deb&lt;/tt&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7438698082651727107?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7438698082651727107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7438698082651727107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7438698082651727107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7438698082651727107'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2012/01/devede-on-perfect-pangolin.html' title='DeVeDe on Perfect Pangolin'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6379676573555592122</id><published>2011-12-13T22:17:00.002+08:00</published><updated>2011-12-13T22:39:57.908+08:00</updated><title type='text'>Software nesting</title><content type='html'>I&amp;rsquo;m currently amidst solving problems with a PERL script designed to send PDF-containing emails as faxes. Apparently, the command it invokes uses &lt;tt&gt;pdftk&lt;/tt&gt; (which is a C wrapper around a Java library named &lt;tt&gt;iText&lt;/tt&gt;) to translate each PDF into an image (or images) to send.&lt;br /&gt;&lt;br /&gt;Pre-processing the PDFs with &lt;tt&gt;figjam&lt;/tt&gt;, another set of PERL scripts working through LaTeX, reduced the damage in that the PDFs are correctly oriented so that &lt;tt&gt;pdftk&lt;/tt&gt; only elides a little over a cm about &lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;3&lt;/sub&gt; of the way along each page. Up to that point, most of the page would be blank.&lt;br /&gt;&lt;br /&gt;The simplest way to send flawless PDFs seems to be disassembling the email into PDF components, then butcheing the PERL script to use ImageMagick&amp;rsquo;s &lt;tt&gt;convert&lt;/tt&gt; command to turn each PDF into a set of TIFFs, then send those unaltered through HylaFax&amp;rsquo;s &lt;tt&gt;sendfax&lt;/tt&gt; module (HylaFax is a set of C++ modules).&lt;br /&gt;&lt;br /&gt;I really appreciate the &amp;ldquo;software Lego&amp;trade;&amp;rdquo;approach of Unix (in this case Linux), in that all of the pieces are included, so replacing one chunk or layer of your model isn&amp;rsquo;t the nightmare it so readily becomes on a monolithic proprietary system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6379676573555592122?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6379676573555592122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6379676573555592122' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6379676573555592122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6379676573555592122'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/12/software-nesting.html' title='Software nesting'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8727414598532018395</id><published>2011-12-09T20:18:00.003+08:00</published><updated>2011-12-09T20:34:31.227+08:00</updated><title type='text'>What do you do with it all?</title><content type='html'>&lt;p&gt;Despite being a member of a group which reckons that the ideal situation is to own &lt;b&gt;nothing&lt;/b&gt; yet to control &lt;b&gt;everything&lt;/b&gt;, the financial adviser to a certain member of royalty is the second-wealthiest individual in the world.&lt;/p&gt;&lt;p&gt;Their personal nett worth is four hundred trillion (4E14) dollars.&lt;/p&gt;&lt;p&gt;If you spent that all on brass pins (as used in pin-up boards) at one pin for a dollar, the mass of your collection would roughly equal &lt;b&gt;2&amp;frac12; million&lt;/b&gt; of RMS Queen Mary 2, the world&amp;rsquo;s largest ocean liner.&lt;/p&gt;&lt;p&gt;You wouldn&amp;rsquo;t deposit that in a bank, you would buy &lt;i&gt;several&lt;/i&gt; countries with it (banks included).&lt;/p&gt;&lt;p&gt;You (or I) cannot even comprehend that large a number, let alone how much money it represents, let alone spend it (if an average Australian citizen spent &lt;b&gt;$150,000.00 every second&lt;/b&gt;, 24x7, from the instant they were born, they would not be able to spend it all in their lifetime).&lt;/p&gt;&lt;p&gt;Inequality?&lt;/p&gt;&lt;p&gt;Just a little... yet getting angry about it would be the very last thing you would do, as that would make you even easier for the top 0.000001% to control.&lt;/p&gt;&lt;p&gt;The best approach I&amp;rsquo;ve seen is reflected in the Tea Party protests: quiet, calm, legal (despite the morass of laws in place essentially to prevent just this) &amp;amp; almost painfully peaceful behaviour, yet &lt;b&gt;totally non-compliant&lt;/b&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8727414598532018395?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8727414598532018395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8727414598532018395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8727414598532018395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8727414598532018395'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/12/what-do-you-do-with-it-all.html' title='What do you do with it all?'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6998574763158812396</id><published>2011-11-24T16:52:00.004+08:00</published><updated>2011-11-24T20:38:25.481+08:00</updated><title type='text'>Problem? What problem?</title><content type='html'>&lt;p&gt;Company acquires new PC from OfficeWorks for $388.00.&lt;/p&gt;&lt;p&gt;PC includes MS-Windows 7 Home Edition.&lt;/p&gt;&lt;p&gt;Company requires PC to use MS-Windows XP.&lt;/p&gt;&lt;p&gt;No problem. Push in Windows XP Black Edition CD, reboot PC, tell BIOS to boot from disc.&lt;/p&gt;&lt;p align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-kn_OGNEWMjc/Ts4H1NUj5aI/AAAAAAAAADw/SSg5SrhIWPU/s1600/WindowsXPblackEdition.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/-kn_OGNEWMjc/Ts4H1NUj5aI/AAAAAAAAADw/SSg5SrhIWPU/s320/WindowsXPblackEdition.jpg" alt="" id="BLOGGER_PHOTO_ID_5678484790851134882" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Installer bluescreens before asking any questions. Bummer!&lt;/p&gt;&lt;p&gt;Push in a Kubuntu Oneiric Ocelot DVD, reboot.&lt;/p&gt;&lt;p&gt;Fully functional PC five minutes later, set to auto log in.&lt;/p&gt;&lt;p&gt;Now select VirtualBox in the packages installer, &amp;amp; install. Start VirtualBox. Add an XP instance. Push in XP Black Edition CD, installer works flawlessly.&lt;/p&gt;&lt;p&gt;Add icon to desktop, including the option &lt;span style="font-family:courier new;"&gt;--fullscreen&lt;/span&gt;. Duplicate the &lt;span style="font-family:courier new;"&gt;windowsXPblack&lt;/span&gt; virtual disk file, mark the duplicate as read-only for the user.&lt;/p&gt;&lt;p&gt;From now on, user presses power button. Uses all facilities under Kubuntu. If they desperately need the MS-Windows XP feel, they double-click an icon, &amp;amp; 30 seconds later are facing XP. By tapping a LeftCtrl-S they can save a complete screenshot of whatever they're doing into the Kubuntu instance.&lt;/p&gt;&lt;p&gt;When XP guts itself (as it inevitably will one day), user copies backup disk image over primary disk image. Done.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6998574763158812396?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6998574763158812396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6998574763158812396' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6998574763158812396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6998574763158812396'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/11/problem-what-problem.html' title='Problem? What problem?'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-kn_OGNEWMjc/Ts4H1NUj5aI/AAAAAAAAADw/SSg5SrhIWPU/s72-c/WindowsXPblackEdition.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6179748955426597541</id><published>2011-11-24T16:46:00.003+08:00</published><updated>2011-11-24T20:39:54.091+08:00</updated><title type='text'>Simple motivation, powerful solution</title><content type='html'>&lt;p&gt;Jason Hall-Tipping &lt;a href="http://www.ted.com/talks/justin_hall_tipping_freeing_energy_from_the_grid.html"&gt;describes the course of events&lt;/a&gt; which led from a Sudanese girl dying of thirst to the technology for solving &lt;span style="font-weight: bold;"&gt;many&lt;/span&gt; problems... I reckon that &lt;span style="font-style: italic;"&gt;this&lt;/span&gt; is how engineering should more often be used...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6179748955426597541?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6179748955426597541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6179748955426597541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6179748955426597541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6179748955426597541'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/11/simple-motivation-powerful-solution.html' title='Simple motivation, powerful solution'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5448326086546936129</id><published>2011-11-19T06:37:00.002+08:00</published><updated>2011-11-19T06:46:45.786+08:00</updated><title type='text'>Once again, we're showing that another "limit" isn't</title><content type='html'>The differences in this case are &lt;a href="http://www.bbc.co.uk/news/science-environment-15791236"&gt;still relatively small&lt;/a&gt;, however once one realises that a conclusion is the enemy of learning, this event is a small symptom of mankind’s occasional willingness to deal with the reality that we really don’t know everything, in that we’re now ready to set aside the existing certainties in some places &amp;amp; return to discovering things afresh.&lt;br /&gt;&lt;br /&gt;It ain’t actually progress by itself, what it represents is us as a race heading more in a constructive direction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5448326086546936129?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5448326086546936129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5448326086546936129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5448326086546936129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5448326086546936129'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/11/once-again-were-showing-that-another.html' title='Once again, we&apos;re showing that another &quot;limit&quot; isn&apos;t'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2642357222152911346</id><published>2011-10-31T16:03:00.001+08:00</published><updated>2011-10-31T16:04:35.858+08:00</updated><title type='text'>Just as you get to thinking...</title><content type='html'>...that everything worthwhile has been invented, &lt;a href="http://www.stem-cell-miracles.com/Stem-cell-treatment.html"&gt;a new way&lt;/a&gt; is discovered of producing constructive results when adult stem cells are deployed against 72 different diseases (so far).&lt;br /&gt;&lt;br /&gt;Eddie doesn't miss many tricks, &amp;amp; seems to have hit on a brilliant way to improve your health... so... do what I'm doing — take a good, long, hard look at what has a 90-year-old bloke so interested in longevity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2642357222152911346?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2642357222152911346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2642357222152911346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2642357222152911346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2642357222152911346'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/10/just-as-you-get-to-thinking.html' title='Just as you get to thinking...'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2528968798735402157</id><published>2011-10-25T10:19:00.004+08:00</published><updated>2011-10-25T10:45:39.835+08:00</updated><title type='text'>OK, so this is technical in the non-IT sense...</title><content type='html'>&lt;h6  style="color: rgb(0, 102, 0); font-family: verdana;font-family:verdana;" class="uiStreamMessage" ft="{&amp;quot;type&amp;quot;:1}"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="messageBody translationEligibleUserMessage" ft="{&amp;quot;type&amp;quot;:3}"&gt;I know Eddie, &amp;amp; he’s always very careful &amp;amp; very effective in what he chooses  to become involved with...&lt;/span&gt;&lt;/span&gt;&lt;/h6&gt;&lt;h6  style="color: rgb(0, 102, 0); font-family: verdana;font-family:verdana;" class="uiStreamMessage" ft="{&amp;quot;type&amp;quot;:1}"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="messageBody translationEligibleUserMessage" ft="{&amp;quot;type&amp;quot;:3}"&gt;&lt;a href="http://www.weight-loss-tip.info/"&gt;This neat system&lt;/a&gt; will likely do &lt;span style="font-style: italic;"&gt;much&lt;/span&gt; more than help you to discard excess  mass!&lt;/span&gt;&lt;/span&gt;&lt;/h6&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2528968798735402157?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2528968798735402157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2528968798735402157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2528968798735402157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2528968798735402157'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/10/ok-so-this-is-technical-in-non-it-sense.html' title='OK, so this is technical in the non-IT sense...'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6276525229682951893</id><published>2011-10-13T13:42:00.001+08:00</published><updated>2011-10-13T13:47:57.084+08:00</updated><title type='text'>There is more than one way to skin a printer</title><content type='html'>Issue: reinstalling MSWinXP on a workstation, driver to operate hp 1022n printer over the LAN required, staff don’t know if the printer arrived with a disc — &amp;amp; if it did, have no clue where it would be.&lt;br /&gt;&lt;br /&gt;Remedy, download 2MB driver file &lt;tt&gt;(.EXE)&lt;/tt&gt; from hp, run it. “Turn the device on &amp;amp; plug it into the USB socket.” Oops. [Cancel]&lt;br /&gt;&lt;br /&gt;Consider downloading the 370MB full driver suite over a slowish ADSL link with limited quota. Hmmm.&lt;br /&gt;&lt;br /&gt;Try adding a printer anyhow (after defining a TCP port on 192.168.42.25) in case a LaserJet II or the like is close enough to start with, discover that the &lt;tt&gt;EXE&lt;/tt&gt; had installed a 1022 driver anyhow. Wow! It’d accidentally done something useful!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6276525229682951893?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6276525229682951893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6276525229682951893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6276525229682951893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6276525229682951893'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/10/is-more-than-one-way-to-skin-printer.html' title='There is more than one way to skin a printer'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5335112813108182772</id><published>2011-09-22T15:57:00.000+08:00</published><updated>2011-09-24T20:02:45.758+08:00</updated><title type='text'>Tethering an AmaySIMmed phone on Linux</title><content type='html'>&lt;p&gt;Tethering one&amp;rsquo;s Nokia E5 to take advantage of the 4GB of Internet traffic included in AmaySIM&amp;rsquo;s $39.90 plan (for 30 days) is quite simple, once all of the knowledge is in place.&lt;/p&gt;&lt;p&gt;Switch your phone to &amp;ldquo;PC Suite&amp;rdquo; mode...&lt;/p&gt;&lt;blockquote&gt;Press [Menu]&lt;br&gt;Select [Ctrl. Panel]&lt;br&gt;Select [Settings]&lt;br&gt;Select [Connection]&lt;br&gt;Select [USB]&lt;br&gt;Select [PC Suite]&lt;br&gt;Select [OK]&lt;br&gt;Select [Back] until Menu closes&lt;/blockquote&gt;&lt;/p&gt;...at which point a serial device appears when you plug it into your PC (in this case, a laptop running Natty Narhal Kubuntu) at &lt;tt&gt;/dev/ttyACM0&lt;/tt&gt;.&lt;/p&gt;&lt;p&gt;Now follow AmaySIM&amp;rsquo;s instructions:&lt;/p&gt;&lt;blockquote&gt;Press [Menu]&lt;br&gt;Select [Ctrl. Panel]&lt;br&gt;Select [Settings]&lt;br&gt;Select [Connection]&lt;br&gt;Select [Destinations]&lt;br&gt;Select [Access point]&lt;br&gt;Press [No]&lt;br&gt;Select [Packet data]&lt;br&gt;Enter &lt;tt&gt;amaysim Internet&lt;/tt&gt; and press [OK]&lt;br&gt;Select [Internet] as the destination&lt;br&gt;Select [Internet]&lt;br&gt;Highlight [Optus Internet], press [Options] and select [Edit]&lt;br&gt;Ensure Data bearer is set to [Packet Data]&lt;br&gt;Select [Access point name]&lt;br&gt;Enter or change to &lt;tt&gt;internet&lt;/tt&gt; and press [OK]&lt;br&gt;User name and Password should be left blank &lt;i&gt;[set to None]&lt;/i&gt;&lt;br&gt;Ensure Prompt password is set to [No]&lt;br&gt;Ensure Authentication is set to [Normal]&lt;br&gt;Ensure Use access point is set to [Automatically]&lt;br&gt;Press Options and select [Advanced settings]&lt;br&gt;Ensure Network type is set to [IPv4]&lt;br&gt;Ensure IP address is set to [Automatic]&lt;br&gt;Ensure DNS addresses is set to [Automatic]&lt;br&gt;Ensure Proxy server address is set to [None]&lt;br&gt;Ensure Proxy port number is [0]&lt;br&gt;Press [Back] until you return to the main menu&lt;br&gt;Select [Internet]&lt;br&gt;Select [Web]&lt;br&gt;Press [Options] and select [Settings]&lt;br&gt;Select [General]&lt;br&gt;Select [Access Point]&lt;br&gt;Select [Internet]&lt;br&gt;Press [Options] and select [Exit]&lt;/blockquote&gt;&lt;p&gt;All well &amp; good. Now (you will need to be SuperUser/root) make your &lt;tt&gt;/etc/wvdial.conf&lt;/tt&gt; file look like this:&lt;/p&gt;&lt;blockquote&gt;&lt;tt&gt;[Dialer Defaults]&lt;br&gt;Modem = /dev/ttyACM0&lt;br&gt;Modem Type = USB Modem&lt;br&gt;Baud = 460800&lt;br&gt;New PPPD = yes&lt;br&gt;Init1 = ATZ&lt;br&gt;Init2 = ATQ0 V1 E1 S0=0 &amp;C1 &amp;D2 +FCLASS=0&lt;br&gt;Init3 = AT+cgdcont=1,"IP","internet"&lt;br&gt;Carrier Check = no&lt;br&gt;Dial Command = ATDT&lt;br&gt;Phone = *99#&lt;br&gt;Username = *&lt;br&gt;Password = *&lt;br&gt;Ask Password = 0&lt;br&gt;Auto Reconnect = yes&lt;br&gt;Stupid Mode = yes&lt;br&gt;ISDN = 0&lt;br&gt;Auto DNS = on&lt;br&gt;Check DNS = on&lt;br&gt;Check Def Route = on&lt;/tt&gt;&lt;/blockquote&gt;&lt;p&gt;Depending upon your Linux distribution, you may need to (as SuperUser) mark the pppd file as SUID. In my case, finding the executable file was done with &lt;tt&gt;which pppd&lt;/tt&gt; &amp; ensuring the setting with &lt;tt&gt;chmod u+s /usr/sbin/pppd&lt;/tt&gt;.&lt;/p&gt;&lt;p&gt;You may need to make your user(s) members of the groups &lt;tt&gt;dialout&lt;/tt&gt; &amp; &lt;tt&gt;dip&lt;/tt&gt; by (as SuperUser) editing the &lt;tt&gt;/etc/group&lt;/tt&gt; file, then logging them out &amp; back in.&lt;/p&gt;&lt;p&gt;As one of said users, type &lt;tt&gt;wvdial&lt;/tt&gt; &amp; press &lt;i&gt;Enter&lt;/i&gt;. Ten seconds later, the world appears. The command &amp;ldquo;ping ii.net&amp;rdquo; is a simple way to verify that DNS &amp; traffic are both afloat.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5335112813108182772?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5335112813108182772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5335112813108182772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5335112813108182772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5335112813108182772'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/09/tethering-amaysimmed-phone-on-linux.html' title='Tethering an AmaySIMmed phone on Linux'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8166058038948024505</id><published>2011-09-18T13:21:00.000+08:00</published><updated>2011-09-18T13:21:50.647+08:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Problem:&lt;/p&gt;&lt;blockquote&gt;download a stack of MP3 files listed in a web page.&lt;/blockquote&gt;&lt;p&gt;Solution:&lt;/p&gt;&lt;blockquote&gt;SaveAs the web page (as &lt;tt&gt;music.html&lt;/tt&gt;) then...&lt;/blockquote&gt;&lt;blockquote&gt;&lt;tt&gt;for x in $(gawk '-F"' '/\.mp3"/ { print $10; }' music.html); do&lt;br&gt;wget -c $x&lt;br&gt;done&lt;/tt&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Hit the &lt;tt&gt;Enter&lt;/tt&gt; key, wait about 3 minutes, all finished.&lt;/blockquote&gt;&lt;p&gt;&lt;i&gt;Yay! Software as a toy!&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8166058038948024505?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8166058038948024505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8166058038948024505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8166058038948024505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8166058038948024505'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/09/problem-download-stack-of-mp3-files.html' title=''/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2323239177788596951</id><published>2011-08-09T12:48:00.003+08:00</published><updated>2011-08-10T08:19:10.539+08:00</updated><title type='text'>Unravelling layers of issues</title><content type='html'>&lt;p&gt;We have two copies of an app, one running on SCO Unix, the modified version running on Linux.&lt;/p&gt;&lt;p&gt;The SCO version depends upon the num-pad sending &lt;tt&gt;«esc»OS&lt;/tt&gt;, however putting &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/"&gt;PuTTY&lt;/a&gt; into NumPad mode means all of the numpad keys send &lt;tt&gt;«esc»&lt;i&gt;whatever&lt;/i&gt;&lt;/tt&gt; so are useless for keying numbers (yes, I could remap them, in the Linux version, however a few features have not yet been ported enough to swap versions yet), so...&lt;/p&gt;&lt;p&gt;Run PuTTY in numpad mode, download &lt;a href="http://webpages.charter.net/krumsick/"&gt;KeyTweak&lt;/a&gt;, remap the numpad keys to non-numpad keys, all functional!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2323239177788596951?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2323239177788596951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2323239177788596951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2323239177788596951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2323239177788596951'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/08/unravelling-layers-of-issues.html' title='Unravelling layers of issues'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8310615250694864925</id><published>2011-08-07T15:13:00.002+08:00</published><updated>2011-08-07T15:16:54.306+08:00</updated><title type='text'>Is time weighing heavily on your hands?</title><content type='html'>Visit &lt;a href="http://www.youtube.com/"&gt;YouTube&lt;/a&gt; &amp;amp; search for &amp;ldquo;vimanas&amp;rdquo; or &amp;ldquo;vailixi.&amp;rdquo;&lt;br /&gt;&lt;br /&gt;Not only does mankind not even know what we don&amp;rsquo;t know... we seem to&amp;rsquo;ve corporately forgotten some of the stuff we once knew...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8310615250694864925?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.youtube.com/' title='Is time weighing heavily on your hands?'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8310615250694864925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8310615250694864925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8310615250694864925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8310615250694864925'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/08/is-time-weighing-heavily-on-your-hands.html' title='Is time weighing heavily on your hands?'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2813682517480328687</id><published>2011-07-21T18:39:00.002+08:00</published><updated>2011-07-21T18:49:01.091+08:00</updated><title type='text'>Digital playing blocks, a positive consequence</title><content type='html'>One required feature (limiting the width of table columns, requiring the use of CSS) was/is absent from &lt;tt&gt;htmldoc&lt;/tt&gt; v1.8*, however CSS support will be present in 1.90 when it&amp;rsquo;s released, so... use SVN to download the source, compile... it &lt;u&gt;almost&lt;/u&gt; does what&amp;rsquo;s needed.&lt;br /&gt;&lt;br /&gt;A bit of debugging (of others&amp;rsquo; code), a bit of editing, my name up in lights, &amp;amp; presently that digital plastic block will be precisely the correct shape for the job at hand &amp;mdash; &amp;amp; still respect the HTML4 standards to the letter.&lt;br /&gt;&lt;br /&gt;Having the code written (in part) by the people who will be using it works extremely well, as an individual (myself, in this case) can focus on one or a few small details to refine the result to perfectly fit their needs, however the overall designers, heavy-code implementers can stick to principles, get the big things correct, &amp;amp; not worry over-much about each tiny detail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2813682517480328687?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2813682517480328687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2813682517480328687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2813682517480328687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2813682517480328687'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/07/digital-playing-blocks-positive.html' title='Digital playing blocks, a positive consequence'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7906596818516668005</id><published>2011-07-15T20:29:00.002+08:00</published><updated>2011-07-15T21:12:20.255+08:00</updated><title type='text'>Digital playing blocks</title><content type='html'>It&amp;rsquo;s not so different from primary school days: given a huge collection of varied, interlocking blocks, Joe Random can build a neat aeroplane, a car which can be zoomed to stunning velocity until it disagrees with a wall or door &amp;amp; explodes into a shower of plastic components.&lt;br /&gt;&lt;br /&gt;Add just a touch of wit &amp;amp; the most amazing devices can be assembled.&lt;br /&gt;&lt;br /&gt;Zoom forward 40 years, push a DVD into a computer, 5 minutes later it&amp;rsquo;s running Kubuntu with an office suite, graphics app plus suite of tools for altering images, audio editing &amp;amp; conversion app, video disintegrators &amp;amp; assemblers, two full-fledged SQL databases, name it.&lt;br /&gt;&lt;br /&gt;Now a challenge arises: you have an app (written from the glass-teletype level, evidently, then steadily kinda-upgraded), thankfully written using &lt;tt&gt;gcc&lt;/tt&gt; but on &amp;lt;ghasp!&amp;gt; SCO Unix, which is driving a specific brand of dot-matrix impact printer on a specific device node under the control of Wyse-brand VT-100B-clone terminals (apparently by a top-gun cross-dressing bloke who enjoys red heels), the owners of which are struggling to find anybody who will admit that SCO Unix even exists in order to make some small amendments, eventually with a view to selling it to others involved in the same form of business as themselves.&lt;br /&gt;&lt;br /&gt;The escape codes &amp;amp; such are hand-coded into the source (does &amp;ldquo;&lt;tt&gt;printf&amp;nbsp;("\33[%d;%dH",&amp;nbsp;row,&amp;nbsp;col);&lt;/tt&gt;&amp;rdquo; seem familiar?) for both terminal &amp;amp; printer &amp;mdash; evidently, curses was still a myth when this was started, &amp;amp; remains conceptually mything.&lt;br /&gt;&lt;br /&gt;Untangle a score of printer escape codes, quasi-cloned into at least a dozen different sections of code, to inflict the same process on a modern laser printer?&lt;br /&gt;&lt;br /&gt;No.&lt;br /&gt;&lt;br /&gt;Thank.&lt;br /&gt;&lt;br /&gt;You.&lt;br /&gt;&lt;br /&gt;So step 1 (after the mini amendments) was: copy the whole shebang across to the above Linux box, alter the printer-related code to write a text file with familiar-looking attributes like &amp;lt;B&amp;gt; or &amp;lt;U&amp;gt;, write everything inside &amp;lt;PRE&amp;gt; containers, &amp;amp; then feed the lot to &lt;tt&gt;&lt;a href="http://www.htmldoc.org/"&gt;HTMLDOC&lt;/a&gt;&lt;/tt&gt; to turn it into PDFs.&lt;br /&gt;&lt;br /&gt;Step 1A is grow weary of editing a bazillion instances of &amp;ldquo;&lt;tt&gt;fprintf&amp;nbsp;(&lt;i&gt;filehandle&lt;/i&gt;,&amp;nbsp;"Total&amp;nbsp;%9.2f&amp;nbsp;for&amp;nbsp;%s\n", value, desc);&lt;/tt&gt;&amp;rdquo; &amp;amp; invent a new function (&lt;tt&gt;pprintf&lt;/tt&gt;) which knows which file-handle to print to, saves specifying an argument (&amp;amp; saves more than a few typoes) &amp;amp; can be convinced that &amp;ldquo;&lt;tt&gt;\n&lt;/tt&gt;&amp;rdquo; should (as HTML) be represented as &amp;ldquo;&lt;tt&gt;&amp;lt;br&amp;gt;\n&lt;/tt&gt;&amp;rdquo; instead.&lt;br /&gt;&lt;br /&gt;We&amp;rsquo;re a few dozen reports away from being robust enough to run the sucker from our netbook in Singapore airport via SecureSHell, &amp;amp; to simplify operations, it may be useful to email the PDFs to clients rather than printing them out &amp;amp; snail-mailing them. So...&lt;br /&gt;&lt;br /&gt;Step 2: Konsole, &lt;tt&gt;sudo su -&lt;/tt&gt;, then &lt;tt&gt;apt-get install &lt;a href="http://www.mutt.org/"&gt;mutt&lt;/a&gt;&lt;/tt&gt;, add half a page of C code to the app, viola! Email!&lt;br /&gt;&lt;br /&gt;I&amp;rsquo;m guessing it&amp;rsquo;ll be about a month before the reports are stable/robust enough for the owners to toss the SCO Unix box aside, pretend that the impact printer never happened, &amp;amp; get on with their lives.&lt;br /&gt;&lt;br /&gt;The next step will then be to replace the flat files (unindexed, identical records often stored multiple times in different files in specific orders) under the application with a &lt;tt&gt;&lt;a href="http://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt;&lt;/tt&gt; instance.&lt;br /&gt;&lt;br /&gt;This will (at least) eliminate much unnecessary locking conflict, speed the living daylights out of some operations, &amp;amp; allow sane/automated backup procedures (at the moment, &lt;tt&gt;&lt;a href="http://rsync.samba.org/"&gt;rsync&lt;/a&gt;&lt;/tt&gt; is king, thanks Tridge).&lt;br /&gt;&lt;br /&gt;With this all in place, a huge number of hosting services worldwide will be easily able to support their app, allowing them to offer it to others in their industry as either plug-this-box-into-your-LAN or install-Putty-save-this-to-Registry machinery-lives-in-Neverland mode.&lt;br /&gt;&lt;br /&gt;Perhaps ambition will set in, &amp;amp; the app will be &lt;tt&gt;&lt;a href="http://www.gnu.org/s/ncurses/"&gt;ncurses&lt;/a&gt;&amp;rsquo;ed&lt;/tt&gt; then GUI&amp;rsquo;d &amp;amp; webbed for universal access from Internet-Cafe-of-your-choice? Some systematising of the terminal stuff has already been done &lt;i&gt;en passant&lt;/i&gt; with this in mind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7906596818516668005?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7906596818516668005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7906596818516668005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7906596818516668005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7906596818516668005'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/07/digital-playing-blocks.html' title='Digital playing blocks'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6984873924638962273</id><published>2011-06-15T21:20:00.002+08:00</published><updated>2011-06-15T21:35:04.293+08:00</updated><title type='text'>Some machines fight every step of the way</title><content type='html'>Po: a machine to replace an existing Windows XP box which mostly displays slideshows. The existing XP box contracted a virus which doesn't seem to do much destructive but &lt;u&gt;does&lt;/u&gt; axe anything even vaguely to do with the Win32 &amp;ldquo;shell&amp;rdquo; (loose use of the term: &lt;tt&gt;CMD.EXE&lt;/tt&gt;) including downloading virus scanner database updates. The machine does not often enjoy an Internet connection so presumably was infected from somebody's Flash USB stick.&lt;br /&gt;&lt;br /&gt;No problems. Install XP on a replacement machine with a 30% faster (&amp;amp; dual-core) CPU, twice as much RAM &amp;amp; PS/2 sockets (the original Dell box had none, USB keyboard &amp; mouse only) so that it was possible to respond to prompts issued by the non-Dell-specific XP installer. Add LibreOffice (the original MS-Office disks are the install-three-times variety which have already been installed three times), Audacity, GIMP, SD-Player a non-Adobe PDF displayer, a few other tools &amp; it&amp;rsquo;s all good... then XP fails to complete the SP2 update, gets halfway through the boot process, flips to a blank text screen (no cursor), show is over. &amp;lt;grumble&amp;gt;&lt;br /&gt;&lt;br /&gt;Plug in a Kubuntu Natty Narwhal disc, install, no worries, get a GRUB prompt. We can now half-boot into XP, or not boot at all into Kubuntu. Blank screen, not even kernel messages. Can boot the Live disc, flawlessly, but not from the hard drive at all. &amp;lt;grumble&amp;gt;&lt;br /&gt;&lt;br /&gt;Pull a &lt;i&gt;(Matrox!)&lt;/i&gt; PCI video card out of an antique PC (still has 2x AT-class ISA sockets on motherboard), plug it in, convince the BIOS to use it in place of the built-in Intel display interface, XP comes good as if nothing had ever been wrong. Kubuntu still AOT. &amp;lt;grumble&amp;gt;&lt;br /&gt;&lt;br /&gt;Make XP as good as it&amp;rsquo;s going to get.&lt;br /&gt;&lt;br /&gt;Later, whip out a Kubuntu Maverick Meerkat disc, plug it in, install Meerkat over the top of Narwhal. It works flawlessly.&lt;br /&gt;&lt;br /&gt;Scratch head.&lt;br /&gt;&lt;br /&gt;It&amp;rsquo;ll do the job. &amp;lt;shrug&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6984873924638962273?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6984873924638962273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6984873924638962273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6984873924638962273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6984873924638962273'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/06/some-machines-fight-every-step-of-way.html' title='Some machines fight every step of the way'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8745784582420343130</id><published>2011-06-13T18:15:00.005+08:00</published><updated>2011-06-14T12:39:48.095+08:00</updated><title type='text'>OK, so Kubuntu Natty Narwhal tends to Kernel Panic after logging in...</title><content type='html'>...on a few different machines, so it ain&amp;rsquo;t a coincidence.&lt;br /&gt;&lt;br /&gt;It doesn&amp;rsquo;t K-P as it launches KDM, only as you log in.&lt;br /&gt;&lt;br /&gt;Plus the Plymouth startup thingy is often quite reluctant to stop playing splash-screen.&lt;br /&gt;&lt;br /&gt;If you Ctrl-Alt-F* &amp;amp; log in to a text console, you can kill KDM, then &amp;ldquo;&lt;tt&gt;/usr/bin/startx /usr/bin/startkde&lt;/tt&gt;&amp;rdquo; on some (not all) machines to get a running KDE session.&lt;br /&gt;&lt;br /&gt;Owe... kay. From a console:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;sudo su -&lt;br /&gt;cd /usr/bin&lt;br /&gt;mv kdm kdm.removed&lt;br /&gt;vi /etc/rc.local&lt;br /&gt;12ji&lt;br /&gt;/bin/plymouth --quit&lt;br /&gt;&lt;br /&gt;sudo su - &lt;i&gt;username&lt;/i&gt; /usr/bin/startx /usr/bin/startkde&lt;br /&gt;&lt;br /&gt;sleep 5&lt;/tt&gt;&lt;i&gt;[Esc]&lt;/i&gt;:w!&lt;i&gt;[Enter]&lt;/i&gt;ZZ&lt;br /&gt;&lt;br /&gt;It helps to delete the &amp;ldquo;&lt;tt&gt;nosplash&lt;/tt&gt;&amp;rdquo; &amp;amp &amp;ldquo;&lt;tt&gt;&lt;/tt&gt;&amp;rdquo; keywords from the GRUB command you&amp;rsquo;re booting, add &amp;ldquo;&lt;tt&gt;plymouth:debug&lt;/tt&gt;&amp;rdquo; then re-run &lt;tt&gt;grub-install&lt;/tt&gt;, all of which gets Plymouth to settle down a bit more, plus slightly reduces the odds of being left with an always-K-P video card.&lt;br /&gt;&lt;br /&gt;Yes, that logs you in (no password) as exactly one user, but for many workstations, that&amp;rsquo;s more than adequate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8745784582420343130?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8745784582420343130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8745784582420343130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8745784582420343130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8745784582420343130'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/06/ok-so-kubuntu-natty-narwhal-tends-to.html' title='OK, so Kubuntu Natty Narwhal tends to Kernel Panic after logging in...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3934830805453001629</id><published>2011-06-10T14:37:00.002+08:00</published><updated>2011-06-10T14:58:56.829+08:00</updated><title type='text'>So much history in one PC!</title><content type='html'>Open case, discover:&lt;ul&gt;&lt;li&gt;Two separate Pentium-II processors&lt;/li&gt;&lt;li&gt;An AGP socket, sundry PCI sockets, two AT-sized ISA sockets&lt;/li&gt;&lt;li&gt;a Matrox-brand PCI video card&lt;/li&gt;&lt;/ul&gt;The video card would&amp;rsquo;ve been quite the bomb in its day!&lt;br /&gt;&lt;br /&gt;It turns out to be quite handy for putting into a dual-core 3GHz Pentium-IV machine with sundry PCI plus one PCI-X sockets plus built-in everything including video card. The machine will be used for running presentations, &amp;amp; rather than telling the projector to freeze the image, they can now edit a presentation on another screen, get it to the same point in the series, plus one, then minimise the old slide-show (LibreOffice Impress), flip new slideshow onto screen, maximise in under 2 seconds.&lt;br /&gt;&lt;br /&gt;The machine was to use PowerPoint under MS-Windows XP, as it had done in the past. It had picked up an irritating virus, which seemed to do nothing except propagate itself onto any USB stick plugged in, &amp; knife any shell-type (&lt;tt&gt;CMD.EXE&lt;/tt&gt;) actions in the guts &amp;mdash; including update the virus scanner database (it&amp;rsquo;s not normally Internet-connected). However, the plans have now been changed.&lt;br /&gt;&lt;br /&gt;After chatting with its owners, it is now dual-boot Kubuntu Natty Narwhal &amp; a from-scratch MS-Windows XP &lt;i&gt;(just in case)&lt;/i&gt; &amp;amp; presenting with LibreOffice Impress. I will re-install &lt;i&gt;(just in case)&lt;/i&gt; their MS-Office under XP (once I can imagine a new install key for it, as the original key has gotten narky after 3x installs), &amp; have a go at WINEing it under Kubuntu.&lt;br /&gt;&lt;br /&gt;The change of machine is because:&lt;ul&gt;&lt;li&gt;the original Dell box has no PS/2 sockets at all, &amp;amp; the XP installer flipped to text mode to ask a question, then waited for a PS/2 keystroke;&lt;/li&gt;&lt;li&gt;the new box is 50% quicker &amp; dual-core&lt;/li&gt;&lt;li&gt;it also has 2x 512MB DDR2 DIMMs &amp;amp; room for two more (old box has 2x 256MB DDR2 SIMMs &amp;amp; that&amp;rsquo;s all)&lt;/li&gt;&lt;li&gt;there&amp;rsquo;s room for 2x video sockets as above&lt;/li&gt;&lt;/ul&gt;As a bonus, the new box has 6x USB sockets rather than 2x.&lt;br /&gt;&lt;br /&gt;Oh, the PC (&amp;amp; two alternatives, &amp; several others) were acquired for free in that the local TAFE &amp; some high schools donated old PCs for formatting &amp;amp; re-use by a local primary school, however there are no MS-Windows XP drivers at all for some of the built-in devices (Kubuntu runs the whole swag seamlessly, testing was initially done with Kosmic Koala).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3934830805453001629?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3934830805453001629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3934830805453001629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3934830805453001629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3934830805453001629'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/06/so-much-history-in-one-pc.html' title='So much history in one PC!'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8083294207901384471</id><published>2011-05-20T08:08:00.002+08:00</published><updated>2011-05-20T08:15:37.810+08:00</updated><title type='text'>It's been a while...</title><content type='html'>...since I viewed &lt;tt&gt;&lt;a href="http://www.gnu.org/software/ncurses/"&gt;ncurses&lt;/a&gt;&lt;/tt&gt; as new technology.&lt;br /&gt;&lt;br /&gt;It is, however, for more flexible than...&lt;br /&gt;&lt;blockquote&gt;&lt;tt&gt;printf ("%sPrompt for Input here:", curs(22,1));&lt;/tt&gt;&lt;/blockquote&gt;...which is itself an upgrade from the original...&lt;br /&gt;&lt;blockquote&gt;&lt;tt&gt;printf ("\33[22;1HPrompt for Input here:");&lt;/tt&gt;&lt;/blockquote&gt;...in this application.&lt;br /&gt;&lt;br /&gt;So here we go, bringing an app apparently written at &lt;a href="http://www.usabilityfirst.com/glossary/glass-teletype/"&gt;glass-Teletype&lt;/a&gt; level as far forward as last century.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8083294207901384471?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8083294207901384471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8083294207901384471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8083294207901384471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8083294207901384471'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/05/its-been-while.html' title='It&apos;s been a while...'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3175313065960114354</id><published>2011-05-09T17:55:00.006+08:00</published><updated>2011-05-16T14:55:43.223+08:00</updated><title type='text'>YouTube video clip to DVD in one command</title><content type='html'>You may wish to alter the device on which the DVD is burned via (&lt;tt&gt;/dev/sr0&lt;/tt&gt; in the example) or the default burn speed, or you may have a more appropriate place to store up to maybe 9GB of temporary files (the DVD content plus an ISO file of the same), however this one command turns a downloaded YouTube clip into a push-in-n-it-plays DVD:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;#!/bin/sh&lt;br /&gt;if [ -f "$1" ]; then&lt;br /&gt; &amp;nbsp; &amp;nbsp; LEN=$(ffmpeg -i "$1" 2&gt;&amp;1 |gawk '/ Duration: / { print gensub(":[0-9][0-9]\\.[0-9][0-9],", "", "g", $2); }')&lt;br /&gt; &amp;nbsp; &amp;nbsp; if [ $LEN = "" ]; then&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo No video minutes seen in the file "'$1'"&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;br /&gt; &amp;nbsp; &amp;nbsp; fi&lt;br /&gt;else&lt;br /&gt; &amp;nbsp; &amp;nbsp; echo File "'$x'" does not appear to exist or is a dir or device-node&lt;br /&gt; &amp;nbsp; &amp;nbsp; return 1&lt;br /&gt;fi&lt;br /&gt;rm -rf /tmp/DVD_temporary /tmp/DVD_temporary.iso /tmp/temporary.xml /tmp/temporary.jpg&lt;br /&gt;nice ffmpeg -i "$1" -target ntsc-dvd -y /tmp/temporary.mpg&lt;br /&gt;cat &amp;lt;&amp;lt;ENDOFFILE &gt; /tmp/temporary.xml&lt;br /&gt;&amp;lt;dvdauthor&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;lt;vmgm /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;lt;titleset&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;titles&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;pgc&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;vob file="/tmp/temporary.mpg" /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/pgc&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/titles&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;lt;/titleset&gt;&lt;br /&gt;&amp;lt;/dvdauthor&gt;&lt;br /&gt;ENDOFFILE&lt;br /&gt;dvdauthor -o /tmp/DVD_temporary -x /tmp/temporary.xml&lt;br /&gt;mkisofs -dvd-video -udf -o /tmp/DVD_temporary.iso /tmp/DVD_temporary&lt;br /&gt;wodim -eject -v dev=/dev/sr0 /tmp/DVD_temporary.iso&lt;/tt&gt;&lt;br /&gt;It is also not too difficult to fetch YouTube downloading scripts &amp;amp; alter this script a little so that &amp;ldquo;&lt;tt&gt;&lt;i&gt;nameofscript&lt;/i&gt; http://www.youtube.com/watch?v=ABC123DEF456&lt;/tt&gt;&amp;rdquo; (insert real YourTube URL here) results in a clip being downloaded (in off-peak time if it suits) &amp;amp; burned to whatever blank DVD happens to be in the drive about 3 minutes after the download completes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3175313065960114354?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3175313065960114354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3175313065960114354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3175313065960114354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3175313065960114354'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/05/youtube-video-clip-to-dvd-in-one.html' title='YouTube video clip to DVD in one command'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1838147312778896396</id><published>2011-05-07T17:35:00.003+08:00</published><updated>2011-05-07T18:01:49.859+08:00</updated><title type='text'>Attitude != progress</title><content type='html'>Conclusion: a sustained good attitude results in an irreplaceable attribute: determination.&lt;br /&gt;&lt;br /&gt;The app worked mostly-right, but patience based on surety of my abilities, plus certainty that I don&amp;rsquo;t know everything, plus continued positive reinforcement/encouragement from one skipping a step in the process (to arrive at &amp;ldquo;Gorgeous&amp;rdquo; early), resulted in the key road-block being three completely unrelated roadblocks.&lt;ol&gt;&lt;li&gt;The original app didn&amp;rsquo;t care about whether a dependent was installed or not, so failed silently when it wasn&amp;rsquo;t installed, rather than the more-common bizarre codified error message;&lt;/li&gt;&lt;li&gt;Correcting the code to report failures (&amp;amp; log them in detail) also revealed a slight typoe in my enhancements;&lt;/li&gt;&lt;li&gt;Correcting the typoe produced hard data which could then be adjusted to produce not only accurate but quite readable PDF reports.&lt;/li&gt;&lt;/ol&gt;All of this cascaded out of the woodwork across 13 minutes after about 9 hours of debugging, starting with &lt;tt&gt;strace&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;Up to that point, nada.&lt;br /&gt;&lt;br /&gt;Determination &lt;u&gt;is&lt;/u&gt; irreplaceable! (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1838147312778896396?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1838147312778896396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1838147312778896396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1838147312778896396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1838147312778896396'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/05/attitude-progress.html' title='Attitude != progress'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1157989634721007799</id><published>2011-04-30T08:25:00.002+08:00</published><updated>2011-04-30T08:34:52.781+08:00</updated><title type='text'>Single parenting?</title><content type='html'>Ignoring &lt;a href="http://en.wikipedia.org/wiki/Desiderata"&gt;Desiderata&lt;/a&gt; for an instant, I would be delighted if over a decade of dishonesty &amp;amp; manipulation were swept aside, in order for single parenting to become possible here.&lt;br /&gt;&lt;br /&gt;For context, an intimate friend of mine was unable to even read the last batch of dishonesty.&lt;br /&gt;&lt;br /&gt;I really wish that in some significant way, even an iota of this was really my fault &amp;mdash; because then I could change what I was doing, to allow better things to happen for the children involved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1157989634721007799?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://dalts.net/post/5033831468/single-parenting-it-aint-easy' title='Single parenting?'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1157989634721007799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1157989634721007799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1157989634721007799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1157989634721007799'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/04/single-parenting.html' title='Single parenting?'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1682426664535549709</id><published>2011-04-20T09:01:00.002+08:00</published><updated>2011-04-20T09:08:59.476+08:00</updated><title type='text'>Automated Me</title><content type='html'>What &lt;u&gt;can&amp;rsquo;t&lt;/u&gt; you get an app for doing?&lt;br /&gt;&lt;br /&gt;Very little, it seems.&lt;br /&gt;&lt;br /&gt;If I want to read stories for children, &lt;a href="http://audacity.sourceforge.net/"&gt;Audacity&lt;/a&gt; will record my voice, the &lt;a href="http://dvd-slideshow.sourceforge.net/wiki/Main_Page"&gt;DVD-Slideshow app&lt;/a&gt; collection will layer slides with the text over that to make a video sequence of it, then &lt;a href="http://www.rastersoft.com/programas/devede.html"&gt;DeVeDe&lt;/a&gt; will convert that into a standard DVD format &amp;amp; burn it to disc.&lt;br /&gt;&lt;br /&gt;Viola!&lt;br /&gt;&lt;br /&gt;A clone-able Me who can read stories to thousands of children at once!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1682426664535549709?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1682426664535549709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1682426664535549709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1682426664535549709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1682426664535549709'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/04/automated-me.html' title='Automated Me'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1784222297937701792</id><published>2011-04-14T16:49:00.004+08:00</published><updated>2011-04-14T19:20:28.884+08:00</updated><title type='text'>Technical is buried in non-technical</title><content type='html'>This &lt;a href="http://www.youtube.com/watch?v=toHlMD50eYY"&gt;performance&lt;/a&gt; happened when I was in Year 11 of high school, yet another Brooks from midway through last century would agree with it.&lt;br /&gt;&lt;br /&gt;Frederick &lt;a href="http://en.wikipedia.org/wiki/Brooks%27s_law"&gt;mentioned this&lt;/a&gt; in his book, &amp;ldquo;The Mythical Man-Month,&amp;rdquo;published 3 years before the performance:&lt;p style="margin-left: 36pt; margin-right: 36pt"&gt;&amp;ldquo;Adding manpower to a late software project makes it later&amp;rdquo;&lt;/p&gt;while he regards this as a drastic oversimplification, it is accurate in that some aspects of the coding situation have little or no dependence on your ability to actually invent code, more to do with the social context (teaming up 10 women won&amp;rsquo;t get you a baby 4 weeks after conception).&lt;br /&gt;&lt;br /&gt;One recent aspect of this is that I have enough pieces to assemble maybe 10 or 12 fully functional computers, yet for &lt;i&gt;social&lt;/i&gt; reasons, very few people are at all interested in such a computer.&lt;br /&gt;&lt;br /&gt;Another is that becoming aware of having been subject to over a decade of social sabotage was the key to understanding the &lt;i&gt;hidden&lt;/i&gt; limits of my abilities to ramp up my IT business. Aftershocks of the same sabotage are limiting the business in different ways now, a third of a decade after direct sabotage efforts ended.&lt;br /&gt;&lt;br /&gt;The way to recover my productivity (it&amp;rsquo;s begun) has been to understand that everybody brings us happiness: some as they arrive, others as they depart.&lt;br /&gt;&lt;br /&gt;Attempting to control another&amp;rsquo;s actions is essentially futile (even for a socially short-sighted bully or a vicious tyrant, their selfish efforts have boundaries &amp;mdash; &amp;amp; rebound factors), however, I can control my own actions.&lt;br /&gt;&lt;br /&gt;We &lt;u&gt;cannot&lt;/u&gt; (there are very rare, minimal exceptions to this) control what happens to us. We &lt;u&gt;can&lt;/u&gt; control how we respond to those events. Our responses tend to govern what happens to us in future.&lt;br /&gt;&lt;br /&gt;With that in mind, I choose to no longer tolerate being lied to or lied about.&lt;br /&gt;&lt;br /&gt;There are few things as heart-breaking (or less technical) than having someone who loves you deeply (&amp;amp; you love deeply), sitting next to you &amp;amp; on the verge of tears as they contrast lies being told with the &amp;ldquo;you&amp;rdquo; they really know.&lt;br /&gt;&lt;br /&gt;In physics, every action has an equal &amp;amp; opposite reaction. Socially, that is not a winning game. However, the psychopath who created those lies &lt;u&gt;will&lt;/u&gt; learn that it is immensely unprofitable to attempt to hurt me by hurting those I love.&lt;br /&gt;&lt;br /&gt;That&amp;rsquo;s not a threat, that&amp;rsquo;s a promise. They&amp;rsquo;ve demonstrated how they wish to be treated; I &lt;u&gt;refuse&lt;/u&gt; to stoop so low, however the tiniest shadows of any respect I may ever have had for them are now dead &amp;amp; buried.&lt;br /&gt;&lt;br /&gt;There is one who said that a man has no greater love than to lay down his life for a friend; then that one went on to lay down his life for his enemies as well. I am not that strong. Until I develop that manner of emotional strength, there will be no consideration, no slack at all offered which is not absolutely necessary.&lt;br /&gt;&lt;br /&gt;To the offender, should they happen to read this, I say directly:&lt;p style="margin-left: 36pt; margin-right: 36pt"&gt;&amp;ldquo;I realise that you cannot genuinely trust anybody, not even yourself. However, you can trust this statement: you have shown me no quarter, you will get none yourself. None.&lt;/p&gt;&lt;p style="margin-left: 36pt; margin-right: 36pt"&gt;&amp;ldquo;I don&amp;rsquo;t know what happened to twist you so badly, long before you met me, but it did not twist your sibling. Until you admit (even to yourself) that &lt;u&gt;all&lt;/u&gt; of your problems are essentially the result of your own decisions &amp;amp; your own actions, then change those decisions &amp;amp; those actions, your life will continue to suck. Always. Regardless of what I do, don&amp;rsquo;t do or are surmised to have done. &lt;/p&gt;&lt;p style="margin-left: 36pt; margin-right: 36pt"&gt;&amp;ldquo;That principle approaches the inevitability of gravity.&amp;rdquo;&lt;/p&gt;The technical aspects of this are...?&lt;br /&gt;&lt;br /&gt;As I accept that I am not at all responsible for the actions of others, I will be less burdened by false senses of guilt (which some of those others laboured &amp;amp; continue to labour to inflict on me), so I will become a much more powerful (amongst many other things) programmer.&lt;br /&gt;&lt;br /&gt;So you want to be a more powerful programmer? Spouse? Gardener? Author? Swimmer? Garbage collector? Accountant? Yes...?&lt;br /&gt;&lt;br /&gt;Start by discarding old baggage.&lt;br /&gt;&lt;br /&gt;Next step, accept more effective ways of responding, &amp;amp; put them to good use.&lt;br /&gt;&lt;br /&gt;One example of responding better was a front-desk computer program I wrote a couple of decades ago for Chiropractic clinics (initially in FoxBase Plus as an improvement on dBase III, later in FoxPro). Initially, the Chiropractor through whose business this was being done instructed me, but I soon leant towards asking his CAs what was most needed.&lt;br /&gt;&lt;br /&gt;A &amp;ldquo;CA&amp;rdquo; is a Chiropractic Assistant with multiple sub-roles including receptionist, book-keeper &amp;amp; cleaner. At the time, they were all 100% women; today, I haven&amp;rsquo;t checked.&lt;br /&gt;&lt;br /&gt;This made the application flow &lt;i&gt;as the people who were using it&lt;/i&gt; expected &amp;amp; it ties in nicely with Jethro&amp;rsquo;s song.&lt;br /&gt;&lt;br /&gt;After finishing there, I later had a chat with a few of the computer-client Chiro&amp;rsquo;s at various times, &amp;amp; concluded that the man marketing point had been the &amp;ldquo;&lt;tt&gt;&lt;b&gt;Z&lt;/b&gt;ap&lt;/tt&gt;&amp;rdquo; feature.&lt;br /&gt;&lt;br /&gt;What that did was rather than posting a correcting transaction, it obliterated every trace of the errant transaction having ever been put through (&amp;amp; at the close of the day, after printing reports, it would &lt;tt&gt;COMPACT&lt;/tt&gt; the table files, which scrubbed even the internal evidence, as dBase family would mark a record with a &lt;tt&gt;DELETED&lt;/tt&gt; flag rather than actually removing it when it was deleted).&lt;br /&gt;&lt;br /&gt;Many of the program purchasers were sitting down after their CAs had left for the day &amp;amp; &lt;tt&gt;&lt;b&gt;Z&lt;/b&gt;ap&lt;/tt&gt;ping a portion of their cash transactions (which had no effect on next-appointment times or the like), then re-printing the reports.&lt;br /&gt;&lt;br /&gt;The savings in income tax were apparently substantial in some cases. (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1784222297937701792?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1784222297937701792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1784222297937701792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1784222297937701792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1784222297937701792'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/04/technical-is-buried-in-non-technical.html' title='Technical is buried in non-technical'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4943704491460429297</id><published>2011-04-12T16:46:00.005+08:00</published><updated>2011-04-12T17:03:20.380+08:00</updated><title type='text'>It turns out that CRT monitors are still useful</title><content type='html'>I stayed at a B&amp;amp;B two weekends ago which has an ADSL Internet connection, an office PC &amp;amp; a WiFi-connected personal laptop (which I redid the config on so it actually connected, happily the WiFi router's password set was still &lt;tt&gt;admin/admin&lt;/tt&gt;).&lt;br /&gt;&lt;br /&gt;Next visit to the area, they&amp;rsquo;ll also have an Internet cafe workstation since they have room for a 19" CRT (old-style glass television) screen, since I have 13 of those sitting behind my house, plus a few &amp;ldquo;old&amp;rdquo; PCs including a couple of dual-core 3GHz to which I can fit a pair of 512MB DDR2 DIMMs &amp; a random (80GB) IDE hard drive.&lt;br /&gt;&lt;br /&gt;A selected PC is about to grow a copy of Maverick Meerkat Kubuntu &amp;amp; simple instructions for manually re-creating the default user (as in, &lt;tt&gt;Ctrl-Alt-F1&lt;/tt&gt;, log in, &amp;ldquo;&lt;tt&gt;sudo su sh scriptname&lt;/tt&gt;&amp;rdquo; to remove the home directory tree &amp;amp; unpack a new template from a &lt;tt&gt;.tar.bz2&lt;/tt&gt; file).&lt;br /&gt;&lt;br /&gt;Said template will include a Flash plugin, a Video DownloadHelper plugin, a reasonable set of bookmarks, an &amp;ldquo;empty&amp;rdquo; Thunderbird config. Plus a default web page set to a local HTML file detailing basic instructions.&lt;br /&gt;&lt;br /&gt;The install will include Firefox, Chromium, Thunderbird, OpenOffice defaulting to MS-Office file formats, ffmpeg, GIMP, Audacity, k9copy, &amp;amp; a few other toys.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4943704491460429297?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4943704491460429297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4943704491460429297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4943704491460429297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4943704491460429297'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/04/it-turns-out-that-crt-monitors-are.html' title='It turns out that CRT monitors are still useful'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-287129393460760487</id><published>2011-03-29T18:35:00.002+08:00</published><updated>2011-03-29T18:41:22.558+08:00</updated><title type='text'>Converting .raw ripped CD tracks to WAV format</title><content type='html'>Why do this?&lt;br /&gt;&lt;br /&gt;Because you have a heap of CD audio tracks ripped to Raw format by k3b, however the software intended to use those depends on some kind of file structure.&lt;br /&gt;&lt;br /&gt;So... place this in &lt;tt&gt;~/bin/raw2wav.sh&lt;/tt&gt; &amp;amp; mark it executable (&lt;tt&gt;chmod a+x&lt;/tt&gt;):&lt;br /&gt;&lt;tt&gt;&lt;pre&gt;#!/bin/sh&lt;br /&gt;if [ -f "$1" ]; then&lt;br /&gt;        echo WAVifying [$1]&lt;br /&gt;        sox -V -r 44100 -b 16 -c 2 -s "$1" "$(dirname "$1")/$(basename "$1" .raw).wav"&lt;br /&gt;fi&lt;/pre&gt;&lt;/tt&gt;Apply this using a command like:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;find . -type f -name '*.raw' -exec raw2wav.sh {} \;&lt;/tt&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-287129393460760487?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/287129393460760487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=287129393460760487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/287129393460760487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/287129393460760487'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/03/converting-raw-ripped-cd-tracks-to-wav.html' title='Converting .raw ripped CD tracks to WAV format'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5013110034973677080</id><published>2011-03-21T14:35:00.002+08:00</published><updated>2011-03-21T14:41:48.567+08:00</updated><title type='text'>(Virgin) mobile internet on Kubuntu</title><content type='html'>Users who wish to run &lt;tt&gt;wvdial&lt;/tt&gt; productively need to add themselves to the group &lt;tt&gt;dialout&lt;/tt&gt; (to see the &lt;tt&gt;/dev/ttyUSB#&lt;/tt&gt; device nodes) &amp; the group &lt;tt&gt;dip&lt;/tt&gt; to run (authenticate, as it were) the &lt;tt&gt;ppp&lt;/tt&gt; d&amp;aelig;mon.&lt;br /&gt;&lt;br /&gt;Getting WiFi (or many other network things) to work may (after installing &lt;tt&gt;wicd&lt;/tt&gt;) requiring adding an entry to &lt;tt&gt;/etc/apparmor.d/sbin.dhclient3&lt;/tt&gt; to permit &lt;tt&gt;dhclient&lt;/tt&gt; to access &lt;tt&gt;/var/lib/wicd/*&lt;/tt&gt; in &lt;tt&gt;lrw&lt;/tt&gt; mode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5013110034973677080?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5013110034973677080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5013110034973677080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5013110034973677080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5013110034973677080'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/03/virgin-mobile-internet-on-kubuntu.html' title='(Virgin) mobile internet on Kubuntu'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4522643354789530360</id><published>2011-03-10T23:13:00.003+08:00</published><updated>2011-03-10T23:21:45.153+08:00</updated><title type='text'>Nothing replaces determination!</title><content type='html'>Now I have a good handle on &lt;i&gt;how&lt;/i&gt; the previous programmer typically mucked things up, it&amp;rsquo;s becoming much simpler to predict what they omitted or their weird ways of implementing otherwise ordinary procedures in a semi-sane fashion.&lt;br /&gt;&lt;br /&gt;The time to convert a report from a format intended to be rendered on a specific brand of dot-matrix impact printer to a generic prints-everywhere email-able PDF file (via an HTML-ish file) has decreased from several hours per report to maybe half an hour... &amp;amp; shrinking...&lt;br /&gt;&lt;br /&gt;Call it &amp;ldquo;meta-study,&amp;rdquo; in that instead of attempting to divine how something was done each time, one figures out roughly &lt;i&gt;why&lt;/i&gt; certain things were done in certain ways, then the discrepancies often make a bizarre kind of sense, &amp;amp; can be rapidly, systematically replaced with much more concretely sane ways of doing things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4522643354789530360?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4522643354789530360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4522643354789530360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4522643354789530360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4522643354789530360'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/03/nothing-replaces-determination.html' title='Nothing replaces determination!'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7862659519888764693</id><published>2011-02-04T11:24:00.002+08:00</published><updated>2011-02-04T11:55:13.008+08:00</updated><title type='text'>Micro$oft software does love farting around in others' territory</title><content type='html'>Situation: a Vista user has clicked on an attachment in a "friend's" email, now the machine won't do anything networkily sensible, so is evidently virussed to the eyeballs &amp;amp; beyond. There was no obvious hope of getting something working enough to copy their documents &amp; image off, so...&lt;br /&gt;&lt;br /&gt;Response: boot a Kubuntu LiveCD, investigate system without hearing the opinion of any viruses. Install Kubuntu over the "Recovery" partition (&lt;tt&gt;/dev/sda2&lt;/tt&gt;). Plug in another hard drive (machine has only 2x SATA power cables, so need to unplug the DVD drive to do this). Boot Kubuntu, Copy docs/images onto temp hard drive (tar.bz2 as the drive is kinda small).&lt;br /&gt;&lt;br /&gt;Boot into Kubuntu, DHCP picks up an address from the ADSL router, can now browse &amp; do banking. Good!&lt;br /&gt;&lt;br /&gt;Fetch Windows 7 Eternity disc, Install that, no worries but Kubuntu now invisible.&lt;br /&gt;&lt;br /&gt;Boot Kubuntu LiveCD, in recovery mode, re-run GRUB. Kubuntu is now visible.&lt;br /&gt;&lt;br /&gt;To avoid the risk of trashing the man MS-Windows partition, shrink it using Windows7 Control Panel, create another partition in the gap, reboot into Kubuntu to copy data files into new partition.&lt;br /&gt;&lt;br /&gt;Nope.&lt;br /&gt;&lt;br /&gt;Windows7 conveniently moved the &lt;tt&gt;/dev/sda2&lt;/tt&gt; definition to &lt;tt&gt;/dev/sda3&lt;/tt&gt; while creating the new partition. What a bunch of interfering azaleas!&lt;br /&gt;&lt;br /&gt;Boot Kubuntu DVD into Recovery mode again, re-run GRUB, create a swap partition, &lt;tt&gt;mkswap&lt;/tt&gt; it. Reboot into hard-disk Kubuntu, unpack files onto new NTFS drive (known as J: for reasons best left unexplored).&lt;br /&gt;&lt;br /&gt;Boot into Windows 7, agree to check J:'s integrity, documents all present... now to recover Windows Mail (AKA LookOut Express) config &amp;amp; emails... easiest way seems to be installing ThunderBird.&lt;br /&gt;&lt;br /&gt;User now has a Kubuntu boot option so that next time MS-Windows twists its knickers into a knot, they have a real alternative.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7862659519888764693?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7862659519888764693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7862659519888764693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7862659519888764693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7862659519888764693'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/02/microoft-software-does-love-farting.html' title='Micro$oft software does love farting around in others&apos; territory'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4833024919904999323</id><published>2011-01-25T09:59:00.002+08:00</published><updated>2011-01-25T10:13:47.371+08:00</updated><title type='text'>A few details make things so much clearer...</title><content type='html'>Business A wishes to have a computer to run its affairs.&lt;br /&gt;&lt;br /&gt;A chap (X) has a computer for sale, but it will do them no good without software. However his friend S (whose usual occupation is stockbroker) is willing to write the software as a part of the deal.&lt;br /&gt;&lt;br /&gt;X sells the computer to A, S then starts building the software for free. Evidently, he started at the glass-teletype level &amp;amp; worked up from there.&lt;br /&gt;&lt;br /&gt;When A found the base operating system for X&amp;rsquo;s machine (now A's machine) on my corporate website, they were glad when I rocked up &amp;amp; was &amp;ldquo;normal,&amp;rdquo; rather than a top-gun cross-dresser who looked really good in a set of red heels.&lt;br /&gt;&lt;br /&gt;A are coming to terms well with the concept of paying actual money to L (me) for work on their application, which is going well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4833024919904999323?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4833024919904999323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4833024919904999323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4833024919904999323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4833024919904999323'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2011/01/few-details-make-things-so-much-clearer.html' title='A few details make things so much clearer...'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1999907221622093785</id><published>2010-12-21T22:22:00.002+08:00</published><updated>2010-12-21T22:37:49.735+08:00</updated><title type='text'>A silent upgrade helps</title><content type='html'>I switched to compiling a C app on a Maverick Meerkat Kubuntu box instead of my Mandriva 2010.0 laptop, which resulted in a slightly newer version of &lt;tt&gt;gcc&lt;/tt&gt; &amp;mdash; the compiler.&lt;br /&gt;&lt;br /&gt;This resulted in discovering (via warning messages) several small ways in which certain segments of the application I&amp;rsquo;m working on are outright broken &amp;mdash; would result in a SegFault sometimes &amp;amp; dubious results most other times.&lt;br /&gt;&lt;br /&gt;Some of it was simply bad habits (forex, original programmer had hard-coded fixed values instead of terminating a list of arguments with a &lt;tt&gt;NULL&lt;/tt&gt;), other of it were argument mismatches (forex, supplying an &lt;tt&gt;int&lt;/tt&gt; argument for a &lt;tt&gt;%ld&lt;/tt&gt; printf parameter, or occasionally more obscure things).&lt;br /&gt;&lt;br /&gt;It does make me wonder what similar blunders I committed in the early days which were never discovered. (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1999907221622093785?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1999907221622093785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1999907221622093785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1999907221622093785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1999907221622093785'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/12/silent-upgrade-helps.html' title='A silent upgrade helps'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7569918403449793361</id><published>2010-12-13T09:26:00.003+08:00</published><updated>2010-12-13T11:03:47.831+08:00</updated><title type='text'>Burying antiquity in technology</title><content type='html'>Starting to see good results from converting an app from driving a specific breed of dot-matrix impact printer via a specific SCO Unix device node to a more generalised system which will print A4 pages on almost any printer.&lt;br /&gt;&lt;br /&gt;How?&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Feed the "printer" output into a (text) file;&lt;/li&gt;&lt;li&gt;Set the init sequence to be &amp;lt;HTML&amp;gt;&amp;lt;BODY&amp;gt;&amp;lt;PRE&amp;gt; &amp;amp; the flush sequence to be &amp;lt;/PRE&amp;gt;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&lt;/li&gt;&lt;li&gt;Redefine the escape sequences for bold/unbold into "&amp;lt;B&amp;gt;" &amp;amp; "&amp;lt;/B&amp;gt;" likewise for italics into "&amp;lt;I&amp;gt;" &amp; "&amp;lt;/I&amp;gt;" etc, notably page break (^L/\f) into &amp;lt;!-- PAGE BREAK --&amp;gt;;&lt;/li&gt;&lt;li&gt;Cram the text file into &lt;tt&gt;htlmdoc&lt;/tt&gt; &amp; order it to produce PDFs;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;lpr &lt;i&gt;nameofPDFfile&lt;/i&gt;&lt;/tt&gt; (or write it where it can be viewed in a file share for emailng purposes)&lt;/li&gt;&lt;/ol&gt;The next stage is to get into cool stuff like doubled or dotted/dashed underscores, coloured text (or backgrounds), &amp;amp; jamming lists into &amp;lt;TABLE&amp;gt; structures, which would allow bordering a field &amp;amp; using sans-serif fonts instead of teletype fonts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7569918403449793361?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7569918403449793361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7569918403449793361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7569918403449793361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7569918403449793361'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/12/burying-antiquity-in-technology.html' title='Burying antiquity in technology'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2583488570632438556</id><published>2010-12-03T05:17:00.008+08:00</published><updated>2010-12-03T22:33:41.093+08:00</updated><title type='text'>So... you've got a string of video clips...</title><content type='html'>&lt;p  style="font-family:times new roman;"&gt;&lt;span style="font-family:times new roman;"&gt;...but want to show them to [a] friend[s] when/where there’s no computer available? This script will turn a directory full of video files into a DVD:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(0, 0, 153);"&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/sh&lt;br /&gt;FILES="$(for x in *.flv *.mp4 *.mpg *.avi; do echo $x; done | grep -v '^\*' | sort)"&lt;br /&gt;for f in ${FILES}; do&lt;br /&gt;&lt;span style="margin-left: 50pt;"&gt;n=$(echo $f | sed -e 's/\.[a-zA-Z0-9]*$//' -e 's/_+/ /g' -e 's/^/"/' -e 's/$/"/')&lt;/span&gt;&lt;br /&gt;&lt;span style="margin-left: 50pt;"&gt;NAMES="${NAMES} \"$n\""&lt;/span&gt;&lt;br /&gt;done&lt;br /&gt;NAME=$(basename $(pwd) | sed -e 's/_/ /g')&lt;br /&gt;mkdir -p DVD&lt;br /&gt;NEWFILES=""&lt;br /&gt;for f in ${FILES}; do&lt;br /&gt;&lt;span style="margin-left: 50pt;"&gt;n="$(basename $(basename $(basename $(basename $f .flv) .mp4) .mpg) .avi).mpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="margin-left: 50pt;"&gt;NEWFILES="${NEWFILES} DVD/$n"&lt;/span&gt;&lt;br /&gt;&lt;span style="margin-left: 50pt;"&gt;nice -15 ffmpeg -i $f -target ntsc-dvd -aspect 4:3 -y DVD/$n&lt;/span&gt;&lt;br /&gt;done&lt;br /&gt;makemenu -noask -overwrite -ntsc -dvd -align northwest -menu-title "${NAME}" -menu-title-fontsize 32 -font "Helvetica" -fontsize 24 -textcolor "rgb(255,255,255)" -fontdeco '-stroke rgb(0,0,0) -strokewidth 1' -button-font "Helvetica" -button "&gt;" -highlightcolor "rgb(255,255,0)" -selectcolor "rgb(255,0,0)" -button-outline "rgb(140,140,140)" "${NAMES}" -out "DVD/${NAME}_menu.mpg"&lt;br /&gt;makexml -overwrite -dvd -menu "DVD/${NAME}_menu.mpg" ${NEWFILES} -out "${NAME}"&lt;br /&gt;makedvd "${NAME}.xml"&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;At this point, &lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;k3b&lt;/span&gt; or a similar application will burn the resulting file-tree onto a standard DVD.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:times new roman;"&gt;This was originally run on a version of Kubuntu (Lucid Lynx) which required &lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;/use/share/tovid/&lt;/span&gt; prefixed to each of the &lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;make...&lt;/span&gt; commands.You may wish to add more potential filetypes (filename suffixes) to the &lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;*.flv ...&lt;/span&gt; list (anything your version of &lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;ffmpeg&lt;/span&gt; can handle is fine). Remember to wrap the assorted &lt;span style="color: rgb(0, 0, 153);font-family:courier new;"&gt;$(basename)&lt;/span&gt;s with one more layer for each additional filetype.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2583488570632438556?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2583488570632438556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2583488570632438556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2583488570632438556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2583488570632438556'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/12/so-youve-got-string-of-video-clips.html' title='So... you&apos;ve got a string of video clips...'/><author><name>Leon Brooks</name><uri>http://www.blogger.com/profile/18249117910853971058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/-ucRBM-fNWyM/TXjqCaZQ7UI/AAAAAAAAAAU/SZucYHTWHr0/s220/LeonCropped2008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4897262788288206130</id><published>2010-11-11T12:06:00.003+08:00</published><updated>2010-11-11T12:12:51.441+08:00</updated><title type='text'>If you want a life-changing DVD...</title><content type='html'>...&amp; live in Perth, Bunbury or Albany (WestAus) &amp;mdash; or points in between &amp;mdash; send an email to me at cyberknights com au &amp; I'll see if I can arrange for one to lanf in your hand (or mailbox, or whatever).&lt;br /&gt;&lt;br /&gt;No, it&amp;rsquo;s not a technical DVD &amp;mdash; at least, not in the sense of being connected with IT, computers or electronics. You push it into a DVD player &amp; learn some stuff.&lt;br /&gt;&lt;br /&gt;Amongst other things, you can kiss cancer, diabetes &amp; quite a number of &amp;ldquo;modern&amp;rdquo; afflictions goodbye.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4897262788288206130?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4897262788288206130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4897262788288206130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4897262788288206130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4897262788288206130'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/11/if-you-want-life-changing-dvd.html' title='If you want a life-changing DVD...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4950712899008422919</id><published>2010-11-04T19:23:00.002+08:00</published><updated>2010-11-04T19:31:23.907+08:00</updated><title type='text'>Problem? What problem?</title><content type='html'>I was handed a DVD (on the topic of &lt;i&gt;Jebel Al Laws&lt;/i&gt;) which was to be copied, but the copying machine had refused because the disc was &amp;ldquo;encrypted.&amp;rdquo;&lt;br /&gt;&lt;br /&gt;Curious, I poked it into a DVD drive, cranked up &lt;tt&gt;&lt;a href="http://k9copy.sourceforge.net/"&gt;k9copy&lt;/a&gt;&lt;/tt&gt; (licensed under &lt;a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"&gt;GPL2&lt;/a&gt;, yes &lt;a href="http://en.wikipedia.org/wiki/Free_and_open_source_software"&gt;FOSS&lt;/a&gt; does rock!) &amp; 20 minutes later am watching the copy on a standard DVD player.&lt;br /&gt;&lt;br /&gt;Was there a problem?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4950712899008422919?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4950712899008422919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4950712899008422919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4950712899008422919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4950712899008422919'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/11/problem-what-problem.html' title='Problem? What problem?'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2312495404776678191</id><published>2010-11-02T16:34:00.002+08:00</published><updated>2010-11-02T16:58:51.586+08:00</updated><title type='text'>TP-Link ADSL router box includes GPL on paper</title><content type='html'>As I was re-organising items around my house, I extracted the manuals for &lt;a href="http://www.tp-link.com/products/productDetails.asp?class=adsl&amp;pmodel=TD-8810"&gt;my TP-Link ADSL modem&lt;/a&gt; from the box, plus a phone cable (which I added to my cables drawer), I discovered a paper copy of &lt;a href="http://www.gnu.org/licenses/gpl.html"&gt;the GPL&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;One more small piece of evidence to provoke a re-think amongst those who refuse to accept that &lt;a href="http://www.fsf.org/about/"&gt;Free Software&lt;/a&gt; could possibly work. Happily &amp;mdash; like some other significant items &amp;mdash; the concept does not require their acceptance (or understanding) to exist &amp; to operate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2312495404776678191?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2312495404776678191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2312495404776678191' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2312495404776678191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2312495404776678191'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/11/tp-link-adsl-router-box-includes-gpl-on.html' title='TP-Link ADSL router box includes GPL on paper'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8922327995649602655</id><published>2010-10-29T15:34:00.004+08:00</published><updated>2010-10-29T19:52:53.376+08:00</updated><title type='text'>Proprietary OSes don't come with strace</title><content type='html'>Many proprietary operating systems are designed for the lowest common denominator. Only.&lt;br /&gt;&lt;br /&gt;This makes doing anything constructive with them an uphill trip in both directions. Even if you spend money on a compiler which runs under those OSes, do they include &lt;tt&gt;strace&lt;/tt&gt;? How difficult is it to &lt;tt&gt;chroot&lt;/tt&gt; before executing a process? What enhanced security facilities (like Mandatory Access Controls) can you apply to an individual process? Where is the &lt;tt&gt;setenforce&lt;/tt&gt; command?&lt;br /&gt;&lt;br /&gt;Most users don't even know what these things are, let alone whether their OS has them, which for the majority of cases is just fine. They don't &lt;u&gt;need&lt;/u&gt; to know,&lt;br /&gt;&lt;br /&gt;For people who do know what these things are, their absence can make life Hell (even if only in limited situations &amp; for limited times, nevertheless Hell).&lt;br /&gt;&lt;br /&gt;In the case of F/OSS-style software, they're included because the people who use the software wrote the software. EVeryday users don't even need to know that these tools exist. Simple?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8922327995649602655?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8922327995649602655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8922327995649602655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8922327995649602655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8922327995649602655'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/10/proprietary-oses-dont-come-with-strace.html' title='Proprietary OSes don&apos;t come with strace'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3369822674569749059</id><published>2010-08-30T09:32:00.004+08:00</published><updated>2010-08-30T10:53:44.771+08:00</updated><title type='text'>Were you a Lego kid? Or Meccano?</title><content type='html'>If you were, you&amp;rsquo;ve gotta like Unix (in this case, Linux) &amp;rsquo;coz that&amp;rsquo;s what it&amp;rsquo;s all about.&lt;br /&gt;&lt;br /&gt;Case in point is an app I&amp;rsquo;m working on (supposedly enhancing, in practice damn near rewriting) written in C which stores data into flat files. No indexes. It just writes a gazillion &lt;tt&gt;struct whatever;&lt;/tt&gt; records straight into the data file.&lt;br /&gt;&lt;br /&gt;The current problem is that as data tots up, it gets &lt;i&gt;very&lt;/i&gt; slow since it processes each data file serially when reporting, &amp;amp; if there&amp;rsquo;s cross-references it serially scans the related (thankfully small) data file for each record, to fetch the required text.&lt;br /&gt;&lt;br /&gt;There&amp;rsquo;s a background problem in that multiple users running the same app (which must be done on the same computer) have no clear way of avoiding collisions, with the inevitable result that the second (or successive) user requiring access to a record must wait until the earlier user(s) have finished with it &amp;amp; if the first user crashes the &lt;tt&gt;unlock()&lt;/tt&gt; never happens so they wait forever (have to reboot the &amp;ldquo;server&amp;rdquo; PC).&lt;br /&gt;&lt;br /&gt;This data access system will be the second against the wall when the revolution comes (the first is printing, currently hard-wired to a specific device-node behind which rests a specific model of dot-matrix impact printer; the third... well, does &lt;tt&gt;printf("\33[%d;%dH",r,c)&lt;/tt&gt; look familiar to anybody?), &amp;amp; I aim to do that by twisting this app&amp;rsquo;s arm to use an SQL database.&lt;br /&gt;&lt;br /&gt;This has the advantages of speed, better multi-user interfaces, multiple apps running on multiple PCs able to work on one (potentially remote) database at the same time, the ability to back up &lt;u&gt;just&lt;/u&gt; the data, potentially using a commercial backup system.&lt;br /&gt;&lt;br /&gt;Setting up the many required SQL &lt;tt&gt;TABLE&lt;/tt&gt;s was looking a bit tedious, but this construction-set operating system is making it very easy.&lt;br /&gt;&lt;br /&gt;I&amp;rsquo;ve written a small &lt;tt&gt;gawk&lt;/tt&gt; script which is thrown each source file, to extract the &lt;tt&gt;struct&lt;/tt&gt; entries &amp; translate each into a &lt;tt&gt;CREATE TABLE&lt;/tt&gt; SQL statement.&lt;br /&gt;&lt;br /&gt;Another script extracts references to each &lt;tt&gt;struct&lt;/tt&gt; within invocations of the &lt;tt&gt;write()&lt;/tt&gt; function, associating the file-handle variable with the same variable name used in an &lt;tt&gt;open()&lt;/tt&gt; function to find the data file&amp;rsquo;s name.&lt;br /&gt;&lt;br /&gt;This can then be used to create on-the-fly C apps to (compile with &lt;tt&gt;make&lt;/tt&gt;, run) extract the data from the files &amp;amp; morph it to &lt;tt&gt;INSERT INTO&lt;/tt&gt; SQL statements.&lt;br /&gt;&lt;br /&gt;All that&amp;rsquo;s left for hand-coding is to translate the C from &lt;tt&gt;write()&lt;/tt&gt; functions to invocations of SQL statements for achieving the same thing.&lt;br /&gt;&lt;br /&gt;The data manipulation is so very basic (&lt;tt&gt;LEFT OUTER JOIN&lt;/tt&gt;? in your wildest dreams!) that the SQL engine underlying this doesn&amp;rsquo;t really matter, but I will do interface layers for PostgreSQL &amp;amp; MySQL to ensure that I&amp;rsquo;ve untangled enough details to make Oracle or whatever simple if it becomes necessary.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3369822674569749059?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3369822674569749059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3369822674569749059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3369822674569749059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3369822674569749059'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/08/were-you-lego-kid-or-meccano.html' title='Were you a Lego kid? Or Meccano?'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8885038949599360628</id><published>2010-08-17T09:17:00.003+08:00</published><updated>2010-08-17T09:27:13.087+08:00</updated><title type='text'>Yet another reason for preferring Linux</title><content type='html'>Fire up machine unused for about a year, currently running Jaunty version of Kubuntu. Hmmm... &lt;tt&gt;do-release-upgrade&lt;/tt&gt; &amp;amp; 25 minutes later we&amp;rsquo;re running Karmic.&lt;br /&gt;&lt;br /&gt;In MS-Windows-equivalent terms, we&amp;rsquo;ve just upgraded from XP to Vista in 25 minutes, seamlessly, without having to agree to any (or any more) mind-bendingly-control-freak licensing terms or click &lt;tt&gt;&lt;font color="White" style="background-color: Black"&gt;&amp;nbsp;[&amp;nbsp;OK&amp;nbsp;]&amp;nbsp;&lt;/font&gt;&lt;/tt&gt; on a thousand tedious dialogue boxes (if I had written that S/W, there would exist a &lt;tt&gt;&lt;font color="White" style="background-color: Black"&gt;&amp;nbsp;[&amp;nbsp;Maybe&amp;nbsp;]&amp;nbsp;&lt;/font&gt;&lt;/tt&gt; button there between that &amp;amp; &lt;tt&gt;&lt;font color="White" style="background-color: Black"&gt;&amp;nbsp;[&amp;nbsp;Cancel&amp;nbsp;]&amp;nbsp;&lt;/font&gt;&lt;/tt&gt; plus an &lt;tt&gt;&lt;font color="White" style="background-color: Black"&gt;&amp;nbsp;[&amp;nbsp;It&amp;rsquo;sAllOK&amp;nbsp;]&amp;nbsp;&lt;/font&gt;&lt;/tt&gt; button, AKA &lt;tt&gt;&lt;font color="White" style="background-color: Black"&gt;&amp;nbsp;[&amp;nbsp;JustGetOnWithItNow&amp;nbsp;]&amp;nbsp;&lt;/font&gt;&lt;/tt&gt;).&lt;br /&gt;&lt;br /&gt;Next month, this machine will become Lucid.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8885038949599360628?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8885038949599360628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8885038949599360628' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8885038949599360628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8885038949599360628'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/08/yet-another-reason-for-preferring-linux.html' title='Yet another reason for preferring Linux'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4022786940712113623</id><published>2010-08-10T12:45:00.003+08:00</published><updated>2010-08-10T12:57:58.908+08:00</updated><title type='text'>FOSS from wall to wall</title><content type='html'>Here we have an application, written for SCO Unix so writing printer output to a specific device interface in a format intended for a particular brand of dot-matrix impact printer.&lt;br /&gt;&lt;br /&gt;Impact printers are so yesterday, &amp;amp; SCO Unix is so last decade, what can we do...?&lt;br /&gt;&lt;br /&gt;Get it to write into a temp file instead, with obvious &lt;tt&gt;&amp;lt;FLAGS&amp;gt;&lt;/tt&gt; where a change in font size or intensity or whatever is required, then spool the result.&lt;br /&gt;&lt;br /&gt;That's a step forward, now it will work on nearly any printer (thank you, &lt;a href="http://www.cups.org/"&gt;CUPS&lt;/a&gt;), kind of.&lt;br /&gt;&lt;br /&gt;Second level, feed it to &lt;a href="http://www.htmldoc.org/"&gt;&lt;tt&gt;htmldoc&lt;/tt&gt;&lt;/a&gt; on the way to the spooler. Now stuff like &lt;b&gt;&amp;lt;B&amp;gt;bolding&amp;lt;/B&amp;gt;&lt;/b&gt; works! However... these 132-column-wide reports not look so hot on an A4 page...&lt;br /&gt;&lt;br /&gt;No worries, print on A4 Landscape, then &lt;a href="http://www2.warwick.ac.uk/fac/sci/statistics/staff/academic/firth/software/pdfjam/"&gt;&lt;tt&gt;pdf90&lt;/tt&gt;&lt;/a&gt; that (from the &lt;tt&gt;pdfjam&lt;/tt&gt; toolset) to spin it out &amp;amp; make it good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4022786940712113623?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4022786940712113623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4022786940712113623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4022786940712113623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4022786940712113623'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/08/foss-from-wall-to-wall.html' title='FOSS from wall to wall'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7411709749520109575</id><published>2010-08-02T18:03:00.004+08:00</published><updated>2010-08-10T12:45:13.287+08:00</updated><title type='text'>Congratulations to Miss L for scoring...</title><content type='html'>...a spotless townhouse in South Perth for $50,000.00 off from a reluctant seller simply by waiting for one day after the neighbouring townhouse sold, then placing a proposal for $5,000 higher for a limited time as per advice from my brother-in-law.&lt;br /&gt;&lt;br /&gt;Total elapsed time: one week from 4sale sign up.&lt;br /&gt;&lt;br /&gt;Yes, the real estate market may be about to fall into a deep hole, but the place is securely hers now. This is far from the most awesome thing she&amp;rsquo;s had happen over the last handful of months.&lt;br /&gt;&lt;br /&gt;Go, team!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7411709749520109575?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7411709749520109575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7411709749520109575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7411709749520109575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7411709749520109575'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/08/congratulations-to-miss-l-for-scoring.html' title='Congratulations to Miss L for scoring...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4876347168193315110</id><published>2010-08-02T17:54:00.002+08:00</published><updated>2010-08-02T18:02:39.715+08:00</updated><title type='text'>Moore’s Law</title><content type='html'>My first PC: 486DX2 66Mhz, 16MB of RAM, 320MB of hard disk in two drives, removable storage 1.4MB 1.5" floppy disk at $2 each.&lt;br /&gt;&lt;br /&gt;PC I&amp;rsquo;m finding a home for now (discards from TAFE &amp;amp; high schools intended for a primary school, this one was missing several drivers for devices under MS-Windows XP but runs Kubuntu just fine): Pentium4 2&amp;times;3000MHz, 1024MB of RAM, 80,000MB of hard disk in one drive, removable storage 4400MB DVD burner with blank discs at $0.30 each or 2048MB flash stick at $6 each.&lt;br /&gt;&lt;br /&gt;Smallest PC from the set (ditto for drivers): Pentium3 1000MHz, 256MB of RAM, 20,000MB of hard disk in one drive, removable storage 770MB CD burner with blank discs at $0.30 each, plus 4400MB DVD reader, or 2048MB flash stick.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4876347168193315110?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4876347168193315110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4876347168193315110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4876347168193315110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4876347168193315110'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/08/moore-law.html' title='Moore&amp;rsquo;s Law'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4383179805489237586</id><published>2010-08-01T20:14:00.001+08:00</published><updated>2010-08-01T20:16:26.937+08:00</updated><title type='text'>How to be happy - 5 simple rules</title><content type='html'>&lt;ol&gt;&lt;li&gt;Free your heart from hatred;&lt;/li&gt;&lt;li&gt;Free your mind from worry;&lt;/li&gt;&lt;li&gt;Live simply;&lt;/li&gt;&lt;li&gt;Give more;&lt;/li&gt;&lt;li&gt;Expect less.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4383179805489237586?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4383179805489237586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4383179805489237586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4383179805489237586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4383179805489237586'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/08/how-to-be-happy-5-simple-rules.html' title='How to be happy - 5 simple rules'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3992622849421453902</id><published>2010-07-21T12:04:00.003+08:00</published><updated>2010-07-21T12:10:20.873+08:00</updated><title type='text'>Racial Relations</title><content type='html'>I have a &amp;ldquo;Kiwi Chick&amp;rdquo; friend who is half Maori half Scottish; another who has a German Dad &amp; another from Kent, three half-Italian children (two in Port Hedland, one en Italia), teaches Italian at two local schools; another US Citizen who has an English surname but French, German, Norse &amp;amp; Pawnee-Indian ancestors; a Thai citizen who has a Thai mother &amp; Phillipino father; I am mostly British Australian but part Austrian &amp;amp; a small part Aboriginal (which really means Ph&amp;oelig;necian) &amp;amp; born in Canada.&lt;br /&gt;&lt;br /&gt;It seems oddly appropriate that I paid AUD$ to a &lt;tt&gt;.com.au&lt;/tt&gt; company yet had the resulting business cards airmailed from Holland.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3992622849421453902?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3992622849421453902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3992622849421453902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3992622849421453902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3992622849421453902'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/racial-relations.html' title='Racial Relations'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1806217843691956359</id><published>2010-07-20T00:52:00.004+08:00</published><updated>2010-07-20T01:01:37.983+08:00</updated><title type='text'>In case you’ve forgotten that MS-Windows is a negative-pressure situation... *</title><content type='html'>OpenOffice 3.2.1 is failing to install on a nearby laptop as the Microsoft Visual C++ sub-install on Vista gronks out with a bizarre error which &lt;u&gt;may&lt;/u&gt; on Windows 7 (Vista SP-&lt;tt&gt;MAXINT&lt;/tt&gt;) indicate a Registry entry set to too low a value.&lt;br /&gt;&lt;br /&gt;There&amp;rsquo;s no such registry entry here, but adding it &amp; maxing it out has no effect at all.&lt;br /&gt;&lt;br /&gt;OpenOffice 3.2 had no such problem on the same machine.&lt;br /&gt;&lt;br /&gt;Said machine had another person (hereinafter &lt;tt&gt;PassionFingers&lt;/tt&gt;) left logged in as an Administrator create themselves a new user, &amp;amp; in passing grant themselves access to every file under &lt;tt&gt;C:\Users&lt;/tt&gt; &amp;mdash; not the most private situation for the other users of the machine.&lt;br /&gt;&lt;br /&gt;&lt;font size="2"&gt;&lt;b&gt;*&lt;/b&gt; &lt;i&gt;That is: it sucks.&lt;/i&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1806217843691956359?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1806217843691956359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1806217843691956359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1806217843691956359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1806217843691956359'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/in-case-you-forgotten-that-ms-windows.html' title='In case you&amp;rsquo;ve forgotten that MS-Windows is a negative-pressure situation... &lt;sup&gt;*&lt;/sup&gt;'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2367025215810857630</id><published>2010-07-15T01:37:00.002+08:00</published><updated>2010-07-15T02:23:49.640+08:00</updated><title type='text'>Simplifying things by complicating them</title><content type='html'>I have an application to modify which wants to go from a hard-wired Wyse VT-100B-clone character terminal emulation to a GUI interface with all stops in between, plus wants to go from spitting escape-sequences at a specific model of dot-matrix impact printer to spitting A4 pages out of name-your-printer, plus wants to go from unindexed flat (fixed-with binary records) data storage to an SQL backend (probably PostgreSQL to start with).&lt;br /&gt;&lt;br /&gt;How do I do this, step by step, so I can continue to validate the functionality of the application at each step?&lt;br /&gt;&lt;br /&gt;Feature Set One: wrap &lt;b&gt;all&lt;/b&gt; of the terminal I/O in a standard set of functions; then figure out how many pixels wide/high a bog-standard Courier (fixed-width) character is at a standard scale (12 point?), multiply the text coordinates by those factors in the top-level code, then (when addressing a text screen) divide the resulting coordinates by the same factors before cramming the result down ncurses&amp;rsquo; throat.&lt;br /&gt;&lt;br /&gt;Feature Set Two: wrap &lt;b&gt;all&lt;/b&gt; of the printer I/O in another standard set of functions which open a text file, write the print output to that (maybe with embellishments such as bolding), then hand the result to a HTML-to-PDF application (like &lt;a href="http://www.htmldoc.org/"&gt;htmldoc&lt;/a&gt;) which then spools the output to a printer or publishes it where an EMail application can attach it.&lt;br /&gt;&lt;br /&gt;Feature Set Three: wrap &lt;b&gt;all&lt;/b&gt; of the data storage or access code in a set of simple functions which expect &amp;amp; return a fixed-sized memory structure regardless of the underlying storage format. Amongst other things, copying a flock of flat data files into an SQL server&amp;rsquo;s collection of TABLEs would be a short iterative loop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2367025215810857630?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2367025215810857630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2367025215810857630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2367025215810857630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2367025215810857630'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/simplifying-things-by-complicating-them.html' title='Simplifying things by complicating them'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4585861257196104003</id><published>2010-07-15T01:30:00.003+08:00</published><updated>2010-07-15T01:36:05.145+08:00</updated><title type='text'>Nasty trick for PortForward/DMZ on a TP-Link TD-8810 ADSL modem</title><content type='html'>You need to remove the (default 3x) "Bridge" entries in the DSL settings before a NAT entry will appear in the Advanced Settings menu, through which you can then configure Port Forwarding or DMZ... &amp;amp; a Port Forward rule which alters the port numbers &lt;i&gt;en passant&lt;/i&gt; has yet to work for me &amp;mdash; so, if you want SSH on port #2222 instead of #22, add "Port 2222" to your /etc/sshd_config file on the server, restart sshd, then configure the modem to port-forward TCP/2222 to the server concerned without altering the target port numbers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4585861257196104003?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4585861257196104003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4585861257196104003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4585861257196104003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4585861257196104003'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/nasty-trick-for-portforwarddmz-on-tp.html' title='Nasty trick for PortForward/DMZ on a TP-Link TD-8810 ADSL modem'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7479679731701160974</id><published>2010-07-09T10:12:00.005+08:00</published><updated>2010-07-09T14:18:48.539+08:00</updated><title type='text'>YouTube links on download list script</title><content type='html'>Still a little clumsy, but...&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;#!/bin/bash&lt;br /&gt;arg=$(echo $1 | sed -e 's/v=.*$/v=/')&lt;br /&gt;if ! [ "$arg" = "http://www.youtube.com/watch?v=" ]; then&lt;br /&gt; &amp;nbsp; &amp;nbsp; echo "Not a YouTube URL: $1"&lt;br /&gt; &amp;nbsp; &amp;nbsp; exit 1&lt;br /&gt;fi&lt;br /&gt;target=$(echo $1 | sed -e 's/^.*v=//')&lt;br /&gt;wget $1 -O /tmp/fetched_from_youtube.data&lt;br /&gt;# @@@ below is (all on one line, &lt;i&gt;blogger&lt;/i&gt; fails to handle well):&lt;br /&gt;# if($1 == "-" &amp;&amp; $2 != "") {&lt;br /&gt;# &amp;nbsp; sub ("^[^A-Z]*","");&lt;br /&gt;# &amp;nbsp; sub("\\(.*\\).*$","");&lt;br /&gt;# &amp;nbsp; gsub("[[:punct:]]","");&lt;br /&gt;# &amp;nbsp; sub(" +$","");&lt;br /&gt;# &amp;nbsp; gsub(" +","_");&lt;br /&gt;# &amp;nbsp; sub("_\\.",".");&lt;br /&gt;# &amp;nbsp; print $0;&lt;br /&gt;# }&lt;br /&gt;title=$(gawk '/&lt;.title&gt;/ { x=0; } x &gt; 0 { @@@ } /&lt;t.tle&gt;/ { x=2; }' /tmp/fetched_from_youtube.data)&lt;br /&gt;rm -f /tmp/fetched_from_youtube.data&lt;br /&gt;python youtube-dl.py $target&lt;br /&gt;ffmpeg -i ${target}.flv -ab 56 -ar 22050 -b 500 -s 320x240 ${title}_${RANDOM}.mpg&lt;br /&gt;rm -f ${target}.flv&lt;br /&gt;exit 0&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;...it works for me &amp; does emit status which the wrapper script can check at will.&lt;br /&gt;&lt;br /&gt;The &lt;tt&gt;_${RANDOM}&lt;/tt&gt; is in there to make a distinction between clips which happen to have identical (after filtering) titles. &lt;tt&gt;youtube-dl.py&lt;/tt&gt; is the script downloaded from the link on this post.&lt;br /&gt;&lt;br /&gt;Next, time permitting, I plan to enhance the wrapper script so it erases each line in the pending-downloads file it&amp;rsquo;s reading in the instant it completes the download. This because a long list of YouTube downloads may sit there perennially being re-downloaded, plus whatever other stuff requires special download techniques may also be the same.&lt;br /&gt;&lt;br /&gt;Yes, I could vandalise the Python script to resume rather than doing a fresh fetch, however I find the KISS principle very useful in general (that would make my modded version different from the original, if the original is improved I can&amp;rsquo;t just download the improved version), so I stay with that as much as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7479679731701160974?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://bitbucket.org/rg3/youtube-dl/wiki/Home' title='YouTube links on download list script'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7479679731701160974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7479679731701160974' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7479679731701160974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7479679731701160974'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/youtube-links-on-download-list-script.html' title='YouTube links on download list script'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3808843896365188065</id><published>2010-07-09T09:41:00.003+08:00</published><updated>2010-07-09T09:45:58.437+08:00</updated><title type='text'>Swimming up a waterfall...</title><content type='html'>Only one message in 56 (1.8%) survives my spam filtering (harsh PostFix rules plus minimal content filters), yet I still get about 200 junk messages each day.&lt;br /&gt;&lt;br /&gt;It's a pity that the only real alternative is positive ID of the sender, which of course traps you into one of the global ID systems run by the über-control-freaks who intend to run &lt;u&gt;everything&lt;/u&gt; their way only... &amp;amp; historically speaking, zero of the ID systems put in place have benefited (or really been intended to benefit) those so IDed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3808843896365188065?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3808843896365188065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3808843896365188065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3808843896365188065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3808843896365188065'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/swimming-up-waterfall.html' title='Swimming up a waterfall...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1117974563083583195</id><published>2010-07-08T08:40:00.002+08:00</published><updated>2010-07-08T09:20:19.462+08:00</updated><title type='text'>Adding YouTube watch?v= links to auto-download</title><content type='html'>The linked chunk of Python does the job well... but leaves a &lt;tt&gt;.flv&lt;/tt&gt; file with a crypto-looking name. This chunk of shell script (&lt;tt&gt;$1&lt;/tt&gt; is the full YouTube URL, as in &lt;tt&gt;http://www.youtube.com/watch?v=XYZZY123abc&lt;/tt&gt; or whatever) hauls out the video title:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;wget $1 -O /tmp/fetched_from_youtube.data&lt;br /&gt;name=$(gawk '/&lt;.title&gt;/ { x=0; } x &gt; 0 { if($1 == "-" &amp;&amp; $2 != "") { sub ("^[^A-Z]*",""); sub("\\(.*\\).*$",""); gsub("[[:punct:]]",""); sub(" +$",""); gsub(" +","_"); print $0; } } /&lt;t.tle&gt;/ { x=2; }' /tmp/fetched_from_youtube.data)&lt;br /&gt;rm -f /tmp/fetched_from_youtube.data&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;The title is savagely pruned to exclude most things which would fail as part of a filename. Experiments will happen tomorrow AM, but I&amp;rsquo;m guessing that something like this would do the appropriate conversion/renaming:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;arg=$(echo $1 | sed -e 's/^.*v=//')&lt;br /&gt;ffmpeg -i ${arg} -ab 56 -ar 22050 -b 500 -s 320x240 ${name}.mpg&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;That results in a plain MPEG file which should convert losslessly to a &lt;tt&gt;.vob&lt;/tt&gt; for burning onto a standard video DVD. If you use &lt;tt&gt;.mp4&lt;/tt&gt; instead, you wind up with a smaller video file for playing using smplayer, xine or whatever you have to hand.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1117974563083583195?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://bitbucket.org/rg3/youtube-dl/wiki/Home' title='Adding YouTube watch?v= links to auto-download'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1117974563083583195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1117974563083583195' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1117974563083583195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1117974563083583195'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/adding-youtube-watchv-links-to-auto.html' title='Adding YouTube watch?v= links to auto-download'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5156529296945709615</id><published>2010-07-06T18:56:00.003+08:00</published><updated>2010-07-06T19:31:04.867+08:00</updated><title type='text'>How to use your unlimited quota 2AM-8AM</title><content type='html'>Fun with BASH. &lt;b&gt;Disclaimer: this may contain typoes, thinkoes, etc. Use (or don&amp;rsquo;t use) entirely at your own risk. The intent is to be educational here rather than subject to chapter-&amp;amp;-verse unquestioning acceptance. If the clock on the computer running this is inaccurate by more than five minutes, the downloads may (partially) take place from your monthly quota (in which case install &lt;tt&gt;rdate&lt;/tt&gt; &amp;amp; aim it at a suitable time server, then install/use &lt;tt&gt;hwclock&lt;/tt&gt; to update the PC&amp;rsquo;s battery-backed clock).&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Behold, the &lt;tt&gt;grabqueue.sh&lt;/tt&gt; file:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;#!/bin/sh&lt;br /&gt;for list in pending/*; do&lt;br /&gt; &amp;nbsp; &amp;nbsp; N=$(wc -l $list | sed -e 's/ .*$//')&lt;br /&gt; &amp;nbsp; &amp;nbsp; for url in $(seq $N); do&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; L=$(tail -n +$url $list | head -n 1 -)&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if [ "$L" != "" ]; then&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wget -c "$L"&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fi&lt;br /&gt; &amp;nbsp; &amp;nbsp; done&lt;br /&gt; &amp;nbsp; &amp;nbsp; rm -f $list&lt;br /&gt;done&lt;br /&gt;rm -f /tmp/grabqueue.pid&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Run this (in cron) at 02:05 (a little clock slackness):&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;#!/bin/sh&lt;br /&gt;cd &lt;b&gt;/path/to/download/directory&lt;/b&gt;&lt;br /&gt;sh grabqueue.sh &amp;&lt;br /&gt;echo $! &gt;/tmp/grabqueue.pid&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Run this (in cron) at 07:55 (again, clock slackness):&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;#!/bin/sh&lt;br /&gt;if [ -f /tmp/grabqueue.pid ]; then&lt;br /&gt; &amp;nbsp; &amp;nbsp; kill $(cat /tmp/grabqueue.pid)&lt;br /&gt; &amp;nbsp; &amp;nbsp; rm -f /tmp/grabqueue.pid&lt;br /&gt;fi&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Discussion:&lt;/b&gt; put the URLs of whatever you wish to fetch within text files inside the pending subdirectory within your downloads directory, one URL per line. Empty lines within these files are ignored.&lt;br /&gt;&lt;br /&gt;The &amp;ldquo;-c&amp;rdquo; option (to wget) causes it to continue an existing download (or start a fresh one if the file does not yet (locally) exist). This means that attempting to download a file you already have will occupy a fraction of a second, plus little or zero traffic.&lt;br /&gt;&lt;br /&gt;The script deletes each file full of URLs after the last URL in the file has been downloaded from.&lt;br /&gt;&lt;br /&gt;The $! phrase in BASH is replaced with the PID (Process ID) of the most recently spawned sub-process. The first cron job launches the script, then records the PID within a temporary file. The second cron job (if said file still exists) kills the process so listed, then deletes the temporary file. Anything not completely downloaded at that point will be resumed during the next morning, until each download is completed.&lt;br /&gt;&lt;br /&gt;Within the script, &lt;tt&gt;$list&lt;/tt&gt; is the name of the URL-list file currently being processed. &lt;tt&gt;$L&lt;/tt&gt; is the line containing a URL which is being downloaded.&lt;br /&gt;&lt;br /&gt;To download videos, ensure that you have the URL for the video file itself (which typically ends with &lt;tt&gt;.mpg&lt;/tt&gt; or &lt;tt&gt;.flv&lt;/tt&gt; or &lt;tt&gt;.mp4&lt;/tt&gt;), rather than the URL of the web page upon which the video is presented (so typically &lt;u&gt;not&lt;/u&gt; ending with &lt;tt&gt;.html&lt;/tt&gt; or &lt;tt&gt;.asp&lt;/tt&gt; or &lt;tt&gt;.htm&lt;/tt&gt; or &lt;tt&gt;.php&lt;/tt&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5156529296945709615?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5156529296945709615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5156529296945709615' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5156529296945709615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5156529296945709615'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/how-to-use-your-unlimited-quota-2am-8am.html' title='How to use your unlimited quota 2AM-8AM'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8858694602052360216</id><published>2010-07-06T09:16:00.001+08:00</published><updated>2010-07-06T09:18:19.561+08:00</updated><title type='text'>Retail random numbers</title><content type='html'>5-port network switch: $47.00&lt;br /&gt;&lt;br /&gt;8-port network switch (same brand, same shop): $25.00&lt;br /&gt;&lt;br /&gt;No, it doesn&amp;rsquo;t make sense to me, either...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8858694602052360216?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8858694602052360216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8858694602052360216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8858694602052360216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8858694602052360216'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/07/retail-random-numbers.html' title='Retail random numbers'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5201485840272756733</id><published>2010-06-28T19:40:00.002+08:00</published><updated>2010-06-28T19:43:27.557+08:00</updated><title type='text'>BigPong Mobile Internet epic fail</title><content type='html'>Finds the modem, connects (with the correct numbers, so not just the modem talking to itself), gets PPP comes up (CHAP succeeds, or PAP does if I use that instead) handed 10.11.12.13 &amp; 10.11.12.14 as DNS, pause 2 secs, &amp;ldquo;Modem hangup.&amp;rdquo; &lt;tt&gt;&lt;b&gt;EVERY TIME&lt;/b&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;What The Flock?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5201485840272756733?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5201485840272756733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5201485840272756733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5201485840272756733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5201485840272756733'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/bigpong-mobile-internet-epic-fail.html' title='BigPong Mobile Internet epic fail'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4488103172270500459</id><published>2010-06-24T05:18:00.003+08:00</published><updated>2010-06-24T05:30:41.632+08:00</updated><title type='text'>Child-rearing tip II</title><content type='html'>Freedom of choice is massively important to your child.&lt;br /&gt;&lt;br /&gt;That &lt;u&gt;doesn&amp;rsquo;t&lt;/u&gt; imply that you should go insane &amp;amp; let them wander around totally uncontrolled.&lt;br /&gt;&lt;br /&gt;That &lt;u&gt;does&lt;/u&gt; mean that as they understand that their opinions &amp;amp; actions are truly important (will change planned actions) to you (&amp;amp; so to others), they deduce that they themselves are important, so what they say &amp;amp; do becomes important to them, they mysteriously become responsible &amp;amp; considerate.&lt;br /&gt;&lt;br /&gt;To mention that this cues them up well for their teenage years &amp;amp; beyond would be the understatement of the century.&lt;br /&gt;&lt;br /&gt;You avoid all manner of potential trauma, such as conditioning them into &lt;a href="http://en.wikipedia.org/wiki/Passive-aggressive_behavior"&gt;Passive Aggression&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Narcissistic_personality_disorder"&gt;Narcissism&lt;/a&gt;, or allowing them to slip into &lt;a href="http://www.therapyideas.net/triangles.htm"&gt;Karpman&amp;rsquo;s Drama Triangle&lt;/a&gt; habits.&lt;br /&gt;&lt;br /&gt;Quite aside from the outright material costs which will inevitably be incurred in dealing with the physical aspects of such traumatic outcomes, you will raise a child with genuine self-worth rather than hyper-inflated egotism (which often camouflages massive insecurity), courage rather than bravado, true independence rather than isolationism or control-freakery. This is a &lt;u&gt;very&lt;/u&gt; good plan! (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4488103172270500459?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4488103172270500459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4488103172270500459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4488103172270500459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4488103172270500459'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/child-rearing-tip-ii.html' title='Child-rearing tip II'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4308034454433086285</id><published>2010-06-24T05:11:00.002+08:00</published><updated>2010-06-24T05:17:47.857+08:00</updated><title type='text'>Child-rearing tip</title><content type='html'>If you like seeing your 10yo boy totally fascinated, hand him a headset plugged into a copy of &lt;a href="http://audacity.sourceforge.net/"&gt;Audacity&lt;/a&gt; &amp;amp; stand clear. (-:&lt;br /&gt;&lt;br /&gt;Depending on personality, that&amp;rsquo;s likely to work well for similarly-aged girls too, but the technological aspects of the experience seem to absolutely fascinate boys... &amp;amp; it is a gender thing, doubters are urged to watch families in shopping centres: the boys will be playing with a gadget, the girls will be on the other side of the shop chatting with someone they&amp;rsquo;d never seen before.&lt;br /&gt;&lt;br /&gt;While in the topic of shopping centres, if you&amp;rsquo;ve ever wondered why young children fuss so much while shopping, mentally place your face an arm&amp;rsquo;s-length above the floor &amp;amp; picture what the child can see. Underneaths of shelves hardly counts. You begin to understand why they like sitting in (or swinging from) the trolleys so much more. (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4308034454433086285?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4308034454433086285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4308034454433086285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4308034454433086285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4308034454433086285'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/child-rearing-tip.html' title='Child-rearing tip'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6005008575998005313</id><published>2010-06-24T04:58:00.002+08:00</published><updated>2010-06-24T05:09:46.499+08:00</updated><title type='text'>BigPong Mobile Internet insanity</title><content type='html'>The modem sticks (different labels, identical USB IDs) would not work in Karmic Koala Kubuntu, work flawlessly under Lucid Lynx... in the sense of connecting &amp; walking into PPP negotiation... but the modem hangs up after 2 seconds. No DNS acquired, or even an IP address. No errors from pppd at all, just the hangup.&lt;br /&gt;&lt;br /&gt;I&amp;rsquo;m typing this in from a Mobile Internet connection via a Huawei stick on Virgin (physical carrier is Optus), which has worked flawlessly from the first instant (works all the way from here (Albany) thru to Williams (almost Crossman River), then from just before Yule Du Roadhouse &amp; all thru Perth... oh, &amp;amp; in Cuthbert, Elleker, Denmark, Kalgan...)&lt;br /&gt;&lt;br /&gt;What the faulk...?&lt;br /&gt;&lt;br /&gt;Any constructive ideas most welcome. Comment here or email &lt;tt&gt;&lt;i&gt;myself&lt;/i&gt;&lt;b&gt;@&lt;/b&gt;cyberknights&amp;middot;com&amp;middot;au&lt;/tt&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6005008575998005313?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6005008575998005313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6005008575998005313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6005008575998005313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6005008575998005313'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/bigpong-mobile-internet-insanity.html' title='BigPong Mobile Internet insanity'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2199526174934806806</id><published>2010-06-14T12:26:00.002+08:00</published><updated>2010-06-14T12:31:14.036+08:00</updated><title type='text'>Why OpenSource works so well</title><content type='html'>&amp;ldquo;The study &lt;i&gt;[...]&lt;/i&gt; shows that cooperation is contagious. This comes from behavioural researchers, &amp;amp; in our eyes gives scientific proof that enlightened altruism, such as is found is open source projects, is real &amp;amp; pays off.&amp;rdquo; &amp;mdash; that&amp;rsquo;s a good comment on the article (&lt;a href="http://www.physorg.com/news187281963.html"&gt;linked here&lt;/a&gt;) made &lt;a href="http://www.theinquirer.net/inquirer/blog-post/1595653/open-source-makes-psychological-sense"&gt;at The Inquirer&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2199526174934806806?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.physorg.com/news187281963.html' title='Why OpenSource works so well'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2199526174934806806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2199526174934806806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2199526174934806806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2199526174934806806'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/why-opensource-works-so-well.html' title='Why OpenSource works so well'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4433681106870101028</id><published>2010-06-12T23:19:00.002+08:00</published><updated>2010-06-12T23:30:32.441+08:00</updated><title type='text'>Bizarre printer issue solved</title><content type='html'>Plug hp Deskjet F2480 printer/scanner in, it prints out an alignment sheet, feed it to the scanner, hit the Black Copy button &amp;amp; it makes a copy if it &amp;mdash; &amp;amp; in the process recalibrates the print-heads a little.&lt;br /&gt;&lt;br /&gt;But it won&amp;rsquo;t print anything.&lt;br /&gt;&lt;br /&gt;The print job takes about as long to fail to print as it would do to succeed in printing, with no action at all in the printer, &amp;amp; no errors thrown either.&lt;br /&gt;&lt;br /&gt;D&amp;rsquo;oh?&lt;br /&gt;&lt;br /&gt;It turns out that the nearest PPD file (for the Deskjet F2200 series) is not near enough. The PC is feeding the entire document (rasterised) down the USB cable, to the printer, which simply, silently throws it away.&lt;br /&gt;&lt;br /&gt;Using the name of the F2200 PPD file &amp;amp; altering it to be an F2400 PPD file, I search to discover the ferpectly correct PPD file tucked away in a package archive for some random Linux distribution... which happily includes the ability on-site to display the contents of the package &amp;amp; download individual files from it.&lt;br /&gt;&lt;br /&gt;Done.&lt;br /&gt;&lt;br /&gt;Fire up web browser, aim it at http://127.0.0.1:631/ then redefine the printer (in CUPS) with the precisely correct PPD file, &amp;amp; she&amp;rsquo;s all good.&lt;br /&gt;&lt;br /&gt;Making SANE work, however, is a different story so far.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4433681106870101028?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4433681106870101028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4433681106870101028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4433681106870101028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4433681106870101028'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/bizarre-printer-issue-solved.html' title='Bizarre printer issue solved'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3381965975736890148</id><published>2010-06-11T10:40:00.002+08:00</published><updated>2010-06-11T10:49:35.836+08:00</updated><title type='text'>Instant MicroPhilosophy</title><content type='html'>If I don&amp;rsquo;t recognise that I have/am a problem, so refuse to &amp;ldquo;own&amp;rdquo; it, I can&amp;rsquo;t change it &amp;mdash; it will go on, interminably.&lt;br /&gt;&lt;br /&gt;This is why I always welcome (constructive) criticism, no matter how painful it may seem at the time.&lt;br /&gt;&lt;br /&gt;The number of people who&amp;rsquo;ve been recorded as entering remission from a particular common kind of Personality Disorder without first admitting that &lt;u&gt;all&lt;/u&gt; of there problems are the result of their own choices &amp;amp; their own actions: &lt;i&gt;zero&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;That makes it evident that there&amp;rsquo;s a hard practical outcome available from at least some feelingy/opiniony things.&lt;br /&gt;&lt;br /&gt;Sooner or later, it becomes evident that you cannot actually &lt;u&gt;change&lt;/u&gt; other people (without constant, outright, physical compulsion &amp;mdash; a process I have less than no interest in), only they can change themselves.&lt;br /&gt;&lt;br /&gt;They may &lt;u&gt;feign&lt;/u&gt; change (to please you, to duck unpleasant expression, to weasel something out of you which would otherwise remain unavailable to them), but they will not really change (as a leopard can&amp;rsquo;t change his spots of an Ethiopian their deep tan), &amp;amp; I can tell you from decades of unrelenting personal experience that it is an exercise in futility &amp;amp; unending frustration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3381965975736890148?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3381965975736890148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3381965975736890148' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3381965975736890148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3381965975736890148'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/instant-microphilosophy.html' title='Instant MicroPhilosophy'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5751892003177981388</id><published>2010-06-11T10:27:00.002+08:00</published><updated>2010-06-11T10:40:21.244+08:00</updated><title type='text'>Insane printer pricing</title><content type='html'>I needed a new black cartridge for my printer, which was going to cost $26. Ink refill systems have produced... debatable results. 3&lt;sup&gt;rd&lt;/sup&gt;-party hp #60 cartridges (Calidad etc) aren&amp;rsquo;t available.&lt;br /&gt;&lt;br /&gt;So I soldiered into Hardly Normal yesterday (one of the few times I&amp;rsquo;ve had actual money over the last weeks) &amp;amp; bought a printer/scanner (with 2 cartridges) for $29. Even if they&amp;rsquo;re half-full cartridges (they should say so; IOW if they are worth in principle $13 each), that&amp;rsquo;s still a printer/scanner for $3.&lt;br /&gt;&lt;br /&gt;In one hand, I have two small black boxes with a scattering of electronics &amp;amp; some ink. In the other I have a large black box with two identical small boxes, a sheet of glass, much mechanical stuff, no significant difference in price. Is that a sane thing...?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5751892003177981388?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5751892003177981388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5751892003177981388' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5751892003177981388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5751892003177981388'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/insane-printer-pricing.html' title='Insane printer pricing'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1740251613584524069</id><published>2010-06-08T13:16:00.002+08:00</published><updated>2010-06-08T13:33:50.906+08:00</updated><title type='text'>Telstra’s still able to passionfinger things decades later...</title><content type='html'>In order to get ADSL here, I need to have a Telstra-based land-line, because &lt;u&gt;all&lt;/u&gt; of the other ISPs have to work through GiganTor&amp;rsquo;s DSLAMs. Having Verizon start a retail business in Aus would teach T all about monopolies, as they have 40 million customers in the USA alone...&lt;br /&gt;&lt;br /&gt;It seems that GiganTor ain&amp;rsquo;t letting them use ADSL2 mode on the same DSLAM, either, as the previous owners of this house had BigPong ADSL2, but crew like TPG will only quote on ADSL1 speeds.&lt;br /&gt;&lt;br /&gt;When I hit my mother-out-law&amp;rsquo;s house in December 2007, T had trapped a Zambian student staying there with a $17/month ADSL plan... 256/64kb with a massive 200MB a month quota. When he&amp;rsquo;d blown the quota (pretty much inevitable) &amp;amp; been billed for the excess &amp;amp; complained, he was told (words to the effect of) &amp;ldquo;if you had a real plan, you wouldn&amp;rsquo;t be billed for the excess so readily&amp;rdquo; so they upsold him to a $75 512/128 plan with a handful of gigabytes a month in quota. I switched that to a basic AmNet ADSL2 plan with 10GB quota (plus another 20GB through WAIX) for $29, which wound up at 6/1Mb. Since pretty much all of the $17 plans yielded a blown quota, in my perspective, that&amp;rsquo;s fraud.&lt;br /&gt;&lt;br /&gt;The basic ADSL1 plan here costs more than the default ADSL2 plan, &amp; has a 25GB quota versus a 130GB quota (which a friend in south-west Armadale blew in 4 days!). The ADSL2 clamps at 2Mb on overflow, no idea what the ADSL1 clamps at. Unlike BigPong, a static IP address is included.&lt;br /&gt;&lt;br /&gt;The source of this whinge was a BingPong Mobile Internet stick (ZPE) which plugs in, is seen on the USB buss... &amp;amp; manifests as Flash storage only. When I hand-&lt;tt&gt;modprobe&lt;/tt&gt; (or set up &lt;tt&gt;udev&lt;/tt&gt; to do the &lt;tt&gt;modprobe&lt;/tt&gt;) &lt;tt&gt;usbserial&lt;/tt&gt;, I get &lt;tt&gt;/dev/ttyUSB0&lt;/tt&gt;... but no communication. It could have been a Huawei stick, such as the Virgin (carrier is Optus) stick working fluently (out-of-the-box) in this laptop now, but BigPong chose otherwise. D&amp;rsquo;uh!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1740251613584524069?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1740251613584524069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1740251613584524069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1740251613584524069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1740251613584524069'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/06/telstra-still-able-to-passionfinger.html' title='Telstra&amp;rsquo;s still able to passionfinger things decades later...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-891367203339102987</id><published>2010-05-26T00:12:00.002+08:00</published><updated>2010-05-26T00:22:27.491+08:00</updated><title type='text'>Why PuTTY is good even for TelNet</title><content type='html'>&lt;ul&gt;&lt;li&gt;It can send keepalive traffic, which prevents the connection from being dropped by masquerade (NAT) network transitions or inattentive WiFi links while you&amp;rsquo;re grabbing a cuppa;&lt;/li&gt;&lt;li&gt;It runs on just about any platform so you only need one (1) set of instructions for all users;&lt;/li&gt;&lt;li&gt;It&amp;rsquo;s quite flexible about window setup (especially compared with (say) xTerm or Konqueror, but don&amp;rsquo;t even ask about operating through CMD.EXE) &amp;amp; the keystrokes can be individually configured;&lt;/li&gt;&lt;li&gt;When invoked from a command line, one can simply name a pre-configured set of connection parameters rather than adding a bazillion litle options for this or that parameter (&amp; then forget one detail);&lt;/li&gt;&lt;li&gt;It&amp;rsquo;s simple to configure a live CD to autostart straight into PuTTY, making a simple, robust, Thin Client (Twiggy, eat yer heart out).&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-891367203339102987?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/891367203339102987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=891367203339102987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/891367203339102987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/891367203339102987'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/05/why-putty-is-good-even-for-telnet.html' title='Why PuTTY is good even for TelNet'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6246004797142342545</id><published>2010-05-25T14:13:00.002+08:00</published><updated>2010-05-25T14:33:00.092+08:00</updated><title type='text'>Reverse Engineering</title><content type='html'>Twice now in a few days, the docco has been useless, but vivisecting running programs has worked.&lt;br /&gt;&lt;br /&gt;In the first case, I was using an app to turn a bunch of slideshow-style images into a DVD, with a talk track running under it. The initial application was childrens&amp;rsquo; stories.&lt;br /&gt;&lt;br /&gt;The app was quite clumsy, forex it would only allow one to adjust the length of time each slide remains in whole seconds, &amp; each slide (duration, transition, transition-speed) had to be adjusted manually (GUI interface). Each slideshow had to be redone from scratch (that is, change a detail on one image, need to reload all images &amp;amp; reconfig each time, sigh).&lt;br /&gt;&lt;br /&gt;So I ran a bunch of &lt;tt&gt;ps&lt;/tt&gt; commands (&lt;tt&gt;ps wwwwaux &amp;gt;filename1.log&lt;/tt&gt;) &amp;amp; captured copies of some of the (temporary) config files it made to run the app, now I can select slide times to the nearest millisecond (real-time accuracy is probably about 40ms) &amp;amp; rebuild the slideshow from a simple &lt;tt&gt;bash&lt;/tt&gt; script.&lt;br /&gt;&lt;br /&gt;I made the slides by scaling photos to NTSC sized PNGs, then used ImageMagick to inscribe the text thereon. I&amp;rsquo;m itching to do fancier stuff like underscored or italic words, but that may require getting changes to ImageMagick accepted. (-:&lt;br /&gt;&lt;br /&gt;The next step (it uses ImageMagick to do the transitions) will be to have more options for transitions (e.g. fade-to rather than fade-in or fade-out).&lt;br /&gt;&lt;br /&gt;In the second case, configuring a WPA2 WiFi connection (under Kubuntu) was not producing any good results. So &lt;tt&gt;apt-get wpa_gui&lt;/tt&gt;, run that, it works (posting this from the desktop in question across WiFi), copy resulting change for future reference.&lt;br /&gt;&lt;br /&gt;The code &lt;u&gt;is&lt;/u&gt; the documentation, in a way. (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6246004797142342545?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6246004797142342545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6246004797142342545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6246004797142342545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6246004797142342545'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/05/reverse-engineering.html' title='Reverse Engineering'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2584489931562118530</id><published>2010-05-21T15:45:00.003+08:00</published><updated>2010-05-21T16:08:08.066+08:00</updated><title type='text'>A piece offering</title><content type='html'>Over the years, I&amp;rsquo;ve quasi-specialised in doing stuff other computer people baulk at...&lt;br /&gt;&lt;br /&gt;Today&amp;rsquo;s more-of-the-same is taking a specific application, written (in &lt;tt&gt;gcc&lt;/tt&gt; at least) on SCO Unix hard-coded (at the &lt;tt&gt;printf("\33[%d;%dH",row,col);&lt;/tt&gt; level) for a particular VT-100B terminal clone&amp;rsquo;s terminal I/O, printing (hard-coded formatting) to a particular brand &amp;amp; model of dot-matrix impact printer via a specific hard-coded printer device, porting to Linux &lt;i&gt;[basics done, including use of lpr in place of a hard-coded output device, works under Karmic Koala Kubuntu or Mandriva 2010.0]&lt;/i&gt;, transmogrifying the terminal interface to something systematic wrapped in &lt;tt&gt;ncurses&lt;/tt&gt; (with a view to wrapping it in something more GUI later) &lt;i&gt;[work-in-progress]&lt;/i&gt;, feeding all printer output through a to-PDF converter (probably via a to-PostScript converter) &lt;i&gt;[work-in-progress]&lt;/i&gt; thus enabling use of any printer which can leave recognisable stuff on A4 (or Letter) paper plus emission of PDFs for emailing rather than impact-print-plus-snail-mail (which is the only current option for remote delivery), re-engineering the underlying db from C &lt;tt&gt;struct&lt;/tt&gt;s written to flat files with little-if-any indexing into something SQL-based (it&amp;rsquo;s simple enough that a PostgreSQL/MySQL interface should only involve a tiny portion of glue-logic, mostly in setup/knockdown) so enabling relatively transparent adaptation of generic reporting systems plus maybe a web interface for the basics.&lt;br /&gt;&lt;br /&gt;This might result in an actual income again, at which point the committee of vultures (yes, that&amp;rsquo;s the correct group-collective noun) currently present may dissipate or become subject to a thorough beating off.&lt;br /&gt;&lt;br /&gt;The final product will be international (ANZ, at least), portable, comprehensible, all manner of other good things, the key underlying features are &amp;ldquo;saleable/lessable by the current owners to other businesses in their trade&amp;rdquo; &amp;amp; &amp;ldquo;remotely manageable.&amp;rdquo;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2584489931562118530?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2584489931562118530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2584489931562118530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2584489931562118530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2584489931562118530'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/05/piece-offering.html' title='A piece offering'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7878472550937951917</id><published>2010-05-04T15:20:00.002+08:00</published><updated>2010-05-04T15:23:45.826+08:00</updated><title type='text'>Arbitrary scaling using ImageMagick</title><content type='html'>It took me a little while to blunder across the info, but using ImageMagick tools (like &amp;ldquo;convert&amp;rdquo;) results in the aspect ratio being retained, so an 800x600 image will scale to 640x480 but not 720x480.&lt;br /&gt;&lt;br /&gt;Add a shriek (exclamation mark) to the end of the dimensions. To do the above, &amp;ldquo;-scale 720x480!&amp;rdquo; (often, the ! must be prefixed with a \).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7878472550937951917?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7878472550937951917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7878472550937951917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7878472550937951917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7878472550937951917'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/05/arbitrary-scaling-using-imagemagick.html' title='Arbitrary scaling using ImageMagick'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1108909892603470084</id><published>2010-04-14T13:29:00.004+08:00</published><updated>2010-06-08T13:14:01.185+08:00</updated><title type='text'>The best plans of mice &amp; men to get laid...</title><content type='html'>...gang aft a&amp;rsquo;gley...&lt;br /&gt;&lt;br /&gt;Add network cards to each of two near-identical gateway servers (so they can masq as one another at need).&lt;br /&gt;&lt;br /&gt;One boots fine, the other takes freakin&amp;rsquo; ages to boot, then does not provide any service. Both are transproxy, monmotha firewall, SMTP each way, POP, DNS, one is SMB Workgroup server, rsync backup to 1TB 2.5" USB drive, etc.&lt;br /&gt;&lt;br /&gt;After 2&amp;frac12; hours of headbutting the wall, we boot from a Karmic Koala Kubuntu CD to reset passwords so we can reconfigure stuff, then boot from hard drive again... &amp;amp; (without any config changes made &lt;u&gt;at all&lt;/u&gt;) it all works! D&amp;rsquo;oh?&lt;br /&gt;&lt;br /&gt;If someone grows a brain, recognises that it is in their own best interests to cease degrading my life, instead release some other participants in a recent (last few years) tragicomedy, there may again be purpose in rebuilding my (evidently damaged by constant acts of sabotage as a competing &amp;ldquo;Control Freak&amp;rdquo;) business, but if computers take to doing this more often, it will have to be remedial massage or photography... I avoid using MS-Windows specifically to dodge software randomness as well as over 150,000 different kinds of viruses, but it ain&amp;rsquo;t a perfect universe.&lt;br /&gt;&lt;br /&gt;Meanwhile, on the other side of the fence, I&amp;rsquo;ve seen some quiet-but-amazing demonstrations of meekness. Said demonstrator is detail-freak enough (craves personal order enough) to be a rather excellent computer-person, but doesn&amp;rsquo;t like them. Oh, well, at least that one will die sane... (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1108909892603470084?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1108909892603470084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1108909892603470084' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1108909892603470084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1108909892603470084'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/04/best-plans-of-mice-men-to-get-laid.html' title='The best plans of mice &amp;amp; men to get laid...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4158200304338665672</id><published>2010-03-29T13:42:00.004+08:00</published><updated>2010-03-29T14:40:44.109+08:00</updated><title type='text'>In Ada a good cause</title><content type='html'>Being Ada Lovelace day &amp;rsquo;n&amp;rsquo; all, I thought it worth mentioning that &lt;u&gt;many&lt;/u&gt; women have done powerful things throughout history, including in computers.&lt;br /&gt;&lt;br /&gt;One odd general example is that women like maths a lot less than men, but in reality are much better at it. For a real-life example, a housewife I know well &lt;u&gt;ran&lt;/u&gt; the 2008 TEE IT section (from Murdoch Unit). This would translate fairly well into computing.&lt;br /&gt;&lt;br /&gt;The Good Book is regarded as patricarchal in nature (but even the Laws of Israel were Women&amp;rsquo;s Lib radicalism for the time), yet many of the heroes (Ruth, Deborah, Rachel, others) were women.&lt;br /&gt;&lt;br /&gt;Recently, I was happy to sign the &lt;a href="http://www.youtube.com/watch?v=PAh2Sds2g3E"&gt;EndItNow&lt;/a&gt; petition, a request for the UN to take real measures against violence towards women &amp;amp; girls, wordwide (not just beating, stuff like genital mutilation of various kinds, emotional pressure, removal of valid life choices, etc). Violence will not resolve problems, simply raise more of them.&lt;br /&gt;&lt;br /&gt;Another thing to realise is that bullies are cowards. This realisation has about the same effect as a young child realising that &amp;ldquo;I am bored&amp;rdquo; means &amp;ldquo;I have no imagination.&amp;rdquo;&lt;br /&gt;&lt;br /&gt;I&amp;rsquo;ve been treated very unfairly by some women, but that is &lt;u&gt;not&lt;/u&gt; a problem with women in general, that is a problem with those specific individuals. I also know a few women whose treatment at the hands of some men is an example which proves my own woes to be almost trivial.&lt;br /&gt;&lt;br /&gt;So... go, women! (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4158200304338665672?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4158200304338665672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4158200304338665672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4158200304338665672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4158200304338665672'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/03/in-ada-good-cause.html' title='In Ada a good cause'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3935055258054312975</id><published>2010-02-19T16:15:00.006+08:00</published><updated>2010-02-19T16:25:25.163+08:00</updated><title type='text'>Ripping the English pre-translation text out of a Google translation with vim</title><content type='html'>This next line is not really broken, but Blogger&amp;rsquo;s editor refuses to agree:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;:%s:&amp;lt;SPAN class="google-src-text"&amp;gt;.\{-}&amp;lt;SPAN&amp;gt;.\{-}&amp;lt;/SPAN&amp;gt;.\{-}&amp;lt;/SPAN&amp;gt;::g&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;...then...&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;:%s:&amp;lt;SPAN class="google-src-text"&amp;gt;.\{-}&amp;lt;/SPAN&amp;gt;::g&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;...all done (minus a bit of tidying up of &amp;lt;SCRIPT&amp;gt; junk here &amp;amp; there within &amp;lt;HEAD&amp;gt; section).&lt;br /&gt;&lt;br /&gt;The point? You can then Insert File into OpenOffice Writer &amp;amp; wind up with &lt;i&gt;only&lt;/i&gt; the translation text.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3935055258054312975?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3935055258054312975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3935055258054312975' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3935055258054312975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3935055258054312975'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/02/ripping-english-pre-translation-text.html' title='Ripping the English pre-translation text out of a Google translation with vim'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1732185715311545136</id><published>2010-01-20T18:42:00.004+08:00</published><updated>2010-01-20T18:59:13.564+08:00</updated><title type='text'>Aerobic exercise</title><content type='html'>Stacking 60&amp;times;20kg mud-bricks is that. &lt;font size="+2"&gt;&amp;#9786;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Making 35&amp;times;26kg bricks (meanwhile shovelling fill for those plus 139&amp;times;20kg bricks) is also that &lt;font size="+2"&gt;&amp;#9786;&lt;/font&gt; oh, &amp;amp; on that day (Monday), was supposed to be 35&amp;deg;C, officially made 40&amp;deg;C, but we measured 44&amp;deg;C in the shade... Sweat? Just a tad... &lt;font size="+2"&gt;&amp;#9786;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Global warming?&lt;/i&gt; Sunday was supposed to be 37&amp;deg;C, equal-hottest day this summer, managed to reach 38&amp;deg;C during a month which often peaks well clear of 40&amp;deg;C. Meanwhile, last week, 2xUS States had their coldest days &lt;b&gt;ever&lt;/b&gt;, Burlington VT had 33" of snow on one day from one storm. Last year, the Copenhagen warming conference was snowed out. Next fairy tale, please...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1732185715311545136?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1732185715311545136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1732185715311545136' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1732185715311545136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1732185715311545136'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/01/aerobic-exercise.html' title='Aerobic exercise'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8538872161967656845</id><published>2010-01-20T18:13:00.006+08:00</published><updated>2010-01-20T18:34:55.492+08:00</updated><title type='text'>OK, so it’s a _LARGE_ capacitor</title><content type='html'>I&amp;rsquo;ve been quietly reading a PDF archived on an odd energy website about CSIRO&amp;rsquo;s 2008 Energy Storage projects.&lt;br /&gt;&lt;br /&gt;These include &lt;a href="http://www.csiro.au/science/Supercapacitors.html"&gt;an 8.54kf asymmetrical Ni(OH)2/C capacitor&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Yes, that&amp;rsquo;s &lt;b&gt;kilo&lt;/b&gt;Farads, or about a million times larger than the biggest electrolytic capacitor you&amp;rsquo;ll find in an everyday electronic appliance.&lt;br /&gt;&lt;br /&gt;They also invented a thing they call &lt;a href="http://www.csiro.au/resources/Ultra-Battery-FAQs.html"&gt;the UltraBattery&lt;/a&gt;, which is a blend between this asymmetric capacitor &amp;amp; a lead-acid battery. It gives the surge ability of the cap backed by the robustness of the battery. The cap &amp;ldquo;protects&amp;rdquo; the battery from damage through excessive demand.&lt;br /&gt;&lt;br /&gt;Performance is comparable with NiMH for around a fifth of the cost. Durability trials &lt;a href="http://www.csiro.au/news/UltraBattery-awarded-funding-from-US-Govt.html"&gt;exceeded 100,000 simulated miles&lt;/a&gt; with no significant degradation. Like NiMH, &lt;a href="http://www.det.csiro.au/science/de_s/de_s_topics.htm#ultrabatteries"&gt;the UltraBattery can be scaled&lt;/a&gt; to extremes.&lt;br /&gt;&lt;br /&gt;If the pollies (&amp;amp; the bankrupt philosophies pushing them) would just naff off &amp;amp; leave us alone, I think we&amp;rsquo;ll get on just fine with managing this planet. Chances are...?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8538872161967656845?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8538872161967656845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8538872161967656845' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8538872161967656845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8538872161967656845'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/01/ok-so-it-large-capacitor.html' title='OK, so it&amp;rsquo;s a _LARGE_ capacitor'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7769192873854735811</id><published>2010-01-12T21:45:00.005+08:00</published><updated>2010-01-12T22:02:04.363+08:00</updated><title type='text'>Cable Beach (no, not in Broome!)</title><content type='html'>Varying from tech stuff a bit, still, but this was &lt;b&gt;fun&lt;/b&gt;! &lt;font size="+2"&gt;&amp;#9786;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Yesterday, I carefully took some time off to exercise my visual abilities, dragged a camera down to Cable Beach, grabbed some images of amazing waves (there&amp;rsquo;s a sort of cross-wave effect from the adjacent Cave Point rocks which leads to some quite bizarre wave-shapes), &amp;amp; of the rock added during a stormy night in recent years (6x8x30 feet, which makes it about 100 tonnes, yes we get real waves here) &amp;amp;&amp;hellip; dolphins!&lt;br /&gt;&lt;br /&gt;They leaped occasionally, but a few were literally riding &lt;i&gt;in&lt;/i&gt; the waves as they rolled in to break, would occasionally extend a fin out of the wave to produce a tearing surfboard-like effect. I was wishing for my zoom lens, as that would have allowed something visible to mere mortals to fit within the lens.&lt;br /&gt;&lt;br /&gt;Beyond the lighthouse (in which no light remains, but it has a radome &amp;amp; plenty of Yagi antenn&amp;aelig; &amp;amp; a satt dish) there is another rock effect similar to The Gap (about 100m further past the Point) with wave-surges (driven by a light on-shore breeze) powering about 25-30m up the rocks &amp;amp; into the air. Cool! &lt;font size="+2"&gt;&amp;#9786;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;The time off included watching some mudbrick manufacture, camera in hand, which might turn into an ad-hoc HowTo page.&lt;br /&gt;&lt;br /&gt;Today&amp;rsquo;s exercise was to turn &amp;amp; de-flash (with a rubber mallet) the 227 made bricks from yesterday, then stack maybe 60 (roughly 1&amp;frac14; tonnes) onto wooden pallets. Yes, it can get quite &amp;aelig;robic. &lt;font size="+2"&gt;&amp;#9786;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7769192873854735811?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7769192873854735811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7769192873854735811' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7769192873854735811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7769192873854735811'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2010/01/cable-beach-no-not-in-broome.html' title='Cable Beach (no, not in Broome!)'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6483532251343538762</id><published>2009-12-31T07:32:00.003+08:00</published><updated>2009-12-31T08:03:57.343+08:00</updated><title type='text'>Thank you Janyce!</title><content type='html'>Jan has found a neat house for my Dad to purchase here in Albany. With several other competitors in the wings, his purchase offer was accepted literally within 5 minutes.&lt;br /&gt;&lt;br /&gt;For the risk of what you might call technical reasons, I&amp;rsquo;m not yet able to buy my own house, so this is being bought as an investment &amp;amp; will be rented to me.&lt;br /&gt;&lt;br /&gt;The house is not quite as large as I&amp;rsquo;d ideally like, but is very well fitted out &amp;amp; comes with a few really neat gadgets such as a super-efficient reverse-cycle style water heater.&lt;br /&gt;&lt;br /&gt;It also has (important for Albany) ADSL2 running (at high speed, it&amp;rsquo;s near the exchange) from a provider who is &lt;u&gt;not&lt;/u&gt; Telstra, which will allow me to move my on-line services into the house, simplifying things for the people in whose house the server currently lives.&lt;br /&gt;&lt;br /&gt;The current owners are quite a unique contrast, &amp;amp; I was impressed to see how very well they do as a couple.&lt;br /&gt;&lt;br /&gt;Jan really knows the area, really knows what works, &amp;amp; has come up with some good ideas in the past (unfortunately, we weren&amp;rsquo;t able to take advantage of them right then), so it&amp;rsquo;s nice to see this panning out.&lt;br /&gt;&lt;br /&gt;Forex, &amp;ldquo;really knows,&amp;rdquo; the house is on the ring-road from the big roundabout down the west wide of Mount Melville around the north edge of Princess Royal Harbour to the Port so a semi thunders past every few minutes. Soon (a few years) a bypass is being built from Albany Highway (as an extension of Menang Road, near the airport) down the west side of town, along the train track, where it will merge with the ring road to the Port. No more trucks, up goes value. Good investment.&lt;br /&gt;&lt;br /&gt;The house itself has more than doubled in value since being built in 1996, &amp;amp; since Mount Lockyer (the suburb it&amp;rsquo;s in) has been developed a bit (was almost entirely HomesWest, now down to two adjacent HomesWest units, &amp;amp; I know the bloke who lives in one) is being steadily redeveloped, the value will go up again. Good investment.&lt;br /&gt;&lt;br /&gt;There are more positive factors, but a bit lengthy for a simple &amp;rsquo;blog post. In summary, well done, Jan!&lt;br /&gt;&lt;br /&gt;Prestige also have a rentals manager, Stacey, who did very well early on at finding good-quality but cheap rentals (about &lt;sup&gt;2&lt;/sup&gt;/&lt;sub&gt;3&lt;/sub&gt; the cost of my current rental), each of which was removed from contention by choices &amp;amp; actions of the owners, nothing she had any warning of or could change.&lt;br /&gt;&lt;br /&gt;Another local rentals manager who has done exceptionally well in finding places at good rates with essentially zero notice is Merilyn of &lt;a href="http://www.rainbowcoastrealty.com.au/"&gt;Rainbow Coast Realty&lt;/a&gt;. Her talents include bucketloads of patience. (-:&lt;br /&gt;&lt;br /&gt;So... if you want to rent or buy in Albany, you now have some good people to ask. &lt;u&gt;No&lt;/u&gt;, I don&amp;rsquo;t get paid or rewarded for saying nice things. (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6483532251343538762?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.albanyprestigerealty.com.au/' title='Thank you Janyce!'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6483532251343538762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6483532251343538762' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6483532251343538762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6483532251343538762'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/12/thank-you-janyce.html' title='Thank you Janyce!'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3169690818552964134</id><published>2009-12-29T18:06:00.003+08:00</published><updated>2009-12-30T09:16:14.902+08:00</updated><title type='text'>Karmic Koala won’t run your Mobile Internet...</title><content type='html'>...without an update for the kernel. Also, it fails to install wvdial by default.&lt;br /&gt;&lt;br /&gt;Stuffing this lot onto a Flash stick works for me:&lt;br /&gt;&lt;pre&gt;libuniconf4.4_4.4.1-0.2ubuntu2_i386.deb&lt;br /&gt;libwvstreams4.4-base_4.4.1-0.2ubuntu2_i386.deb&lt;br /&gt;libwvstreams4.4-extras_4.4.1-0ubuntu2_i386.deb&lt;br /&gt;libxplc0.3.13_0.3.13-2ubuntu2_i386.deb&lt;br /&gt;linux-image-2.6.32-9-generic_2.6.32-9.13_i386.deb&lt;br /&gt;wvdial_1.60.1_i386.deb&lt;/pre&gt;You need to make your default user a member of the &lt;tt&gt;dip&lt;/tt&gt; group else wvdial can&amp;rsquo;t run pppd.&lt;br /&gt;&lt;br /&gt;For Virgin (Optus) this needs to be pppd&amp;rsquo;s &lt;tt&gt;options&lt;/tt&gt; file:&lt;br /&gt;&lt;pre&gt;lock&lt;br /&gt;noauth&lt;br /&gt;noipdefault&lt;br /&gt;usepeerdns&lt;br /&gt;-chap&lt;/pre&gt;This needs to be in the &lt;tt&gt;pap-secrets&lt;/tt&gt; file:&lt;br /&gt;&lt;pre&gt;ppp     *       ppp&lt;/pre&gt;At that point &lt;tt&gt;wvdial&lt;/tt&gt; works from the shell (but under [K]Ubuntu, spits some weird rubbish as kind-of progress messages, which don&amp;rsquo;t happen under Mandriva). You can then plug in any valid stick, without config changes, as authentication seems to be done by the stick itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3169690818552964134?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3169690818552964134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3169690818552964134' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3169690818552964134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3169690818552964134'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/12/karmic-koala-won-run-your-mobile.html' title='Karmic Koala won&amp;rsquo;t run your Mobile Internet...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3318050561803915511</id><published>2009-12-17T15:11:00.005+08:00</published><updated>2009-12-17T15:41:10.138+08:00</updated><title type='text'>Oh, yes, Chromium browser is nice...</title><content type='html'>They seem to have learned a few things from (&lt;u&gt;not&lt;/u&gt; cloned) Firefox, plus it picked up the cookies, bookmarks etc from FF flawlessly.&lt;br /&gt;&lt;br /&gt;Chromium is generally smoother &amp; faster than FF, except for actually scrolling the page contents up &amp; down.&lt;br /&gt;&lt;br /&gt;The visual design is excellent... nothing too jarring, but a few logical changes like enclosing both of the Back/Forward buttons within a single rounded-rectangle border-line (which looks pretty much like the rounded-rectangles enclosing each of Reload, Home &amp; the URL field) &amp; overflowing excess bookmarks into a right-aligned Other Bookmarks folder. Oh, &amp; making the tabs look a bit more like individual objects (angled sides etc) which makes them easier to rapidly distinguish.&lt;br /&gt;&lt;br /&gt;This is Chromium 4.0.256.0 (32803) running under Mandrive 2009.1; to install it on that (or 2010.0), &lt;a href="http://dodonov.net/blog/2009/08/31/chrome-rpm/"&gt;run this&lt;/a&gt; as root:&lt;blockquote&gt;&lt;tt&gt;urpmi.addmedia --mirrorlist http://eugeni.dodonov.net/rpm eugeni 586&lt;/tt&gt;&lt;/blockquote&gt;...then...&lt;blockquote&gt;&lt;tt&gt;urpmi chrome&lt;/tt&gt;&lt;/blockquote&gt;...which is a few seconds&amp;rsquo; work over Virgin Mobile Internet in Albany (typically about 1-2 megabits), so should be about two eyeblinks under a decent ADSL2 link...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3318050561803915511?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3318050561803915511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3318050561803915511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3318050561803915511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3318050561803915511'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/12/oh-yes-chrome-browser-is-nice.html' title='Oh, yes, Chromium browser is nice...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7054089888673193390</id><published>2009-12-16T18:01:00.004+08:00</published><updated>2009-12-16T18:12:19.237+08:00</updated><title type='text'>So you owe someone a little money?</title><content type='html'>Rest easy.&lt;br /&gt;&lt;br /&gt;The US National Debt has been officially-officially pegged at over USD$12 TRILLION ($12,000,000,000,000.00).&lt;br /&gt;&lt;br /&gt;A former Comptroller General stated as fact last year that it had really topped $60 TRILLION, which is more than the entire world&amp;rsquo;s Gross Domestic Product. About USD$480,000.00 per household. Which is probably not all of the debts (guesstimate around 3&amp;times; to 5&amp;times; that).&lt;br /&gt;&lt;br /&gt;Which means it will be repaid when?&lt;br /&gt;&lt;br /&gt;The budget shortfall was predicted at $1.6 TRILLION but worked out to "only" $1.4 TRILLION, which means that they are spending USD$180,000,000.00 per hour more than they earn.&lt;br /&gt;&lt;br /&gt;Hey, I want pay-rates like that! (-:&lt;br /&gt;&lt;br /&gt;It&amp;rsquo;s not a wonder that President Obama wants to sign away all political/financial/religious rights (so, responsbility) to the UN at Copenhagen... but why is Prime Minister Rudd just as eager?&lt;br /&gt;&lt;br /&gt;It becomes increasing obvious that free-as-in-price means about squat. Free-as-in-available will, I think, come to mean everything &amp;mdash; not just in software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7054089888673193390?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7054089888673193390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7054089888673193390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7054089888673193390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7054089888673193390'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/12/so-you-owe-someone-little-money.html' title='So you owe someone a little money?'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5557612744166010228</id><published>2009-11-25T19:33:00.002+08:00</published><updated>2009-11-25T19:46:00.100+08:00</updated><title type='text'>Free as in $ as well...</title><content type='html'>Albany is mid-council-chuck-out at the moment, which has yeilded 2 free PCs.&lt;br /&gt;&lt;br /&gt;With FOSS, one simply ensures that the hardware itself functions (playing digital Lego&lt;sup&gt;&amp;reg;&lt;/sup&gt; until it does), then bung in a CD, install, done.&lt;br /&gt;&lt;br /&gt;You don&amp;rsquo;t have to scrawl down serial numbers, count licenses, anything.&lt;br /&gt;&lt;br /&gt;KISS at work!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5557612744166010228?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5557612744166010228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5557612744166010228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5557612744166010228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5557612744166010228'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/11/free-as-in-as-well.html' title='Free as in $ as well...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-415883720993292168</id><published>2009-11-23T21:31:00.002+08:00</published><updated>2009-11-23T21:37:49.334+08:00</updated><title type='text'>Well... I hope you’ve enjoyed our democracy...</title><content type='html'>...because next month it goes.&lt;br /&gt;&lt;br /&gt;Copenhagen is &lt;i&gt;not&lt;/i&gt; about climate change (which is a furphy anyway, Dad&amp;rsquo;s twin, a serious geologist, has done the maths &amp;mdash; everybody&amp;rsquo;s maths &amp;mdash; &amp;amp; if anything, our next climate change will be a mini ice age &amp;mdash; last winter was the worst (&amp;amp; strangest) the USA has had in a long time).&lt;br /&gt;&lt;br /&gt;The treaty at Copenhagen is about putting the UN in charge of &lt;i&gt;everything&lt;/i&gt; (finances, politics, religion, etc), &amp;amp; no signatory can back out without first obtaining the consent of &lt;i&gt;every&lt;/i&gt; other country, many of whom will be getting payments because Australia are signatories.&lt;br /&gt;&lt;br /&gt;Mr Rudd, of course, is eager for his government to be neutered. Are you?&lt;br /&gt;&lt;br /&gt;The treaty makes no mention of votes, elections, democracy at all. Signing your life away with a vengeance: insurance companies, eat your collective hearts out.&lt;br /&gt;&lt;br /&gt;There will be no more Free software. Or free speech. Or free philosophy, morals... name it. There will be no more free anything. The time to write/phone/email/camp-at-door-of your pollie is &lt;i&gt;now&lt;/i&gt;. The correct answer is &amp;ldquo;No!&amp;rdquo;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-415883720993292168?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.youtube.com/watch?v=0DjnJCRB7xQ' title='Well... I hope you&amp;rsquo;ve enjoyed our democracy...'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/415883720993292168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=415883720993292168' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/415883720993292168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/415883720993292168'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/11/well-i-hope-you-enjoyed-our-democracy.html' title='Well... I hope you&amp;rsquo;ve enjoyed our democracy...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1178604206687418773</id><published>2009-10-02T09:59:00.002+08:00</published><updated>2009-10-02T10:06:31.666+08:00</updated><title type='text'>Non-IT post: avoid anything with an Aspartame derivative in it</title><content type='html'>Early this year, I noticed that P&amp;amp;N-brand diet drinks did odd things to me. I often became grumpy or confused for no apparent reason half an hour or so after drinking them. They (even many of the non-diet flavours) contain Neotame, an Aspartame derivative, thank you Monsanto. So I no longer drink them.&lt;br /&gt;&lt;br /&gt;Currently chatting with a Queensland-based ex-truckie, ex-bikie, who is literally dying of Aspartame-based effects consequential on drinking heaps of diet drinks while trucking. His liver &amp;amp; his kidneys are failing. Endless odd pains &amp;amp; tweaks here &amp;amp; there. Not good.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aspartamesafety.com/"&gt;This (Texan) crew&lt;/a&gt; are quite big on the whole Aspartame thing.&lt;br /&gt;&lt;br /&gt;Bottom line: if you value having a life (or even value your life) don&amp;rsquo;t touch the stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1178604206687418773?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1178604206687418773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1178604206687418773' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1178604206687418773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1178604206687418773'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/10/non-it-post-avoid-anything-with.html' title='Non-IT post: avoid anything with an Aspartame derivative in it'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8293678552503199349</id><published>2009-09-30T10:03:00.002+08:00</published><updated>2009-09-30T10:18:22.300+08:00</updated><title type='text'>nlp for lazy learning</title><content type='html'>I&amp;rsquo;m currently reading this in bunches. It&amp;rsquo;s a neat little book by a living-in-England Irishwoman &lt;tt&gt;diana beaver&lt;/tt&gt;, which is focussed on ways people learn, but ventures a fair way into real Neuro Linguistic Programming.&lt;br /&gt;&lt;br /&gt;There is some controvery about NLP since the two founders (Bandler &amp;amp; Grinder) argued with one another &amp;amp; ceased working with one another, but a key factor in this book is that the author often gives small examples which one can test... &amp;amp; they work.&lt;br /&gt;&lt;br /&gt;Last year, I figured out the principal reason for me going through school with a genius-level IQ but getting only slightly-above-average results, then falling into IT &amp;amp; finding it to be paradise: I&amp;rsquo;m a visuo-spatial learner.&lt;br /&gt;&lt;br /&gt;Where someone with photographic memory would take away a detailed image for life (&amp;amp; a decade later be able to recall serial numbers, signatures &lt;i&gt;et al&lt;/i&gt;), I take away the patterns, the connections, the network &amp;mdash; which &lt;u&gt;is&lt;/u&gt; IT.&lt;br /&gt;&lt;br /&gt;So... in general learning/communication modes, I&amp;rsquo;m visual: &amp;ldquo;I see what you mean, I get the picture.&amp;rdquo; There is also auditory (words, tones etc), which would be &amp;ldquo;I hear what you&amp;rsquo;re saying. I&amp;rsquo;m in tune with you.&amp;rdquo; Finally, there is kinesthetic (tactile stuff &amp;amp; emotions): &amp;ldquo;That feels right. I&amp;rsquo;m getting a grip on it.&amp;rdquo; Kinesthetic describes my VSO fairly well.&lt;br /&gt;&lt;br /&gt;Now that I know that these exist (well, I &lt;u&gt;did&lt;/u&gt; read &lt;i&gt;Frogs Into Princes&lt;/i&gt; a decade or so ago, but with someone constantly undermining &amp;amp; sabotaging everything one does, retaining a focus on esoterica like that is not so easy), I&amp;rsquo;m able to begin to understand them, so I can begin to &lt;u&gt;really&lt;/u&gt; understand someone who uses those mental modes, &amp;amp; so express myself to them much more effectively.&lt;br /&gt;&lt;br /&gt;Hoorah! (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8293678552503199349?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8293678552503199349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8293678552503199349' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8293678552503199349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8293678552503199349'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/09/nlp-for-lazy-learning.html' title='nlp for lazy learning'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5790193437747471790</id><published>2009-09-19T16:49:00.002+08:00</published><updated>2009-09-19T17:01:43.816+08:00</updated><title type='text'>Electronic resurrection!</title><content type='html'>Last week, I drowned (completely immersed) a Canon A480 still-cam (which of course also takes minor videos) in Fortescue Falls while trying to take a video clip of same.&lt;br /&gt;&lt;br /&gt;Since the water is very close to pure there, I hauled out the batteries, the SD card, then flicked it as dry as I could. Carried it open-handed back to Forrestfield, then rested it on a shelf, panel-door open, for 2 days.&lt;br /&gt;&lt;br /&gt;Tried it. The electronics seemed to work fine but the optics were not. Massively over-bright &amp;amp; fuzzy.&lt;br /&gt;&lt;br /&gt;Frowned, hauled the batteries out while it was still powered on, leaving the lens extended. Left it to dry for a few more days. Jammed it into a case which went into a coach to Albany with me.&lt;br /&gt;&lt;br /&gt;A few days ago, without much hope, I switched it on again. Joy! It perks worfectly! (-:&lt;br /&gt;&lt;br /&gt;So... I used it for dazzling some Yankee friends with a morning video clip of Little Beach, using a real camera stand (-: eleven minutes of peaceful bliss, set to gentle wave noises! :-) &amp;amp; with some stills from around the Kalgan/Lower-King area. Nice soil, nice scenery there.&lt;br /&gt;&lt;br /&gt;Feeding a 1.2GB &lt;tt&gt;AVI&lt;/tt&gt; clip from the camera through &lt;tt&gt;ffmpeg&lt;/tt&gt; turned it into a 19MB &lt;tt&gt;MP4&lt;/tt&gt; file (also understood by many web publishing toolsets) with no evident loss of quality. That&amp;rsquo;s quite a change! In theory, I can fit a little under 40 minutes onto the SD card in the camera.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5790193437747471790?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5790193437747471790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5790193437747471790' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5790193437747471790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5790193437747471790'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/09/electronic-resurrection.html' title='Electronic resurrection!'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7961326739071551088</id><published>2009-09-17T17:37:00.002+08:00</published><updated>2009-09-17T17:43:58.626+08:00</updated><title type='text'>Wake up, li'l Suzi, wake up!</title><content type='html'>New toy: Suzuki Sierra.&lt;br /&gt;&lt;br /&gt;Sold to me(-ish) for $2500, happy with that as the Red Book price is $4500.&lt;br /&gt;&lt;br /&gt;Now getting accustomed to:&lt;ul&gt;&lt;li&gt;the habits/skills of driving again&lt;/li&gt;&lt;li&gt;more transport choices&lt;/li&gt;&lt;li&gt;having more photogenic spots within reach&lt;/li&gt;&lt;/ul&gt;It&amp;rsquo;s all good! (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7961326739071551088?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7961326739071551088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7961326739071551088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7961326739071551088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7961326739071551088'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/09/wake-up-lil-suzi-wake-up.html' title='Wake up, li&apos;l Suzi, wake up!'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-5483649991136915961</id><published>2009-09-14T10:03:00.002+08:00</published><updated>2009-09-14T10:57:42.906+08:00</updated><title type='text'>There's one born every minute</title><content type='html'>You have a small business with 20 people using computers. Let&amp;rsquo;s have a look at some pricing.&lt;br /&gt;&lt;br /&gt;Basic server with Mandriva Linux 2009.1: $1100.00&lt;br&gt;&lt;br /&gt;Cost per seat: $55.00&lt;br&gt;&lt;br /&gt;&lt;i&gt;Includes office software &amp;amp; a virus scanner. (No virus scanner is actually required).&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Basic server with MS-Windows 2008 (5 CALs): $3500.00&lt;br&gt;&lt;br /&gt;CALs apear to be about $200 a seat (Edu would be about $45), so...&lt;br&gt;&lt;br /&gt;15 more CALs for the above: $3000.00&lt;br&gt;&lt;br /&gt;Nett: $6500.00&lt;br&gt;&lt;br /&gt;Cost per seat: $325&lt;br&gt;&lt;br /&gt;&lt;i&gt;Does not include any office software or virus scanner; you could, if you enjoy constant naysaying, try installing OpenOffice for free.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;A PC for each seat is $502, plus screen ($180). These workstations do not require a virus scanner, but each instance (user) running on an MS-Windows 2008 server does. The workstations can be set up to run MS-Windows XP (guessing that an OEM version could still be grabbed for about $150, Vista would be a bit breathless, don&amp;rsquo;t know about MS-Windows 7), so would require a virus scanner each, but there is no real point in so doing.&lt;br /&gt;&lt;br /&gt;The kicker?&lt;br /&gt;&lt;br /&gt;In this town, since the final one of the 3 various Linux-aware dudes left last year, local suppliers have been encouraging the use of MS-Windows 2008 with virtualisation (haven&amp;rsquo;t explored the cost of &lt;u&gt;that&lt;/u&gt; yet).&lt;br /&gt;&lt;br /&gt;The virtualisation is needed because services are not as well separated as they are on any Unix (such as Linux) &amp;amp; as they have been for decades. Given that MS-Windows NT was a VMS (Mica) clone (with mil-spec security), that&amp;rsquo;s pretty bad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-5483649991136915961?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/5483649991136915961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=5483649991136915961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5483649991136915961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/5483649991136915961'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/09/theres-one-born-every-minute.html' title='There&apos;s one born every minute'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8228869597042436333</id><published>2009-09-10T18:44:00.002+08:00</published><updated>2009-09-10T19:06:36.307+08:00</updated><title type='text'>Borderline-type tech stuff today</title><content type='html'>I did no programming today. (-:&lt;br /&gt;&lt;br /&gt;I discussed Internet connections with a realtor &amp;amp; with a doctor in the course of using their services. The result will be that the realtor saves at least $31 a month &amp;amp; gets a faster connection, the doctor saves $23 a month &amp; also gets a faster connection.&lt;br /&gt;&lt;br /&gt;I filled out a DASS test, got 10 for D, 7 for A, 17 for S. The doctor after the doctor testing decided that the moderate A was directly due to my VSO&amp;rsquo;s influence, the dangerously high S was the result of certain pressures of which most can soon be removed, the high-ish D was a consequence of the S &amp;amp; again was high-ish rather than very high due to VSO.&lt;br /&gt;&lt;br /&gt;I began updating postal addresses. From Medicare, HBF, GP, Hudson Henning Goodman, others.&lt;br /&gt;&lt;br /&gt;I composed some Fathers&amp;rsquo; Day thankyous. They will need to be vetted by legal eagles before being sent, but they will get there, they will be assuring &amp;amp; comforting when they arrive.&lt;br /&gt;&lt;br /&gt;The weather here was cantankerous. Started off fine, then got rainy &amp;amp; just after I arrived home got &lt;u&gt;very&lt;/u&gt; rainy &amp;amp; &lt;u&gt;very&lt;/u&gt; blustery for an hour or so.&lt;br /&gt;&lt;br /&gt;Finally discovered how to make my Nokia E63 aware of 3G mode. Dial something odd like *163# &amp;amp; it all springs to life.&lt;br /&gt;&lt;br /&gt;GSM Internet works from here to Kojonup (but goes into temporary hiatus for several minutes at a time maybe every 10-15 minutes), there is a large gap Koj-Williams, then another one Williams to the Yule Du roadhouse. Woolstore at Williams make good Mocha as well as coffee.&lt;br /&gt;&lt;br /&gt;The TransWA coaches (from about seats 16 to 24) have 12 volt sockets, so tote an adaptor &amp;amp; you can use your laptop between 9AM &amp;amp; 3PM &amp;amp; still dismount with a charge.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8228869597042436333?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8228869597042436333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8228869597042436333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8228869597042436333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8228869597042436333'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/09/borderline-type-tech-stuff-today.html' title='Borderline-type tech stuff today'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-78647349064239329</id><published>2009-09-03T10:42:00.003+08:00</published><updated>2009-09-03T11:17:35.679+08:00</updated><title type='text'>The KISS Principle</title><content type='html'>&amp;ldquo;Keep It Simple, Sweetheart&amp;ldquo; sounds easy enough to do, but in many ways, this is &lt;u&gt;not&lt;/u&gt; a simple world. I do, however, enjoy simplifying things. (-:&lt;br /&gt;&lt;br /&gt;Facing this rotten, ancient C program, having it segfault after a few minor changes for no obvious reason, I began to feel a bit stupid.&lt;br /&gt;&lt;br /&gt;So... what happens when &amp;ldquo;&lt;b&gt;We believe that we are stupid?&lt;/b&gt;&amp;rdquo;&lt;br /&gt;&lt;br /&gt;The curious thing about this belief is that it has been inflicted upon us by somebody else. We would have no concept of stupidity if someone had not told us about it &amp;amp; applied the adjective to us.&lt;br /&gt;&lt;br /&gt;So reckons Diana Beaver, an educational researcher.&lt;br /&gt;&lt;br /&gt;After discussing life for a bit with someone I seriously value, in which I learned that being &amp;ldquo;The Crazy Grandpa&amp;rdquo; is acceptable, but that I am very much &lt;u&gt;not&lt;/u&gt; stupid, I decided to apply KISS.&lt;br /&gt;&lt;br /&gt;It wasn&amp;rsquo;t working. Why not? I&amp;rsquo;d made only a few changes, so the reason is likely to be simple.&lt;br /&gt;&lt;br /&gt;Back to the basics.&lt;br /&gt;&lt;br /&gt;I sat down &amp;amp; pored through every line of code I was dealing with, rapidly (by &lt;tt&gt;#if&amp;nbsp;0&lt;/tt&gt;-ing out sections temporarily to see if the rest worked) isolated it to within one function that I had barely touched.&lt;br /&gt;&lt;br /&gt;In order for a problem to be made simple, one must understand it. Not always in excruciating detail, but it must be understood, So I began reading statement by statement to be sure that I understood it.&lt;br /&gt;&lt;br /&gt;One of the local variables was &lt;tt&gt;char&amp;nbsp;*buf[39];&lt;/tt&gt;, which is an unusually specific value. It turned out that original author had &lt;tt&gt;sprintf&lt;/tt&gt;ed a &lt;tt&gt;%-38.38s&lt;/tt&gt; into it. If that overflowed, it wrote text onto the next item in memory: the call-return address on the stack. Off to hyperspace in an instant!&lt;br /&gt;&lt;br /&gt;One of my additions produced a 40-character (-byte) string. So... &lt;tt&gt;cw80&lt;/tt&gt;&amp;lt;Esc&amp;gt; then &lt;tt&gt;make&lt;/tt&gt; (which itself only became possible on Sunday), fixed.&lt;br /&gt;&lt;br /&gt;The other problem appeared to be where an early routine called a date-interpreting function (which fetched a date stored as a &lt;u&gt;string&lt;/u&gt;, hand-scrolled the month digits to the beginning of the string, hand-terminated it there, then returned an &lt;tt&gt;atoi&amp;nbsp;(&amp;nbsp;)&lt;/tt&gt; of it).&lt;br /&gt;&lt;br /&gt;Careful research discovered that the &lt;tt&gt;if&amp;nbsp;(&amp;nbsp;)&lt;/tt&gt; statement this expression was embedded within first checked a string variable (from the &lt;tt&gt;argv&amp;nbsp;[&amp;nbsp;]&lt;/tt&gt; array) for a specific value. If no value was supplied, the result was &lt;tt&gt;strcmp&amp;nbsp;(NULL,&amp;nbsp;"word");&lt;/tt&gt; which of course segfaulted as it attempted to fetch characters from address zero.&lt;br /&gt;&lt;br /&gt;Fixed.&lt;br /&gt;&lt;br /&gt;Simple can be quite satisfying. (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-78647349064239329?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/78647349064239329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=78647349064239329' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/78647349064239329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/78647349064239329'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/09/kiss-principle.html' title='The KISS Principle'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2623510531775694456</id><published>2009-08-30T17:35:00.002+08:00</published><updated>2009-09-10T18:43:32.333+08:00</updated><title type='text'>Now one day older than my VSO...</title><content type='html'>...will be until tomorrow.&lt;br /&gt;&lt;br /&gt;[ VSO == &lt;u&gt;Very&lt;/u&gt; Significant Other ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2623510531775694456?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2623510531775694456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2623510531775694456' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2623510531775694456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2623510531775694456'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/08/now-one-day-older-than-my-vso.html' title='Now one day older than my VSO...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2330883976453873170</id><published>2009-08-30T17:30:00.003+08:00</published><updated>2009-08-30T17:39:50.097+08:00</updated><title type='text'>exSCO app now prints to PDF</title><content type='html'>The easiest way to do that turned out to be writing HTML, then feeding that to a converter.&lt;br /&gt;&lt;br /&gt;The downside is that a 48-page report works out to be 700kB of HTML, which &lt;tt&gt;htmldoc&lt;/tt&gt; chokes on &amp;amp; silently dies.&lt;br /&gt;&lt;br /&gt;So... a bit of re-engineering now to start a new temp text file (shut down &amp;amp; restart &lt;tt&gt;&amp;lt;html&amp;gt;&lt;/tt&gt; &amp;amp; &lt;tt&gt;&amp;lt;body&amp;gt;&lt;/tt&gt; tags in between), spawn &lt;tt&gt;htmldoc&lt;/tt&gt; with a bunch of them instead of one file with throwing a &lt;tt&gt;&amp;lt;!-- PAGE BREAK --&amp;gt;&lt;/tt&gt; directive in at the end of each page.&lt;br /&gt;&lt;br /&gt;Extra victory: I have one report spitting contents into a &lt;tt&gt;&amp;lt;table&amp;gt;&lt;/tt&gt; tag. It looks much neater &amp;amp; more elegant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2330883976453873170?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2330883976453873170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2330883976453873170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2330883976453873170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2330883976453873170'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/08/exsco-app-now-prints-to-pdf.html' title='exSCO app now prints to PDF'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8628166835242563843</id><published>2009-08-15T14:25:00.007+08:00</published><updated>2009-08-15T14:39:12.569+08:00</updated><title type='text'>I am your Commander!</title><content type='html'>&lt;p align="center"&gt;&lt;font size="+3"&gt;&lt;b&gt;Varth Dader&lt;br&gt;&lt;br /&gt;Earlly Nilliterate&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;font size="+2"&gt;&lt;b&gt;Make mine a Penne Arabiata&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;So the shirt would read, but for a lack of fabric paints. I&amp;rsquo;ll be attending a sci-fi themed birthday party for a nephew tonight.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;(The meal reference is from the Lego parody of the Death Star Canteen)&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8628166835242563843?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8628166835242563843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8628166835242563843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8628166835242563843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8628166835242563843'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/08/varth-dader.html' title='I am your Commander!'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4664045117541910270</id><published>2009-08-13T20:15:00.003+08:00</published><updated>2009-08-15T12:04:45.389+08:00</updated><title type='text'>Minor victory in ex-SCO application</title><content type='html'>47,300 lines of C (plus 6,800 lines of headers) should &lt;u&gt;not&lt;/u&gt; take a full day of effort to get to compile, yet compile it does... &amp;amp; even seems to work.&lt;br /&gt;&lt;br /&gt;The few sections I tested on my laptop (running Mandriva Linux 2009.1 rather than SCO Unix 5.0.7) behaved flawlessly. Now if the rest proves to be working, we&amp;rsquo;re poised to actually &lt;u&gt;change&lt;/u&gt; a few things, to the immense relief of their staff.&lt;br /&gt;&lt;br /&gt;Driving a terminal (&lt;u&gt;any&lt;/u&gt; terminal other than strict VT-100B at 24x80 (or x132) would be good) via ncurses rather than from hand-coded printfs to &amp;ldquo;\33[%d;%dH&amp;rdquo; would be fantastic. Then we could axe the proprietary terminal program they&amp;rsquo;re forced to use under MS-Windows (was even Windows98 in one case until the day before yesterday).&lt;br /&gt;&lt;br /&gt;Printing (eventually via PDFs &amp;amp;) CUPS will mean that they can use the hp laser (which does only wordprocessing now) for reports &amp;amp; documents like reminders (A5 sized) &amp;amp; invoices. This replaces a dodgy, ageing impact printer (again, hand-coded with &amp;ldquo;\33w0&amp;rdquo; &amp;amp; the like).&lt;br /&gt;&lt;br /&gt;Writing CSV files will mean that they can actually use their own data for purposes other than those recognised by the original programmer. Using a modern OS will mean instant backups (via tar, bzip2) to USB flash sticks.&lt;br /&gt;&lt;br /&gt;Running on Linux means modern facilities, secure updates, secure/encrypted SSH access from wherever (including from MS-Windows machines via PuTTY).&lt;br /&gt;&lt;br /&gt;The horizons are boundless! (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4664045117541910270?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4664045117541910270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4664045117541910270' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4664045117541910270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4664045117541910270'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/08/minor-victory-in-ex-sco-application.html' title='Minor victory in ex-SCO application'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-302150677475794062</id><published>2009-07-31T15:23:00.002+08:00</published><updated>2009-07-31T15:41:13.713+08:00</updated><title type='text'>Going crazy in C</title><content type='html'>I have an application, written (by someone else) in C, running on SCO OpenServer 5 Unix, which I need to convince that Linux is a better thing to do &amp;mdash; amongst other things, it is &lt;u&gt;much&lt;/u&gt; easier to find people to maintain such a system, plus significantly easier to find matching hardware with drivers. Plus when SCO finally bites the dust, major support questions arise.&lt;br /&gt;&lt;br /&gt;It is written, &lt;u&gt;mostly&lt;/u&gt;, in very old-style C. No function protoypes at all.&lt;br /&gt;&lt;br /&gt;It was compiled, it seems, with an ancient version of gcc, which should make things easier. The compile shell-scripts are a bit cumbersome, don&amp;rsquo;t refer to any particular breed of shell, have about zero error checking, use obsolete/defective options. Never mind.&lt;br /&gt;&lt;br /&gt;Some definition files were copied in wholesale from the SCO Unix system files. Never mind about copyrights. Erase. We&amp;rsquo;ll use modern, intrinsic-to-system ones.&lt;br /&gt;&lt;br /&gt;Terminal (text screen) handling is absolutely hard-wired into the code [&lt;tt&gt;printf("\33[%d;%dH", row, col);&lt;/tt&gt;] for a VT-100 type terminal (but that at least is a bit modularised so can be readily converted to a more modern, portable style).&lt;br /&gt;&lt;br /&gt;Some of the system definitions have been over-ridden by hand. Poorly. For example, NULL is &lt;tt&gt;#define&lt;/tt&gt;d to be (0), in contrast to a &lt;tt&gt;void&lt;/tt&gt; pointer to nothing.&lt;br /&gt;&lt;br /&gt;C source files are canonically &amp;ldquo;whatever.c&amp;rdquo;; C include files (definitions) are supposed to be &amp;ldquo;whatever.h&amp;rdquo;; the binaries (compiled programs) are supposed to be just &amp;ldquo;whatever&amp;rdquo;... but both binaries &amp;amp; includes are quite cryptically named (what would you make of &amp;ldquo;dr3&amp;rdquo; or &amp;ldquo;clx?&amp;rdquo;) as just &amp;ldquo;whatever&amp;rdquo;. &lt;u&gt;Some&lt;/u&gt; of the include files are prefixed &amp;ldquo;i_&amp;rdquo; &amp;mdash; WTF?&lt;br /&gt;&lt;br /&gt;Calling conventions are terribly arbitrary. They modify the supplied variables instead of returning a new one. They return the address of a static (one copy local to each procedure) variable instead of writing into a supplied one or creating a new one. A row number is supplied directly as an int, so is a column number but in one procedure it is supplied as a reference (indirect) to the number. No explanation. No comments within the code at all beyond a general/vague mention at the start of some files.&lt;br /&gt;&lt;br /&gt;There are some unquestionable bugs; for example, one procedure prompts for &amp;amp; reads an integer from the keyboard, accepting a &lt;tt&gt;double *&lt;/tt&gt; as an argument. In several places, it is passed an &lt;tt&gt;int *&lt;/tt&gt;. Some things may mysteriously commence working after this compiles. (-:&lt;br /&gt;&lt;br /&gt;The fact that it is working at all is a freakin&amp;rsquo; miracle.&lt;br /&gt;&lt;br /&gt;In amending it so that it will compile successfully on a modern C compiler, I am doing surgery which makes up many of those lacks, &amp;amp; emplaces default specifications &amp; checks which will point out any obvious errors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-302150677475794062?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/302150677475794062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=302150677475794062' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/302150677475794062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/302150677475794062'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/07/going-crazy-in-c.html' title='Going crazy in C'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4899091032750875226</id><published>2009-07-30T06:22:00.003+08:00</published><updated>2009-07-30T06:37:31.301+08:00</updated><title type='text'>Politics &amp; Business</title><content type='html'>In an ongoing sign that our government has no clue, especially during times of recession, they have still failed to return funding to the &lt;a href="http://www.belmontbec.com/"&gt;Belmont Business Enterprise Centre&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;At their monthly get-together last night, I won a neat little book: &lt;a href="http://smallbusiness.sensis.com.au/The-Guide.html"&gt;Small Business, Big Opportunity&lt;/a&gt;. Numerous small businesses are nurtured by BEC; for example I am giving a free consult to an inventor this morning, last night met an IT consultant who uses their services, originally based his consultancy on my ideas.&lt;br /&gt;&lt;br /&gt;The rest of my life has been... interesting.&lt;br /&gt;&lt;br /&gt;Much unrelated trauma amongst friends, some very good (hello G &amp;amp; E O), some very bad (hello, K &amp;amp; S D). The best woman in the world is struggling to get a short sale completed but is otherwise irrevocably cute. Accommodation is a bit dodgy-future but looking good at the moment. I should have my MDL back next week (courtesy of an RPH Neurologist, my GP &amp;amp; the DPI, is that enough acronyms?). My son turns 10yo next month, it would be good if I get any contact with his determined self. I may get to retire a SCO server tomorrow or Friday &amp;amp; turn a  now-unused box into a sale at the same time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4899091032750875226?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4899091032750875226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4899091032750875226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4899091032750875226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4899091032750875226'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/07/politics-business.html' title='Politics &amp; Business'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8159681024365328937</id><published>2009-07-26T08:56:00.004+08:00</published><updated>2009-07-26T09:14:09.879+08:00</updated><title type='text'>Business in Western Australia</title><content type='html'>I&amp;rsquo;m currently looking at ramping my consulting business back up again, then at developing &amp;amp; extending it in different ways, perhaps into different areas.&lt;br /&gt;&lt;br /&gt;The business has featured outright programming, plus installation &amp;amp; support of Open Source systems (often servers).&lt;br /&gt;&lt;br /&gt;It is amazing how much a Linux-based server does &lt;span style="font-weight:bold;"&gt;not&lt;/span&gt; cost when compared with an MS-Windows-based server, even when dedicated entirely to providing MS-Windows focussed file &amp;amp; print services (&lt;a href="http://www.samba.org/"&gt;SMB&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;It is also amazing to behold how little maintenance &amp;amp; support is required for a Linux-based workstation, either simple web/office functions or operating MS-Windows-aimed (or even MS-DOS) applications through &lt;a href="http://www.winehq.org/"&gt;WINE&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A major advantage is, of course: no viruses. At all. Nor spyware. Plus the option of automatic updates. Applications typically included out-of-the-box will amount to the equivalent of at least hundreds of dollars&amp;rsquo; cost in non-Open applications.&lt;br /&gt;&lt;br /&gt;For larger networks, it is quite simple to make up a &amp;ldquo;template&amp;rdquo; CD for rapidly &amp;amp; simply installing a working system on a new or replacement workstation.&lt;br /&gt;&lt;br /&gt;I have also recompiled non-Linux-targeted applications to work successfully on Linux, occasionally freeing customers from legal-problem-fraught systems such as SCO OpenServer &amp;amp; opening themto support for well-known Linux.&lt;br /&gt;&lt;br /&gt;I prefer &lt;a href="http://www.mandriva.com/"&gt;the Mandriva distribution&lt;/a&gt;, or &lt;a href="http://www.kubuntu.org/"&gt;happily use Kubutu&lt;/a&gt; where appropriate.&lt;br /&gt;&lt;br /&gt;If you do Open Source stuff in Western Australia, please throw me an email (to make it easier, leonATcyberknightsDOTcomDOTau) or call on 0409655359.&lt;br /&gt;&lt;br /&gt;If you do computer work in Albany at all, please do the same.&lt;br /&gt;&lt;br /&gt;I am quite happy to ricochet non-focus business to others whom I know are competent, reasonable &amp;amp; don&amp;rsquo;t set out to offend people.&lt;br /&gt;&lt;br /&gt;I am also quite happy to interoperate with people who would like to use Linux-based components to reliably, cheaply provide services to MS-Windows based networks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8159681024365328937?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8159681024365328937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8159681024365328937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8159681024365328937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8159681024365328937'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/07/business-in-western-australia.html' title='Business in Western Australia'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3006550105888733010</id><published>2009-07-22T05:25:00.006+08:00</published><updated>2009-07-22T07:31:32.046+08:00</updated><title type='text'>Unleaded fuel 77c per litre</title><content type='html'>That&amp;rsquo;s the cost here in a small town in Wisconsin (really, &lt;a href="http://www.xe.com/ucc/convert.cgi?Amount=2.39&amp;From=USD&amp;To=AUD"&gt;USD$2.39&lt;/a&gt; per gallon). Prices are a bit different to Oz, often much cheaper (like the fuel), sometimes much more expensive (e.g. mushrooms, AUD$18.87/kg).&lt;br /&gt;&lt;br /&gt;It&amp;rsquo;s been an adventure. Being with someone I can trust (absolutely, in every area), with a great sense of humour, great legs, much understanding, much to share has been a beyond-awesome experience by itself.&lt;br /&gt;&lt;br /&gt;Seeing &lt;a href="http://www.summerfest.com/"&gt;SummerFest&lt;/a&gt; then &lt;a href="http://www.milwaukeezoo.org/"&gt;the County zoo&lt;/a&gt; (they had &lt;a href="http://www.milwaukeezoo.org/visit/birdexhibit.php"&gt;a walk-in Oz bird display&lt;/a&gt; on the day including budgies, weiros, rosellas) at Milwaukee was a blast.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Dells_of_the_Wisconsin_River"&gt;The Dells&lt;/a&gt;, with their near-unique sandstone layers ex &lt;a href="http://en.wikipedia.org/wiki/Missoula_Floods"&gt;the Missoula mega-flood&lt;/a&gt; was also highly memorable. About a quarter of the number plates said Illinois, about another tenth said Minnesota. I&amp;rsquo;m getting to know Interstate 94 quite well. (-:&lt;br /&gt;&lt;br /&gt;I got to walk through &lt;a href="http://www.lighthousefriends.com/light.asp?ID=242"&gt;the Wind Point lighthouse&lt;/a&gt; in Racine, kept by mine host&amp;rsquo;s paternal grandfather for 34 years.&lt;br /&gt;&lt;br /&gt;I got to eat lunch at &lt;a href="http://frp.tripod.com/"&gt;Fred&amp;rsquo;s&lt;/a&gt;, a great dinner at &lt;a href="http://www.cookingvegetarian.com/"&gt;The Cheese Factory&lt;/a&gt;, another great lunch at &lt;a href="http://www.paulbunyans.com/wisdells.htm"&gt;Paul Bunyan&amp;rsquo;s&lt;/a&gt;, another great dinner at &lt;a href="http://www.riversedgewisconsindells.com/"&gt;The River&amp;rsquo;s Edge&lt;/a&gt; Pub, &lt;a href="http://www.theriverwalkpub.com/"&gt;River Walk&lt;/a&gt; Pub, other places as well...&lt;br /&gt;&lt;br /&gt;Stepping onto a United aircraft in Chicago presently to return (via Los Angeles &amp;amp; Sydney) to resume being an Australian. Already missing mine host (the song &lt;a href="http://www.lyricsfreak.com/s/stevie+nicks/leather+lace_20131615.html"&gt;Leather &amp;amp; Lace&lt;/a&gt; was very much a prediction).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3006550105888733010?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3006550105888733010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3006550105888733010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3006550105888733010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3006550105888733010'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/07/unleaded-fuel-77c-per-litre.html' title='Unleaded fuel 77c per litre'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-53772704690490916</id><published>2009-07-14T11:48:00.003+08:00</published><updated>2009-07-14T11:59:33.550+08:00</updated><title type='text'>Linux makes it too easy</title><content type='html'>Start dhcpd on laptop, plug USD$29 wireless router in, read logs, point Firefox at resulting address, switch on WPA2 for security, give fixed external address which matches RoadRunner/Time-Warner cable modem&amp;rsquo;s expectations, set DHCP on router to hand out addresses in that range, save-n-reboot router, plug router into cable modem, plug original XP desktop into one of router&amp;rsquo;s switch ports, all systems go, run Mandriva&amp;rsquo;s wireless config thingy, 4 clicks, one WPA2 key password, done.&lt;br /&gt;&lt;br /&gt;Quotaless cable connection (through which this post is happening) now works. Permanently. Without disturbing existing PC. From anywhere in the house or yard, including sunbaking on the swing-seat or grilling at the BBQ Grill, or seated in the Kia Sedona within the basement garage.&lt;br /&gt;&lt;br /&gt;SSH empowerment permits remote management of machines in Melville, Carlisle, Northbridge, Brisbane. Would need a green card to work on a machine in nearby Chicago.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-53772704690490916?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/53772704690490916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=53772704690490916' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/53772704690490916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/53772704690490916'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/07/linux-makes-it-too-easy.html' title='Linux makes it too easy'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-6104631500190836171</id><published>2009-07-07T22:01:00.002+08:00</published><updated>2009-07-07T22:20:24.729+08:00</updated><title type='text'>Travelling to the ’States...</title><content type='html'>...is easier than I thunk it&amp;rsquo;d be.&lt;br /&gt;&lt;br /&gt;I am a dual Canadian/Australian citizen, but needed only an Oz passport to travel to the USA (&amp;amp; to qualify for &lt;a href="https://esta.cbp.dhs.gov/esta/esta.html"&gt;a waived Visa&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;All&lt;/u&gt; of my electronic gear, it happens, runs on 100-250V, so all I needed was an adaptor plug. I also grabbed a 4-way power board, so I can run my laptop, battery charger, camera charger &amp;amp; one spare all at once.&lt;br /&gt;&lt;br /&gt;An Oz cit can drive in the US on their existing licence, direct from the lips of their DMV, which is simpler than the form which the written docs require one to obtain from the RAC. So I&amp;rsquo;ve had fun poling a Kia Sedona (nearest Oz equivalent is the Carnival, the Sedona in Oz is only the smaller of two US variants) mini-van around.&lt;br /&gt;&lt;br /&gt;Flying over did weird things to my circadian rhythm: in 33&amp;frac12; hours, I flew from 5:45AM in the morning to 5:38PM in the afternoon of the same day via a &amp;asymp;5hr mini-night &lt;i&gt;en route&lt;/i&gt; past Hawaii.&lt;br /&gt;&lt;br /&gt;Before complaining about Aussie roads, drive on a few in the USA. They make many of them out of cement rather than black-top, &amp;amp; they remain uneven anyway, due to the annual massive frost heaves which plough them up.&lt;br /&gt;&lt;br /&gt;Red lights don&amp;rsquo;t always mean stop. As in the case with the small silos on SA intersections reading &amp;ldquo;Turn left at any time with care,&amp;rdquo; red means Give Way if you&amp;rsquo;re turning right. Blinking red means all-stop, as in, treat this as an intersection with 4 stop signs, so everybody stops, first in best dressed after that. Stop signs are treated as almost-stop signs since a full stop in winter (iced-over roads) may mean that go becomes impossible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-6104631500190836171?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/6104631500190836171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=6104631500190836171' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6104631500190836171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/6104631500190836171'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/07/travelling-to.html' title='Travelling to the &amp;rsquo;States...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-8180797280222040679</id><published>2009-06-23T18:00:00.001+08:00</published><updated>2009-06-23T18:02:15.459+08:00</updated><title type='text'>When you are spending over 4 hours at a time...</title><content type='html'>...on the &amp;rsquo;phone with a girl, in intelligent conversation, &amp;amp; getting good practical results, does that mean thimgs are getting serious? (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-8180797280222040679?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/8180797280222040679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=8180797280222040679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8180797280222040679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/8180797280222040679'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/06/when-you-are-spending-over-4-hours-at.html' title='When you are spending over 4 hours at a time...'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-3928236554711565764</id><published>2009-06-18T18:46:00.002+08:00</published><updated>2009-06-18T18:49:02.592+08:00</updated><title type='text'>Want 20kg of stuff taken to or brought from the ’States?</title><content type='html'>It looks like I will be visiting the USA shortly (bouncing through Sydney &lt;i&gt;en route&lt;/i&gt;), &amp;amp; will only require about one suitcase full of gear. The airline says that I&amp;rsquo;m allowed 2 such, total mass 23kg (50lb) for each case. So... convince me! Make an offer! (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-3928236554711565764?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/3928236554711565764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=3928236554711565764' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3928236554711565764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/3928236554711565764'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/06/want-20kg-of-stuff-taken-to-or-brought.html' title='Want 20kg of stuff taken to or brought from the &amp;rsquo;States?'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-7435957466530190696</id><published>2009-06-05T01:32:00.003+08:00</published><updated>2009-06-18T18:45:51.093+08:00</updated><title type='text'>Sick of paying $1.80 a minute for international calls?</title><content type='html'>(plus a 40c flagfall?)&lt;br /&gt;&lt;br /&gt;Try &lt;a href="http://www.fring.com/"&gt;fring&lt;/a&gt;, which installed &amp;amp; works on my (Symbian OS) Nokia E63, then open your Skype account through it. Skype calls to US cell-phones are 2.7c per minute.&lt;br /&gt;&lt;br /&gt;My Virgin $29 cap includes only 20MB of data per month for the &amp;rsquo;phone itself, which is not an enormous amount of talking, but OTOH, the most I&amp;rsquo;ve used in a month sans fring/Skype is 1MB, &amp;amp; I can boost that quota by 50MB for $5 (or 300MB for $10).&lt;br /&gt;&lt;br /&gt;Pull a figure out of the air, &amp;amp; call that 4200 kilobits per minute, so about 90 minutes of talking for $5, or 5.25c per minute for data, plus 2.7c for Skype time, gives &amp;asymp;8c, which certainly beats 180c per minute.&lt;br /&gt;&lt;br /&gt;If I wanted to yak for 9 hours a month, that works out to 4.45c per minute.&lt;br /&gt;&lt;br /&gt;The wonders of modern technology... (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-7435957466530190696?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/7435957466530190696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=7435957466530190696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7435957466530190696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/7435957466530190696'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/06/sick-of-paying-180-minute-for.html' title='Sick of paying $1.80 a minute for international calls?'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-2052903300297097550</id><published>2009-06-04T12:47:00.003+08:00</published><updated>2009-06-04T13:12:37.214+08:00</updated><title type='text'>Bouncey air-ticket prices</title><content type='html'>I&amp;rsquo;ve been watching air tickets this week, &amp;rsquo;coz I need to take a trip to the &amp;rsquo;States.&lt;br /&gt;&lt;br /&gt;I lined up a deal I liked on Monday, but didn&amp;rsquo;t have $$$ available. On Tuesday, the flight was going to be $600 more, but by shifting it away 2 days, I could contain the increase to $100.&lt;br /&gt;&lt;br /&gt;Money was made available, appeared in the account 9PM Tuesday &amp;mdash; by which time the price had risen another $100 or so. So I bit. By &amp;ldquo;risen another $100,&amp;rdquo; that refers only the main drag on United. Qantas, in second place, had risen over $200. Canadiar, ex 3&lt;sup&gt;rd&lt;/sup&gt; place (now 5&lt;sup&gt;th&lt;/sup&gt;) had risen $350.&lt;br /&gt;&lt;br /&gt;Was SMSed this morning to be told that the transaction had bounced. Grrr. Rang up, queried, the support girl retried the transaction. It worked. The price had not changed overnight. Yay!&lt;br /&gt;&lt;br /&gt;Around noon today, the United price fell $280. &lt;i&gt;Nih! )-:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Meanwhile, Qantas has risen another $100 (by about $300 for 3&lt;sup&gt;rd&lt;/sup&gt; &amp;amp; 4&lt;sup&gt;th&lt;/sup&gt; slots), Canadair had escalated another $500.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Skype:&lt;/b&gt; this has been fun, talking to people all over the planet (including Thailand, Ghana, several US states, the UK, Adelaide, Sydney, Launceston) for free. Oddly enough, I can Skype a mobile (cell) phone (Verizon, they call it &amp;ldquo;wireless&amp;rdquo; phone service) in the USA for 2.7c a minute, but my own costs 16c a minute. They can call me for (USD) 23c a minute cell-to-mobile, I can call them mobile-to-cell for 40c flagfall plus $1.80 a minute. What?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Random travel tip:&lt;/b&gt; if you travel on a TransWA road coach, sit in the 16th seat, as that often has a cigarette-lighter socket. Make sure your laptop&amp;rsquo;s adaptor eats 24v as well, though, not the more mundane 12v (really, 9v to 13.8v), as 24v is what the coach provides. Mobile Internet connection (Virgin, Optus-based) works well through most small towns but seldom in between. Yes, I have Skyped the USA &lt;i&gt;en route&lt;/i&gt; up Greenmount Hill. (-:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Random money tip:&lt;/b&gt; if you use an Aussie credit card in the USA, you get binged a 3.6% conversion fee. ANZ have a neat debit-card kind of thing with no fee at all. A &lt;b&gt;pair&lt;/b&gt; of cards costs $11 (so you can keep one in A Safe Place), &amp;amp; the initial deposit is unfeed (converted at the opening-date currency rate); top-ups are binged 1.5%. You can visit a website &amp;amp; instantly see what&amp;rsquo;s left, the precise conversion rates used (on top-ups), etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-2052903300297097550?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/2052903300297097550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=2052903300297097550' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2052903300297097550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/2052903300297097550'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/06/bouncey-air-ticket-prices.html' title='Bouncey air-ticket prices'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-4761745244016307746</id><published>2009-06-01T17:47:00.003+08:00</published><updated>2009-06-01T17:58:43.058+08:00</updated><title type='text'>Where do you go to see dozens of minis racing?</title><content type='html'>Why, Albany, of course!&lt;br /&gt;&lt;br /&gt;No, not Albany, state of New York. Albany, state of Western Australia.&lt;br /&gt;&lt;br /&gt;There were also sundry Cortinas buzzing around on Sunday, even a Jaguar sedan, plus some seriously antique rally cars.&lt;br /&gt;&lt;br /&gt;Girlfriend would have liked it, born in the Year of the Tiger (like me, Leon the Lion), drives on the wrong side of the road (as for York Street here, other streets they used both sides), has Jaguar Avenue running west from the town of Leon, which is 150km NW of her town (about half a Geraldton but a bit more spread out, has some excellent lakes, less sand, less double-gees, fairly close to the other side of the planet from here). If you like coincidences, she was born one day after &amp;amp; two timezones east of me.&lt;br /&gt;&lt;br /&gt;The Albany Car Classic started off a bit damp, but it had stopped raining, was sunny &amp;amp; nearly dry by noon.&lt;br /&gt;&lt;br /&gt;Wasn&amp;rsquo;t today a miserable winter day? Bright sunshine, 19.7&amp;deg;C... (-:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-4761745244016307746?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.albanyclassic.com/' title='Where do you go to see dozens of minis racing?'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/4761745244016307746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=4761745244016307746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4761745244016307746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/4761745244016307746'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/06/where-do-you-go-to-see-dozens-of-minis.html' title='Where do you go to see dozens of minis racing?'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12320946.post-1370969490898649256</id><published>2009-05-17T08:18:00.002+08:00</published><updated>2009-05-17T08:29:00.419+08:00</updated><title type='text'>Different, better ’fridges</title><content type='html'>When designing (RAPS) remote area power systems (which gains new importance when considering a US financial expert&amp;rsquo;s recent advice on LateLine: &amp;ldquo;Now is the time to get a farm &amp;amp; a gun.&amp;rdquo;), the single biggest load is invariably refrigeration (often more than half of the entire demand).&lt;br /&gt;&lt;br /&gt;UK researchers have discovered new properties of magnetic refrigeration cores which are typically 20-30% more efficient than traditional adiabatic methods.&lt;br /&gt;&lt;br /&gt;On top of this, the development of a &amp;ldquo;&lt;a href="http://www.sciencedaily.com/releases/2009/03/090311162807.htm"&gt;spin battery,&lt;/a&gt;&amp;rdquo; which captures energy using Magnetic Tunnel Junction devices &amp;mdash; which can be built precisely enough to potentially replace computer hard drives &amp;mdash; may have decimated the single most expensive &amp;amp; difficult-to-manage (&amp;amp; heaviest) component of a RAPS.&lt;br /&gt;&lt;br /&gt;There are a number of other developments in wind-power systems (particularly the rotors, implying that these improvements require no changes to or replacement of generators or towers) which hint that a distributed (&amp;ldquo;community&amp;rdquo;) apporach to energy may prove to be much more efficient &amp;amp; robust than today&amp;rsquo;s massive fossil-fueled generators &amp;amp; extensive power grids.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12320946-1370969490898649256?l=leonbrooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.physorg.com/news161606698.html' title='Different, better &amp;rsquo;fridges'/><link rel='replies' type='application/atom+xml' href='http://leonbrooks.blogspot.com/feeds/1370969490898649256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12320946&amp;postID=1370969490898649256' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1370969490898649256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12320946/posts/default/1370969490898649256'/><link rel='alternate' type='text/html' href='http://leonbrooks.blogspot.com/2009/05/different-better.html' title='Different, better &amp;rsquo;fridges'/><author><name>Leon RJ Brooks</name><uri>http://www.blogger.com/profile/01425209164513409690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_w9wtP2XjGto/SsYs97bJ4DI/AAAAAAAAAH0/H0zHCbDyGNs/S220/Leon_Xan_Arrows_CityFarm_oval_sky_blue.jpg'/></author><thr:total>3</thr:total></entry></feed>
