<?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>aiusepsi.co.uk &#187; tech</title>
	<atom:link href="http://aiusepsi.co.uk/tag/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://aiusepsi.co.uk</link>
	<description>Andy Simpson&#039;s personal blog.</description>
	<lastBuildDate>Thu, 26 Jan 2012 18:09:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>The Coming War</title>
		<link>http://aiusepsi.co.uk/2011/the-coming-war/</link>
		<comments>http://aiusepsi.co.uk/2011/the-coming-war/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 18:24:35 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/?p=639</guid>
		<description><![CDATA[I like to think of the various technology companies as being armies on a battlefield. This is inevitably going to be a really strained metaphor, as battles as typically fought between only two armies, but let me run with it. &#8230; <a href="http://aiusepsi.co.uk/2011/the-coming-war/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I like to think of the various technology companies as being armies on a battlefield. This is inevitably going to be a really strained metaphor, as battles as typically fought between only two armies, but let me run with it.</p>
<p>Each army has some advantage, home turf it wants to protect. Apple sits in a curve of a river, defended by fast-flowing water. Google has a spot on a hilltop, with a glorious view. Microsoft has a pass through the mountains. RIM is lying bleeding in a ditch. And so on.</p>
<p>Inevitably, the way to find the company&#8217;s turf is to identify how it makes money. Google sells ads on search, Apple sells hardware, and Microsoft sells Windows and Office. Almost every other activity these companies engage in is a flanking offensive, designed to prevent one of their enemies from breaking through and hitting them where it hurts.</p>
<p>That&#8217;s why Google has things like Android and Chrome OS, and Microsoft has Bing, which are all absolutely haemmoraghing money. Bing exists to stop Google entirely flanking Microsoft on the web, Android exists to prevent Apple entirely tying up mobile, etc. They&#8217;re pre-emptive strikes, to act before it&#8217;s too late.</p>
<p>This, incidentally, is why Apple is so furious at Google; Google started the war by striking first at Apple&#8217;s home territory. I suppose Google would have been equally furious if Apple fired the first shot into ads or search (a business Apple still isn&#8217;t in).</p>
<p>So to understand Windows 8, you really have to understand how the generals at Camp Microsoft think; they have a damned good mountain pass, and so it would be great if their mountain pass could exist in more places, so they could expand their mountain-pass empire. Possibly they need new sorts of passes, because mountains are easier to surmount than ever before. And to be fair, I did warn you that the metaphor was going to get strained. The trouble with their strategy is it really is as stupid as it sounds, and it&#8217;s a really good example of that old war saying: &#8220;Lions lead by donkeys.&#8221;</p>
<p>For those of you who haven&#8217;t kept up with the Windows 8 hoopla, it&#8217;s going to have a full-screen touch-based UI (codenamed &#8216;Metro&#8217;), which is what you see when you first boot up your machine, and whenever you want to launch a new program. The pre-existing Windows desktop is something you can jump into from this new UI, and the start menu is gone, replaced with jumping back to the full-screen Metro UI.</p>
<p>Microsoft were loathe to admit it, but Metro is clearly a response to the iPad; especially as Windows 8 will run on the power-efficient British-designed (national pride FTW) ARM processors used by the current crop of tablet devices and mobile phones, as well as the Intel-designed processors in current PCs and laptops. The poor power efficiency of the Intel chips are the primary reason that your lap gets rapidly scorched by the searing heat put out by a laptop.</p>
<p>The thing about the iPad is it&#8217;s like how I imagine people felt when they first used text-interface computers in the 70s and 80s; right now, they may be difficult and limited, but you know that the descendants of this thing are going to be the future. There will always be a place for the PC as we know it today, just as there&#8217;s still a place for connecting to a terminal over ssh and using emacs to edit a cron job, but tablets and similar devices are going to take over an increasingly large amount of our day-to-day needs.</p>
<p>And the iPad is already selling like hot cakes, so Microsoft needs to flank Apple, and they do it the only way Steve Ballmer can comprehend how: make it so something iPad-like can run Windows.</p>
<p>And so Windows 8; a iPad-like touch UI jammed on top of a standard Windows 8 desktop, with ARM support. For Microsoft, it&#8217;s an absolutely instinctive response. It&#8217;s the reason that Windows Phone 7 is called that, even though it a) Isn&#8217;t based on the same code as desktop Windows b) Doesn&#8217;t even have windows in the interface. They&#8217;re bound, inexorably, to the idea and brand of Windows, even when it doesn&#8217;t make sense.</p>
<p>What they&#8217;re relying on is their backwards compatibility advantage. Why buy a device with Windows 8 on it? Because it&#8217;ll run all your old Windows programs. Because it&#8217;ll be familiar. Because, essentially, it&#8217;s easier than switching to Mac or Linux. This is especially prevalent for gaming, which is severely underdeveloped on those two operating systems.</p>
<p>The trouble here is threefold: firstly, old programs written for existing Intel-based Windows machines won&#8217;t actually work on the new ARM-based devices. Theoretically, they could be reworked and recompiled to run on ARM, but it&#8217;s currently unclear if this will even be allowed. Regardless, on Day 1 of Windows 8, hardly anything is going to run on the ARM-based iPad competitor Windows 8 devices.</p>
<p>Secondly, backwards compatibility is a millstone. On a device like the iPad, the contract with applications is that they&#8217;re run in tightly controlled conditions; for instance the OS can kill them dead at any moment with little or no warning. The advantages of this are manifold; you&#8217;ve got massive security benefits, as well as improved battery life, etc. But you can&#8217;t impose conditions like this on applications retrospectively, at least not without enormous difficulty. Look at the kerfuffles around UAC in Vista, and that was merely enforcing what had been recommended practice for many years.</p>
<p>Thirdly, developers are lazy. They could write applications for the new Metro UI, or, they could write a standard desktop application that works on all versions of Windows. Microsoft are promoting a new framework for Windows development using the new Metro UI called WinRT, and it&#8217;s going to be a wonderful replacement for Win32, the old API, and it&#8217;s going to be wonderful and brilliant etc. etc.</p>
<p>Except that we&#8217;ve been here before. Windows codename &#8216;Longhorn&#8217; was supposed to introduce a new platform for Windows development, called WinFX, which would be the foundation on which the OS rested. Longhorn eventually became Vista, most of the new framework arrived, although as a framework for applications, not actually used by the OS. Sure, some people are using it, I suppose. But it&#8217;s hardly taken over the world, and it was backported to XP so that it could be widely used. WinRT isn&#8217;t going to be backported at all, so it&#8217;ll be Windows 8 only. Incidentally, commenters, I&#8217;d be glad to hear of any WPF apps you know of; the only high-profile one I can think of is Visual Studio 2010.</p>
<p>Based on that history, WinRT is going to tank really, really hard. Why would you write an app using it, knowing that you&#8217;ll restrict yourself only to people running Windows 8?</p>
<p>Honestly, if I was in charge at Microsoft, I would spin off Metro into a serperately marketed OS. Base it on the existing Windows kernel, but totally rebuild the top layer to jettison Win32, then make Metro the best OS for touch devices it could possibly be, with no compromise to the old way.</p>
<p>Then make a Windows 8 that is essentially very, very dull. At this point, there&#8217;s not a lot of innovation to be wrung out of the desktop, so it&#8217;s really a polishing exercise. Microsoft mostly makes money by selling OEM copies of Windows anyway, so all it has to do to continue making versions of Windows which are good enough to stop people switching; this is a relatively easy job.</p>
<p>Mashing the two things together is the stupidest thing you could possibly do. You really risk angering people who really just want Windows with windows and don&#8217;t want to be using a mouse or trackpad with UI designed to be touched, and on the other side you&#8217;re going to do a half-arsed job of being a tablet.</p>
<p>For instance, I&#8217;m sure someone is going to try and build an Intel-based tablet, which will get hot, and have a fan, and terrible battery life. And poking desktop apps with your finger will suck, so it&#8217;ll include a stylus, which will get lost.</p>
<p>Maybe Microsoft&#8217;ll succeed with all this. Maybe. Honestly though, I think it&#8217;s going to be a failure. Possibly a failure larger than Vista, although they may have the sense to course-correct in time for Windows 9 so that they don&#8217;t permanently damage the dominance of Windows itself.</p>
<p>I think the engineers and designers have really done a remarkable job; honestly, reading about WinRT, and looking at the boldness of the Metro interface, they&#8217;ve really done themselves proud. It would have been really easy for them to do what others in the industry have done and just rip off the iPad, and that they&#8217;ve tried to reimagine the concept is commendable.</p>
<p>I suspect that the problem comes from the top; Steve Ballmer, the CEO of Microsoft, talks about &#8220;Windows everywhere&#8221;. It honestly doesn&#8217;t make any sense. There&#8217;s a reason that Apple didn&#8217;t put OS X on the iPhone and iPad, even though the foundation of iOS is the same. It&#8217;s a real shame that Steve Ballmer is too stupid to understand that.</p>
<p>And yes, I know stupid is a litte ad hom, but honestly, look at this video; you can&#8217;t get much more wrong than he turned out to be.</p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/eywi0h_Y5_U" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2011/the-coming-war/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>I Shouldn&#8217;t Be Allowed to Use a C++ Compiler</title>
		<link>http://aiusepsi.co.uk/2010/i-shouldnt-be-allowed-to-use-a-c-compiler/</link>
		<comments>http://aiusepsi.co.uk/2010/i-shouldnt-be-allowed-to-use-a-c-compiler/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 19:07:18 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[it's late at night that's my excuse]]></category>
		<category><![CDATA[oh god why]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/?p=572</guid>
		<description><![CDATA[class mesh_cell { double _x, _v, _P, _rho, _q, _e; public: // Defines that automatically write get/set accessors for me if I provide the variable names. // Evil? Saves me writing boilerplate though! #define var(i) double&#38; i() { return _##i; &#8230; <a href="http://aiusepsi.co.uk/2010/i-shouldnt-be-allowed-to-use-a-c-compiler/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><code><span style="color: #800080;">class</span> mesh_cell<br />
{<br />
<span style="color: #800080;"> double</span> _x, _v, _P, _rho, _q, _e;</code></p>
<p><code><span style="color: #800080;"> public</span>:</p>
<p><span style="color: #008000;">// Defines that automatically write get/set accessors for me if I provide the variable names.</span><br />
<span style="color: #008000;"> // Evil? Saves me writing boilerplate though!</span><br />
<span style="color: #800000;"> #define var(i) double&amp; i() { return _##i; }<br />
#define get_var(i) const double&amp; get_##i() const { return _##i; }<br />
#define set_var(i) void set_##i(const double&amp; var) { _##i = var; }<br />
#define gs_var(i) var(i) get_var(i) set_var(i)</span></p>
<p>gs_var(x)<br />
gs_var(v)<br />
gs_var(P)<br />
gs_var(rho)<br />
gs_var(q)<br />
gs_var(e)</p>
<p></code></p>
<p><code> mesh_cell()<br />
{<br />
}<br />
};</code></p>
<p>I need help.</p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2010/i-shouldnt-be-allowed-to-use-a-c-compiler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spotify Post-mortem</title>
		<link>http://aiusepsi.co.uk/2010/spotify-post-mortem/</link>
		<comments>http://aiusepsi.co.uk/2010/spotify-post-mortem/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 17:41:14 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[spotify]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/?p=565</guid>
		<description><![CDATA[For a while now I&#8217;ve had a Spotify Premium account, and since I told myself it was an experiment which I would then subsequently review, I really ought to actually do that rather than just letting it roll over and &#8230; <a href="http://aiusepsi.co.uk/2010/spotify-post-mortem/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For a while now I&#8217;ve had a Spotify Premium account, and since I told myself it was an experiment which I would then subsequently review, I really ought to actually do that rather than just letting it roll over and over each month.</p>
<p>I assume most of you are familiar with Spotify; if you&#8217;re not, then where the hell have you been the last year? It&#8217;s pretty much ubiquitous now.</p>
<p>Anyways, Spotify Premium is £9.99 a month, and that entitles you to higher quality music, offline mode, and use on mobile devices, like the iPhone. A full comparison of the different types of account is<a href="http://www.spotify.com/uk/get-spotify/overview/"> available on the Spotify website.</a> The main thing that drew me to paying for premium was the use on mobile devices, like my iPhone, and I have used it pretty extensively.</p>
<p>And, based on that experience, I think I&#8217;m going to stop paying for it.</p>
<p>There&#8217;s a few reasons for this: the catalogue on Spotify isn&#8217;t as extensive I would like, and has a really large number of omissions, the software is occasionally unstable, etc. but the major one is mostly a strictly human limitation. I found myself just listening to the same set of music over and over, or I was undecided about what I actually wanted to listen to on any particular day, and Spotify just isn&#8217;t geared up to make it easy to browse to find something you want. The tools available for finding entirely new music on Spotify aren&#8217;t really very wonderful, either.</p>
<p>What I could do instead with my £10 is just buy a new album (or two) every month, add it to my collection, and then use tools like Genius playlists on the iPhone to listen to the whole damn lot in nicely selected chunks, which I find a really satisfying way of consuming music. This plan also has the advantage that I get to keep all this music if I every subsequently decide to stop paying monthly.</p>
<p>Anyways, I haven&#8217;t made any final decisions yet, so I&#8217;d be very interested to see what other people think about this, any tips/tricks or perspectives to share would be great.</p>
<p><em>(Coming up soon: a series of posts about my holiday to Ireland, and hopefully just more posts in general&#8230;)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2010/spotify-post-mortem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The iPad</title>
		<link>http://aiusepsi.co.uk/2010/the-ipad/</link>
		<comments>http://aiusepsi.co.uk/2010/the-ipad/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 11:00:54 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/2010/the-ipad/</guid>
		<description><![CDATA[As those of you who follow me on Twitter will know, I took the plunge and bought myself an iPad, as a kind of post-exams, post-degree celebratory splurge. I have to say, so far I&#8217;m really rather enjoying it. It &#8230; <a href="http://aiusepsi.co.uk/2010/the-ipad/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As those of you who follow me on Twitter will know, I took the plunge and bought myself an iPad, as a kind of post-exams, post-degree celebratory splurge.</p>
<p>I have to say, so far I&#8217;m really rather enjoying it. It feels like this slab of glass and metal has just arrived from the future; it has this sense of violating usual expectations simply by existing.</p>
<p>The screen is glossy and beautiful, and it feels dense and sturdy. It&#8217;s heavier than you&#8217;d initially expect, but certainly not uncomfortably so. I&#8217;m not exactly a bulgingly muscular he-man, but I don&#8217;t find it uncomfortable to hold. They&#8217;re not wrong about the keyboard being large, it&#8217;s actually pretty comfortable to type on with the iPad in your lap, and you can get a pretty respectable typing speed with a little practice.</p>
<p>Pages load fast, browsing is fluid, and video on sites like the iPlayer work great. I started watching a Bettany Hughes documentary on Atlantis earlier on here, and it was a very pleasant experience. YouTube videos too look great, and I just last night found a service (although I now remember being told about it by Will Otter) called TV Catchup that allows me to stream live TV directly to my iPad, which is pretty cool.</p>
<p>As apps go, iPhone applications look flat-out ridiculous on the iPad. There&#8217;s not really a way around that one. They run, but you have the choice of running them at normal size, isolated in the middle of your display, or blown-up to fullscreen where they really just look appalling, pixellated, only having the iPhone keyboard rather than the superior iPad one, etc. You&#8217;ll want to use dedicated iPad apps wherever possible.</p>
<p>The catalogue of available iPad apps is comparatively smaller than its iPhone stablemate but there are already some pretty impressive apps available, and the number will only increase as more developers make iPad optimised versions of their existing apps. For instance the brilliant Google Reader client for the iPhone Reeder should be releasing and iPad version soon, and I can only hope that the Twitter for iPhone app formerly known as Tweetie will too receive an iPad version.</p>
<p>The in-built apps all look and work great, and one thing that surprised me was that even on the wifi-only model, location still seems to work fairly accurately, if not pin-point. I thought there was no GPS hardware, so I suppose it&#8217;s doing a trick using wifi hotspots to figure out my location. Whatever it&#8217;s doing, that&#8217;s quite cool.</p>
<p>I have a feeling that i&#8217;m going to change my habits quite a bit having this. I&#8217;ve already been tempted to impulse-purchase a movie from iTunes, and the iBook store would look terribly appealing if I didn&#8217;t already have a backlog of physical books (currently going through <em>Neverwhere</em> by Neil Gaiman) and I can see a lot of sitting in bed, browsing, tweeting and reading email in my future. Apart from high-powered hard-core gaming and writing code, there isn&#8217;t a huge amount of reason to go turn on my PC any more.</p>
<p>Anyways, I really like it, so there. This post was entirely written on the iPad.</p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2010/the-ipad/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Google and Wifi</title>
		<link>http://aiusepsi.co.uk/2010/google-and-wifi/</link>
		<comments>http://aiusepsi.co.uk/2010/google-and-wifi/#comments</comments>
		<pubDate>Sun, 30 May 2010 23:06:12 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hanlon's razor]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/?p=551</guid>
		<description><![CDATA[So Google are in a bit of trouble because they captured a bunch of data from open wifi access points using their Street View cars. Personally, I&#8217;m going to apply Hanlon&#8217;s razor to this: &#8220;Never attribute to malice that which &#8230; <a href="http://aiusepsi.co.uk/2010/google-and-wifi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So Google are in a bit of trouble because they captured a bunch of data from open wifi access points using their Street View cars.</p>
<p>Personally, I&#8217;m going to apply <a href="http://en.wikipedia.org/wiki/Hanlon's_razor">Hanlon&#8217;s razor</a> to this: &#8220;Never attribute to malice that which can be adequately explained by stupidity.&#8221;</p>
<p>Google were collecting wifi data for the purposes of performing rough geolocation without the aid of a GPS module; if you collect the approximate position of a wifi access point (identified by its SSID and MAC address), then you can later calculate the location of a mobile device by cross-referencing with what wifi access points it can see. This is perfectly legitimate &#8212; all this data was being broadcast in the clear into public areas, it&#8217;s not personally identifiable, and Google were never going to disclose it directly anyway; only the results obtained from the use of the data.</p>
<p>The contentious bit is that they hoovered up payload data as well as just SSIDs and MACs. This means emails, web pages, downloads etc. etc. This isn&#8217;t too horrendous as anything actually important and sensitive e.g. financial stuff,  is encrypted at the transport layer by SSL anyway. The collected data could potentially be compromising and embarrassing however, and it is legally very dubious to collect and store.</p>
<p>Given that it&#8217;s a PR disaster and potentially illegal, I think the most plausible explanation here is cock-up. Somebody on the Street View team got sloppy and used some code from another part of the company without asking too many questions about what that code did, over and above what they were going to be using it for; said guy is now probably getting one hell of a bollocking.</p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2010/google-and-wifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe vs. Apple</title>
		<link>http://aiusepsi.co.uk/2010/adobe-vs-apple/</link>
		<comments>http://aiusepsi.co.uk/2010/adobe-vs-apple/#comments</comments>
		<pubDate>Sat, 01 May 2010 01:10:53 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/?p=514</guid>
		<description><![CDATA[Apple and Adobe have been having a rather public tiff about the use of Adobe&#8217;s Flash on Apple&#8217;s mobile platforms, the phenomenally successful iPhone and iPad platforms. I&#8217;m going to have to split my response to this into two logical &#8230; <a href="http://aiusepsi.co.uk/2010/adobe-vs-apple/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Apple and Adobe have been having a rather public tiff about the use of Adobe&#8217;s Flash on Apple&#8217;s mobile platforms, the phenomenally successful iPhone and iPad platforms. I&#8217;m going to have to split my response to this into two logical parts:</p>
<h2>1. The Web</h2>
<p>Flash is predominantly used as a container for video content, Flash-based games, and the occasional little widget. Almost every other use is a disaster; I&#8217;m sure we all have horror stories of terrible Flash-based websites.</p>
<p>Apple&#8217;s argument in this space is one I completely agree with: letting one company, with one proprietary implementation, control several important classes of web application is just wrong. Emerging standards like HTML5 video and canvas tags, and support for them in all the major browsers (Chrome/Safari, Firefox, IE9)  mean that we have no need to stick to Flash. Even if we were to assume that Flash was high-quality, secure, performant, and stable, which it isn&#8217;t, letting it have total control of web video would be an incredibly bad idea. The sooner it dies a miserable death, the better for all of us.</p>
<h2>2. For The Writing of Cross-Platform Apps</h2>
<p>This one is somewhat more of a grey area.</p>
<p>First off, let&#8217;s be honest; Flash doesn&#8217;t help you build cross-platform apps. It helps you write apps that run on Adobe&#8217;s platform. They want you to write Flash-based apps for the same reason that Microsoft wants you to write Windows apps, or Apple wants you to write iPhone OS apps, or Valve wants people to use the Steamworks APIs: they want you locked to their platform, for their own business reasons. There isn&#8217;t any altruism here, no matter how much Adobe wants to play the martyr.</p>
<p>This is why Apple is refusing to let apps which target Adobe&#8217;s platform to run on their OS. Adobe are making a power-play to subvert Apple on their own platform, and Apple are rightly telling them to go fuck themselves. It&#8217;s not an unreasonable position, even from a user&#8217;s perspective. One of the reasons that Windows is a cluster-fuck is that fundamentally Microsoft lost control; they need to keep backwards compatibility with almost every Windows app ever written, even the ones that don&#8217;t play by the rules and call undocumented APIs in broken ways. That&#8217;s a millstone around their neck, preventing them from ever moving quickly. That situation is good for nobody; it hurts application stability, and it hurts innovation.</p>
<p>On the other hand, Apple are keeping control with an iron fist, in a fairly velvety (albeit thin) glove. Call undocumented APIs, don&#8217;t natively target Apple APIs, you get bounced out. On the other hand, it means Apple can keep nimble. They know that because all their app developers are playing by the rules, they can change things rapidly. Change CPU architectures? Boom, most apps will just recompile without needing changes. Stick a third-party toolchain in there, and you get unpredictable effects; every app using that third-party system could stop working.  What if Apple want to add new features? If Apple exposes a new API, native apps can start consuming that API straight away. They don&#8217;t have to wait for a third-party platform to figure a way to pass through that API, if they ever do. They don&#8217;t have to worry about developers only targeting the minimum common feature set.</p>
<p>It&#8217;s a Faustian pact. Nobody is denying that. If you don&#8217;t like Apple&#8217;s strategy, you don&#8217;t have to buy an iPhone OS device.</p>
<p>For the moment, I&#8217;m happy with the trade-off. When I decide on my next phone, you bet I&#8217;m going to look at Android. But I&#8217;m happy right now, and I quite want an iPad&#8230;</p>
<p>Anyways, if you really want to write cross-platform code, you do it the same way we&#8217;ve always done it. Write core code in C++, staying agnostic as possible to the real environment you&#8217;re running in. C++ pretty much works everywhere. Hooray for open standards! Also, on another note, I also think that half the time the FSF is full of shit. Or to be less inflammatory, they&#8217;re so committed to their ideology that they&#8217;re blind to reality. But that&#8217;s a story for another day.</p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2010/adobe-vs-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone Macro</title>
		<link>http://aiusepsi.co.uk/2010/iphone-macro/</link>
		<comments>http://aiusepsi.co.uk/2010/iphone-macro/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 11:00:46 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[i know i should get the 2nd gen but it's just so tempting]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[unabashed gadget lust]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/?p=494</guid>
		<description><![CDATA[I&#8217;m about to express an unpopular opinion, so I&#8217;m just going to come out and say it: I really want an iPad. Yes, yes, I know, early adopters always get screwed, it&#8217;s locked down, doesn&#8217;t multitask, there&#8217;s no camera, there&#8217;s &#8230; <a href="http://aiusepsi.co.uk/2010/iphone-macro/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m about to express an unpopular opinion, so I&#8217;m just going to come out and say it: I really want an iPad.</p>
<p>Yes, yes, I know, early adopters always get screwed, it&#8217;s locked down, doesn&#8217;t multitask, there&#8217;s no camera, there&#8217;s no Flash,  etc. etc.</p>
<p>Sorry, I just don&#8217;t care. It&#8217;s thin, it&#8217;s light, it&#8217;s a goddamned multi-touch tablet that&#8217;s going to have awesome third-party app support on launch (not only running legacy iPhone apps, but I bet there are going to be dedicated iPad versions of the best apps, e.g. Tweetie) and with a UX that&#8217;s pretty much second to none.</p>
<p>The web-browsing experience on it looks phenomenal. I already browse a lot on my iPhone, and being able to do the same on a screen that size? That&#8217;s the stuff tech dreams are made of. I&#8217;ve been wanting a device like this for over a decade, and now it&#8217;s here I&#8217;m not going to get sniffy because it doesn&#8217;t have a camera. Can you even imagine taking a photo with an iPad? It&#8217;d be horrible!</p>
<p>Honestly, I can see something like the iPad quickly becoming my go-to computing device. Need to look something up on Wikipedia? Want to book some train tickets? Quickly checking email? Want to show a friend a YouTube video? You bet you&#8217;ll be reaching for an iPad rather than trudging to a desktop or even a laptop computer. It&#8217;ll also be great for stuff like iPlayer, Facebook, Twitter&#8230; The experience on offer here is already worth the price of entry, no matter what features they&#8217;ll put in the second gen.</p>
<p>The one thing that seems like a missed opportunity with the iPad is that even if you get the 3G version, which presumably has all necessary radio-gubbins, it doesn&#8217;t support making phone calls or sending SMS messages.</p>
<p>Now, I can almost understand the justification for not supporting phone calls; there&#8217;s a real risk of looking somewhat like a 21st Century Trigger-Happy TV sketch, holding a giant iPhone up to your ear.</p>
<p>That problem could be entirely avoided though if it was mandatory to use some kind of hands-free kit to make calls.</p>
<p>The perfect scenario would be Bluetooth; your iPad could sit in your bag, month-long standby life only somewhat curtailed by being connected permanently to a phone network with the Bluetooth radio powered up. All the necessary interaction with the iPad required to make and receive calls could be made wirelessly via a Bluetooth headset. Heck, it would finally validate the existence of the bloody things.</p>
<p>Then I wouldn&#8217;t need an iPhone any more; the only time I&#8217;d miss it would be those times when I really need portability, like looking at a map while walking about on foot &#8211; mostly using iPhone apps while walking is a bad idea anyway (not that&#8217;s stopped me walking and tweeting, I might add). This is entirely counteracted by the much better battery life and superior usability afforded by the larger screen.</p>
<p>It seems like such a good idea I&#8217;m surprised they haven&#8217;t done it.</p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2010/iphone-macro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iPad</title>
		<link>http://aiusepsi.co.uk/2010/ipad/</link>
		<comments>http://aiusepsi.co.uk/2010/ipad/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 13:59:00 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[I think something snapped in my mind...]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/2010/ipad/</guid>
		<description><![CDATA[As is customary amongst our people, I am going to tell you what it is I think about stuff that’s been going on. On Wednesday, Apple announced, to the surprise of absolutely nobody, that they were going to release a &#8230; <a href="http://aiusepsi.co.uk/2010/ipad/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As is customary amongst our people, I am going to tell you what it is I think about stuff that’s been going on.</p>
<p>On Wednesday, Apple announced, to the surprise of absolutely nobody, that they were going to release a new tablet computer, monikered the iPad.</p>
<p>Gallons of ink and… what the fuck is the collective noun for pixels? I mean, you have a murder of crows, a parliament of rooks, a school of fish, a clutch of eggs… regardless, a lot of pixels have gone into describing every nook and cranny of the thing, so there’s no need to re-hash it; I always find that <a href="http://www.engadget.com/2010/01/29/apple-ipad-the-definitive-guide-so-far/" target="_blank">Engadget</a> does a good job of coverage.</p>
<p>The real question is: is the iPad a Good Thing, or a Bad Thing?</p>
<p>I must confess that my initial thought process was, “Oh, it’s a giant iPod Touch. Who cares?” The iPhone OS is limited in a whole bunch of ways that are annoying if you’re used to desktop computers: there’s no filesystem, no multitasking, you have to get all your applications through the App Store, etc. and I felt that was just too limiting for a device that size. I also had ergonomic concerns, is it good for typing, for instance?</p>
<p>Then I sat down and watched the <a href="http://events.apple.com.edgesuite.net/1001q3f8hhr/event/index.html" target="_blank">keynote video</a>, watched the thing in action.</p>
<p>And I just can’t be cynical. I’ve wanted a device like this for probably more than a decade. And it’s better than the dream could ever be. </p>
<p>The iWork apps on there were, oddly, what finally convinced me. If you pair it with a USB keyboard, this becomes a practical work machine. It’s not a toy, it’s not a joke, it’s a perfectly-crafted touch device in a way you could never get by retrofitting multitouch into an existing OS, because every aspect of the experience is geared towards interacting with it with your hands. It’s utterly marvellous.</p>
<p>People say that it’s just a bigger iPod Touch. And it is, they’re not wrong. But then a Blu-Ray is just a DVD with more pixels. A Core 2 Quad is just a Duo with 2 extra cores. Heck, it’s really just a faster 486! The step up in experience that the simple doubling of the dimensions provides for is just going to be an order-of-magnitude better. Saying it’s “just” a bigger iPod Touch is like saying a Microsoft Surface table is just a bigger iPod Touch. The very nature of the form-factor makes it different.</p>
<p>So yeh, I’m very excited to head down to the Apple Store in 2 months and have a go at holding one in my hands. I might even go crazy and buy one, like a big sucker buying a 1st gen product.</p>
<p>There are niggles; it should be able to run at least one app in the background. Honestly, that’s all I need, or want. One background app for something like Spotify, and one foreground app to actually work in. The second thing is, they need to loosen App Store approval guidelines. There’s only one route to get software onto it, so it needs to not suck. </p>
<p>As far as Flash goes, I really don’t care. HTML5 Video and Canvas are going to wash it away, and the lack of support for Flash in the iPhone ecosystem is going to hurt Flash, not anybody else. <a href="http://theflashblog.com/?p=1703" target="_blank">Adobe looks pretty scared</a>.</p>
<p>Still probably not ever going to get a Mac, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2010/ipad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why Ubuntu / Linux isn&#8217;t Really Ready for Consumers&#8230; Yet.</title>
		<link>http://aiusepsi.co.uk/2009/why-ubuntu-linux-isnt-really-ready-for-consumers/</link>
		<comments>http://aiusepsi.co.uk/2009/why-ubuntu-linux-isnt-really-ready-for-consumers/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 11:00:47 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Information]]></category>
		<category><![CDATA[Eee]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/?p=378</guid>
		<description><![CDATA[Update: Hey Reddit! This post has much nastier things to say about Ubuntu than the one below, so I think you&#8217;ll like it more. No, I&#8217;m not a Microsoft astroturfer. Wish I was though, I wouldn&#8217;t mind the money. Honestly, &#8230; <a href="http://aiusepsi.co.uk/2009/why-ubuntu-linux-isnt-really-ready-for-consumers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Update: </strong>Hey Reddit! This post has <a href="http://aiusepsi.co.uk/2007/if-this-is-what-linux-has-to-offer/">much nastier things</a> to say about Ubuntu than the one below, so I think you&#8217;ll like it more. No, I&#8217;m not a Microsoft astroturfer. Wish I was though, I wouldn&#8217;t mind the money. Honestly, I want to like Ubuntu / Linux in general. This is why I tried Ubuntu again after it sucking the first time, and why I bought an Eee PC running a Xandros variant without even considering putting XP on it. But you guys don&#8217;t make it easy.</p>
<p>As anyone who follows my <a href="http://twitter.com/aiusepsi" target="_blank">Twitter feed</a> will know, I&#8217;ve recently been trying to install Ubuntu on my desktop.</p>
<p>On the whole it&#8217;s not that painful, the LiveCD lets you get a feel for the system, the installation is mostly painless even if you want to dual-boot etc, the interface is clean and easy to use, almost everything you&#8217;d ever want is already installed and almost anything else is available from the package manager. It&#8217;s great when it works. Really great.</p>
<p>The trouble is, often it doesn&#8217;t. For example the wireless card on this machine seems to have issues. Sometimes it won&#8217;t connect to a wireless network, sometimes it totally hangs the machine. The solution to this seems to be to dive in head-first into config files and the command-line, rip out the provided open source driver, and whack in a layer that will let me use a Windows driver.</p>
<p>My first attempt to do this just disabled wireless on the machine entirely, which wasn&#8217;t a forward step. I was honestly quite lucky to get it back to where I started from.</p>
<p>Software support can also sometimes be iffy. Stuff that should be simple like Adobe Air seemingly requires a trip through the terminal to convince to work. Another rather significant downside is that a lot of applications you&#8217;re used to using don&#8217;t have versions for Linux. You can use WINE to get Windows applications working, mostly, but it&#8217;s not an ideal state of affairs. And you can forget about playing games; support is even more dire than Mac gaming. That is unless you once again want to press WINE into service; frankly though it feels slightly iffy running Spotify, let alone TF2.</p>
<p>So my point here is three-fold:</p>
<ol>
<li>Hardware support is patchy.</li>
<li>Proprietary software can be hard to get working / unavailable.</li>
<li>If something goes wrong, it requires a lot of scary stuff (command-line, etc.) to fix.</li>
</ol>
<p>See, I&#8217;m sure that if I had a working machine and a few months I&#8217;d start to learn the Linux-fu necessary to deal with this, but it&#8217;s just a pain if something as essential as Wi-Fi doesn&#8217;t just work, or if you can&#8217;t play your favourite games.</p>
<p>They&#8217;ve got a long way to go with hardware support, and it&#8217;s going to be an uphill battle every step of the way. There&#8217;s a lot of hardware manufacturers who aren&#8217;t going to provide Linux drivers, and there&#8217;s a dogmatic craziness in the Linux world that <strong>THOU SHALT NOT</strong> distribute non-free drivers with your distribution, which means that nobody just provides Windows drivers, or makes it easy to get Windows drivers. It&#8217;s totally daft, and it&#8217;s not helped by nutjobs like Richard Stallman. I guess you can put me into the camp who doesn&#8217;t like the GPL. Give me the BSD license any day.</p>
<p>The software difficulties are as equally hard to overcome; you&#8217;d have to deal with the horrible Balkanisation of the Linux distros for one thing so that people would have something simple to compile binaries against. Idealism isn&#8217;t going to get people to give away the source code to everything.</p>
<p>However, there&#8217;s certainly a market for Ubuntu / Linux systems where you can be sure of the hardware configuration and fix all the problems in advance. This means that something like <a href="http://www.eeebuntu.org/">eeebuntu</a> works really rather well, and is supported rather better than Asus managed to support the Eee themselves. It&#8217;s a pleasure to use, and makes me see myself using my Eee a lot more in the future.</p>
<p>Similarly, if all the software you could ever want, literally, is encompassed by the repositories of your chosen distro, then it&#8217;s also a very comfortable experience where you can be reasonably sure that everything will just work, which is literally the ideal consumer experience.</p>
<p>So, if you lie within some narrow definition of &#8220;consumer&#8221; then Ubuntu is going to be perfect for you. If you lie just a little to the edges, it&#8217;s going to suck. There&#8217;s really no middle ground between &#8220;idealised consumer&#8221; and &#8220;pretty hardcore techie&#8221;. I guess that&#8217;s why they&#8217;re going to carry on working with it. If they can expand that consumer window, this could be heading somewhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2009/why-ubuntu-linux-isnt-really-ready-for-consumers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Distributed Version Control: A Review</title>
		<link>http://aiusepsi.co.uk/2009/distributed-version-control-a-review/</link>
		<comments>http://aiusepsi.co.uk/2009/distributed-version-control-a-review/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 14:04:53 +0000</pubDate>
		<dc:creator>aiusepsi</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[bond]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[plasma]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://aiusepsi.co.uk/?p=361</guid>
		<description><![CDATA[This post is all about stuff that&#8217;s only interesting if you&#8217;re into programming. Read at your own risk! Next year as part of my degree I&#8217;m working with a partner to create some software that&#8217;ll simulate cold, dense plasmas (the &#8230; <a href="http://aiusepsi.co.uk/2009/distributed-version-control-a-review/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This post is all about stuff that&#8217;s only interesting if you&#8217;re into programming. Read at your own risk!</p>
<p>Next year as part of my degree I&#8217;m working with <a href="http://joshjgordon.blogspot.com/">a partner</a> to create some software that&#8217;ll simulate cold, dense plasmas (the physics kind, not the blood-is-made-from kind) and the thought of working on this by emailing files to each other and the like just seems utterly beyond tedious, so I&#8217;ve started investigating various types of source control, which will make it a lot easier to work together and keep in sync without getting rapidly into a horrible mess.</p>
<p><span id="more-361"></span>I quickly ruled out CVS and Subversion, because they&#8217;re big, clunky, and require a central server, which we don&#8217;t have.</p>
<p>This left the newer distributed source control systems, such as Git, Mercurial and Bazaar. Choosing between these three is stupendously hard, as they all have a pretty robust feature set, and they&#8217;re all used by major projects so you can be sure they&#8217;ll be supported. Git is used by the Linux kernel and Ruby, Mercurial by Mozilla and Python, and Bazaar by Ubuntu.</p>
<p>Honestly, I haven&#8217;t looked much at Bazaar. I can&#8217;t even tell you why, but it does rather seem to be the runt of the litter. Nobody much talks about it, which immediately raises concerns.</p>
<p>So on to Git and Mercurial, which I really have had to pick between. One comparison (courtesy of <a href="http://twitter.com/mbell88">Matt</a>) is that <a href="http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/">Mercurial is Bond and Git is MacGyver</a>.</p>
<p>I can see where the guy is coming from.  Git was born from the fires of the Linux kernel project, and that legacy is enduringly evident. It seems mostly to be chunks of C held together with strings and tape and shell script, but somehow still manages to be fast as all hell. If you&#8217;re comfortable delving into the bowls of a codebase head-first, man pages open in one terminal window, furiously typing out shell scripts of ridiculous complexity in another, you&#8217;ll be right at home with Git. It&#8217;s like using Linux itself; powerful obtuseness is more-or-less seen as virtue. Sure, it&#8217;s hard to figure out, with a whole ton of concepts you need to absorb, but you&#8217;ll be a goddamn ninja once you have. A very notable feature is that moving chunks of code from file to file is tracked and version history preserved appropriately automatically. A code move (or file rename) is almost a no-op.</p>
<p>Because it&#8217;s tacked together with shell scripts, support on Windows is pretty much pants. There&#8217;s some promising work which provides a BASH prompt as well as GUI tools, but it&#8217;s still not great.</p>
<p>Mercurial, on the other hand, is written in Python, so it&#8217;s generally a lot cleaner. If you want to extend it, you write the extension in Python rather than a hacky shell script, which seems like a plus to me. The core functionality (minus the tracking renames and moves stuff) is completely comparable to Git. One excellent feature is that Mercurial (Hg for short) supports pushing/pulling/cloning code over HTTP/S, so no tedious mucking about with SSH is required. There&#8217;s even a very useful command (hg serve) which opens a tiny web server instance which makes it easy to share code over a local trusted netw0rk on an impromptu basis.</p>
<p>Support on Windows is excellent; you run hg.exe straight from a normal windows cmd.exe prompt, no need for BASH like Git. There is also a very complete set of GUI Explorer extensions in TortoiseHg; it feels very mature. I believe there&#8217;s also a Visual Studio plugin (which there might be for Git, too).</p>
<p>There does exist a project (<a href="http://hg-git.github.com/">Hg-Git</a>) which forms a bridge between the two which is getting more mature all the time, so your final decision isn&#8217;t entirely set in stone.</p>
<p>I realise I&#8217;m glossing, because this is a fairly complicated decision on which it pays to probably do a lot of research. There are things I haven&#8217;t mentioned, like making named branches is cheap and easy in Git, but a pain in Mercurial, which recommends you do clones of the repository instead. On the other hand, this is balanced by Mercurial being a lot less confusing when pulling in code from someone else, their changes just show up as an implicit local branch, whereas Git does something odd with remote named branches appearing in your repo.</p>
<p>All in all, this would be my recommendation:</p>
<ul>
<li>If using Windows is a requirement, use Mercurial.</li>
<li>If you want huge amounts of power and flexibility, use Git.</li>
<li>If you just want to get on with writing your code, use Mercurial.</li>
<li>If you want to collaborate in a small team, use Mercurial.</li>
</ul>
<p>Otherwise, I&#8217;m going to be inspecific, because I really don&#8217;t know which one scales up to huge projects better. Apparently, Mercurial has a great extension to do with Patch Queues which helps give it some of the flexibility with patching that Git has, without burdening the core with excessive complexity. I think that may have been wise.</p>
]]></content:encoded>
			<wfw:commentRss>http://aiusepsi.co.uk/2009/distributed-version-control-a-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

