<?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/"
	>

<channel>
	<title>Monkeyfood &#187; Coding / Development</title>
	<atom:link href="http://www.monkeyfood.com/blog/category/coding-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.monkeyfood.com/blog</link>
	<description>Food for Monkeys</description>
	<lastBuildDate>Thu, 14 May 2009 13:45:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Web design pet peeves (number 352 in a series of 23238434)</title>
		<link>http://www.monkeyfood.com/blog/2008/04/04/web-design-pet-peeves-3523910295/</link>
		<comments>http://www.monkeyfood.com/blog/2008/04/04/web-design-pet-peeves-3523910295/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 00:49:00 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[Coding / Development]]></category>
		<category><![CDATA[The Web]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/?p=209</guid>
		<description><![CDATA[
I hit this *so* many times and it always drives me mad.  Here&#8217;s the thing:  email addresses are not case-sensistive.  i.e. FOO@.BAR.COM is the same as foo@bar.com and FoO@bAr.CoM
Web designers always seem to forget this though &#8211; and it&#8217;s incredibly irritating, especially if you have a browser which has some form of [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.monkeyfood.com/thestuff/food/Screenshots/emailIsNotCaseSensitive.jpg" alt="Email addresses are not case-sensitive" /></p>
<p>I hit this *so* many times and it always drives me mad.  Here&#8217;s the thing:  email addresses are not case-sensistive.  i.e. FOO@.BAR.COM is the same as foo@bar.com and FoO@bAr.CoM</p>
<p>Web designers always seem to forget this though &#8211; and it&#8217;s incredibly irritating, especially if you have a browser which has some form of &#8216;remember my details and auto-complete them&#8217; function.</p>
<p>I can understand why it happens though, and here&#8217;s why.  As a coder you think of things in terms of types and logic.</p>
<p>Types: Number-types are generally either floats (floating point numbers: 1.2, 3.1415, etc&#8230;) or integers (whole numbers 1, 2, 100232 etc&#8230;).  Computers &#8216;think&#8217; of numbers differently depending on whether they are whole number or not.  Bits of text are often thought of as &#8217;strings&#8217; (&#8217;strings&#8217; of characters) &#8211; think of a string of pearls where each pearl is a character.   </p>
<p>Logic:  Coders use logic to define behaviour in code &#8211; they set down rules for the computer to follow.  i.e. &#8216;if this thing over here is equal to that thing over there then do this other thing.&#8217;  Many of these logical statements are combined to create behaviours that make-up software products &#8211; from your mobile phone, to this weblog, to your TV.</p>
<p>Anyway &#8211; back to the point &#8211; humans forget that computers see things in different ways &#8211; the human brain with it&#8217;s amazing ability for language and symbol analysis sees &#8216;Hello&#8217; as having the same meaning as &#8216;hello&#8217;, whereas to a computer these two strings are completely different, so to a computer the correct response to the question &#8221; is &#8216;Hello&#8217; equal to &#8216;hello&#8217; &#8221; is &#8220;No.&#8221;   Normally that&#8217;s fine in logic terms &#8211; the two strings are not identical &#8211; but when it comes to email addresses &#8211; this logic lets us down.  It doesn&#8217;t matter what case the letters are, what we should be asking the computer is &#8220;does this string that the user gave *spell* the same as the string we are using as a reference?&#8221; </p>
<p>Of course a clever coder will take the case of the letters out of the equation by using a function which makes the two strings to compare both upper-case before it checks them for equality &#8211; so however the user types the email address (as long as it&#8217;s spelled correctly), the logic will come back and say &#8211;  &#8220;yes &#8211; these two email addresses are the same.&#8221;   This is such a common task that there are always (I assume) ready-made functions available to the coder in any language to turn a string into an upper-case string.</p>
<p>It just takes a little thought to make sure that you apply that function when checking email addressees.  You&#8217;d be surprised how often it doesn&#8217;t happen though&#8230;</p>
<p>The same thing happens in other problem domains &#8211; e.g. usernames &#8211; my router has an admin account which allows me to configure it &#8211; let&#8217;s call it &#8216;admin&#8217;.   If I use &#8216;Admin&#8217; it fails to authenticate me.   Usernames should not be case-sensitive, whereas passwords should.</p>
<p>Web servers / filenames are another case:   http://www.foo.com/badger/ should be the same as http://www.foo.com/BADGER/ &#8211; Mac OS computers treat these two the same &#8211; UNIX machines don&#8217;t.</p>
<p>To humans, most strings are not case-sensitive, whereas to computers they are.  Coders should think about this more often.  Alas it&#8217;s easy for them to be caught out, since we don&#8217;t think like computers, and computers are ruthlessly logical and unforgiving when it comes to rules (which is why they work).   They&#8217;re a bit like traffic wardens in that respect.</p>
<p>Rant over&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2008/04/04/web-design-pet-peeves-3523910295/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Time machine is a little confused about maths (and iPhone SDK ramblings)</title>
		<link>http://www.monkeyfood.com/blog/2008/03/08/time-machine-is-a-little-confused-about-maths-and-iphone-sdk-ramblings/</link>
		<comments>http://www.monkeyfood.com/blog/2008/03/08/time-machine-is-a-little-confused-about-maths-and-iphone-sdk-ramblings/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 01:55:11 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[Coding / Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/2008/03/08/time-machine-is-a-little-confused-about-maths-and-iphone-sdk-ramblings/</guid>
		<description><![CDATA[
&#8220;The backup is too large for the backup volume.  The backup requires 4.2GB, but only 22.9GB are available.&#8221;
Just posting this bug so I can reference it in a bug report.  It may be my fault though, because I&#8217;m using an unsupported volume: a drive on a remote machine on my local network backed-up [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.monkeyfood.com/thestuff/food/Screenshots/TimeMachineConfused.jpg" alt="Hmmmm" /></p>
<p>&#8220;The backup is too large for the backup volume.  The backup requires 4.2GB, but only 22.9GB are available.&#8221;</p>
<p>Just posting this bug so I can reference it in a bug report.  It may be my fault though, because I&#8217;m using an unsupported volume: a drive on a remote machine on my local network backed-up over airport.   Worth noting anyway.</p>
<p>Half of the backup happens to be a disc image of the iPhone SDK.  </p>
<p>It looks from what I&#8217;ve seen so far: i.e. nothing but the video of the Apple announcement, and a few iTunes U Apple Developer Connection introduction videos, pretty good.  I&#8217;m getting more and more keen to get an iPhone.   I&#8217;ve been waiting for three things before I do:   Version 2.0 of the phone hardware (hopefully with GPS and 3G), the SDK and an end to the network lock-in.  I hate being told that to use a specific handset I have to use a specific GSM network, it&#8217;s just wrong.   Now the SDK is here, I&#8217;m weakening&#8230;</p>
<p>The info about the SDK looks very impressive so far &#8211; Apple taking 30% of the revenue from sales of the apps seems a little bit steep &#8211; but (in my opinion) they generally tend to be a benevolent dictator.  Symbian has had voluntarily signed apps for a long time, however, very few developers bother to sign their apps, so users tend not to care or know about code signing.  Even worse &#8211; when they find out about code signing it <a href="http://www.e-series.org/archives/45">tends to confuse them</a>.   Apple mandating signing of all code means it can be seamless.  </p>
<p>Having a single channel of delivery for iPhone apps may, to many, seem draconian and I would imagine it&#8217;s not long until someone writes an app which Apple denies distribution, yet most people find inoffensive.</p>
<p>I don&#8217;t know&#8230;.   I&#8217;m torn &#8211; Steve&#8217;s Reality Distortion Field has really got me this time, yet I still in my heart of hearts think &#8216;hey &#8211; this is *my* miniature, hand-held computer &#8211; how dare you tell me what I can and can&#8217;t install on it.&#8217;</p>
<p>My resistance to not having a physical keyboard is also waning, and although being a Nokia devotee since I first had a mobile phone (back in oooh 1996), and therefore a Symbian fan of late &#8211; my experience with the mail client on my E61 and the limitations of Series 60 compared to Mobile OS X (network/email/voip config on the E61 is a real bore &#8211; and it doesn&#8217;t get the concept of falling back to different networks depending on what&#8217;s available) make the iPhone a very desirable next phone.  Plus I&#8217;m familiar with the development environment.</p>
<p>I have noticed, from my limited peeking around, that there is no access to the Bluetooth functions of the phone.  I could be wrong about that though.  I think that the intention is that most external comms are to be done via TCP/IP over the wifi hardware.</p>
<p>Anyway, enough of my prattling &#8211; congratulations to all the engineers at Apple who are delivering the SDK, it&#8217;s a stunning feat of engineering.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2008/03/08/time-machine-is-a-little-confused-about-maths-and-iphone-sdk-ramblings/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Communications Specifications for the GlobalSat DG-100 GPS DataLogger</title>
		<link>http://www.monkeyfood.com/blog/2008/03/07/communications-specifications-for-the-globalsat-dg-100-gps-datalogger/</link>
		<comments>http://www.monkeyfood.com/blog/2008/03/07/communications-specifications-for-the-globalsat-dg-100-gps-datalogger/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 13:46:17 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[Coding / Development]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/2008/03/07/communications-specifications-for-the-globalsat-dg-100-gps-datalogger/</guid>
		<description><![CDATA[Time for one of my annual blog posts.   
I recently bought a GlobalSat DG-100 GPS datalogger, which is a device that records your GPS position over time, so that you can later review those data, and do all sorts of fun things.  I specifically wanted it for aviation, so you can review [...]]]></description>
			<content:encoded><![CDATA[<p>Time for one of my annual blog posts.   </p>
<p>I recently bought a <a href="http://www.globalsat.com.tw/eng/product_detail_00000090.htm">GlobalSat DG-100 GPS datalogger</a>, which is a device that records your GPS position over time, so that you can later review those data, and do all sorts of fun things.  I specifically wanted it for aviation, so you can review your flight track, and see how good your navigation is and how far off your desired track you wandered.</p>
<p><img src="http://www.monkeyfood.com/thestuff/food/Screenshots/DG-100.jpg" alt="DG-100" /></p>
<p>There are Windows drivers for the device, and only a Windows utility for extracting the recorded tracks and altering it&#8217;s preferences.  Normally this would preclude a Mac user like me from buying it, however, the nice people at GlobalSat have published the specifications for communicating with the device, and some people have made their own apps for talking to it.  There&#8217;s a Windows .net application for it and a linux project for talking to it as well.</p>
<p>I&#8217;m in the early stages of writing a Cocoa app which will do the same for Mac OS X users.</p>
<p><a href="http://monkeyfood.com/articles/DG100CommsSpec/">Anyway &#8211; The spec was a bit dry, being a .txt file &#8211; so I&#8217;ve spruced it up a bit and put it into a web page for Google to index.</a></p>
<p>[edit] &#8211; Good lord, Google indexed this post in less than 17 minutes!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2008/03/07/communications-specifications-for-the-globalsat-dg-100-gps-datalogger/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Put XHTML template on Clipboard AppleScript</title>
		<link>http://www.monkeyfood.com/blog/2007/04/01/put-xhtml-template-on-clipboard-applescript/</link>
		<comments>http://www.monkeyfood.com/blog/2007/04/01/put-xhtml-template-on-clipboard-applescript/#comments</comments>
		<pubDate>Sat, 31 Mar 2007 23:28:09 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[Coding / Development]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/2007/04/01/put-xhtml-template-on-clipboard-applescript/</guid>
		<description><![CDATA[Here&#8217;s another AppleScript:  This one puts an xHTML template on the clipboard:  Again, remove the Growl parts if you don&#8217;t use Growl.

set XHTMLTemplate to "< !DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
    			\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">

	
		

	
	
	

"
set the clipboard to the XHTMLTemplate
tell application "GrowlHelperApp"
	--	notify title "AppleScript Notification" description (noteText as string) icon of application [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s another AppleScript:  This one puts an xHTML template on the clipboard:  Again, remove the Growl parts if you don&#8217;t use Growl.</p>
<p><code></p>
<p>set XHTMLTemplate to "< !DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"<br />
    			\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"></p>
<p><html xmlns=\"http://www.w3.org/1999/xhtml\"></p>
<p>	<head></p>
<p>		<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" /></p>
<link rel=\"StyleSheet\" href=\"css/someSyleSheet.css\" type=\"text/css\" media=\"all\"/>
	</head></p>
<p>	<body></p>
<p>	</body><br />
</html><br />
"</p>
<p>set the clipboard to the XHTMLTemplate</p>
<p>tell application "GrowlHelperApp"<br />
	--	notify title "AppleScript Notification" description (noteText as string) icon of application "Script Editor.app"</p>
<p>	set myAllNotesList to {"XHTMLTemplateToClipboard"}<br />
	register as application "XHTML Template to Clipboard" all notifications myAllNotesList default notifications {"XHTMLTemplateToClipboard"} icon of application "Finder.app"</p>
<p>	notify with name "XHTMLTemplateToClipboard" title "XHTML Template 2 Clipboard" description "The XHTML Template has been put on the clipboard" application name "XHTML Template to Clipboard"<br />
end tell"</p>
<p></code><br />
<a href="applescript://com.apple.scripteditor?action=new&#038;script=%0D%0Dset%20XHTMLTemplate%20to%20%22%3C%21DOCTYPE%20html%20PUBLIC%20%5C%22%2D%2F%2FW3C%2F%2FDTD%20XHTML%201%2E0%20Transitional%2F%2FEN%5C%22%0D%20%20%20%20%09%09%09%5C%22http%3A%2F%2Fwww%2Ew3%2Eorg%2FTR%2Fxhtml1%2FDTD%2Fxhtml1%2Dtransitional%2Edtd%5C%22%3E%0D%0D%3Chtml%20xmlns%3D%5C%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxhtml%5C%22%3E%0D%0D%09%3Chead%3E%0D%09%09%3Ctitle%3E%2A%2AREPLACE%20ME%21%2A%2A%3C%2Ftitle%3E%0D%09%09%3Cmeta%20http%2Dequiv%3D%5C%22Content%2DType%5C%22%20content%3D%5C%22text%2Fhtml%3B%20charset%3DISO%2D8859%2D1%5C%22%20%2F%3E%0D%09%09%3Clink%20rel%3D%5C%22StyleSheet%5C%22%20href%3D%5C%22css%2FsomeSyleSheet%2Ecss%5C%22%20type%3D%5C%22text%2Fcss%5C%22%20media%3D%5C%22all%5C%22%2F%3E%09%0D%09%3C%2Fhead%3E%0D%09%0D%09%3Cbody%3E%0D%09%0D%09%3C%2Fbody%3E%0D%3C%2Fhtml%3E%0D%22%0D%0D%0Dset%20the%20clipboard%20to%20the%20XHTMLTemplate%0D%0D%0Dtell%20application%20%22GrowlHelperApp%22%0D%09%2D%2D%09notify%20title%20%22AppleScript%20Notification%22%20description%20%28noteText%20as%20string%29%20icon%20of%20application%20%22Script%20Editor%2Eapp%22%0D%09%0D%09set%20myAllNotesList%20to%20%7B%22XHTMLTemplateToClipboard%22%7D%0D%09register%20as%20application%20%22XHTML%20Template%20to%20Clipboard%22%20all%20notifications%20myAllNotesList%20default%20notifications%20%7B%22XHTMLTemplateToClipboard%22%7D%20icon%20of%20application%20%22Finder%2Eapp%22%0D%09%0D%09notify%20with%20name%20%22XHTMLTemplateToClipboard%22%20title%20%22XHTML%20Template%202%20Clipboard%22%20description%20%22The%20XHTML%20Template%20has%20been%20put%20on%20the%20clipboard%22%20application%20name%20%22XHTML%20Template%20to%20Clipboard%22%0Dend%20tell%0D">Click this link to make a new Script in ScriptEditor containing the above script</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2007/04/01/put-xhtml-template-on-clipboard-applescript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Put current IP address on Clipboard AppleScript</title>
		<link>http://www.monkeyfood.com/blog/2007/04/01/put-current-ip-address-on-clipboard-applescript/</link>
		<comments>http://www.monkeyfood.com/blog/2007/04/01/put-current-ip-address-on-clipboard-applescript/#comments</comments>
		<pubDate>Sat, 31 Mar 2007 23:16:53 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[Coding / Development]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/2007/04/01/put-current-ip-address-on-clipboard-applescript/</guid>
		<description><![CDATA[I never remember to post these scripts which I write and often use onto the web, so that Google can index them.
So in an attempt to solve that, here we go:  Here&#8217;s an AppleScript that I use often via QuickSilver.  It calls Growl so &#8211; if you don&#8217;t have Growl, remove the growl [...]]]></description>
			<content:encoded><![CDATA[<p>I never remember to post these scripts which I write and often use onto the web, so that Google can index them.</p>
<p>So in an attempt to solve that, here we go:  Here&#8217;s an AppleScript that I use often via <a href="quicksilver.blacktree.com">QuickSilver</a>.  It calls <a href="http://www.growl.info">Growl</a> so &#8211; if you don&#8217;t have Growl, remove the growl parts otherwise AppleScript will ask you where GrowlHelperApp is.</p>
<p><code><br />
set theIP to do shell script "ifconfig | grep 'broadcast' | awk '{print $2}'"</p>
<p>set the clipboard to theIP</p>
<p>tell application "GrowlHelperApp"<br />
	set defaultNotification to "Put IP address on Clipboard"<br />
	set myAllNotesList to {defaultNotification}<br />
	register as application defaultNotification all notifications myAllNotesList default notifications {defaultNotification} icon of application "Finder.app"<br />
	notify with name defaultNotification title defaultNotification description "Your IP Address (" &#038; theIP &#038; ") has been put on the clipboard" application name defaultNotification<br />
end tell<br />
</code></p>
<p><a href="applescript://com.apple.scripteditor?action=new&#038;script=set%20theIP%20to%20do%20shell%20script%20%22ifconfig%20%7C%20grep%20%27broadcast%27%20%7C%20awk%20%27%7Bprint%20%242%7D%27%22%0D%0Dset%20the%20clipboard%20to%20theIP%0D%0Dtell%20application%20%22GrowlHelperApp%22%0D%09set%20defaultNotification%20to%20%22Put%20IP%20address%20on%20Clipboard%22%0D%09set%20myAllNotesList%20to%20%7BdefaultNotification%7D%0D%09register%20as%20application%20defaultNotification%20all%20notifications%20myAllNotesList%20default%20notifications%20%7BdefaultNotification%7D%20icon%20of%20application%20%22Finder%2Eapp%22%0D%09notify%20with%20name%20defaultNotification%20title%20defaultNotification%20description%20%22Your%20IP%20Address%20%28%22%20%26%20theIP%20%26%20%22%29%20has%20been%20put%20on%20the%20clipboard%22%20application%20name%20defaultNotification%0Dend%20tell%0D">Click this link to make a new Script in ScriptEditor containing the above script</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2007/04/01/put-current-ip-address-on-clipboard-applescript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Front Row / Back Row</title>
		<link>http://www.monkeyfood.com/blog/2005/10/25/front-row-back-row/</link>
		<comments>http://www.monkeyfood.com/blog/2005/10/25/front-row-back-row/#comments</comments>
		<pubDate>Tue, 25 Oct 2005 10:51:33 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[Coding / Development]]></category>
		<category><![CDATA[Films]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Televison]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/2005/10/25/front-row-back-row/</guid>
		<description><![CDATA[Someone has hacked FrontRow so that it doesn&#8217;t require the Apple Remote control.  The torrent file seems dead &#8211; but you can download it from here. (Standard warning &#8211; Downloading hacked software from unknown sources could be dangerous.)
Seems to work OK on my Powerbook.
I&#8217;ve been mucking around with trying to make my own clone [...]]]></description>
			<content:encoded><![CDATA[<p>Someone has <a href="http://thefifthrule.com/T5R/?p=76">hacked FrontRow</a> so that it doesn&#8217;t require the Apple Remote control.  The torrent file seems dead &#8211; but you can download it from <a href="http://rapidshare.de/files/6723896/Front_Row.zip.html">here</a>. (Standard warning &#8211; Downloading hacked software from unknown sources could be dangerous.)</p>
<p>Seems to work OK on my Powerbook.</p>
<p>I&#8217;ve been mucking around with trying to make my own clone of FrontRow (I call it BackRow) &#8211; so far it doesn&#8217;t do anything but scroll one menu.   I&#8217;m not trying to make a MediaCentre app (like <a href="http://www.centerstageproject.com/">CenterStage</a> &#8211; just a remote control like thing that uses AppleScript to control other apps.)</p>
<p><img alt="BackRow version 0.00000001a" src="http://www.monkeyfood.com/thestuff/food/Screenshots/backRowMockUp.jpg"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2005/10/25/front-row-back-row/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Natural Date Formatters are Cool.</title>
		<link>http://www.monkeyfood.com/blog/2005/04/15/natural-date-formatters-are-cool/</link>
		<comments>http://www.monkeyfood.com/blog/2005/04/15/natural-date-formatters-are-cool/#comments</comments>
		<pubDate>Fri, 15 Apr 2005 18:35:37 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[Coding / Development]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/2005/04/15/natural-date-formatters-are-cool/</guid>
		<description><![CDATA[The Cocoa Frameworks on Mac OS X have some very cool things in them.
 One of the very, very coolest  &#8211; that relatively few people know about, and I should imagine even less people use, are NaturalDateFormatters.
Bascially they allow you to enter a date in English-like syntax, and it will be automatically converted into [...]]]></description>
			<content:encoded><![CDATA[<p>The Cocoa Frameworks on Mac OS X have some very cool things in them.</p>
<p> One of the very, very coolest  &#8211; that relatively few people know about, and I should imagine even less people use, are NaturalDateFormatters.</p>
<p>Bascially they allow you to enter a date in English-like syntax, and it will be automatically converted into a form that the computer recognises.</p>
<p>e.g. It&#8217;s a friend of mine&#8217;s birthday today, and another&#8217;s was a couple of days ago.  I realised that I didn&#8217;t have their birthdays in the Address Book, so I added them pretty quickly, without ever looking at iCal &#8211; or clicking on the clock to get the date.</p>
<p>Here&#8217;s how: (<a href="http://homepage.mac.com/DiggoryLaycock/.Movies/AddressBookNaturalDateFormatter.mov">2.4mb MPEG-4 Quicktime Movie</a>)</p>
<p><a href="http://homepage.mac.com/DiggoryLaycock/.Movies/AddressBookNaturalDateFormatter.mov"><img alt="Click for movie" src="http://www.monkeyfood.com/thestuff/food/Screenshots/ABookNatLangScreenie.jpg"/></a></p>
<p>Cool, n&#8217;est pas?</p>
<p>p.s. Rendez-vous&#8217;s new name (&#8216;Bonjour&#8217;) is terrible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2005/04/15/natural-date-formatters-are-cool/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenSource Updates</title>
		<link>http://www.monkeyfood.com/blog/2005/03/03/opensource-updates/</link>
		<comments>http://www.monkeyfood.com/blog/2005/03/03/opensource-updates/#comments</comments>
		<pubDate>Thu, 03 Mar 2005 12:13:45 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[Coding / Development]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/?p=178</guid>
		<description><![CDATA[I tend to swing between two different development modes: Web and Mac.  I&#8217;ll get obsessed by one field for a while, then get very annoyed by it (or my lack of abilities in it) and switch to another.
At the moment, I&#8217;m on the software side and I&#8217;ve finally got into collaborating in some OpenSource [...]]]></description>
			<content:encoded><![CDATA[<p>I tend to swing between two different development modes: Web and Mac.  I&#8217;ll get obsessed by one field for a while, then get very annoyed by it (or my lack of abilities in it) and switch to another.</p>
<p>At the moment, I&#8217;m on the software side and I&#8217;ve finally got into collaborating in some OpenSource projects &#8211; specifically:</p>
<dl>
<dt><a href="http://www.growl.info">Growl</a></dt>
<dd>A Notification System for Mac OS X.  &mdash; 0.6 was Released a few days ago and has some nice improvements from 0.5.  I predict that Growl will be one of the apps that really takes off in 2005.  Together with QuickSilver it has totally changed my workflow.  Look out for an extra called HardwareGrowler in the next release&#8230;</dd>
<dt><a href="http://www.defyne.org/dvb">iTele</a></dt>
<dd>Bring the Digital TV into your digital hub.  Drivers for various digital TV receivers (DVB/Freeview and the US ATSC system)  and an app called iTele that allows you to watch and record.  Yes, you&#8217;ve been able to have analogue tv capture for a while &#8211; but analogue is rubbish.  Using Digital keeps the whole thing clean and you don&#8217;t get a generational loss. Another cool thing about DVB is that you can decode several channels at once (as long as you have the horsepower and the channels are on the same Multiplex.)    There are several relatively cheap PCI or USB2 tuners which are compatible.</dd>
<p><img alt="Decoding BBC 1 2 3 4" src="http://www.monkeyfood.com/thestuff/food/Screenshots/iTele4Channels.jpg"/></p>
<p>In related news &#8211; more info on Sky&#8217;s <a href="http://www.digitalspy.co.uk/article/ds19616.html">HD plans</a>. </p>
<dt><a href="http://www.centerstageproject.com">The CenterStage Project</a></dt>
<dd>A project to build a &#8216;Media Centre&#8217; app for Mac OS X. Less than two weeks old, but already has a nice site and what looks like the beginnings of a good, highly expandable architecture. Haven&#8217;t actually contributed here, but am watching its infancy with great interest.   Could well tie in with iTele in the future</dd>
<dt><a href="http://www.scifihifi.com/weblog/software/Cocoalicious-1.0b32.html">Cocoalicious</a></dt>
<dd><a href="http://www.scifihifi.com/weblog/">Buzz Andersen&#8217;s</a> client for posting to <a href="http://del.icio.us">del.icio.us</a>.  Essential for us delicious junkies.</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2005/03/03/opensource-updates/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DysleXcodia</title>
		<link>http://www.monkeyfood.com/blog/2005/02/03/dyslexcodia/</link>
		<comments>http://www.monkeyfood.com/blog/2005/02/03/dyslexcodia/#comments</comments>
		<pubDate>Thu, 03 Feb 2005 01:15:31 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[Coding / Development]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/?p=168</guid>
		<description><![CDATA[What happens when XCode goes mad and decides that certain letters are evil?

I know that code looks Greek to most people &#8211; but it&#8217;s not meant to look like that.   Have a look at the pop-up menu in the toolbar called &#8220;Active Build Style&#8221;  &#8211; it&#8217;s like a crossword puzzle.  (It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>What happens when XCode goes mad and decides that certain letters are evil?</p>
<p><img alt="DysleXcodia" src="http://www.monkeyfood.com/thestuff/food/Screenshots/XCode-MentalTypeSmaller.jpg"/></p>
<p>I know that code looks Greek to most people &#8211; but it&#8217;s not meant to look like that.   Have a look at the pop-up menu in the toolbar called &#8220;Active Build Style&#8221;  &#8211; it&#8217;s like a crossword puzzle.  (It&#8217;s meant to say &#8216;Development&#8217;)</p>
<p>Most peculiar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2005/02/03/dyslexcodia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion</title>
		<link>http://www.monkeyfood.com/blog/2004/08/13/subversion/</link>
		<comments>http://www.monkeyfood.com/blog/2004/08/13/subversion/#comments</comments>
		<pubDate>Fri, 13 Aug 2004 14:17:00 +0000</pubDate>
		<dc:creator>Diggory</dc:creator>
				<category><![CDATA[Coding / Development]]></category>

		<guid isPermaLink="false">http://www.monkeyfood.com/blog/?p=131</guid>
		<description><![CDATA[I&#8217;ve always wanted to get to grips with Source Control Systems, not because I work on code simultaneously with others &#8211; but for their ability to keep old versions of sources long after you&#8217;ve changed them.  CVS (Concurrent Versions System) is the standard tool for this kind of thing &#8211; but I always put [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always wanted to get to grips with Source Control Systems, not because I work on code simultaneously with others &#8211; but for their ability to keep old versions of sources long after you&#8217;ve changed them.  <a href="https://www.cvshome.org/">CVS</a> (Concurrent Versions System) is the standard tool for this kind of thing &#8211; but I always put off learning about it in any great detail because it seemed rather complex.</p>
<p><a href="http://www.apple.com/macosx/features/xcode/">XCode 1.5</a> was released recently and one of the new features is support for <a href="http://subversion.tigris.org/">Subversion</a>.  Subversion is widely touted as the sucessor to CVS and has several features that CVS lacks.</p>
<p>Great timing then for O&#8217;Reilly&#8217;s MacDevCenter to publish an article that wraps up how to <a href="http://www.macdevcenter.com/pub/a/mac/2004/08/10/subversion.html">set-up your own Subversion repository on Mac OS X</a>.</p>
<p>It&#8217;s really more straightforward than I thought &#8211; and after a few hours reading the <a href="http://svnbook.red-bean.com/svnbook/">Subversion Book</a> I had a working repository and a rough knowledge of how to use it.</p>
<p>Apple has documention for <a href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/Xcode_SCM/index.html">how to use Subversion in XCode</a>.</p>
<p>Then, once you&#8217;ve got the hang of it all &#8211; revel in the glory that is <a href="http://scplugin.tigris.org/">SCPlugIn</a> &#8211; A framework and Finder plug-in  that allows svn commands via the contextual menu in the Finder &#8211; and badges the files icons depending on their status:</p>
<p><img alt="Subversion Badged Folders" src="http://www.monkeyfood.com/thestuff/food/Screenshots/SCPlugInBadging.png"/></p>
<p>Very cool. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.monkeyfood.com/blog/2004/08/13/subversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
