<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>3dBloke</title>
	<atom:link href="http://blog.3dbloke.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.3dbloke.com</link>
	<description>Sci-Tech, Internet trends, Social media, Google Android &#38; Apps and other stuff.</description>
	<lastBuildDate>Fri, 06 Aug 2010 09:21:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.3dbloke.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a1592793ae03d317b2745e2d2d79cda7?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>3dBloke</title>
		<link>http://blog.3dbloke.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.3dbloke.com/osd.xml" title="3dBloke" />
	<atom:link rel='hub' href='http://blog.3dbloke.com/?pushpress=hub'/>
		<item>
		<title>How Dropbox helps my Proce55ing projects</title>
		<link>http://blog.3dbloke.com/2010/07/31/how-dropbox-helps-my-proce55ing-projects/</link>
		<comments>http://blog.3dbloke.com/2010/07/31/how-dropbox-helps-my-proce55ing-projects/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 06:41:52 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[Proce55ing]]></category>
		<category><![CDATA[Processing.org]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[SUBST]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=710</guid>
		<description><![CDATA[Dropbox continues to play an important part in my day-to-day computer activities.  I thought I&#8217;d share details of a recent tweak that I think makes it even easier to use, and another example of how Dropbox makes life with multiple computers so much better.  See my earlier post for an introduction to Dropbox. The computers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=710&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://blog.3dbloke.com/2010/03/12/dropbox-file-sync-sharing-versioning-and-backup/">Dropbox</a></strong> continues to play an important part in my day-to-day computer activities.  I thought I&#8217;d share details of a recent tweak that I think makes it even easier to use, and another example of how Dropbox makes life with multiple computers so much better.  See my <a href="http://blog.3dbloke.com/2010/03/12/dropbox-file-sync-sharing-versioning-and-backup/"><strong>earlier post</strong></a> for an introduction to Dropbox.</p>
<h2>The computers</h2>
<p>I&#8217;m primarily a Windows user.  There are two computers that I regularly use at home, both running Windows XP.  I have a laptop where I do most of my stuff.  The family desktop is where I mainly do the computer admin but also sometimes some of my own things that would normally be done on the laptop.  I also have an Ubuntu Linux environment on the laptop, running in VirtualBox.  All three environments have Dropbox installed for my login.</p>
<h2>The tweak: keeping things simple</h2>
<p>I&#8217;ve been learning Ruby programming recently, using a DOS command prompt window to execute commands from within my project folder.  I use a sub-folder  in My Dropbox to store all of this work, making it accessible on my PC, as well as providing a backup in the cloud.  All good stuff.</p>
<p>The annoying thing is, when using the DOS command window, the directory path displayed at the command prompt is <strong>so long</strong>:</p>
<pre><span style="color:#339966;">C:\Documents and Settings\Tom\My Documents\My Dropbox\dev\Ruby\pickaxe&gt;</span></pre>
<p>That&#8217;s 71 chars before the &#8220;&gt;&#8221;.  <span id="more-710"></span>Now I know it&#8217;s possible to change the prompt string, removing the directory path, but I like to see where I am.  By the way, the pickaxe folder name is a reference to the excellent <a href="http://www.pragprog.com/titles/ruby3/programming-ruby-1-9">Programming Ruby 1.9</a> book that I am working through&#8230; it has a pickaxe on the cover.</p>
<p>The solution is to use the DOS command SUBST to map the My Dropbox folder to a Windows drive letter, redusing the DOS command prompt to a more manageable 19 chars.</p>
<pre><span style="color:#339966;">T:\dev\Ruby\pickaxe&gt;</span></pre>
<p>Here&#8217;s the SUBST command that does this:</p>
<pre><span style="color:#339966;">subst T: "C:\Documents and Settings\Tom\My Documents\My Dropbox"</span></pre>
<p>This command needs to be run each time Windows boots up, so I&#8217;ve put it in a batch file (in my Dropbox) and created a link to this in the Startup folder (C:\Documents and Settings\Tom\Start Menu\Programs\Startup).  The batch file looks like this:</p>
<pre>
<div id="_mcePaste"><span style="color:#339966;">subst T: "C:\Documents and Settings\%USERNAME%\My Documents\My Dropbox"</span></div>
</pre>
<p>Why have I have used the %USERNAME% environment variable?  Well, I wanted to do the same drive mapping on the desktop PC and, having put the batch file in Dropbox, it was just a matter of creating a shortcut in my Startup folder.  However, my username on the PC is different.  The %USERNAME% variable resolves that problem.</p>
<h2>Proce55ing</h2>
<p>I first heard about <strong><a href="http://processing.org/">Processing</a></strong> (also spelled with the &#8220;55&#8243; to make it more unique in search tools) about two years ago, but hadn&#8217;t the time to look into it.  I recently returned to it and am making the effort to learn how to use Processing for creative visuals.  There are also potential links to another recent interest: Arduino, but more on that in another post.</p>
<p><img class="aligncenter size-full wp-image-718" title="Processing logo" src="http://3dbloke.files.wordpress.com/2010/07/processing-logo.jpg?w=330&#038;h=95" alt="" width="330" height="95" /></p>
<p>Anyway, as with my Ruby work, I put my Processing projects in my Dropbox for safe keeping and easy access.  The Processing development environment (PDE) editor has some simple preferences settings, one of which is the location of your &#8220;sketchbook&#8221; files.  (Sketchbooks are collections of pages of Processing code).  The default</p>
<pre><span style="color:#339966;">C:\Documents and Settings\Tom\My Documents\Processing</span></pre>
<p>I changed this to</p>
<pre><span style="color:#339966;">C:\Documents and Settings\Tom\My Documents\My Dropbox\dev\Processing</span></pre>
<p>In fact, with the SUBST tweak, it is now simply</p>
<pre><span style="color:#339966;">T:\dev\Processing</span></pre>
<p>With Processing also installed on desktop PC, I find I can work seamlessly on either computer, picking up where I left off.</p>
<h2>File version recovery</h2>
<p>One of the benefits of putting your work in Dropbox is the ability to recover earlier versions of a file.</p>
<p>This paid off for me recently, when I started a new Processing project using an existing one as a template.  I made my initial changes and then did a CTRL-S&#8230;. over-writing the original file.  I had meant to do a Save-As, of course, but the damage was done.</p>
<p>Dropbox to the rescue.  In a Windows Explorer view of the folder, right click the file and select <strong>Dropbox &gt; View Previous Versions&#8230;</strong></p>
<p style="padding-left:30px;"><strong><span style="color:#808080;">(</span></strong><span style="color:#808080;"> It&#8217;s worth noting that Dropbox right-click functionality  is only available from your Dropbox folder using it&#8217;s actual filepath, not the shortened SUBST version.)</span></p>
<p><strong></strong>This opens a page in your web browser where you can pick the previous version of the file and have it restored to your live Dropbox area.</p>
<p>So easy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/710/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/710/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/710/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/710/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/710/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/710/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/710/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/710/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/710/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/710/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=710&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/07/31/how-dropbox-helps-my-proce55ing-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/07/processing-logo.jpg" medium="image">
			<media:title type="html">Processing logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Online security with LastPass and YubiKey</title>
		<link>http://blog.3dbloke.com/2010/07/29/online-security-with-lastpass-and-yubikey/</link>
		<comments>http://blog.3dbloke.com/2010/07/29/online-security-with-lastpass-and-yubikey/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 10:39:28 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[LastPass]]></category>
		<category><![CDATA[YubiKey]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=702</guid>
		<description><![CDATA[One of the biggest challenges of living with the Internet is how to maintain the security of your online identity. Perhaps the hardest thing to manage is passwords.  Accepted wisdom is to use a different password for each web site so that, if one of these sites is hacked, our broader online identity is not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=702&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>One of the biggest challenges of living with the Internet is how to maintain the security of your online identity.</p>
<p>Perhaps the hardest thing to manage is passwords.  Accepted wisdom is to use a different password for each web site so that, if one of these sites is hacked, our broader online identity is not at risk.</p>
<p><span id="more-702"></span>I used to keep details of my web IDs on my Palm handheld.  This worked well, as long as I had the Palm with me.  Then I moved to using a list held in Google Docs, so I could access it from any computer.  Finally, I moved the list to my Dropbox account, with the added benefit of easy access from my Android smartphone.  Dropbox uses encryption of your data, so I figure this is pretty safe.</p>
<p><img class="alignnone size-full wp-image-704" title="LastPass logo" src="http://3dbloke.files.wordpress.com/2010/07/lastpass-logo-29-07-2010-11-18-44.png?w=264&#038;h=67" alt="" width="264" height="67" /></p>
<p>More recently I came across <strong><a href="http://lastpass.com/">LastPass</a></strong>.  This is a free service with browser plugins to automate user ID and password fill-in.</p>
<p>What&#8217;s special about that?  After all, browsers can save your ID and password for a web site and auto-fill these in when you return.  The thing is, the browser does not encrypt the information it stores.  Sure, it is held locally on your PC, but does that make it secure?  If you were unfortunate enough to have a virus infect your PC, these stored IDs and passwords could be retrieved and sent to fraudsters.</p>
<p>This is where LastPass scores in a really big way.  Like any web site, your LastPass account is secured using an ID and password.  The difference with LastPass is that it encrypts your data locally on your PC, using your ID and password as the key.  Your data is then sent in encrypted form to LastPass for storage.  This means you can access the data from any PC, even without the browser plugin installed.</p>
<p>LastPass can also store other information to make online life easier and more secure.  It has a form-fill feature, for automatic completion of fields such as name, address and credit card information.  You can have multiple identities, each with its own form-fill details.  As with IDs and passwords, all of this is encrypted locally on the PC before being sent for storage in the LastPass servers.</p>
<p><span style="font-size:13.3333px;">As I said at the top of this post, LastPass is free.  There is a premium account offering, currently priced at $1 per month, which includes the following benefits.</span></p>
<ul>
<li>LastPass Android app.  Allowing you to access all your LastPass IDs, passwords and form-fill data from your Android phone.</li>
<li>YubiKey security.  More on this below.</li>
</ul>
<p>As I mentioned, you can use LastPass even on PCs that don&#8217;t have the plugin installed, such as at an Internet cafe or other non-secure location.  The problem here is: how safe is this?  Could there be a keylogger running on the PC? LastPass has a neat solution for this in the shape of use-once passwords.  These need to be generated before they are required, e.g. when you&#8217;re at home.  The passwords generated are long character strings and will give once-only access to your LastPass account.  This means that, even if someone gets the password after you&#8217;ve used it, they cannot access your account.</p>
<p>Another neat solution provided by LastPass is an app that runs on a standard USB stick.  This provides an additional security stage during logon.</p>
<p><img class="alignnone size-full wp-image-703" title="YubiKey" src="http://3dbloke.files.wordpress.com/2010/07/yubikey-29-07-2010-11-29-44.png?w=258&#038;h=154" alt="" width="258" height="154" /></p>
<p>The solution that I have gone for, and am very happy to recommend, is to use a <strong><a href="http://yubico.com/">YubiKey</a></strong>.  This is a beautifully simple solution to online security.  It works in a similar way to the USB stick application, but is much more elegant and easy to use.  After entering my LastPass id and password, I am also prompted to insert my YubiKey in a spare USB slot and to touch the activator contact on the YubiKey.  This generates a unique 32-char key and I am granted access to my LastPass account.  On computers that I trust and use regularly, I can tell LastPass to allow login without the YubiKey (after the first YubiKey login).  If I should lose the YubiKey, there is a procedure for allowing normal account access which involves access to my registered email address.</p>
<p>I really like the YubiKey solution to securing Internet identity.  The Yubico web site has product information and you can buy YubiKeys there too.  Currently they are $25 each, with discounts for bulk orders.  They also have an RFID version for added functionality.</p>
<p>The combination of LastPass and YubiKey authentication is a real winner.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/702/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/702/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/702/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/702/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/702/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/702/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/702/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/702/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/702/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/702/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=702&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/07/29/online-security-with-lastpass-and-yubikey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/07/lastpass-logo-29-07-2010-11-18-44.png" medium="image">
			<media:title type="html">LastPass logo</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/07/yubikey-29-07-2010-11-29-44.png" medium="image">
			<media:title type="html">YubiKey</media:title>
		</media:content>
	</item>
		<item>
		<title>How I caught the Smalltalk bug</title>
		<link>http://blog.3dbloke.com/2010/06/23/how-i-caught-the-smalltalk-bug/</link>
		<comments>http://blog.3dbloke.com/2010/06/23/how-i-caught-the-smalltalk-bug/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:39:34 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Pharo]]></category>
		<category><![CDATA[Smalltalk]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[BASIC]]></category>
		<category><![CDATA[BBC Micro]]></category>
		<category><![CDATA[ZX80]]></category>
		<category><![CDATA[ZX81]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[COBOL]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[CL]]></category>
		<category><![CDATA[GOTO is bad]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=690</guid>
		<description><![CDATA[I recently have been refreshing my Smalltalk programming skills, using the open-source Pharo, and I plan to post an update on this soon with some hints for noobs. I&#8217;m a software developer by profession and in the early 1990s, after 13 years of strictly non-OO experience, I was fortunate to land a role on a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=690&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I recently have been refreshing my <a href="http://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> programming skills, using the open-source <a href="http://www.pharo-project.org/home">Pharo</a>, and I plan to post an update on this soon with some hints for noobs.</p>
<p>I&#8217;m a software developer by profession and in the early 1990s, after 13 years of strictly non-OO experience, I was fortunate to land a role on a Smalltalk R&amp;D project.  How did this come about?</p>
<p><span id="more-690"></span>At college (late 1970s, early 80s) the practical programming was all done in BASIC on an ICL mainframe using teletypewriters.  There was no stigma to using GOTOs and the language didn&#8217;t support procedures, so there was no alternative for conditional logic.  Home computers like the Commodore 64 were coming onto the market; I had a <a href="http://en.wikipedia.org/wiki/ZX80">Sinclair ZX80</a> and <a href="http://en.wikipedia.org/wiki/ZX81">ZX81</a>.  Then the <a href="http://en.wikipedia.org/wiki/BBC_Micro">BBC Micro</a> hit the streets and I upgraded.  Known as a  &#8221;Beeb&#8221; because of its association with the BBC as an educational device, it only had 32 KB RAM but it was <span style="text-decoration:underline;">the</span> computer to have for all UK geeks.  Fully supported Assembly language, a handbook with all sorts of technical nitty-gritty to drool over.  Best of all, it had an enhanced version of BASIC (&#8220;BBC BASIC&#8221;) that included procedural constructs.  When I wasn&#8217;t playing Elite, I was using every spare moment digging into the workings of my Beeb.  Oh and it was <a href="http://en.wikipedia.org/wiki/Beige">beige</a>, the colour of the moment for personal computers.</p>
<p>Meanwhile, my first few years as a paid programmer were spent using COBOL.  My experience of BBC BASIC had influenced my programming style and I already avoided GOTOs where possible.  The tipping point came when I attended a <a href="http://en.wikipedia.org/wiki/Jackson_Structured_Programming">Jackson Structured Programming</a> course.  Looking back, that course was key in shaping my approach to programming, and I subsequently produced some fine code (modest), not a GOTO in sight.  I&#8217;m not sure my unenlightened peers appreciated this approach to coding though.</p>
<p>Two jobs later (the late 80s) I was working on IBM AS/400 mid-range systems, using RPG (sort of like COBOL but less free-form) and Command Language (CL).  The small dev team needed to automate its software deployment process and I was tasked with writing this in CL.  I took the Structured Programming approach and produced a beautiful example of &#8220;CL as Art&#8221;.  By its nature, AS/400 CL is not procedural, so the structure was achieved by breaking the processing down into distinct Commands (with arguments) and associated CL programs.  This allowed clean If&#8230;Then&#8230;Else logic without GOTOs.  Truely a work of beauty <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The early 1990s saw me working for a software house in Central London producing systems for the banking sector.  Around this time I had embarked on a self-study of Pascal in my spare time, just for the fun of it, and I was finding it quite an eye-opener.  The Turbo Pascal IDE had features I had never come across in my work on IBM mid-range.  Things like a debugger with variable &#8220;watches&#8221;.  The whole way of working in an IDE on a PC was so much more immediate and fun.</p>
<p><a href="http://3dbloke.files.wordpress.com/2010/06/smalltalkv_book_front_cover.jpg"><img class="size-medium wp-image-696 alignnone" title="SmalltalkV_book_front_cover" src="http://3dbloke.files.wordpress.com/2010/06/smalltalkv_book_front_cover.jpg?w=243&#038;h=300" alt="" width="243" height="300" /></a> <a href="http://3dbloke.files.wordpress.com/2010/06/smalltalkv_book_back_cover.jpg"><img class="size-medium wp-image-697 alignnone" title="SmalltalkV_book_back_cover" src="http://3dbloke.files.wordpress.com/2010/06/smalltalkv_book_back_cover.jpg?w=239&#038;h=300" alt="" width="239" height="300" /></a></p>
<p>About this time, a new project was announced at work requiring just one person and a newly-recruited CS grad to work on a prototype Smalltalk application to complement the established AS/400 systems.  With my PC programming aptitude I was selected for the team.  There followed an intense  month-long training programme at IBM, initially using Smalltalk/V and then moving on to ENVY/400 (a special version of ENVY Smalltalk with AS/400 connectivity).  After the training the real fun began, with the team located away from the normal offices to work almost in isolation for a full nine months under the guidance of a Smalltalk mentor and with frequent visits from IBM technical staff.  It was a time of great change in my approach to software development and my belief in the Object Oriented paradigm.  Asked by colleagues to describe working with Smalltalk, the phrase that came up again and again was &#8220;It&#8217;s fun!&#8221;.</p>
<p>Since that time I have changed jobs a couple more times during which I continued with Smalltalk (VisualAge) for another couple of years but, in the late 90s, as Java became mainstream I saw demand for Smalltalk fade, at least here in the UK.  I got up to speed with Java and related technologies and dev life remained interesting.</p>
<p>As is often the way with devs, as the years mount up, management roles beckon (or are thrust upon us) and technical hands-on skills decline.  So it was for me, but deep down I remain a techie longing for the creative buzz of coding something elegant that works.  Looking at the current range of OO languages, I have started learning <a href="http://ruby-lang.org/">Ruby</a> which is heavily influenced by  Smalltalk.  I like Ruby a lot and will continue to learn it, and later Rails.   However, it appears <span style="text-decoration:underline;">Smalltalk is still out there and actually flourishing</span>, even here in the UK.  Then there&#8217;s Europe and, as always, the US.  So it is that I am taking a break from Ruby to get back into Smalltalk.  I&#8217;d like to continue with both languages in parallel.  There&#8217;s value in knowing both and I&#8217;ve seen cross-fertilization of ideas back from Ruby to Smalltalk.</p>
<p>Time will tell whether my efforts pay off.  I am hopeful that they will.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/690/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=690&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/06/23/how-i-caught-the-smalltalk-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/06/smalltalkv_book_front_cover.jpg?w=243" medium="image">
			<media:title type="html">SmalltalkV_book_front_cover</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/06/smalltalkv_book_back_cover.jpg?w=239" medium="image">
			<media:title type="html">SmalltalkV_book_back_cover</media:title>
		</media:content>
	</item>
		<item>
		<title>Gmail to Google Apps Mail: migrating emails</title>
		<link>http://blog.3dbloke.com/2010/06/01/gmail-to-google-apps-mail-migrating-emails/</link>
		<comments>http://blog.3dbloke.com/2010/06/01/gmail-to-google-apps-mail-migrating-emails/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 20:05:09 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[IMAP]]></category>
		<category><![CDATA[Thunderbird]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=684</guid>
		<description><![CDATA[I recently decided to take the plunge and move my family&#8217;s Gmail accounts to &#8220;proper&#8221; Google Apps (Standard, i.e. free). One of the important decisions to make is whether to move all your emails across to the new account, or leave them archived in Gmail.  I decided to take mine with me, and I used [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=684&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I recently decided to take the plunge and move my family&#8217;s Gmail accounts to &#8220;proper&#8221; Google Apps (Standard, i.e. free).</p>
<p><img class="aligncenter size-full wp-image-685" title="Google Apps logo" src="http://3dbloke.files.wordpress.com/2010/06/01-06-2010-20-54-40-google-apps-logo.png?w=378&#038;h=85" alt="" width="378" height="85" /></p>
<p>One of the important decisions to make is whether to move all your emails across to the new account, or leave them archived in Gmail.  I decided to take mine with me, and I used Thunderbird&#8217;s IMAP mail access to do it.  For the record, I&#8217;ve <a href="http://blog.3dbloke.com/google-apps/using-thunderbird-for-gmail-migration-to-google-apps-mail/">documented the main points</a> of how this is done, including some aspects on how Gmail&#8217;s labels are translated to folders in Thunderbird.</p>
<p>For my family, the final move to Google Apps has yet to happen.  In the meantime I am acting as the &#8220;pilot user&#8221;.  Looking good, so far  :)</p>
<p>More on this as things progress.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/684/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=684&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/06/01/gmail-to-google-apps-mail-migrating-emails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/06/01-06-2010-20-54-40-google-apps-logo.png" medium="image">
			<media:title type="html">Google Apps logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Google SketchUp match photo: Bug generates multiple unique components</title>
		<link>http://blog.3dbloke.com/2010/05/25/google-sketchup-match-photo-tool-bug-generates-multiple-unique-components/</link>
		<comments>http://blog.3dbloke.com/2010/05/25/google-sketchup-match-photo-tool-bug-generates-multiple-unique-components/#comments</comments>
		<pubDate>Tue, 25 May 2010 13:00:36 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[SketchUp]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[3DGE]]></category>
		<category><![CDATA[bug]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=664</guid>
		<description><![CDATA[I&#8217;ve been working on a new SketchUp model of a building for the Google Earth 3D layer, what I like to refer to as 3DGE. It&#8217;s good practice in 3DGE models to use components for repeating geometry, as this cuts down on the model size and improves the rendering speed when the model is viewed. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=664&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a new SketchUp model of a building for the Google Earth 3D layer, what I like to refer to as 3DGE.</p>
<p>It&#8217;s good practice in 3DGE models to use <strong>components</strong> for repeating geometry, as this cuts down on the model size and improves the rendering speed when the model is viewed.  As well as the stated improvements, another major benefit is easier modelling.  Using components allows the modeller to focus on a specific part of a model, something that can be particularly useful in complex designs.</p>
<p>Another feature in the SketchUp toolset is <strong>match photo</strong>.  I&#8217;ve used this occasionally in my previous 3DGE models but for the current one it&#8217;s an obvious choice.</p>
<p>So there I was modelling in SketchUp, finding match photo a really valuable tool.  I identified a candidate set of geometry for becoming a component: a slice of the building from rooftop to ground level that could be repeated five times in a series of repeated sections.</p>
<p>A sixth section is very similar but would require a different photo texture.  The obvious way to do this would be to use the same component initially, make it unique and then project the match photo onto the new component&#8217;s surfaces.</p>
<p><a href="http://3dbloke.files.wordpress.com/2010/05/sketchup-bug-in-match-photo-component-handling.png"><img class="aligncenter size-full wp-image-665" title="SketchUp bug in match photo component handling" src="http://3dbloke.files.wordpress.com/2010/05/sketchup-bug-in-match-photo-component-handling.png?w=510&#038;h=334" alt="" width="510" height="334" /></a></p>
<p>Having done all of this I noticed something odd.  Where I should have seen just two components in the model, I actually saw <strong>six</strong>. Every one of the instances had become unique. At first I thought it was something I had done wrong, but I have been able to reproduce the problem and have created a YouTube video that shows this in action.  This is using the latest version of SketchUp (free), 7.1.6860.</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/O_ENfVa1YMU&#038;rel=0&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1' /> <param name='allowfullscreen' value='true' /> <param name='wmode' value='opaque' /> <embed src='http://www.youtube.com/v/O_ENfVa1YMU&#038;rel=0&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='opaque'></embed> </object></span></p>
<p>If you&#8217;re interested in trying this for yourself, you can get the SU files via the following links:</p>
<ul>
<li><a href="http://dl.dropbox.com/u/5227383/component_instances_problem_2010-05-25_01_start.skp" target="_blank">http://dl.dropbox.com/u/5227383/component_instances_problem_2010-05-25_01_start.skp</a></li>
<li><a href="http://dl.dropbox.com/u/5227383/component_instances_problem_2010-05-25_02_before_bug.skp" target="_blank">http://dl.dropbox.com/u/5227383/component_instances_problem_2010-05-25_02_before_bug.skp</a></li>
<li><a href="http://dl.dropbox.com/u/5227383/component_instances_problem_2010-05-25_03_after_bug.skp" target="_blank">http://dl.dropbox.com/u/5227383/component_instances_problem_2010-05-25_03_after_bug.skp</a></li>
</ul>
<p>I&#8217;ve started <a href="http://www.google.com/support/forum/p/sketchup/thread?tid=6b0a0298daee1261&amp;hl=en" target="_blank"><strong>a thread</strong></a> in the Google SketchUp Support Forum, if you&#8217;d like to see any replies on this.</p>
<p>I&#8217;d be interested to hear from anyone who has experienced this, perhaps under different circumstances.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/664/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=664&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/05/25/google-sketchup-match-photo-tool-bug-generates-multiple-unique-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/05/sketchup-bug-in-match-photo-component-handling.png" medium="image">
			<media:title type="html">SketchUp bug in match photo component handling</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress.com Surprise me (Fun mode) &#8212; No thanks :)</title>
		<link>http://blog.3dbloke.com/2010/05/23/wordpress-com-surprise-me-fun-mode-no-thanks/</link>
		<comments>http://blog.3dbloke.com/2010/05/23/wordpress-com-surprise-me-fun-mode-no-thanks/#comments</comments>
		<pubDate>Sun, 23 May 2010 10:22:47 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Wordpress.com]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=659</guid>
		<description><![CDATA[One of the WordPress.com news items about a month ago mentioned a new &#8220;Surprise me&#8221; feature in the Personal Settings.  Being game for a laugh, I decided to give it a try. To be honest, I haven&#8217;t noticed anything surprising until today when I was submitting a new post.  It took ages to update and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=659&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>One of the WordPress.com <a href="http://en.blog.wordpress.com/2010/04/17/surprise-me/">news items</a> about a month ago mentioned a new &#8220;Surprise me&#8221; feature in the Personal Settings.  Being game for a laugh, I decided to give it a try.</p>
<p>To be honest, I haven&#8217;t noticed anything surprising until today when I was submitting a new post.  It took ages to update and I had visions of losing all that work.  Finally a shadowbox-style video was displayed of some fireworks in a sports stadium&#8230; poor quality and with a large blank area across the middle.</p>
<p>If this is the kind of surprise I can expect in future, well I think I&#8217;ll opt out.  Thanks all the same.</p>
<p><a href="http://3dbloke.files.wordpress.com/2010/05/23-05-2010-11-08-52-wordpress-com-surprise-me.png"><img class="aligncenter size-full wp-image-660" title="23-05-2010 11-08-52 WordPress.com Surprise Me" src="http://3dbloke.files.wordpress.com/2010/05/23-05-2010-11-08-52-wordpress-com-surprise-me.png?w=510&#038;h=211" alt="" width="510" height="211" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/659/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/659/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/659/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/659/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/659/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/659/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/659/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/659/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/659/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/659/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=659&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/05/23/wordpress-com-surprise-me-fun-mode-no-thanks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/05/23-05-2010-11-08-52-wordpress-com-surprise-me.png" medium="image">
			<media:title type="html">23-05-2010 11-08-52 WordPress.com Surprise Me</media:title>
		</media:content>
	</item>
		<item>
		<title>Google StreetView and SkyHook WiFi Positioning</title>
		<link>http://blog.3dbloke.com/2010/05/23/google-streetview-and-skyhook-wifi-positioning/</link>
		<comments>http://blog.3dbloke.com/2010/05/23/google-streetview-and-skyhook-wifi-positioning/#comments</comments>
		<pubDate>Sun, 23 May 2010 09:40:40 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[Android & Tech]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[SkyHook]]></category>
		<category><![CDATA[StreetView]]></category>
		<category><![CDATA[WarDrive]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[WiFi Analyzer]]></category>
		<category><![CDATA[XPS]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=652</guid>
		<description><![CDATA[Many Android apps have geolocation features.  For some, like Google Maps, it is key to their existence.  So, when I got my first Android phone, an HTC Hero, in 2009 one of the features I looked forward to using was its built-in GPS sensor. This worked fine while outdoors but was useless inside because it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=652&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Many Android apps have geolocation features.  For some, like Google Maps, it is key to their existence.  So, when I got my first Android phone, an HTC Hero, in 2009 one of the features I looked forward to using was its built-in <strong>GPS</strong> sensor.</p>
<p>This worked fine while outdoors but was useless inside because it needs clear line-of-sight to the sky.  A single window will sometimes give a GPS position but this is unreliable and often drops out altogether.</p>
<p>In fact, Android uses three methods of geolocation.  GPS we have already mentioned.   The other two are (1) <strong>mobile cell phone tower</strong> and (2) <strong>WiFi access points</strong>.</p>
<p><span id="more-652"></span>With the mobile cell tower method, accuracy is poor; typically within 500 &#8211; 1000 metres.  This is simply based on the cell tower that the phone is currently communicating with.</p>
<p><img class="aligncenter size-full wp-image-653" title="SkyHook logo" src="http://3dbloke.files.wordpress.com/2010/05/23-05-2010-10-22-25-skyhook-logo.png?w=241&#038;h=115" alt="" width="241" height="115" /></p>
<p>WiFi access point (AP) location is a lot more accurate.  It uses the <strong>MAC address</strong> of WiFi APs to determine position.  This relies on a database operated by <strong>SkyHook</strong> with literally millions of WiFi AP locations.  The vast bulk of this data has been acquired by WAR-driving, i.e. driving around towns and cities, detecting all WiFi APs and their MAC addresses and recording their location.</p>
<p>In fact, this is one of the things that <strong>Google StreetView</strong> cars do as they travel around taking photos.  The WiFi APs can be open or secure, it doesn&#8217;t matter.  Either way, it is just the MAC address and geolocation that is recorded.  The data ends up in the SkyHook database.</p>
<p>Until very recently, there was no StreetView for where I live, and SkyHook&#8217;s database did not have any record of WiFi APs near my home.  Wanting the option of location-specific features of Android apps, I was curious whether I could register my own WiFi AP in the SkyHook database.  It turns out that this can indeed be done.</p>
<p>(As an aside, I have three WiFi APs dotted around my home;  all have the same SSID but different channels&#8230; works great with my Android phone).</p>
<p>A useful tool for Android users is the <strong>WiFi Analyzer</strong> app which allows you to check the strength of WiFi signals and is an easy way to see the MAC address of each AP.</p>
<p>Anyway, I registered by APs with SkyHook and, after a few weeks, checking in the Android Maps app I saw my location had switched from the inaccurate cell tower to an almost spot-on accuracy.</p>
<p>If you&#8217;re wondering about privacy, I have no concerns with this WiFi AP data being held by Google or SkyHook.  After all, anyone can drive by and get this data.  In fact, the <strong>WarDrive </strong>Android<strong> </strong>app does just this.</p>
<p>So, if you find that your location as reported by Android is way off the mark and you have a WiFi AP nearby, registering it with SkyHook can improve things for you.</p>
<p>Links:</p>
<ul>
<li><a href="http://www.skyhookwireless.com/">SkyHook main page</a></li>
<li>SkyHook <a href="http://skyhookwireless.com/howitworks/submit_ap.php">register a WiFi access point</a></li>
<li>Android app:  <a href="http://www.androlib.com/android.application.com-farproc-wifi-analyzer-jFCm.aspx">WiFi Analyzer</a></li>
<li>Android app:  <a href="http://www.androlib.com/android.application.ki-wardrive-qDpn.aspx">WarDrive</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/652/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=652&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/05/23/google-streetview-and-skyhook-wifi-positioning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/05/23-05-2010-10-22-25-skyhook-logo.png" medium="image">
			<media:title type="html">SkyHook logo</media:title>
		</media:content>
	</item>
		<item>
		<title>For all you coders: Choosing an editor font</title>
		<link>http://blog.3dbloke.com/2010/05/18/for-all-you-coders-choosing-a-editor-font/</link>
		<comments>http://blog.3dbloke.com/2010/05/18/for-all-you-coders-choosing-a-editor-font/#comments</comments>
		<pubDate>Tue, 18 May 2010 11:21:29 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[DejaVu-fonts.org]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[software dev]]></category>
		<category><![CDATA[UltraEdit]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=637</guid>
		<description><![CDATA[I recently embarked on a refresh of my JavaScript skills, working through &#8220;JavaScript: The Good Parts&#8221; by Douglas Crockford (O&#8217;Reilly).  An excellent book.  With my Smalltalk and Java background, I find myself agreeing with Crockford&#8217;s sentiments towards JavaScript.  What&#8217;s also nice about the book is its size; only 153 pages. I&#8217;m a long-standing fan of Eclipse [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=637&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I recently embarked on a refresh of my JavaScript skills, working through &#8220;<em><a href="http://oreilly.com/catalog/9780596517748">JavaScript: The Good Parts</a></em>&#8221; by Douglas Crockford (O&#8217;Reilly).  An excellent book.  With my Smalltalk and Java background, I find myself agreeing with Crockford&#8217;s sentiments towards JavaScript.  What&#8217;s also nice about the book is its size; only 153 pages.</p>
<p><span id="more-637"></span>I&#8217;m a long-standing fan of Eclipse but I wanted to keep things simple for the JavaScript work, so I decided to use a standalone editor.  I&#8217;ve been using UltraEdit as a coding tool on and off for a couple of years, so this was the obvious choice.  With this and other dev tools I&#8217;ve generally settled upon Courier New as an all-round good monspaced font.</p>
<p>As anyone who codes in Java or JavaScript will know, there are a lot of brackets and braces in these languages.  Now, it could be that my eyesight isn&#8217;t what it used to be or just the fine resolution of my laptop display, but I&#8217;ve been finding it hard to distinguish between curly braces {} and brackets (), even with the font size increased.</p>
<p>So, today I experimented with UltraEdit&#8217;s font setting, going through every available font in the preview dialog.  Surprisingly, of the many tens of fonts listed, only one really looked better than Courier New: <strong><a href="http://dejavu-fonts.org/wiki/index.php?title=Main_Page">DejaVu Sans Mono</a></strong>.  This is an Open Source font based on Vera Fonts of the Gnome project, adding improved international character set support.</p>
<p>Take a look at the comparison below.  I think you&#8217;ll agree that DejaVu Sans Mono is a lot clearer.</p>
<div id="attachment_649" class="wp-caption alignnone" style="width: 520px"><a href="http://3dbloke.files.wordpress.com/2010/05/fonts-courier-new-and-dejavu-sans-mono.png"><img class="size-full wp-image-649" title="Fonts - Courier New and DejaVu Sans Mono" src="http://3dbloke.files.wordpress.com/2010/05/fonts-courier-new-and-dejavu-sans-mono.png?w=510&#038;h=313" alt="" width="510" height="313" /></a><p class="wp-caption-text">Courier New and DejaVu Sans Mono, shown in UltraEdit</p></div>
<p>I&#8217;m very pleased with the change to DejaVu Sans Mono.  It&#8217;s a font I think I shall be using a lot from now on.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/637/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/637/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/637/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/637/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/637/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/637/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/637/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/637/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/637/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/637/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=637&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/05/18/for-all-you-coders-choosing-a-editor-font/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/05/fonts-courier-new-and-dejavu-sans-mono.png" medium="image">
			<media:title type="html">Fonts - Courier New and DejaVu Sans Mono</media:title>
		</media:content>
	</item>
		<item>
		<title>Ardingly Reservoir 3D model in Google Earth</title>
		<link>http://blog.3dbloke.com/2010/05/13/ardingly-reservoir-3d-model-in-google-earth/</link>
		<comments>http://blog.3dbloke.com/2010/05/13/ardingly-reservoir-3d-model-in-google-earth/#comments</comments>
		<pubDate>Thu, 13 May 2010 10:02:10 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[Google Earth]]></category>
		<category><![CDATA[SketchUp]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Ardingly Reservoir]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[MyMaps]]></category>
		<category><![CDATA[Sussex]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=627</guid>
		<description><![CDATA[My SketchUp model of the Activity Centre and Valve Tower at Ardingly Reservoir has been accepted into the Google Earth 3D Buildings Layer. In the past the only way to see the 3D buildings was by installing and running Google Earth, and this is still the best way, but now there is an alternative.  Google [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=627&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>My SketchUp model of the Activity Centre and Valve Tower at Ardingly Reservoir has been accepted into the Google Earth 3D Buildings Layer.</p>
<p><a href="http://sketchup.google.com/3dwarehouse/details?mid=ac239f55cbc460b9de699a768f96d7fd"><img class="aligncenter size-full wp-image-628" title="Valve Tower in GE" src="http://3dbloke.files.wordpress.com/2010/05/valve-tower-in-ge.png?w=510&#038;h=148" alt="" width="510" height="148" /></a></p>
<p><span id="more-627"></span>In the past the only way to see the 3D buildings was by installing and running Google Earth, and this is still the best way, but now there is an alternative.  Google recently added an Earth view to Google Maps.  It&#8217;s a great way to explore an area, even if there are no 3D buildings, since you can really get a feel for the terrain.  You need to have the Google Earth browser plug-in installed or you can simply use Google&#8217;s <a href="http://blog.3dbloke.com/tag/google-chrome/">Chrome</a> browser (which I wholeheartedly recommend).</p>
<p>Using another nice feature of Google Maps, MyMaps, I&#8217;ve created a map for the area around the reservoir:  <a style="color:#0000ff;text-align:left;" href="http://maps.google.co.uk/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=111986771476278478451.00048676282b41d12e3b9&amp;ll=51.040725,-0.095559&amp;spn=0.008955,0.009564&amp;t=f&amp;ecpose=51.04169106,-0.10018397,100.95,41.013,73.179,-0.002&amp;source=embed">Ardingly Reservoir and Activity Centre</a> in Google Maps.  It&#8217;s interesting to see how MyMaps and Earth models can come together like this.</p>
<p>Here&#8217;s a video about Earth View in Google Maps:</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/YHe3ag3i8v8&#038;rel=0&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1' /> <param name='allowfullscreen' value='true' /> <param name='wmode' value='opaque' /> <embed src='http://www.youtube.com/v/YHe3ag3i8v8&#038;rel=0&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='opaque'></embed> </object></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/627/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=627&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/05/13/ardingly-reservoir-3d-model-in-google-earth/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/05/valve-tower-in-ge.png" medium="image">
			<media:title type="html">Valve Tower in GE</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Doodle: 150th Birthday of J.M.Barrie</title>
		<link>http://blog.3dbloke.com/2010/05/09/google-doodle-150th-birthday-of-j-m-barrie/</link>
		<comments>http://blog.3dbloke.com/2010/05/09/google-doodle-150th-birthday-of-j-m-barrie/#comments</comments>
		<pubDate>Sun, 09 May 2010 08:26:20 +0000</pubDate>
		<dc:creator>3dbloke</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[creative]]></category>
		<category><![CDATA[Google Doodles]]></category>
		<category><![CDATA[Peter Pan]]></category>

		<guid isPermaLink="false">http://blog.3dbloke.com/?p=623</guid>
		<description><![CDATA[Google Doodles are getting quite artistic.  Today&#8217;s doodle is a particularly nice one.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=623&subd=3dbloke&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Google Doodles are getting quite artistic.  Today&#8217;s doodle is a particularly nice one.</p>
<p style="text-align:center;"><a href="http://www.google.co.uk/search?q=JM+Barrie&amp;ct=barrie10-hp&amp;oi=ddle"><img class="aligncenter size-full wp-image-624" title="Google Doodle J.M.Barrie 150 yrs" src="http://3dbloke.files.wordpress.com/2010/05/09-05-2010-09-17-55-google-doodle-j-m-barrie-150-yrs.png?w=384&#038;h=138" alt="" width="384" height="138" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/3dbloke.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/3dbloke.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/3dbloke.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/3dbloke.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/3dbloke.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/3dbloke.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/3dbloke.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/3dbloke.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/3dbloke.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/3dbloke.wordpress.com/623/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.3dbloke.com&blog=9564207&post=623&subd=3dbloke&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.3dbloke.com/2010/05/09/google-doodle-150th-birthday-of-j-m-barrie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>50.957482 -0.133939</georss:point>
		<geo:lat>50.957482</geo:lat>
		<geo:long>-0.133939</geo:long>
		<media:content url="http://0.gravatar.com/avatar/6a81485d39c480e35a7b70692faf703c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">3dbloke</media:title>
		</media:content>

		<media:content url="http://3dbloke.files.wordpress.com/2010/05/09-05-2010-09-17-55-google-doodle-j-m-barrie-150-yrs.png" medium="image">
			<media:title type="html">Google Doodle J.M.Barrie 150 yrs</media:title>
		</media:content>
	</item>
	</channel>
</rss>