<?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-8692731786481111799</id><updated>2011-08-02T22:40:28.383-07:00</updated><category term='PHP'/><category term='Woodworking'/><category term='Triton'/><category term='Icepin'/><category term='Apple'/><category term='Ruby'/><title type='text'>The Undeleted Blog of Clinton Forbes</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://clintonforbes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://clintonforbes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Clinton Forbes</name><uri>http://www.blogger.com/profile/01793046537269761373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://photos1.blogger.com/blogger/2954/2999/320/simpsons_clinton.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8692731786481111799.post-4035493234301247162</id><published>2010-09-15T19:24:00.000-07:00</published><updated>2010-09-15T19:24:57.214-07:00</updated><title type='text'>My First iPad app</title><content type='html'>My first iPad app, &lt;a href="http://championshipsoftware.com/french-in-space"&gt;French in Space&lt;/a&gt;, was approved for sale in the App Store today.&lt;br /&gt;&lt;br /&gt;I've been building a few iPhone apps for clients this year and it has been a lot of fun. &amp;nbsp;I like Objective-C, (although I know a lot of people don't), and working with the devices couldn't be easier. &amp;nbsp;There has been lots of talk about App Store censorship, policies and such, but I'm not too fussed about it. &amp;nbsp;The truth is, Apple has done a great job as far as making it easy to develop and debug on the device, so they win my vote there.&lt;br /&gt;&lt;br /&gt;I spent a few weeks in France last year with my lovely wife for our tenth wedding anniversary and as anyone who knows me will attest, I just wont shut up about the trip, even a year on. &amp;nbsp;I really hope to go back there one day. &amp;nbsp;Part of the fun was learning the language and watching the locals cringe at our awful grammar and pronunciation. &amp;nbsp;I hope to be a bit more fluent on our next trip, but motivating yourself to learn a language can be tough (or at least it is for me).&lt;br /&gt;&lt;br /&gt;So basically, I wrote my little iPad game for myself to make increasing my French vocabulary a little less boring. &amp;nbsp;Even if the app never sells a copy (apart from the test copy I bought) I will still add extra features and levels to it in the coming months. &amp;nbsp;I have heaps of ideas, but it was getting to the stage where I just needed to ship something so I could tell myself that I had something out there for people to see (and possibly poke fun at).&lt;br /&gt;&lt;br /&gt;I find building software for myself a very relaxing process. &amp;nbsp;Despite the fact that I found myself working at some very odd hours, the lack of pressure is a nice change. &amp;nbsp;I really had to give myself a deadline for shipping something otherwise I would have tinkered forever, which I am sure is a common trap.&lt;br /&gt;&lt;br /&gt;Anyway, if you are interested in seeing what the little app is like, I have built a &lt;a href="http://championshipsoftware.com/french-in-space"&gt;web-site&lt;/a&gt; with screenshots and a dinky demo video.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692731786481111799-4035493234301247162?l=clintonforbes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clintonforbes.blogspot.com/feeds/4035493234301247162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8692731786481111799&amp;postID=4035493234301247162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/4035493234301247162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/4035493234301247162'/><link rel='alternate' type='text/html' href='http://clintonforbes.blogspot.com/2010/09/my-first-ipad-app.html' title='My First iPad app'/><author><name>Clinton Forbes</name><uri>http://www.blogger.com/profile/01793046537269761373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://photos1.blogger.com/blogger/2954/2999/320/simpsons_clinton.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8692731786481111799.post-6079510062049976423</id><published>2009-08-24T17:40:00.000-07:00</published><updated>2009-08-24T17:45:03.497-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Spring is almost here.  Time to clean out your old crap code.</title><content type='html'>I took this pick this morning on the way to work.  Obviously someone is cleaning out their old legacy code:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_-O4imUO8PHU/SpMz3tb1smI/AAAAAAAAAR4/99V56ubaUDw/s1600-h/Put+Crap+Code+Here.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_-O4imUO8PHU/SpMz3tb1smI/AAAAAAAAAR4/99V56ubaUDw/s400/Put+Crap+Code+Here.jpg" alt="" id="BLOGGER_PHOTO_ID_5373695812565316194" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692731786481111799-6079510062049976423?l=clintonforbes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clintonforbes.blogspot.com/feeds/6079510062049976423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8692731786481111799&amp;postID=6079510062049976423' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/6079510062049976423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/6079510062049976423'/><link rel='alternate' type='text/html' href='http://clintonforbes.blogspot.com/2009/08/spring-is-almost-here-time-to-clean-out.html' title='Spring is almost here.  Time to clean out your old crap code.'/><author><name>Clinton Forbes</name><uri>http://www.blogger.com/profile/01793046537269761373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://photos1.blogger.com/blogger/2954/2999/320/simpsons_clinton.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-O4imUO8PHU/SpMz3tb1smI/AAAAAAAAAR4/99V56ubaUDw/s72-c/Put+Crap+Code+Here.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8692731786481111799.post-8843038079610352815</id><published>2009-03-24T17:44:00.000-07:00</published><updated>2009-03-24T18:06:37.886-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Icepin'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>My summer project: IcePin - a Ruby editor in Ruby</title><content type='html'>I read recently that a guy called Daniel Lucraft has written a text-editor in Ruby called &lt;a href="http://redcaride.com/"&gt;Redcar&lt;/a&gt;.  It was a relieft to see that there is more than one person silly enough to do what I have spent the last couple of months doing.&lt;br /&gt;&lt;br /&gt;My editor is called Icepin.  Here is a screen-shot (click for full-size):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_-O4imUO8PHU/Scl_Xf-hfSI/AAAAAAAAAPA/mRbFmw5PtwE/s1600-h/icepin.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 389px;" src="http://2.bp.blogspot.com/_-O4imUO8PHU/Scl_Xf-hfSI/AAAAAAAAAPA/mRbFmw5PtwE/s400/icepin.png" alt="" id="BLOGGER_PHOTO_ID_5316920876785040674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Daniel's editor is a clone of TextMate for Gnome.  Icepin is a clone of Emacs for Mac/Linux/whatever using the wxRuby toolkit.  I did not look at the Emacs source-code at all, but have certainly copied many of the things that I like about Emacs.  Icepin is 100% pure Ruby.&lt;br /&gt;&lt;br /&gt;So why, you may ask, have I wasted countless hours building my own editor when there are so many excellent editors available?  Why does anyone do anything, I guess.  Personally, I loved using Emacs because of the huge number of available modules.  However...&lt;br /&gt;&lt;br /&gt;...there was a plugin that I was using called yasnippet that had a bug in it (which is now fixed).  I tried to fix it myself and realized that as much as I tried, I really couldn't learn to love LISP.  I really want to love it, I promise, but I am possibly just not smart enough to program anything useful in it.&lt;br /&gt;&lt;br /&gt;My day job is Ruby programming and I am fairly comfortable with it.  So the obvious choice would be to use TextMate, which allows you to write extensions in Ruby/Python/etc.  However TextMate does not have split windows, and I really cannot live without them.  TextMate 2 (with split windows) seems to be vapourware.&lt;br /&gt;&lt;br /&gt;As you can see from my screenshot, IcePin has split windows.  It has basic editing features, unlimited undo, search/replace, syntax highlighting, unlimited buffers and that is about it.  It is about 5x as good as Windows Notepad, as opposed to about 100x to 1000x as good for most popular editors (TextMate, Emacs, vim, etc).  I am guessing that it is nowhere near as powerful as Daniel Lucraft's Redcar editor, but I haven't had the chance to try his out.&lt;br /&gt;&lt;br /&gt;I haven't added a new feature to IcePin in about 3 weeks and I think I may have become bored with it.  I have been using it exclusively for all my programming since the start of the year (when it was two weeks old, called Roomacs and running in a terminal using ncurses) and I must say it is fun to use your own software all day.  It is also nice to be the only user world-wide, in a strange way.  Now it is at the stage that it does everything that I need, I think I will leave it for a while and play with another pet project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692731786481111799-8843038079610352815?l=clintonforbes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clintonforbes.blogspot.com/feeds/8843038079610352815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8692731786481111799&amp;postID=8843038079610352815' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/8843038079610352815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/8843038079610352815'/><link rel='alternate' type='text/html' href='http://clintonforbes.blogspot.com/2009/03/my-summer-project-icepin-ruby-editor-in.html' title='My summer project: IcePin - a Ruby editor in Ruby'/><author><name>Clinton Forbes</name><uri>http://www.blogger.com/profile/01793046537269761373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://photos1.blogger.com/blogger/2954/2999/320/simpsons_clinton.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-O4imUO8PHU/Scl_Xf-hfSI/AAAAAAAAAPA/mRbFmw5PtwE/s72-c/icepin.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8692731786481111799.post-7873702293118145802</id><published>2008-11-02T16:31:00.000-08:00</published><updated>2008-11-02T16:58:10.893-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Triton'/><category scheme='http://www.blogger.com/atom/ns#' term='Woodworking'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Shelfintosh</title><content type='html'>My desk at &lt;a href="http://openhub.com.au/"&gt;The OpenHub&lt;/a&gt; has been getting crazy messy lately so I decided that I needed to either throw away some junk or come up with a storage solution.  Since I am a die-hard hoarder, I decided on the latter.&lt;br /&gt;&lt;br /&gt;Measuring up the desk, I didn't have a lot of room once the MacBook and 24" screen were in place.  I needed something tall and narrow.  I didn't like the look of the stacking document trays at the newsagent - they were expensive and nasty - so I decided to make a little bookshelf.  I need to get my cabinet-making skills as I am trying to convince my wife that I can build us a new kitchen, rather than spending $20,000.&lt;br /&gt;&lt;br /&gt;Since I needed a tall and narrow bookshelf that would fit in only about 28cm of space, I decided to keep with the nerdy environment at work and build my shelves using an Apple Macintosh as a template.  Here is the finished Shelfintosh, next to my template:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_-O4imUO8PHU/SQ5J1iccf7I/AAAAAAAAANs/CWX3CvJoG6M/s1600-h/P03-11-08_11.14%5B2%5D.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_-O4imUO8PHU/SQ5J1iccf7I/AAAAAAAAANs/CWX3CvJoG6M/s400/P03-11-08_11.14%5B2%5D.jpg" alt="" id="BLOGGER_PHOTO_ID_5264226198570696626" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The template Mac Classic was sitting quite close to the table-saw during the construction of of the bookshelf, so chances are it is full of MDF dust now.  Poor thing.&lt;br /&gt;&lt;br /&gt;Three plastic document trays would have cost me about $15 at Officeworks, but I built my nerdy bookshelf using about $4 of 12mm MDF.  If I hadn't spent about $1k in tools, I think you would agree that I am well ahead.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;P. S.&lt;/span&gt;  Yes, I have undeleted my blog.  For my dozen or so readers, I am sure this is fantastic news.  I will be writing sporadically, as always.  I think the theme will be a bit different to my old blog.  Mostly it will be showing the results of some little project, like this post.  Of course most of my projects are programming related, so it will still be an unashamedly nerdy blog.&lt;br /&gt;&lt;br /&gt;My next post will be about a couple of useful scripts that I am working on to automagically arrange my windows in Mac OS X, after a very useful tip-off from my desk-buddy &lt;a href="http://whoisjohnbarton.com/"&gt;John&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692731786481111799-7873702293118145802?l=clintonforbes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clintonforbes.blogspot.com/feeds/7873702293118145802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8692731786481111799&amp;postID=7873702293118145802' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/7873702293118145802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/7873702293118145802'/><link rel='alternate' type='text/html' href='http://clintonforbes.blogspot.com/2008/11/shelfintosh.html' title='Shelfintosh'/><author><name>Clinton Forbes</name><uri>http://www.blogger.com/profile/01793046537269761373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://photos1.blogger.com/blogger/2954/2999/320/simpsons_clinton.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-O4imUO8PHU/SQ5J1iccf7I/AAAAAAAAANs/CWX3CvJoG6M/s72-c/P03-11-08_11.14%5B2%5D.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8692731786481111799.post-8666201446220764652</id><published>2008-06-29T21:28:00.001-07:00</published><updated>2008-06-29T21:29:29.012-07:00</updated><title type='text'>I deleted my blog</title><content type='html'>Hello web-surfer,&lt;br /&gt;&lt;br /&gt;I deleted my blog because I was sick of it.  Sorry for any inconvenience.  It was 71 posts of shit.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;Clinton.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692731786481111799-8666201446220764652?l=clintonforbes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clintonforbes.blogspot.com/feeds/8666201446220764652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8692731786481111799&amp;postID=8666201446220764652' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/8666201446220764652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692731786481111799/posts/default/8666201446220764652'/><link rel='alternate' type='text/html' href='http://clintonforbes.blogspot.com/2008/06/i-deleted-my-blog.html' title='I deleted my blog'/><author><name>Clinton Forbes</name><uri>http://www.blogger.com/profile/01793046537269761373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://photos1.blogger.com/blogger/2954/2999/320/simpsons_clinton.gif'/></author><thr:total>8</thr:total></entry></feed>
