<?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>Josh.st</title>
	<atom:link href="http://josh.st/feed/" rel="self" type="application/rss+xml" />
	<link>http://josh.st</link>
	<description>Web, English, 中国, and various geekosity</description>
	<lastBuildDate>Fri, 26 Apr 2013 07:56:37 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>SSI on OS X Mountain Lion Server 10.8.3</title>
		<link>http://josh.st/2013/04/26/ssi-on-os-x-mountain-lion-server-10-8-3/</link>
		<comments>http://josh.st/2013/04/26/ssi-on-os-x-mountain-lion-server-10-8-3/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 07:54:41 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[includes]]></category>
		<category><![CDATA[os x server]]></category>
		<category><![CDATA[ssi]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1758</guid>
		<description><![CDATA[We currently have a strong dependency on SSI at work and were recently offered a nicely-specc’d Xserve that was being retired for use as an in-house preview server. I’ve got my doubts about SSI, but we have literally thousands of templates that require it for includes. It also functions in subtly different ways to PHP, [...]]]></description>
				<content:encoded><![CDATA[<p>We currently have a strong dependency on <abbr title="Server Side Includes">SSI</abbr> at work and were recently offered a nicely-specc’d Xserve that was being retired for use as an in-house preview server.</p>
<p>I’ve got my doubts about SSI, but we have literally thousands of templates that require it for includes. It also functions in subtly different ways to PHP, and we’re not about to embark on any bulk conversions of our front-end templates into haml, jade, or whatever else is in vogue – the legacy cost is to great.</p>
<p>Apologia out of the way, we are using Mountain Lion’s in-built Apache 2.2 server after a trigger-happy rm –rf on my part killed a painstakingly crafted homebrew version implemented by a colleague.</p>
<h3>Config locations</h3>
<p>If you are using the in-built server, you are using virtual hosts.</p>
<p>This simple truth is not well documented online, so if you are spending time in <code>/etc/apache2/httpd.conf</code> you will not succeed. The default port 80 (non-SSL) vhost file is at <code>/Library/Server/Web/Config/apache2/sites/0000_any_80_.conf</code>.</p>
<h3>Enabling SSI parsing</h3>
<p>There’s ample info online about enabling mod_include, but what isn’t mentioned is that <em>you need a handler specified in the virtualhost config</em>.</p>
<p><code>AddHandler server-parsed .html</code> is all it takes, but this won’t necessarily have effect within your directive unless you tell it to.</p>
<p>An age old tale of computers doing exactly what you tell them. And a wasted Friday afternoon!</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2013/04/26/ssi-on-os-x-mountain-lion-server-10-8-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE7 expected a string, identifier or number</title>
		<link>http://josh.st/2012/04/19/ie7-expected-a-string-identifier-or-number/</link>
		<comments>http://josh.st/2012/04/19/ie7-expected-a-string-identifier-or-number/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 23:37:52 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[ie7]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[pebkac]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1734</guid>
		<description><![CDATA[JSON is nice to read. It’s also nice when parsers are forgiving, but here we are. I just spent ages chasing [what I thought was] a bug using $.getJSON in IE7 that turned out to be an issue with something else entirely. If you’re using $(el).css or .animate with JSON, make sure you’ve terminated all [...]]]></description>
				<content:encoded><![CDATA[<p>JSON is nice to read. It’s also nice when parsers are forgiving, but here we are.</p>
<p>I just spent ages chasing [what I thought was] a bug using $.getJSON in IE7 that turned out to be an issue with something else entirely.</p>
<p>If you’re using $(el).css or .animate with JSON, make sure you’ve terminated all items correctly and don’t have any hanging commas left over:</p>
<p><img src="http://josh.st/blog/wp-content/2012/03/unterminatedJSON.png" alt="Hanging comma at end of JSON params" title="Unterminated JSON. Not where you might think." width="245" height="65" class="alignnone size-full wp-image-1737" /></p>
<p>This case sent me particularly crazy as I was also dealing with an actual JSON request in the same general vicinity that I’d validated a bunch of times and seemed perfect.</p>
<p>Note to self: Before you go down the whitespace and text encoding rabbithole next time, make sure you’re actually checking the right JSON!</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2012/04/19/ie7-expected-a-string-identifier-or-number/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Some tips for mobile CSS</title>
		<link>http://josh.st/2012/03/06/some-tips-for-mobile-css/</link>
		<comments>http://josh.st/2012/03/06/some-tips-for-mobile-css/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 02:44:57 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1731</guid>
		<description><![CDATA[On “retina”/high DPI: SVG sprites are a beautiful thing. Make the canvas size work at a device ratio of 1, and capable user agents (read: mobile Safari) will do the hard work for you. Don’t create a double-resolution sprite, because you’ll need to manually re-declare all your sizing and positioning, which is no fun. Opera [...]]]></description>
				<content:encoded><![CDATA[<p>On “retina”/high DPI:</p>
<ul>
<li>SVG sprites are a beautiful thing. Make the canvas size work at a device ratio of 1, and capable user agents (read: mobile Safari) will do the hard work for you. Don’t create a double-resolution sprite, because you’ll need to manually re-declare all your sizing and positioning, which is no fun.</li>
<li>Opera supports SVG but doesn’t bother to scale it. In most cases, this means a well-quantised PNG is going to be smaller.</li>
<li>Opera’s device-pixel-ratios are actually expressed as ratios (x/y), as opposed to floats (1.5). I actually think this makes a lot of sense, though I’m pretty sure they’ve already lost this battle.</li>
<li>Mozilla/Fennec doesn’t do ratios in a standard way, either — their syntax is “min–moz-device-pixel-ratio”. They obviously missed the part where browser prefixes are supposed to be, well, prefixed. This was done back in late 2010 and they looked at the –webkit implementation first, before implementing it in a very different fashion without much debate. It’s a <a href="http://www.google.com/search?hl=en&amp;q=%22min--moz-device-pixel-ratio%22+%22-moz-min-device-pixel-ratio%22">mind-bogglingly undiscussed</a> issue on Bugzilla and the wider Internet.</li>
<li>Android DPI values for DevicesYouKnowAbout™ hover <a href="www.alistapart.com/articles/a-pixel-identity-crisis/">around the 1.5 mark</a>. Anything lower than this and the device capabilities probably don’t make it worthwhile, and anything higher is probably an iPhone. Higher resolution Android devices just don’t seem to exist, or, for the most part, report themselves as existing (March 2012 — yeah, the Nexus and Galaxy S2 and stuff are big, but don’t seem to be documented as reporting high DPIs).</li>
<li>Okay, so DPI values aren’t quite that simple. To quote A List Apart, “we don’t know what each device considers a pixel and this is a problem.” <a href="http://www.alistapart.com/articles/a-pixel-identity-crisis/">Read about it</a>, test lots, buy Android devices if you want to be sure.</li>
</ul>
<p>Miscellaneous gotchas:</p>
<ul>
<li>Certain Android variants — I don’t have enough devices to test conclusively — drop gradient backgrounds, opacity etc. (presumably for performance reasons) despite having “A grade” capabilities in a lot of other senses. Make sure you do simple things like having backgrounds and borders on elements that would have previously been divided by gradient contrast. Your featurephone visitors will also thank you. In an ideal world you’d probably progressively enhance these kind of things, rather than patching it up afterwards, but it’s easy to get caught up in the excitement of only needing to support “A Grade” browsers (accepting that IE is suitably banished from Mobile land) and just forget. Don’t forget.</li>
<li>Beware HTML5 manifests — they raise storage prompts that could scare some users in some browsers (“why is this site storing info about me?). They’re also actually not that effective unless you pin an app to the home screen, so reconsider your need to use one.</li>
<li>Fennec uses left/right swiping for accessing browser UI. This is a pretty dumb design decision, because it breaks left/right swiping gestures (think photo galleries). Expose an alternative UI (Next/Prev buttons perhaps?) for browsers that don’t do touch events in this way.</li>
<li>Windows Phone 7. You’ve heard good things, right? Kinda. It’s definitely up there, but early versions of this device (2011) had a browser that was more or less equivalent to IE7 with a few IE8 features thrown in for good measure. I’m not bothering to support it. However, even the latest versions (March 2012) don’t support touch events (!) so expect it to be even worse than Fennec for conventional swipe-driven mobile UI in the browser. It does have Canvas support, but apparently lacks SVG in the browser.</li>
<li>SVG gradient support is patchy (probably for similar reasons Android devices choose not to render CSS gradients)</li>
</ul>
<p>Tips:</p>
<ul>
<li>Use text-rendering: optimizeLegibility; on headings as it does great things on the iPhone 4. (via <a href="http://menacingcloud.com/?c=highPixelDensityDisplays">Menacing Cloud</a>)</li>
<li>Flash ads work. This is staggering, but true. Expect that Android devices will successfully display Flash ads, and pay attention to different markup that gets adserved for these devices as it will possibly impact your CSS.</li>
<li>Image based ads scale down quite well. It’s tricky getting mobile inventory smaller than 300px wide, but if you’re expecting 240px devices then just use max-width:100% for this. It’s better than breaking the layout or not serving ads to these screens, not that there are many of them left.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2012/03/06/some-tips-for-mobile-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You[r inner copywriter[/editor]] will love this.</title>
		<link>http://josh.st/2012/02/16/your-inner-copywritereditor-will-love-this/</link>
		<comments>http://josh.st/2012/02/16/your-inner-copywritereditor-will-love-this/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 02:16:13 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[responsive]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1728</guid>
		<description><![CDATA[[Visit] Telescopic Text. Click [[any of] the [first [three]]] words. (My formatting will make sense when you start using it)]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.telescopictext.com/"><img src="http://josh.st/blog/wp-content//2012/02/telescopic-text.png" alt="" title="Telescopic Text" width="251" height="237" /></a></p>
<p>[Visit] <a href="http://www.telescopictext.com/">Telescopic Text</a>.</p>
<p>Click [[any of] the [first [three]]] words.</p>
<p>(My formatting will make sense when you start using it)</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2012/02/16/your-inner-copywritereditor-will-love-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A solution to Auspost’s unhelpful suburb/postcode license</title>
		<link>http://josh.st/2012/02/11/auspost-suburb-postcode-free-license/</link>
		<comments>http://josh.st/2012/02/11/auspost-suburb-postcode-free-license/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 10:38:55 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1725</guid>
		<description><![CDATA[Australia Post provide a nice convenient CSV of all of their postcode data, and then proceed to make the license quite prohibitive. Commercial use? No. Open source modification? No. Redistribution? Nope. This is really annoying, but thankfully there’s another option. For your bookmarking pleasure, enter https://github.com/joahua/AusPostcode. It’s a CC-BY licensed version of suburb/postcode data in [...]]]></description>
				<content:encoded><![CDATA[<p>Australia Post provide a <a href="http://auspost.com.au/products-and-services/download-postcode-data.html">nice convenient CSV</a> of all of their postcode data, and then proceed to make the license quite prohibitive.</p>
<p>Commercial use? No. Open source modification? No. Redistribution? Nope.</p>
<p>This is really annoying, but thankfully there’s another option. For your bookmarking pleasure, enter <a href="https://github.com/joahua/AusPostcode" title="AusPostcode on GitHub">https://github.com/joahua/AusPostcode</a>. It’s a CC-BY licensed version of suburb/postcode data in both CSV and JSON formats (feel free to fork and submit a pull request if you’ve got others) based on Australian census data that’s much more permissively licensed.</p>
<p>Happy free/open-source postcoding!</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2012/02/11/auspost-suburb-postcode-free-license/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WebGL ready for primetime</title>
		<link>http://josh.st/2011/11/12/webgl-ready-for-primetime/</link>
		<comments>http://josh.st/2011/11/12/webgl-ready-for-primetime/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 07:12:25 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1715</guid>
		<description><![CDATA[A particularly timely email went around the office this morning about WebGL and 3D animation. All in all, it’s pretty depressing for us — but we’re on 2.5–3 year old hardware in some cases so the next generation won’t have the same issues. In fact, today’s mobile devices would probably demolish the desktops of yesteryear. [...]]]></description>
				<content:encoded><![CDATA[<p>A <a title="Flash crawls off into the darkness" href="http://blogs.adobe.com/flashplatform/2011/11/flash-to-focus-on-pc-browsing-and-mobile-apps-adobe-to-more-aggressively-contribute-to-html5.html">particularly timely</a> email went around the office this morning about WebGL and 3D animation.</p>
<p>All in all, it’s pretty depressing for us — but we’re on 2.5–3 year old hardware in some cases so the next generation won’t have the same issues. In fact, today’s <a href="http://www.theverge.com/2011/11/9/2546597/nvidia-tegra-3-launch-quad-core-kal-el">mobile devices</a> would probably demolish the desktops of yesteryear.</p>
<blockquote><p><strong>From:</strong> Sam<br />
<strong>Sent:</strong> Thursday, 10 November 2011 9:02 AM<br />
<strong>To:</strong> Web Developers Frontend-DL<br />
<strong>Subject:</strong> Three.js — 3D Animation in jQuery</p>
<p>The Web GL examples may not work if you have an older computer. I tried them at home – pretty cool.<br />
<a href="http://mrdoob.github.com/three.js/">http://mrdoob.github.com/three.js/</a></p>
<p>This one is particularly cool<br />
<a href="http://alteredqualia.com/three/examples/webgl_terrain_dynamic.html">http://alteredqualia.com/three/examples/webgl_terrain_dynamic.html</a></p>
<p>Sam</p>
<p><strong>From:</strong> Fiona<br />
<strong>Sent:</strong> Thursday, 10 November 2011 9:09 AM<br />
<strong>To:</strong> Sam; Web Developers Frontend-DL<br />
<strong>Subject:</strong> RE: Three.js — 3D Animation in jQuery</p>
<p>:(</p>
<p><img class="alignnone size-full wp-image-1717" src="http://josh.st/blog/wp-content/2011/11/browser-support.png" alt="Browser support - your graphics card doesn't work" width="598" height="137" /></p>
<p><strong>From:</strong> Josh Street<br />
<strong>Sent:</strong> Thursday, 10 November 2011 9:14 AM<br />
<strong>To:</strong> Fiona; Sam; Web Developers Frontend-DL<br />
<strong>Subject:</strong> RE: Three.js — 3D Animation in jQuery</p>
<p>Doh.</p>
<p><img class="alignnone size-full wp-image-1716" src="http://josh.st/blog/wp-content/2011/11/vpu-recover.png" alt="VPU recover prompt" width="435" height="319" /></p>
<p><strong>From:</strong> Sam<br />
<strong>Sent:</strong> Thursday, 10 November 2011 9:18 AM<br />
<strong>To:</strong> Web Developers Frontend-DL; Anton; Darian<br />
<strong>Subject:</strong> Three.js — 3D Animation in jQuery</p>
<p>Safe to assume it’s not ready to go mainstream just yet.</p>
<p>Imagine IE6 trying to deal with it…</p></blockquote>
<p>IE6 is probably not relevant anymore, but the real issue is IE7-9. On the basis of something that’s mostly software related — whether at a level of browser support for different graphics cards, or a user’s access to a particular browser at all — we’re inhibited from deploying particularly cool/useful technologies.</p>
<p>This is an old story. Users take too long to upgrade.</p>
<p>The difference here is that, post Windows XP, upgrades aren’t being held back by hardware or platform anymore. Performance has plateaued across desktops as integrated graphics are “good enough” for many applications (see system-on-a-chip mobile solutions where CPU and GPU are tightly — and beneficially– integrated) and discrete graphics are blazingly quick.</p>
<p>I was surprised to discover that the much-hyped Skyrim would purportedly run at high detail on my 18-24ish month old desktop. Caveat — I’m a bit of a hardware geek and probably over-specced (in terms of gaming) when it was built, but it cost under $1000 once you exclude all the hard drives (video editing box… before I switched to OS X). It’s still (apparently) getting incredible performance by today’s standards. This doesn’t speak to a lack of innovation — though it probably says something about the self-cannibalising properties of that industry.</p>
<p>“Oops, my PC is too fast” probably remains an uncommon complaint. Still, I’d contend that for many users, perceived speed will become less of an issue over the next upgrade cycle. Form factor (Macbook Air), low latency (SSDs) and portability (tablets) are the key competitive fronts today and will continue to be. For web technology, this means that we can innovate with confidence where performance is concerned.</p>
<p>The blocker is software.</p>
<p>For now, the trend appears to be targetting applications at particular select user agents to the exclusion of others. WebGL is a great example of this insofar as it doesn’t have a neat fallback option as tools like <a href="http://raphaeljs.com/">Raphaël</a> do with VML. Fundamentally, this may be no different to <a href="http://camendesign.com/code/video_for_everybody">nested video embedding</a> that differs on the basis of browser capabilities. In practice, few will seek to implement equivalent functionality or design 2D experiences to match rich WebGL ones — it’s just too complex.</p>
<p>The real winner in all this is mobile, which has a reasonably broad support for hardware accelerated web experiences.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/11/12/webgl-ready-for-primetime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install Android Debug Bridge (ADB)</title>
		<link>http://josh.st/2011/11/09/how-to-install-android-debug-bridge-adb/</link>
		<comments>http://josh.st/2011/11/09/how-to-install-android-debug-bridge-adb/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 00:30:08 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[adb]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1710</guid>
		<description><![CDATA[The latest Android SDK doesn’t ship with Android Debug Bridge (ADB) included. Instead, you need to add it by installing the “Android SDK Platform-tools” package via the Android SDK Manager. Once you’ve done this, it will be available under {path to Android}/android-sdk/platform-tools/ instead of its old location under android-sdk/tools/ Simple!]]></description>
				<content:encoded><![CDATA[<p>The latest Android SDK doesn’t ship with Android Debug Bridge (ADB) included.</p>
<p>Instead, you need to add it by installing the “Android SDK Platform-tools” package via the Android SDK Manager.</p>
<p><img src="http://josh.st/blog/wp-content/2011/08/android-sdk-platform-tools.png" alt="" title="Install Android SDK platform-tools" width="613" height="176" /></p>
<p>Once you’ve done this, it will be available under {path to Android}/android-sdk/platform-tools/ instead of its old location under android-sdk/tools/</p>
<p>Simple!</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/11/09/how-to-install-android-debug-bridge-adb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8 bit PNGs with alpha transparency</title>
		<link>http://josh.st/2011/08/24/8-bit-pngs-with-alpha-transparency/</link>
		<comments>http://josh.st/2011/08/24/8-bit-pngs-with-alpha-transparency/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 06:29:50 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[8 bit]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[colour]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[transparency]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1707</guid>
		<description><![CDATA[To some developers, the title of this post might well read “Unicorns exist! News at 11!”. Exciting stuff, but not widely known in my experience. Not that unicorns exist in my experience. I digress. The colours below are the palette generated with indexed transparency (left) vs. true alpha transparency (right) in a 256 colour 8 [...]]]></description>
				<content:encoded><![CDATA[<p>To some developers, the title of this post might well read “Unicorns exist! News at 11!”. Exciting stuff, but not widely known in my experience. Not that unicorns exist in my experience. I digress.</p>
<p>The colours below are the palette generated with indexed transparency (left) vs. true alpha transparency (right) in a 256 colour 8 bit PNG by a lovely piece of software called Fireworks. Let me explain.</p>
<p><img src="http://josh.st/blog/wp-content/2011/06/8bit-png-alpha.png" alt="" title="8 bit PNG with alpha channel" width="485" height="185" class="alignnone size-full wp-image-1708" /></p>
<p>I’ve joined a new UI development team this past week that require pretty broad-based browser support for a bunch of sites (i.e. IE6 experience needs to not suck) and their process includes a PNG quantization step before hitting a live environment. This is cool, but the IE6 support necessitates not using alpha. Or so I’m told.</p>
<p>This prompted me to look up something that I discovered probably around a year ago but never got around to writing it up, nor particularly practicing!</p>
<p>I can’t remember where, exactly, though suspect <a href="http://mezzoblue.com/">Dave Shea</a> might’ve had a pointer or an article that presumed knowledge of the technique. In the process of writing this article, I’ve also rediscovered <a href="http://www.sitepoint.com/png8-the-clear-winner/">a SitePoint article on the issue</a> that’s quite helpful.</p>
<p>The bottom line is PNG-24 is great but impractical in older browsers for a host of reasons. While 8 bit PNG is not without its limitations (c’mon, 256 colours ought to be enough for anyone!), it’s clear that for graceful degradation and marginal improvements in file size it’s stil worth considering.</p>
<p>In terms of creating images there are a few challenges. First and foremost, everyone uses Photoshop but Photoshop sucks at save-for-web’ing 8 bit PNGs: you just don’t get the options you need. Fireworks hands you this in spades. I’m no Fireworks pro insofar as workflows and just getting designs done goes, so typically I’ll save for web to a 24bit PNG from Photoshop and then open that in Fireworks to export the alpha 8 bit image.</p>
<p>The Sitepoint article linked above suggests that [some] quantizers will give you the chance to do the same thing, but the issue is if you’re exporting an 8 bit PNG in the first place you’ve already lost the chance to create an image with alpha. Most front end devs will want to preview things like dithers, colour banding, etc., so handing control over to a CLI tool just isn’t going to fly. I’d contend that Fireworks is really the only viable solution in that it balances image optimisation and control. Of course, you’re welcome to run the PNG Fireworks outputs through a <a href="http://pngnq.sourceforge.net/">quantiser</a>: it’s already 8 bit so your palette is locked in, and the quantiser is unlikely to mess with the alpha if it purports to support this.</p>
<p>The reasons are broader than just browser support: in my (limited) testing, PNG24 files could easily weigh in at twice the size of their RGBA 8 bit alternatives. On a 500x500px test that generated the paletts shown above, file sizes were as follows:</p>
<ul>
<li>8 bit PNG indexed: 7KB</li>
<li>8 bit PNG transparency: 7.5KB</li>
<li>24 bit PNG: 15KB</li>
</ul>
<p>I’m going to make sure I actually take advantage of this feature in the future, as there are clear filesize benefits to be had as well as support for crappy, dwindling browsers. Sorry, IE6.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/08/24/8-bit-pngs-with-alpha-transparency/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quicktime X into Final Cut Pro errors</title>
		<link>http://josh.st/2011/06/10/quicktime-x-into-final-cut-pro-errors/</link>
		<comments>http://josh.st/2011/06/10/quicktime-x-into-final-cut-pro-errors/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 02:22:21 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[fcp]]></category>
		<category><![CDATA[final cut pro]]></category>
		<category><![CDATA[quicktime x]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1701</guid>
		<description><![CDATA[If you’ve made a screen recording using Quicktime X, you’ll likely have difficulty importing it into Final Cut Pro 7 because of its variable framerate. The easiest way to resolve this is to take the file through Compressor first — ProRes 422 Progressive will be great. Frustrating, but whatever.]]></description>
				<content:encoded><![CDATA[<p>If you’ve made a screen recording using Quicktime X, you’ll likely have difficulty importing it into Final Cut <a href="http://www.gnpcb.org/esv/search/?go=Go&amp;q=Pro+7" class="bibleref" title="ESV Pro 7">Pro 7</a> because of its variable framerate.</p>
<p>The easiest way to resolve this is to take the file through Compressor first — ProRes 422 Progressive will be great. Frustrating, but whatever.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/06/10/quicktime-x-into-final-cut-pro-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RTA: Damned if you do, etc.</title>
		<link>http://josh.st/2011/05/31/rta-damned-if-you-do-etc/</link>
		<comments>http://josh.st/2011/05/31/rta-damned-if-you-do-etc/#comments</comments>
		<pubDate>Tue, 31 May 2011 04:16:41 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[government]]></category>
		<category><![CDATA[rta]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1698</guid>
		<description><![CDATA[Dear RTA, I know you just spent a lot of money finding out exactly how unpopular you are — now I’m telling you why. This one’s on the house. Think of this as an (il)logic puzzle. Want to renew? Go get a green slip. Got a greenslip? Go get another safety check. Want to just give us [...]]]></description>
				<content:encoded><![CDATA[<p>Dear RTA, I know you just <a href="http://smh.drive.com.au/motor-news/hands-up-all-those-who-love-the-rta-20110526-1f6hu.html">spent a lot of money</a> finding out exactly <em>how</em> unpopular you are — now I’m telling you why. This one’s on the house.</p>
<p><img class="alignnone size-full wp-image-1699" title="RTA renewal/Greenslip/Safety check" src="http://josh.st/blog/wp-content//2011/05/Screen-shot-2011-05-31-at-2.09.43-PM.png" alt="" width="348" height="214" /></p>
<p>Think of this as an (il)logic puzzle. Want to renew? Go get a green slip. Got a greenslip? Go get another safety check. Want to just give us money and do the others out of order? Nope, sorry, you can’t do that.</p>
<p>N/A in the Safety Check column actually means “you’re covered for now, don’t sweat it” — but you wouldn’t know it from the form. There’s a vicious red X if you’re not covered, but nary a tick if you are. Also, what’s with the grotesquely antialiased “i” rollovers?</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/05/31/rta-damned-if-you-do-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apply for a DUNS number? Nah.</title>
		<link>http://josh.st/2011/05/23/apply-for-a-duns-number-nah/</link>
		<comments>http://josh.st/2011/05/23/apply-for-a-duns-number-nah/#comments</comments>
		<pubDate>Mon, 23 May 2011 02:38:16 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1693</guid>
		<description><![CDATA[DUNS numbers (Duns and Bradstreet) are needed for a few things business-related but you run your own business you’ve probably never got around to applying for one. If you’ve registered a company in Australia, chances are you’ve already got a DUNS number. Surprising, huh? Search for your business and a DUNS number will be available [...]]]></description>
				<content:encoded><![CDATA[<p>DUNS numbers (Duns and Bradstreet) are needed for a few things business-related but you run your own business you’ve probably never got around to applying for one.</p>
<p>If you’ve registered a company in Australia, chances are you’ve already got a DUNS number. Surprising, huh?</p>
<p><a href="http://www.dnb.com.au/express/dnbexpress_companies.asp">Search for your business</a> and a DUNS number will be available top left, just above the company name or ABN.</p>
<p><img src="http://josh.st/blog/wp-content//2011/05/duns-dealism.png" alt="DUNS search" title="DUNS search" width="506" height="218" class="alignnone size-full wp-image-1694" /></p>
<p>I discovered this while trying to register for <a href="http://developer.apple.com/programs/ios/enterprise/">Apple’s iOS Enterprise program</a>, which requires a DUNS number as part of the application process. You can sign up for the developer program without one (and it’s cheaper), but to privately manage and distribute apps you need enterprise access.</p>
<p>As we prepare to launch our <a href="http://www.equipschools.com/">Equip Mobile program into schools</a>, the ability to roll out software to all users in an organisation is something we need to be across!</p>
<p><img src="http://josh.st/blog/wp-content//2011/05/equip-ios-screenshot.jpg" alt="Equip iOS Screenshot" title="Equip iOS Screenshot" width="406" height="406" class="alignnone size-full wp-image-1695" /></p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/05/23/apply-for-a-duns-number-nah/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MAMP’s MySQL status red &amp; not starting</title>
		<link>http://josh.st/2011/05/09/mamps-mysql-status-red-not-starting/</link>
		<comments>http://josh.st/2011/05/09/mamps-mysql-status-red-not-starting/#comments</comments>
		<pubDate>Sun, 08 May 2011 23:15:34 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[note-to-self]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1690</guid>
		<description><![CDATA[MAMP is a good way to setup a low-maintenance dev environment for OS X in very little time, but its handling of MySQL is quite annoying. When you suspend/sleep a computer, often when you resume MAMP has lost track of the MySQL instance it started and can no longer connect to it. Not sure if [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.mamp.info">MAMP</a> is a good way to setup a low-maintenance dev environment for OS X in very little time, but its handling of MySQL is quite annoying.</p>
<p>When you suspend/sleep a computer, often when you resume MAMP has lost track of the MySQL instance it started and can no longer connect to it. Not sure if this is a problem with the MySQL build being used, but as the problem has existed since 2009, I don’t have high hopes for it being fixed anytime soon.</p>
<p>The quickest solution is to kill off the process it had started previously and then hit “Start Servers” again — it just takes one line on the terminal.</p>
<p><code>killall -9 mysqld</code></p>
<p>Be aware that this will kill all running MySQL processes (including those outside of MAMP’s control) — this is normally fine, as no-one actually hosts websites on OS X!</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/05/09/mamps-mysql-status-red-not-starting/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ClubsAustralia and AHA: you’re not GetUp.</title>
		<link>http://josh.st/2011/04/11/clubsaustralia-and-aha-youre-not-getup/</link>
		<comments>http://josh.st/2011/04/11/clubsaustralia-and-aha-youre-not-getup/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 00:51:59 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1688</guid>
		<description><![CDATA[ClubsAustralia and the AHA want to apply pressure to the federal government not to pass legislation restricting access to gambling. They reckon there’s support for the madness that is gambling-funded “community activities” in this country, and have setup a GetUp!-esque “message your MP” form. Instead, use their form to send the government the OPPOSITE message! [...]]]></description>
				<content:encoded><![CDATA[<p>ClubsAustralia and the AHA <a href="http://its-unaustralian.com.au/Contact-Local-MP.aspx">want to apply pressure to the federal government not to pass legislation restricting access to gambling</a>. They reckon there’s support for the madness that is gambling-funded “community activities” in this country, and have setup a GetUp!-esque “message your MP” form.</p>
<p>Instead, use their form to send the government the OPPOSITE message!</p>
<p>Here’s what I said (more or less editing their message to the reverse effect):</p>
<blockquote><p>“I am writing to say that I WHOLEHEARTEDLY SUPPORT the Government’s plan to introduce a licence to punt.</p>
<p>Problem gambling is an area of concern for the community and needs to be addressed by government.</p>
<p>A licence to punt on the pokies MAY drive problem gamblers to other forms of gambling, including online —  where possible, it is, of course, important that these too are regulated appropriately — through funding community level support for problem gamblers, as well as domestic regulation (not Internet filtering). The clubs and pubs will be impacted by this legislation, of course, but the net benefit to the community stands to be tremendous.</p>
<p>Gambling destroys many families and imposes significant pressures on the financial security and emotional stability of individuals: within reason, this trumps the “privacy, rights and the importance of local clubs and pubs” that ClubsAustralia and the AHA so desire you to consider.”</p></blockquote>
<p>There are other ways to contact your MPs, of course, but there’s something deeply satisfying about <a href="http://its-unaustralian.com.au/Contact-Local-MP.aspx">using tools provided by some of the largest industry lobbying groups in the country</a> against their own purposes.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/04/11/clubsaustralia-and-aha-youre-not-getup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Home / End in OS X Terminal</title>
		<link>http://josh.st/2011/04/06/home-end-in-os-x-terminal/</link>
		<comments>http://josh.st/2011/04/06/home-end-in-os-x-terminal/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 06:28:06 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[end]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[switching]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1684</guid>
		<description><![CDATA[OS X is a bit retarded, but what the rest of the world thinks Home / End should do, Mac users can achieve by pressing Shift + Home / Shift + End or Control + A / Control + E respectively. I’m talking about how to move your cursor to the beginning or end of [...]]]></description>
				<content:encoded><![CDATA[<p>OS X is a bit retarded, but what the <a href="http://ask.metafilter.com/40806/OS-X-Home-and-End-Key-Equivalents">rest of the world</a> thinks Home / End should do, Mac users can achieve by pressing Shift + Home / Shift + End or Control + A / Control + E respectively. I’m talking about how to move your cursor to the beginning or end of a line, of course!</p>
<p>If you’re on one of those special midget keyboards (a laptop?) that lacks useful buttons like Home and End, you’re probably looking for Shift + Fn + Left / Shift + Fn + Right.</p>
<p>There are a bunch of ways you can remap the key bindings, but in the interests of staying sane when working on others’ machines, it’s probably worth changing your muscle memory instead of your bindings here. It’s also worth noting that Vim users can use ^ / $ for beginning / end of line respectively.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/04/06/home-end-in-os-x-terminal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>All existing apps and their data on the iPhone will be replaced with apps from this iTunes library.</title>
		<link>http://josh.st/2011/03/30/all-existing-apps-and-their-data-on-the-iphone-will-be-replaced-with-apps-from-this-itunes-library/</link>
		<comments>http://josh.st/2011/03/30/all-existing-apps-and-their-data-on-the-iphone-will-be-replaced-with-apps-from-this-itunes-library/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 06:25:08 +0000</pubDate>
		<dc:creator>Josh Street</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1678</guid>
		<description><![CDATA[Or will it? If you’re setting up a new computer and have Authorized This Computer (Store -&#62; Authorize This Computer) already, it seems weird that iTunes won’t let you just sync your apps from the device. For whatever reason, you ALSO need to “Transfer Purchases from” the iPhone or iPod in question. Crazy huh? Nevertheless, [...]]]></description>
				<content:encoded><![CDATA[<p>Or will it?</p>
<p>If you’re setting up a new computer and have Authorized This Computer (Store -&gt; Authorize This Computer) already, it seems weird that iTunes won’t let you just sync your apps from the device.</p>
<p>For whatever reason, you ALSO need to “Transfer Purchases from” the iPhone or iPod in question. Crazy huh? Nevertheless, it’s actually pretty straightforward.</p>
<p><img src="http://josh.st/blog/wp-content//2011/03/transfer-purchases-from-iphone.png" alt="Transfer Purchases from iPhone menu" title="iTunes -&gt; File -&gt; Transfer Purchases from iPhone menu" width="528" height="396" class="alignnone size-full wp-image-1681" /></p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2011/03/30/all-existing-apps-and-their-data-on-the-iphone-will-be-replaced-with-apps-from-this-itunes-library/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: josh.st @ 2013-05-20 12:40:37 by W3 Total Cache -->