<?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>Fast Chicken &#187; tech</title>
	<atom:link href="http://www.fastchicken.co.nz/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fastchicken.co.nz</link>
	<description>MobileAgent for FreeAgent, London&#039;s Nearest Bus and other lovely iPhone apps</description>
	<lastBuildDate>Thu, 26 Jan 2012 12:23:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Backing up. You do, don&#8217;t you?</title>
		<link>http://www.fastchicken.co.nz/2012/01/24/backing-up-you-do-dont-you/</link>
		<comments>http://www.fastchicken.co.nz/2012/01/24/backing-up-you-do-dont-you/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 14:10:19 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1946</guid>
		<description><![CDATA[Amazon dropped off a new backup drive today, so I thought I&#8217;d share my backup &#8220;strategy&#8221;, because you should be backing up, kinda like you should be flossing your teeth. These days, especially if you have a Mac, it&#8217;s so easy that there is no excuse for not doing it. TL;DR: FFS, make sure you backup, and test your backups ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fastchicken.co.nz/wp-content/uploads/2012/01/166956_283513638375318_100001500531127_780882_704612221_n.jpg"><img class="aligncenter size-medium wp-image-1947" title="166956_283513638375318_100001500531127_780882_704612221_n" src="http://www.fastchicken.co.nz/wp-content/uploads/2012/01/166956_283513638375318_100001500531127_780882_704612221_n-300x300.jpg" alt="" width="300" height="300" /></a></p>
<p>Amazon dropped off a new backup drive today, so I thought I&#8217;d share my backup &#8220;strategy&#8221;, because <strong>you should be backing up</strong>, kinda like you should be flossing your teeth. These days, especially if you have a Mac, it&#8217;s so easy that there is no excuse for not doing it.</p>
<blockquote><p><strong>TL;DR:</strong> FFS, make sure you backup, and test your backups from time to time. Use Time Machine, get an external drive, or use SuperDuper. It&#8217;s easy and cheap.</p>
<p>This is all from a Mac point of view, because that is what we have. Most of this can be done on Windows too. I just don&#8217;t know how.</p></blockquote>
<p>For most people, what we do is overkill, but some of it is applicable to everyone. Backups are broken into three distinct strategies and purposes.</p>
<p><strong>The first is a daily backup.</strong> This covers us for things like &#8220;oh crap I deleted that file&#8221; right up to disk crashes and theft. For this, we use <a href="http://www.apple.com/macosx/whats-new/features.html#timemachine">Time Machine</a>, which is built into Mac OSX. All you need to do is get an external drive, plug it in at least SOME of the time, and tell Time Machine to use it. Not hard &#8211; just plug it in before you go to bed, or before you leave to go to work. If you have a desktop machine, leave it plugged in all the time.</p>
<p>If you need a wireless router, the <a href="http://www.apple.com/timecapsule/">Time Capsule</a> is also useful, as it can be used as an external, network connected drive for Time Machine as well as being a nice 802.11N router. This is what we have &#8211; a 1TB Time Capsule, which stores the backups of both of our laptops, usually hourly.</p>
<p>If you don&#8217;t think Time Machine is for you, <a href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">SuperDuper </a>is another option, which does a complete clone of your hard drive, but you have to remember to do it (it can be scheduled too).</p>
<p>Time Machine is like having something automatically floss for you. If you have only a very small amount of data, a service like <a href="http://db.tt/c1PuNu9">Dropbox</a> is also good for smaller files which change often, eg if you are working on a book.</p>
<p><strong>If you do nothing else reading this, and you don&#8217;t backup already, instigate a daily backup routine using an external drive</strong>, eg a <a href="http://www.amazon.co.uk/Passport-Essential-Silver-Portable-Drive/dp/B004445JI6/">WD Passport 500GB</a>. It&#8217;s cheap, and it&#8217;ll most likely save your backside.</p>
<p><strong>The second level is offsite backups.</strong> You can go to all sorts of levels with this, but I keep 3 (now 4) external drives in my desk drawer. I take them home 2-3x a month, and update them, which takes about 20 mins for the laptops, and about an hour for the Drobo (more on that later). This covers us for the house-burning-down situation, and also someone breaking in and cleaning everything out. Will will lose some stuff, but it&#8217;ll be kept to a minimum, and the effort in doing it is minimal. If you go and have dinner with your parents every 2 weeks, it&#8217;s an ideal time to take an external drive over and store it there. Our other option is a fireproof safe or a security deposit box.</p>
<p>For this, I have three things to back up: 2 laptops (500GB each), and the Drobo (NAS / big networked hard drive) which has all of Leonie&#8217;s photos on it, and a load of other important stuff. The two laptops are easy: <a href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">SuperDuper</a>. Once it&#8217;s done the first time, an update takes about 20 mins. The drobo is a little harder, and I&#8217;ve written a few rsync scripts to mirror the contents of various folders and shares on the drobo onto the 1TB drive. (I had to get a second 1TB drive as Leonie insists on taking photos&#8230;.). It&#8217;s not hard to do, and there are tools out there to automate it (or ask, I&#8217;m happy to share them).</p>
<p><strong>The other thing with these drives: they are encrypted.</strong> Mac OSX Lion (10.7) comes with <a href="http://www.macworld.com/article/161415/2011/08/lion_encrypt_external_drive.html">FileVault2</a>, which has a full-disk encryption option. This means you can reformat the drive with encryption turned on, and everything on the disk is encrypted. It can be read by any Lion machine, if the password is entered. But without the password, on any machine, it&#8217;s just meaningless random noise. Definitely worth doing if you leave the drives somewhere where you don&#8217;t have the key (eg my desk drawer, tho I have one now). Sadly, it&#8217;s not supported pre-Lion, but something like <a href="http://www.truecrypt.org/">TrueCrypt</a> is. FileVault is just a bit easier to use.</p>
<blockquote><p>NOTE: if you format a drive to use FileVault, you WILL lose whats on it, so make sure you have it somewhere else. Or do it on a new, clean drive.</p></blockquote>
<p>Another option is to use an external &#8220;cloud&#8221; backup service for this, one like <a href="http://www.carbonite.co.uk">Carbonite</a>. Personally, while I trust these services (most encrypt the data before it leaves your machine), I don&#8217;t like the delay and resource usage of pushing around 2TB of data over a 1Mbps internet connection. Sure, once it&#8217;s done the first time, it&#8217;ll be quicker, but thats going to take 4-6 months to upload. But if it works for you, it&#8217;s a good option, and also transparent like Time Machine.</p>
<p><strong>The last level we have is not really backup, it&#8217;s more redundancy.</strong> We have a <a href="http://www.drobo.com/products/professionals/drobo-fs/index.php">DROBO FS</a>, which is a 5 disk NAS box, with around 8TB of raw disk in it (4x 2TB, one bay free). I have it setup for 2 disk redundancy, which means 2 disks can die at the same time, without losing any data. We &#8220;only&#8221; end up with about 3.9TB of space on there, but it&#8217;s an easy trade off.</p>
<p>The DROBO is used as a smart file store. It has our media (TV and movies), documents, and all of Leonie&#8217;s photos on it. It&#8217;s easy to setup and use, and very easy to handle if a disk fails. If we run out of disk space, I can upgrade the 4x 2TB drives in it with up to 5x 4TB drive, which means we&#8217;d have 20TB of space, and around 10TB usable, all without even turning the device off.</p>
<p>To be honest, while I&#8217;m happy with it, the DROBO option is total overkill for most people, possibly including us. I got it because Leonie was running out of internal drive space, we wanted as close to zero chance of data loss as possible, and also wanted something which was shared between us. There are definitely cheaper and faster options &#8211; in hindsight, I might have gone for one of the smaller <a href="http://www.g-technology.com/products/g-raid.cfm">G-RAID devices</a>, which are USB/Firewire drives which have a high level of redundancy built in (2 drives, mirrored), and connected it as a shared drive on the Mac Mini. But we have the DROBO now, and it works well. Even the base DROBO (which is USB/Firewire) is a lot cheaper, but I wanted something network-connected.</p>
<p><strong>The bottom line:</strong> If you are not backing up, stop now and order an external drive and start doing it. There is no reason not to. If you are using Windows, there are equivalents to all of this, and even the built in Windows backup stuff is good enough, tho not quite as convenient as Time Machine.</p>
<p><strong>One point of note:</strong> Apple sells most of the stuff I&#8217;ve mentioned here, but they are usually around 40% less at Amazon. Unless you are buying a Mac, iPad/iPhone or other Apple-branded device, NEVER EVER buy hardware from the Apple Store.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2012/01/24/backing-up-you-do-dont-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Did Apple move it&#8217;s manufacturing to &#8220;the cloud&#8221;?</title>
		<link>http://www.fastchicken.co.nz/2012/01/22/did-apple-move-its-manufacturing-to-the-cloud/</link>
		<comments>http://www.fastchicken.co.nz/2012/01/22/did-apple-move-its-manufacturing-to-the-cloud/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 12:53:00 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1940</guid>
		<description><![CDATA[From the New York Times For Mr. Cook, the focus on Asia “came down to two things,” said one former high-ranking Apple executive. Factories in Asia “can scale up and down faster” and “Asian supply chains have surpassed what’s in the U.S.” The result is that “we can’t compete at this point,” the executive said. Sounds like the same reason ...]]></description>
			<content:encoded><![CDATA[<p>From the <a href="http://www.nytimes.com/2012/01/22/business/apple-america-and-a-squeezed-middle-class.html?_r=1&amp;pagewanted=all">New York Times</a></p>
<blockquote><p>For Mr. Cook, the focus on Asia “came down to two things,” said one former high-ranking Apple executive. Factories in Asia “can scale up and down faster” and “Asian supply chains have surpassed what’s in the U.S.” The result is that “we can’t compete at this point,” the executive said.</p></blockquote>
<p>Sounds like the same reason people move to cloud-based hosting and services. Fast scaling, and support services. Replace Asia with AWS and it reads as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2012/01/22/did-apple-move-its-manufacturing-to-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starbucks app: Breaking the rules and making coffee</title>
		<link>http://www.fastchicken.co.nz/2012/01/05/starbucks-app-breaking-the-rules-and-making-coffee/</link>
		<comments>http://www.fastchicken.co.nz/2012/01/05/starbucks-app-breaking-the-rules-and-making-coffee/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 14:37:12 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1918</guid>
		<description><![CDATA[OK, I&#8217;m going to try REALLY hard to not rant against Starbucks &#8220;coffee&#8221;, because while I will not drink it except in desperation, I know a lot of people will, and I&#8217;d rather not judge you based on your caffeine consumption habits. [Note: I worked it out in the end, by looking at Amazon's app (not the Kindle one). Corrections ...]]></description>
			<content:encoded><![CDATA[<p>OK, I&#8217;m going to try REALLY hard to not rant against Starbucks &#8220;coffee&#8221;, because while I will not drink it except in desperation, I know a lot of people will, and I&#8217;d rather not judge you based on your caffeine consumption habits.</p>
<p>[Note: I worked it out in the end, by looking at Amazon's app (not the Kindle one). Corrections down the bottom]</p>
<p>But the thing that gets me about their new app &#8211; which is otherwise a really nice idea, well executed &#8211; is Apple&#8217;s allowing it in the app store at all. [<a href="http://itunes.apple.com/us/app/starbucks/id331177714?mt=8">US Appstore</a>. <a href="http://itunes.apple.com/gb/app/starbucks-uk/id354889415?mt=8">UK Appstore</a>]</p>
<p>Here&#8217;s how it works. You get yourself a Starbucks card, which is a credit card look-alike, and you load an amount of money onto it at the till. Once you have it loaded up, you can just swipe the card to pay for your coffee.</p>
<p>So far, so good, and so damn useful. I wish most of the smaller cafe&#8217;s I go to had this*.</p>
<p>So, the app is an electronic version of this. You enter your card number and CSC (same idea as a credit card), and you can then scan the card instore and pay for your coffee using your phone.</p>
<p>BRILLIANT. CLAP CLAP (and not the slow-clap version)</p>
<p style="text-align: center;"><a href="http://www.fastchicken.co.nz/wp-content/uploads/2012/01/Photo-05-01-2012-13-58-42.png"><img class="alignnone size-medium wp-image-1919" title="Photo 05-01-2012 13 58 42" src="http://www.fastchicken.co.nz/wp-content/uploads/2012/01/Photo-05-01-2012-13-58-42-200x300.png" alt="" width="200" height="300" /></a> <a href="http://www.fastchicken.co.nz/wp-content/uploads/2012/01/Photo-05-01-2012-13-58-49.png"><img class="alignnone size-medium wp-image-1920" title="Photo 05-01-2012 13 58 49" src="http://www.fastchicken.co.nz/wp-content/uploads/2012/01/Photo-05-01-2012-13-58-49-200x300.png" alt="" width="200" height="300" /></a></p>
<p>Now, to top up your card, you can do it two ways, and this is where it all gets a bit&#8230;. inconsistent.</p>
<ul>
<li>You can go into a SB&#8217;s and, like normal, add credit to your card. No problem there at all.</li>
<li>You can go into the app, enter your credit card details, and top up your card there.</li>
</ul>
<p>Now, the last one sets of alarm bells for me, having been rejected a few times for daring to even link to a signup page without giving Apple their 30%**. From the <a href="https://developer.apple.com/appstore/resources/approval/guidelines.html#purchasing-currencies">AppStore Review Guidelines</a>, which are normally very clear and followed by Apple:</p>
<blockquote><p><strong>11.2: </strong>Apps utilizing a system other than the In App Purchase API (IAP) to purchase content, functionality, or services in an app will be rejected<br />
<strong>11.3:</strong> Apps using IAP to purchase physical goods or goods and services used outside of the application will be rejected<br />
<strong>11.13: </strong>Apps that link to external mechanisms for purchases or subscriptions to be used in the app, such as a “buy” button that goes to a web site to purchase a digital book, will be rejected</p></blockquote>
<p>&nbsp;</p>
<p>OK, so if I get this correctly:</p>
<ol>
<li>You can&#8217;t use IAP in an app to purchase goods or services which are used outside of the app. So I can&#8217;t use IAP to buy a book from Amazon. Fair enough.</li>
<li>You can&#8217;t use any system OTHER than IAP in an app.</li>
<li>If you put in a mechanism to buy something which is external to IAP, for use in the app, and you get rejected. (or is is a loophole that, because the credit card collection is IN-app, it&#8217;s ok?)</li>
<li>It appears to be ok to use a non IAP method to take payment for physical goods or services which are used outside of the app. (The Starbucks exception). But wouldn&#8217;t this allow me to buy a book (physical goods?) inside an app. And it appears you can do. You just can&#8217;t buy something (a book) to be consumed inside the app (Kindle) &#8211; even if it&#8217;s mostly useful OUTSIDE the app (eg, on a Kindle).</li>
</ol>
<p><del>So how do Starbucks get away with asking you to enter your credit card details to buy credit? I can see they can&#8217;t use IAP (11.3) as, last time I checked, my phone can&#8217;t make espresso for me. And they can&#8217;t use any payment method other than IAP, nor can they ask for your credit card and process the payment themselves&#8230;.</del></p>
<p>So that&#8217;s how Starbucks get away with it. Because they are taking payment using an external provider (so Apple doesn&#8217;t have to deal with refunds), for things which can&#8217;t be consumed inside the app, it&#8217;s allowed. So I guess if I had an app which allowed you to sign up to a separate service from within the app (one which the app didn&#8217;t integrate with), it should be allowed. I hope.</p>
<p style="text-align: center;"><strong>Did I miss something here??? Or is Starbucks getting preferential treatment? (Looks like I did!)</strong></p>
<p>Apple: Nothing if not consistent with AppStore rules. I&#8217;d be very happy if Apple relaxed the rules around this, and IAP was used only for things which are consumed or used in the app. eg, if you write an expense tracking app, and want to sell the function of taking photos: fine. IAP from in the app. Makes perfect sense. But if the app&#8217;s &#8220;up sell&#8221; is for full service accounting, and the app is a very small, minor part of that, then no.</p>
<p>However, if they did, they would have to allow the one-click purchase of Amazon content in the Kindle app, and I don&#8217;t think Apple wants to do that.</p>
<p>It all comes down to what you are purchasing:</p>
<ul>
<li>Physical: do your own payments. Sell whatever inside the app.</li>
<li>Digital, or consumed within the app: IAP only</li>
<li><strong>The edge case:</strong> something which is digital (ebook?) but is NOT consumed with the app: Allowed? Amazon doesn&#8217;t do it in their shopping app, for buying kindle books, but really, they should be allowed.</li>
</ul>
<p>&nbsp;</p>
<p>*sadly, I work in a coffee desert at the moment. Chiswick could REALLY do with a good cafe or 2.</p>
<p>** yes, apple expected 30% of the monthly accountancy fee&#8217;s charged by <a href="http://www.myaccountantfriend.com">My Accountant Friend</a>, in their <a href="http://itunes.apple.com/gb/app/my-accountant-friend-2/id446404989?mt=8">Version 2 app</a>, just for linking to a page with their signup form on it. Odd, given the app is clearly only for existing customers (it&#8217;s the first line of the description, in HUGE letters).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2012/01/05/starbucks-app-breaking-the-rules-and-making-coffee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Headphones and open offices</title>
		<link>http://www.fastchicken.co.nz/2011/12/30/headphones-and-open-offices/</link>
		<comments>http://www.fastchicken.co.nz/2011/12/30/headphones-and-open-offices/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 15:35:00 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1907</guid>
		<description><![CDATA[Marco Arment brilliantly puts into words what I think about open plan offices and headphones. (about 20 mins in) I really enjoy being in the headphones, being in the closed off environment, where I can block out noise distractions&#8230;.. (at tumbler) if I wasn&#8217;t wearing headphones, I wasn&#8217;t working very hard. I could leave my headphones off and process email ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.marco.org/">Marco Arment</a> <a href="http://5by5.tv/buildanalyze/57">brilliantly puts into words</a> what I think about open plan offices and headphones. (about 20 mins in)</p>
<blockquote><p>
I really enjoy being in the headphones, being in the closed off environment, where I can block out noise distractions&#8230;..</p>
<p>(at tumbler) if I wasn&#8217;t wearing headphones, I wasn&#8217;t working very hard. I could leave my headphones off and process email and crap, go thru mindless tasks, but if I was really coding something, building something, debugging something, or working on something difficult or in-depth, I was always in my headphones. </p>
</blockquote>
<p>If I&#8217;m listening to podcasts at work, I&#8217;m not working. If I&#8217;m listening to trance or ambient (my preference), especially long mixes (3-6 hour mixes), I&#8217;m working, and I can lose a day in code in the blink of an eye.  </p>
<p>I&#8217;ve been thru a few different pairs of headphones over the past few years. (Marco also has a <a href="http://www.marco.org/2011/12/24/open-vs-closed-headphones">good post on that, too</a>, tho I disagree with some of his choices)</p>
<ul>
<li><a href="http://www.amazon.co.uk/Sennheiser-HD-558-Headphones-Technology/dp/B004FEEY9A/ref=sr_1_1?ie=UTF8&#038;qid=1325257131&#038;sr=8-1">Sennheiser 555 (open)</a>. Amazing sound. Will never break. Might get you killed by your office mates as they can clearly hear what you are listening to.</li>
<li><a href="http://www.amazon.co.uk/Sennheiser-HD-380-Pro-Collapsible/dp/B001UE6I0G/ref=sr_1_1?s=electronics&#038;ie=UTF8&#038;qid=1325257180&#038;sr=1-1">Sennheiser 380pro (closed)</a>. Great headphones, but the coiled cable is next to useless, as it weighs twice that of the headphones. I&#8217;d still have these if it wasn&#8217;t for the cable</li>
<li><a href="http://www.amazon.co.uk/Monster-Beats-Studio-Definition-Headphones/dp/B001DD55OE/ref=sr_1_1?s=electronics&#038;ie=UTF8&#038;qid=1325257226&#038;sr=1-1">Monster Beats Studio (closed, noise cancelling)</a>. My current cans. Over priced at £350, but I got them at a steep discount (universal is the main seller of them), and Amazon has them for £230. Audio is brilliant, and while &#8220;heavy&#8221; they are not excessively heavy, and feel well built. And the cables stay out of the way. HIGHLY recommended if you can afford them, or can get them at a good discount. Only downside is that you have to have power (AAA batteries) to use them. But that&#8217;s quite minor.</li>
</ul>
<p>Now, to find a good way to get rid of visual distraction, and I&#8217;m set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2011/12/30/headphones-and-open-offices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Christmas CSS and CDN fun</title>
		<link>http://www.fastchicken.co.nz/2011/12/22/christmas-css-and-cdn-fun/</link>
		<comments>http://www.fastchicken.co.nz/2011/12/22/christmas-css-and-cdn-fun/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 15:41:45 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1887</guid>
		<description><![CDATA[Ah yes. Back to the (semi) technical topics. On the site we are working on, we serve everything except the HTML (via Umbraco) from a CDN. Littered throughout the code and references like: &#60;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;&#60;%= CDNHelper.WrapUrl(&#8220;/css/base.css&#8221;) %&#62;&#8221; /&#62; .. but for CSS, JS and any images we have. The WrapUrl call just checks to see if we are ...]]></description>
			<content:encoded><![CDATA[<p>Ah yes. Back to the (semi) technical topics.</p>
<p>On the site we are working on, we serve everything except the HTML (via Umbraco) from a CDN. Littered throughout the code and references like:</p>
<blockquote><p><strong>&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;&lt;%= CDNHelper.WrapUrl(&#8220;/css/base.css&#8221;) %&gt;&#8221; /&gt;</strong></p></blockquote>
<p>.. but for CSS, JS and any images we have. The WrapUrl call just checks to see if we are using a CDN (we don&#8217;t on dev), and puts the URL prefix (http://cdn.com/) and a suffix based on the time or fixed value at the end. So we started with</p>
<blockquote><p><strong>/css/base.css</strong></p></blockquote>
<p>and on dev, we still have that. But on live, we have</p>
<blockquote><p><strong>http://cdn.com/css/base.css?0115</strong></p></blockquote>
<p>the 0115 is a rolling value, which is used to cache-bust evey 15 mins (normally you&#8217;d do it on roll out, but we have users/editors editing css files on the live site, so we need to be able to invalidate on a regular basis, without rolling out again)</p>
<p>While this is trivial in ASPX-generated pages (we use Umbraco, so it&#8217;s all ASPX masterpages and Razor macros), it&#8217;s a lot harder in a .css file, as these files are not normally processed.</p>
<p>The solution, which I thought was going to be way, WAY too slow to use on a high traffic site, was to use a HTTP Handler to intercept *.css and rewrite it on the fly. It turns out that the rewrite on a reasonable sized CSS file is around 0ms</p>
<p>Seriously. I had to double check the stopwatch with a Thread.Sleep(500); to make sure it was working.</p>
<p>On the way thru, we can hold the results in cache (so we dont even need to do the 0ms of processing again until it expires), and serve up a nice cache-busting CSS file.</p>
<p>GitHub Gist: <a href="https://gist.github.com/1510675">CSSRewiteHandler.cs</a></p>
<p>Next steps are to add CSS minification and maybe do the same for Javascript.</p>
<p>All very easy &#8211; in the end &#8211; and very, very fast. No chance I&#8217;m rolling this out the day before I go away on holiday tho!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2011/12/22/christmas-css-and-cdn-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ranting about things I can&#8217;t change: the Music function in iOS</title>
		<link>http://www.fastchicken.co.nz/2011/11/18/ranting-about-things-i-cant-change-the-music-function-in-ios/</link>
		<comments>http://www.fastchicken.co.nz/2011/11/18/ranting-about-things-i-cant-change-the-music-function-in-ios/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 11:25:15 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1858</guid>
		<description><![CDATA[First up, I realise this is pointless, but it&#8217;s been pissing me off for ages. &#60;rant&#62; [Update: this is now in Apple's bug system as BugID: 10469092] I have fairly large fingers. They are not huge, but they are not dainty lady-hipster-fingers, either. Most things in iOS &#8211; actually, everything in iOS except this &#8211; works great with my chubby digits. ...]]></description>
			<content:encoded><![CDATA[<p>First up, I realise this is pointless, but it&#8217;s been pissing me off for ages. &lt;rant&gt;</p>
<p>[Update: this is now in Apple's bug system as BugID: 10469092]</p>
<p>I have fairly large fingers. They are not huge, but they are not dainty lady-hipster-fingers, either. Most things in iOS &#8211; actually, <em>everything</em> in iOS except this &#8211; works great with my chubby digits.</p>
<p><img class="size-medium wp-image-1860 aligncenter" title="Photo 18-11-2011 10 38 03" src="http://www.fastchicken.co.nz/wp-content/uploads/2011/11/Photo-18-11-2011-10-38-03-200x300.png" alt="" width="200" height="300" /></p>
<p>The first one is the most minor. The controls at the top of the screen &#8211; where the slider is &#8211; is so closely spaced that it&#8217;s nearly impossible to use the scrubber if it&#8217;s near the genius button. You have to deliberately tap above the scrubber to hit it, which defeats the purpose. On the plus side, if you miss, it does nothing, rather than hitting the genius button. This doesn&#8217;t piss me off too much, but mostly &#8216;cos I don&#8217;t use it that much.</p>
<p>The spacing of the prev/next/play/pause button at the bottom is ok in the screenshot, but if you have airplay speakers, they get bunched up a bit. Which leads me to&#8230;.</p>
<p>&#8230; the lock screen:</p>
<p><a href="http://www.fastchicken.co.nz/wp-content/uploads/2011/11/Photo-18-11-2011-10-37-34.png"><img class="aligncenter size-medium wp-image-1859" title="Photo 18-11-2011 10 37 34" src="http://www.fastchicken.co.nz/wp-content/uploads/2011/11/Photo-18-11-2011-10-37-34-200x300.png" alt="" width="200" height="300" /></a></p>
<p><strong>This is my main frustration, as I use this screen a lot</strong> (you get to it by double-tapping the home button when the phone is locked). The play/pause/next/previous buttons are very close together, making it too easy to hit the previous button when you want to pause.</p>
<p>If you are in the middle of a 2 hour podcast, you are now at the start. Sucks to be you. (or me, in this case).</p>
<p>Again, if airplay speakers are detected on the network, that icon is added on the right, and everything shuffles over. In normal use, it&#8217;s kinda hard to see, so here&#8217;s a crop and merge of the two areas, with red showing the standard 44px x 44px button hit target.</p>
<p><a href="http://www.fastchicken.co.nz/wp-content/uploads/2011/11/buttonrant.png"><img class="aligncenter size-medium wp-image-1861" title="buttonrant" src="http://www.fastchicken.co.nz/wp-content/uploads/2011/11/buttonrant-300x210.png" alt="" width="300" height="210" /></a></p>
<p>The main problem I have is, there is space to fix this. There is a massive amount of space on the left and right of the next/prev buttons, so it&#8217;s not like it&#8217;s a lack-of-space issue. For me, this is the most un-Apple thing about the iPhone. The solution is easy, too: make it the same spacing as the Music app.</p>
<p>Job. Done.</p>
<p>&lt;/rant&gt;</p>
<p>I&#8217;m off to Radar (their bug system) to submit it &#8211; again &#8211; as a bug.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2011/11/18/ranting-about-things-i-cant-change-the-music-function-in-ios/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nearest Bus 1.2.1 and mobileAgent 1.7 are available!</title>
		<link>http://www.fastchicken.co.nz/2011/11/11/nearest-bus-1-2-1-and-mobileagent-1-7-are-available/</link>
		<comments>http://www.fastchicken.co.nz/2011/11/11/nearest-bus-1-2-1-and-mobileagent-1-7-are-available/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 14:02:15 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[mobileAgent]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1843</guid>
		<description><![CDATA[With Leonie away for a week in Mexico, I got a lot of back-dated bugs and little fixes done on both of these apps. Nearest Bus was the first to get an update. [AppStore] If you tap on the bus you are interested in, it will set an alert on your phone for 2 mins before the bus is scheduled ...]]></description>
			<content:encoded><![CDATA[<p>With Leonie away for a week in Mexico, I got a lot of back-dated bugs and little fixes done on both of these apps.</p>
<p><strong><a title="Nearest Bus" href="http://www.fastchicken.co.nz/nearestbus/">Nearest Bus</a> was the first to get an update</strong>. [<a href="http://itunes.apple.com/gb/app/nearest-bus/id467335377?ls=1&amp;mt=8">AppStore</a>]</p>
<ul>
<li>If you tap on the bus you are interested in, it will set an alert on your phone for 2 mins before the bus is scheduled to arrive. Like any other alert, it shows up in the Notification Centre in iOS, and will play whatever default sound you have setup. Quite handy if you bus is 15 mins away and you want to run for a coffee. What it does NOT do is keep asking TfL for when the bus is scheduled to arrive &#8211; if the bus suddenly gets a turbo boost, you may still be late for it!</li>
<li>There is also a minor (in terms of amount of code) bug which was causing the app to crash. It was only at certain stops (Hackney Town Hall was one of them) which had a double-space in the TfL-provided title. This doesn&#8217;t happen any more.</li>
</ul>
<p><strong><a title="MobileAgent for FreeAgent, IRIS Openbooks, My Business Works and others" href="http://www.fastchicken.co.nz/mobileagent/">mobileAgent</a> also got an update to v1.7</strong>. This was also mostly a bug-fix update. [<a href="http://itunes.apple.com/gb/app/id397667378?mt=8">AppStore</a>]</p>
<ul>
<li>There is now a switch in the Settings app which allows you to turn off display of Bank Account information. Handy if others are likely to pick up your phone, and you don&#8217;t want them to see your bank balances (however setting a pin on the device &#8211; or on mobileAgent &#8211; is a better idea)</li>
<li>And bug fixes around Credit Notes always showing in the invoices section; When an image is selected in expenses or receipts, sometimes the screen doesn&#8217;t update to show it&#8217;s been selected (even tho it has); More checking of email addresses for contacts;</li>
<li>And finally, it now uses the new FreeAgent domain &#8211; freeagent.com. You can still use .freeagentcentral.com, but the app will use .freeagent.com if it&#8217;s not told otherwise.</li>
</ul>
<div>As always, updates are free and available on the appstore. And if you don&#8217;t have these apps, click on the AppStore links above to get them.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2011/11/11/nearest-bus-1-2-1-and-mobileagent-1-7-are-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>London Bike App source code now available</title>
		<link>http://www.fastchicken.co.nz/2011/11/02/london-bike-app-source-code-now-available/</link>
		<comments>http://www.fastchicken.co.nz/2011/11/02/london-bike-app-source-code-now-available/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 21:05:31 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[MonoTouch]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1836</guid>
		<description><![CDATA[Recently, on the MonoTouch list, there have been a lot of questions around things which, for me, are fairly basic, including UITabController MonoTouch.Dialog and UITableViews Location awareness GC issues I thought a good way to try to help people would be to release a full, working app, which illustrates this. Hence London Bike App. London Bike App is a fully working application, ...]]></description>
			<content:encoded><![CDATA[<p>Recently, on the <a href="http://ios.xamarin.com/community">MonoTouch list</a>, there have been a lot of questions around things which, for me, are fairly basic, including</p>
<ul>
<li>UITabController</li>
<li>MonoTouch.Dialog and UITableViews</li>
<li>Location awareness</li>
<li>GC issues</li>
</ul>
<p>I thought a good way to try to help people would be to release a full, working app, which illustrates this. Hence <a href="https://github.com/nicwise/londonbikeapp">London Bike App</a>.</p>
<p><a href="/londonbikeapp">London Bike App</a> is a fully working application, with a few minor changes:</p>
<ul>
<li>I&#8217;ve removed the web service calls, as they call into an AppEngine instance, and it is possible to hit it enough to either bring it down (well, stop it working), or cost me money. It now hits static files of the same format.</li>
<li>I&#8217;ve removed my developer keys for <a href="http://cloudmade.com/">cloudmade</a> and <a href="http://www.cyclestreets.net/">cyclestreets</a>, however both offer the keys for free.</li>
<li>I&#8217;ve removed the Retina quality images, as they are part of the <a href="http://glyphish.com/">Glyphish</a> set, which is paid for. It DOES include the Creative-Commons licensed standard resolution versions.</li>
</ul>
<p>You can use it for whatever you like (under the same MIT X11 license that Mono uses), however you cannot make an application which competes directly with London Bike App. you can make one for Paris, or reuse any of the code for your own app, just don&#8217;t recompile it and release it.</p>
<p>Enjoy &#8211; and please comment here, or post on the <a href="http://ios.xamarin.com/community">MonoTouch forums/mailing list</a>, and ask any questions.</p>
<p>And if you want, feel free to look at / buy my other apps, all of which are done with MonoTouch:</p>
<ul>
<li><a href="/nearestbus">Nearest Bus</a> (useful if you are in London)</li>
<li><a href="/tripwallet">Trip Wallet</a></li>
<li><a href="/mobileagent">mobileAgent</a> (good if you are a use of FreeAgent)</li>
</ul>
<p>Sadly, it&#8217;s not quite as advanced as <a href="http://www.ubergizmo.com/2011/11/doom-3-engine-ready-for-open-source-action/">another certain little thing which has source coming shortly</a>, but we can&#8217;t all be <a href="https://twitter.com/#!/ID_AA_Carmack/statuses/131043043469041665">@ID_AA_Carmack</a></p>
<p>And if you are wondering what MonoTouch is, and why it&#8217;s cool, <a href="http://www.fastchicken.co.nz/2011/09/15/c-its-just-not-portable/">have a read of this</a> (esp if you are a C# developer)</p>
<p><a href="https://github.com/nicwise/londonbikeapp">Get it on GitHub</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2011/11/02/london-bike-app-source-code-now-available/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nearest Bus 1.2 is out, with Favourites</title>
		<link>http://www.fastchicken.co.nz/2011/11/02/nearest-bus-1-2-is-out-with-favourites/</link>
		<comments>http://www.fastchicken.co.nz/2011/11/02/nearest-bus-1-2-is-out-with-favourites/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 10:45:20 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1832</guid>
		<description><![CDATA[The latest release of Nearest Bus was approved by Apple a few days ago, and is now available in the AppStore. This release includes Favourites, which allows you to mark a stop as a favourite, and if you are within 2km of the stop, it will show up. Favourites are shown on the left side of the closest stop, where ...]]></description>
			<content:encoded><![CDATA[<p>The latest release of <a title="Nearest Bus" href="http://www.fastchicken.co.nz/nearestbus/">Nearest Bus</a> was approved by Apple a few days ago, and is <a href="http://itunes.apple.com/gb/app/nearest-bus/id467335377?ls=1&amp;mt=8">now available in the AppStore</a>.</p>
<p>This release includes Favourites, which allows you to mark a stop as a favourite, and if you are within 2km of the stop, it will show up. Favourites are shown on the left side of the closest stop, where as normal stops are shown to the right.</p>
<div style="text-align: center;"><img class="size-medium wp-image-1826" title="Photo 02-11-2011 10 23 36" src="http://www.fastchicken.co.nz/wp-content/uploads/2011/10/Photo-02-11-2011-10-23-36-200x300.png" alt="" width="200" height="300" /> <img class="size-medium wp-image-1824" title="Photo 02-11-2011 10 23 19" src="http://www.fastchicken.co.nz/wp-content/uploads/2011/10/Photo-02-11-2011-10-23-19-200x300.png" alt="" width="200" height="300" /></div>
<p>Also added is a refresh function &#8211; if you need to refresh all the stops and your location, just shake your phone gently, and it will refresh.</p>
<p><a title="Nearest Bus" href="http://www.fastchicken.co.nz/nearestbus/">Nearest Bus</a> is now available in the appstore</p>
<p><a href="http://itunes.apple.com/gb/app/nearest-bus/id467335377?ls=1&amp;mt=8"><img class="size-full wp-image-1102" title="appstore" src="http://www.fastchicken.co.nz/wp-content/uploads/2010/10/appstore.jpg" alt="" width="161" height="60" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2011/11/02/nearest-bus-1-2-is-out-with-favourites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A bit of a rant on Smartphone platforms</title>
		<link>http://www.fastchicken.co.nz/2011/10/13/a-bit-of-a-rant-on-smartphone-platforms/</link>
		<comments>http://www.fastchicken.co.nz/2011/10/13/a-bit-of-a-rant-on-smartphone-platforms/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 10:47:52 +0000</pubDate>
		<dc:creator>nicwise</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.fastchicken.co.nz/?p=1756</guid>
		<description><![CDATA[So reports have it that the RIM/Blackberry issue which has taken Blackberries worldwide out of service, was down to &#8220;unidentified technical debt&#8221;. According to software experts at CAST, the reason for the problem is down to ‘unidentified technical debt’.  While not the same as financial debt, it is likely to have the same effect on RIM. Now, for a normal person ...]]></description>
			<content:encoded><![CDATA[<p>So <a href="http://news.techeye.net/mobile/rims-own-phones-on-the-blink-as-outage-continues">reports have it that</a> the RIM/Blackberry issue which has taken Blackberries worldwide out of service, was down to &#8220;unidentified technical debt&#8221;.</p>
<blockquote><p>According to software experts at CAST, the reason for the problem is down to ‘unidentified technical debt’.  While not the same as financial debt, it is likely to have the same effect on RIM.</p></blockquote>
<p>Now, for a normal person (ie, user of BIS), that phrase sounds technical, but really, its TOTAL BULLSHIT. Technical Debt is the term used when you are developing software, and you do something to make it work, with the intention of coming back later to make it work properly. The debt is incurred as you have to pay back the time to &#8220;received&#8221; doing the quick hack later.</p>
<p>For example, you might write something to iterate over a list of names. The quick way works fine for 100 names, but if it has 1000 or 10,000, then it&#8217;ll take exponentially longer (eg, 1s for 100, 100s for 1000, 100,000s for 10,000 names).</p>
<p>And if you don&#8217;t pay the debt back, it&#8217;ll usually bite you &#8211; it&#8217;ll make it hard to implement something new, or in this case, it&#8217;ll cause your software to crash and burn. It&#8217;s an extreme example, but obviously an issue for RIM.</p>
<p>Basically, it is a strong sign of shoddy workmanship, and exceptionally poor management rushing software out.</p>
<p>But my rant is more about the 4 major platforms. There are now 2 I would refuse to use (or support) and one I&#8217;d be a bit shakey about.</p>
<ul>
<li><strong>Blackberry</strong>. Read above. Have a Google around &#8211; their software has been pretty lousy for a while (Playbook?). QNX might help, once they get it going&#8230; but BIS / BES was always a massive hog on Exchange servers, usually needing a dedicated client box for it. <strong>AVOID.</strong></li>
<li><strong>Android</strong>. The backend is good &#8211; Google can run a server &#8211; and the core should be good (Linux), but the apps, battery life, security and UI situation is bloody awful. The store is filled with fake ware and malware. Piracy is rife. Most Android users can&#8217;t get a working day (8 hours) out of the phone, even with turning off 3G, WIFI, GPS etc. And every time I use one (usually an HTC or Samsung Galaxy or S2) I feel my eyes burning at the UI. <strong>Not something I&#8217;d spend my own money one</strong>, tho I know a few people who like it (and more who hate it)<strong>.</strong></li>
<li><strong>Windows Phone 7.</strong> Microsoft have done well with this, and those few people who have them, really like it. It should be doing a lot better than it is, and the developer story is amaizing, especially if you are already .NET developer. My only grief with it is it&#8217;s based on Windows CE, which had some serious limitations. Maybe they fixed that (I hope they did!). <strong>Worth a look if you are a strong MS shop</strong>.</li>
<li>And then there is<strong> iOS</strong>. Of course, it&#8217;s my personal favourite, which should come as no surprise. It&#8217;s far, far from perfect, but so far, it&#8217;s the one with the least issues for me. The UI is getting a little dated (no change since 1.0?), but iOS5 on current hardware (iPad2 / iPhone4 &#8211; my 4S gets here tomorrow), it flys. It talks to all the major back ends (IMAP, POP, iCal/CalDav, Exchange etc), and getting apps doesn&#8217;t force you to risk your personal data. <strong>Obviously, I recommend it <img src='http://www.fastchicken.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></li>
</ul>
<p>One thing to remember tho, with the <a href="http://en.wikipedia.org/wiki/Dennis_Ritchie">passing of Dennis Ritchie this week</a>: Three out of the four OS&#8217;s above run on a flavour of Unix (QNX, Linux and OSX/iOS). The other one is likely to be influenced by it (what wasn&#8217;t?), and all are (I suspect) written in C or C++.</p>
<p><strong>Even if you have never heard of him until now, the impact of Dr Ritchie was massive.</strong></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fastchicken.co.nz/2011/10/13/a-bit-of-a-rant-on-smartphone-platforms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: www.fastchicken.co.nz @ 2012-02-05 08:58:25 -->
