<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7235575743148865227</id><updated>2012-01-28T20:56:23.366Z</updated><title type='text'>Praxis, Stalled</title><subtitle type='html'>Words no one will ever read</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default?start-index=101&amp;max-results=100'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>138</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7191163674186405182</id><published>2012-01-28T09:40:00.000Z</published><updated>2012-01-28T09:40:06.371Z</updated><title type='text'>Muse</title><content type='html'>&lt;blockquote&gt;The muse&lt;br/&gt;&amp;nbsp;&amp;nbsp;Does not choose&lt;br/&gt;The artist she obsesses.&lt;br/&gt;&lt;br/&gt;If my muse&lt;br/&gt;&amp;nbsp;&amp;nbsp;Were allowed to choose&lt;br/&gt;She would choose one who possesses&lt;br/&gt;&lt;br/&gt;A calling more in line with hers,&lt;br/&gt;An aesthetic that's as fine as hers,&lt;br/&gt;A talent as divine as hers,&lt;br/&gt;And not this hopeless hack.&lt;br/&gt;&lt;br/&gt;But my muse&lt;br/&gt;&amp;nbsp;&amp;nbsp;Did not choose&lt;br/&gt;The artist she obsesses.&lt;br/&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7191163674186405182?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7191163674186405182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7191163674186405182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7191163674186405182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7191163674186405182'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/muse.html' title='Muse'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1073430043768089664</id><published>2012-01-24T21:01:00.000Z</published><updated>2012-01-24T21:01:24.418Z</updated><title type='text'>Bricks</title><content type='html'>&lt;p&gt;&lt;cite&gt;Send to Print / Print to Send&lt;/cite&gt; is an exhibition of 3D-printed design prototypes at the &lt;a href="http://www.thearamgallery.org/"&gt;Aram Gallery&lt;/a&gt; (which is on the 3rd floor of the Aram store, on the corner of Drury Lane and Kean Street, just in case, like me, you're easily confused). (HT &lt;a href="https://twitter.com/#!/pollycasb"&gt;Polly&lt;/a&gt; for being the first of many to tweet about it.) The exhibition itself is a little on the meh side, but that's probably because as a geek I've been exposed to 3D printers and the &lt;a href="http://areasofmyexpertise.com/post/16412960315/speaking-of-jonathan-coulton-and-copyright"&gt;stupidly cool things they can do&lt;/a&gt; for quite a while now. For the muggles I'm sure it's an eye-opener.&lt;/p&gt;&lt;p&gt;But the exhibition &amp;mdash; along with &lt;a href="http://mashable.com/2012/01/24/pirate-bay-download-physical-object-physibles/"&gt;this article&lt;/a&gt; &amp;mdash; reminded me of a thought which struck me the other day (while I was in the shower, if you must know). The pirating of physical objects is inevitable &amp;mdash; although we're still a way off from &lt;cite&gt;All Tomorrow's Parties&lt;/cite&gt; &amp;mdash; but I think we can already guess at the name of its first victim. The patent on LEGO bricks &amp;mdash; and notice, please, the lack of an 's', just like 'maths' doesn't &amp;mdash; expired over 20 years ago, and yet the company has hung in there. I'm sure much of this is due to a combination of nostalgia, brand recognition, and geek loyalty. But what about when you can download the CAD files for a complete set of bricks? (I haven't checked, but I'd be really surprised if such a file wasn't available right now.) LEGO is a much-loved company, but then so was Kodak.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1073430043768089664?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1073430043768089664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1073430043768089664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1073430043768089664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1073430043768089664'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/bricks.html' title='Bricks'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1983100548128253592</id><published>2012-01-22T22:43:00.000Z</published><updated>2012-01-22T22:43:38.303Z</updated><title type='text'>Dare</title><content type='html'>&lt;p&gt;"Get beyond being embarrassed by your dreams, and start putting them down on paper. Then, share them.  That’s the only way, I know of, to make them happen." So says Chuck Palahniuk in the postscript to one of his short essays of writing tips over at &lt;a href="http://litreactor.com/"&gt;LitReactor&lt;/a&gt;. Well, he's right about the embarrassment part, anyway, so let's see how this works out. This year I will:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;(Self) Publish two volumes of short stories &amp;mdash; one SF, the other straight fiction.&lt;/li&gt;&lt;li&gt;Commission a graphic novel based on an idea I'm currently fleshing out and (self) publish that.&lt;/li&gt;&lt;li&gt;Complete a full-length script for &lt;a href="http://scriptfrenzy.org/"&gt;Script Frenzy&lt;/a&gt; in April, and also work up another idea I have for a short film into something shootable.&lt;/li&gt;&lt;li&gt;Complete the novel(la) I've been planning for &lt;a href="http://www.nanowrimo.org/"&gt;NaNoWriMo&lt;/a&gt; in November.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I may even keep score this time &amp;mdash; although it's always hard when there's no one around to take an interest in your work. Let's see how I do.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1983100548128253592?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1983100548128253592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1983100548128253592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1983100548128253592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1983100548128253592'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/dare.html' title='Dare'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6323055086938945952</id><published>2012-01-22T20:51:00.000Z</published><updated>2012-01-22T20:51:20.838Z</updated><title type='text'>Social</title><content type='html'>Social networks are the social acts of a typically un-social group — programmers. They seek to reduce the messy, complicated business of inter-personal relationships to the logical predictability of database management. But in reducing friendship to a binary state they create their own further problems. It's something which Google+ addresses by not showing you who another user is following. Because there's nothing more painful than an unanswered friend request.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6323055086938945952?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6323055086938945952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6323055086938945952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6323055086938945952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6323055086938945952'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/social.html' title='Social'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3397860711050813859</id><published>2012-01-17T20:53:00.000Z</published><updated>2012-01-17T20:53:24.882Z</updated><title type='text'>Mobile</title><content type='html'>&lt;p&gt;During the summer I discovered something new which really annoyed me &amp;mdash; even more than all the other things which really annoyed me, such as people who walk too slowly &amp;mdash; and that was flaky or absent internet connections. In the years since I first got on the internet &amp;mdash; via 14.4K modem, in case you were wondering &amp;mdash; I seem to have become rather attached to it. An absence of connectivity &amp;mdash; or worse, the taunting, tantalising, frustrating promise of an almost connection &amp;mdash; suddenly became the most frustrating thing in the world. I wouldn't say I was addicted... but then again, I did stop halfway through writing that last sentence to check Twitter, so maybe...&lt;/p&gt;&lt;p&gt;During the week I was away, I burnt through 28Mb of data. And this wasn't your average, everyday data. This was premium, first class, solid platinum, diamond encrusted roaming data. I know it was stupid, but I really couldn't help myself. Most of it went on Google Maps, helping a rather tired and stupid novice traveller during his first stumblings about Japanese streets find his way to his hotel. (One observation I'll make is that the caching of map data by the Map app in iOS 5 seems greatly improved over previous versions. Despite infrequent use ours or days apart it was very rare to find it having to re-download tiles.)&lt;/p&gt;&lt;p&gt;The rest of my roaming usage went on Foursquare. Okay, I'll admit I seem to have become rather fond of racking up check-in points, but in my defence these also served as a handy log of where I'd been. I also found the lists of near by points of interest to be useful. I somehow managed to resist heroically the urge to check Twitter every few minutes &amp;mdash; it probably helped that the timezone difference meant that most of the people I like to follow weren't active while I was out and about.&lt;/p&gt;&lt;p&gt;But the thing is, in this day and age, we shouldn't have to live like this, furtively nipping into Settings to turn data roaming on for the length of a download or check in and then quickly turning it off again. Smartphones are wonderful devices, but under these conditions we discover exactly how reliant on a network connection the majority of the really useful apps we use are. (And as a quick aside, can I just wonder aloud how the hell &lt;cite&gt;Words with Friends&lt;/cite&gt; is allowed into the App Store when it blatantly quits if you try to run it without a connection.) I've observed before that the current Mobile trend is just an intermediate stage towards an eventual world of ubiquitous computing. To help us get there, we need to make sure that reliable data connections are always available wherever you are in the world, and that it doesn't cost an unreasonable sum to tap into them.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3397860711050813859?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3397860711050813859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3397860711050813859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3397860711050813859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3397860711050813859'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/mobile.html' title='Mobile'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-472691498386895251</id><published>2012-01-16T23:17:00.000Z</published><updated>2012-01-16T23:17:55.963Z</updated><title type='text'>Coin-Op</title><content type='html'>Growing up in the pre-internet world, where media consumption pretty much meant taking whatever you were served, my exposure to Japanese culture was limited. On TV there were a few children's shows — such as &lt;a href="http://praxisstalled.blogspot.com/2011/07/la-recherche-this-japanese-pupet-thing.html"&gt;&lt;cite&gt;Star Fleet&lt;/cite&gt;&lt;/a&gt; and &lt;cite&gt;Battle of the Planets&lt;/cite&gt; — but by far my greatest contact came through arcade machines. I wasted many a happy hour down the amusements, shovelling coins into games by Taito and Namco. Which I'm sure has absolutely nothing to do with my recently-developed obsession with Japanese vending machines, but makes for a nice little segue none the less.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;/div&gt;It's probably not too much of an overstatement to say that vending machines are everywhere in Tokyo. You can't walk more than 50 meters in any direction with coming across a small cluster of them. At one point, wandering around what I'm sure were residential backstreets, I found one stood at the bottom of someone's drive. In fact, about the only place they were missing was along the posh shopping streets of glitzy Ginza — but even here they weren't far off, tucked away inside lobbies and around the corner in side streets.&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-btCnpxRJfwU/TxSsLsSx_4I/AAAAAAAAAFI/mT_pddDD9uI/s1600/IMG_0783.JPG" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="143" src="http://2.bp.blogspot.com/-btCnpxRJfwU/TxSsLsSx_4I/AAAAAAAAAFI/mT_pddDD9uI/s320/IMG_0783.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;You really can't argue with that&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;So what do these machines vend? Well, drinks, mainly. I became particularly partial to Suntory Boss cafe au lait. This comes out of the machine hot, and is a sweet, milky coffee — imagine instant coffee made with evaporated milk. It makes for both a great drink and a handy handwarmer. And, well... who could argue with the endorsement?&lt;br /&gt;&lt;br /&gt;Your&amp;nbsp;savoury&amp;nbsp;options seem to be limited to a choice of the yellow and pink cans shown below. The yellow is a sweetcorn soup, served hot, which was actually quite nice. I would&amp;nbsp;definitely&amp;nbsp;try it again. The pink one — which I had hoped would be some kind of chilled pudding — was warm and labelled "Sweet Red Bean Broth". No. Very much no.&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 8px; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-uL7plJ4kfAE/TxSnPAwo7zI/AAAAAAAAAFA/C3hyCTXWfM8/s1600/IMG_0831.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="171" src="http://4.bp.blogspot.com/-uL7plJ4kfAE/TxSnPAwo7zI/AAAAAAAAAFA/C3hyCTXWfM8/s200/IMG_0831.JPG" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Left to right: Yes; No&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Machines vending food were rare. I think I only ever saw three of them. One sold a kind of cake bar like a dry brownie called &lt;span style="font-variant: small-caps;"&gt;vegestick&lt;/span&gt; which tasted of orange chocolate and was absolutely delicious. I wish I could remeber where I found it — a Metro station platform somewhere, I think. Another sold boxes of nibbles with a lumberjack theme and absolutely no English anywhere on the packaging. I took a chance — there was always the possibility that they were dishwasher tablets or plant food  — and they turned out to be little&amp;nbsp;biscuit and chocolate&amp;nbsp;concoctions&amp;nbsp;and, again, utterly lovely. (In my extensive testing, I can safely say that chocolate in Japan seems far more like its British equivalents than European or US chocy does.) The final snack I tried was from a vending machine in the airport departure lounge. It was called &lt;span style="font-variant: small-caps;"&gt;soyjoy&lt;/span&gt; and was heavy on the former with no evidence of the latter. Best to avoid.&lt;br /&gt;&lt;br /&gt;The exception to the no food rule were the restaurants where you paid for your meal via vending machine. This is another example of the strange over-staffing which I noted in an earlier post. The major domo of the establishment would hover near the machine, offering advice as you inserted your money and pressed the button showing what you wanted to each. The machine would then vend a tiny slip of paper, which you would hand (two handed), to said major domo. The slip went to the kitchen staff, and a few minutes later your freshly microwaved meal would be brought to you at your table. It's like it was designed for &lt;i&gt;gaijin&lt;/i&gt; who couldn't be bothered to learn any of the language before visiting.&lt;br /&gt;&lt;br /&gt;(Of course, you could always fall back to buying dinner from&amp;nbsp;convenience&amp;nbsp;stores, where the age-old language of choosing stuff from shelves according to what it looks like is spoken. For what it's worth, I would probably rate Seven-Eleven &amp;gt; FamilyMart &amp;gt; Lawson's, particularly when it comes to baked goods. I was kicking myself for not trying a Japanese sandwich, but then we got served one &amp;mdash; of the same brand and in the same packaging as I'd seen on the store shelves &amp;mdash; on the plane home. A valiant effort, all things considered, but only white bread was offered and that was a little on the spongy side, and they really need to work on adding more filling.)&lt;br /&gt;&lt;br /&gt;Finally, no discussion of Japanese vending machines would be complete without mention of the&amp;nbsp;apocryphal&amp;nbsp;panties vending machine. All I can say is, if they exist, I never saw them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-472691498386895251?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/472691498386895251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=472691498386895251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/472691498386895251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/472691498386895251'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/coin-op.html' title='Coin-Op'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-btCnpxRJfwU/TxSsLsSx_4I/AAAAAAAAAFI/mT_pddDD9uI/s72-c/IMG_0783.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8478913245935262819</id><published>2012-01-16T21:22:00.000Z</published><updated>2012-01-16T21:22:29.750Z</updated><title type='text'>Gaijin</title><content type='html'>&lt;p&gt;The word means "outsider". Its use is often derogatory. It applies to me wherever I am.&lt;/p&gt;&lt;p&gt;I used to think that the distance I felt between myself and the rest of the world, the layers of numbness that separated us, lent me a degree of objectivity, that it made me a disinterested observer, and that this in turn would one day help me become the writer I wanted to be. And then there were the bad days... Of course, I had considered that maybe I was suffering from depression. Considered and dismissed it. Depressions was a serious condition and what I had was the occasional case of the blues. To even contemplate the two together was to denigrate the more serious condition. But then the bad days became more frequent, they lasted longer and the gaps between them grew shorter... And yet I continued ignoring it, year after year, until I finally had to admit — after ticking almost all the boxes on a couple of different "spot the signs" checklists — that maybe my problem had a name after all.&lt;/p&gt;&lt;p&gt;Travelling alone was probably a mistake, but I didn't really have much choice. I've always wanted to travel, but it wasn't until very recently that the opportunity — the confluence of money and spare time — presented itself. And of course I was alone, so if I wanted to travel I would have to do it — as I have to do everything — alone. But you're never really alone with depression, and so I found myself walking the streets of one of the greatest cities in the world, a black dog slinking along at my heels, close to tears at how wretched I felt.&lt;/p&gt;&lt;p&gt;I'm sure that there's an aphorism about travelling in order to discover yourself. I discovered that on the streets of Tokyo I was the same pathetic individual as I am in London. I shied away from so many of the new experiences there were to sample. I should have learnt more of the language before I went. I should have pressed harder against the boundaries of my comfort zones. Instead I cowered, ran away, hid. Every evening I was tucked up in my hotel room nice and early, telling myself that watching local TV was more in keeping with my goal of immersing myself in the culture of the place than would be sitting ignored in the corner of some bar. I never go out alone in London, either.&lt;/p&gt;&lt;p&gt;The worse thing is the lack of memories. I have copious photographs &amp;mdash; which in due course I will sort through and post online &amp;mdash; but that's not the same. They mean something only to me. I can share snapshots, but the original moments were shared with no one. I always carry a notebook with me — I hope it will help me become the writer I want to be — and I note down observations, thoughts and snippets I hope share in my writing someday, but that's not the same, either. There was no pointing out things to a companion; there will be no "do you remember...?"s in the years to come. But again, this is no different from London, either. Being alone is shit wherever you are.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8478913245935262819?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8478913245935262819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8478913245935262819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8478913245935262819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8478913245935262819'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/gaijin.html' title='Gaijin'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-509330082529885916</id><published>2012-01-16T18:28:00.000Z</published><updated>2012-01-16T18:28:29.624Z</updated><title type='text'>Otaku</title><content type='html'>&lt;p&gt;I'll probably have my geek card confiscated &amp;mdash; or rather, my membership record deleted from the database because, c'mon, membership cards are kinda low-tech &amp;mdash; but I really wasn't that impressed with Akihabara. I went looking for a nerd nirvana and all I found were Curry's-esque chain stores and the kind of little junk PC shops which I used to run, full of faded boxed software (physical media? please) and cartons of dirty used keyboards. I don't know what I expected &amp;mdash; maybe Case buying some no-name Chinese copy of a Russian military console. (Which reminds me, I never got to visit a capsule hotel. Next visit.)&lt;/p&gt;&lt;p&gt;Of course, there's a very good chance that I took a wrong turning on my way out of the station and missed the really exciting stuff, but I guess the real problem is that modern technology is, basically, boring. Barring the occasional disruption &amp;mdash; think touch screen phones, and that was almost five years ago this week &amp;mdash; the trajectories of all the major technologies are known about and blogged to death months in advance of their rolling off the fabs, so the chances of stumbling across anything genuinely exciting among the minor speed bumps and storage hikes is next to zero.&lt;/p&gt;&lt;p&gt;Or maybe I'm just bitter about the way that the girls outside the maid cafes studiously ignored me as I walked past.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-509330082529885916?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/509330082529885916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=509330082529885916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/509330082529885916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/509330082529885916'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/otaku.html' title='Otaku'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2899267502965162481</id><published>2012-01-16T17:19:00.002Z</published><updated>2012-01-16T18:19:51.239Z</updated><title type='text'>Sumimasen</title><content type='html'>Sumimasen means roughly "excuse me", in both the "get out of my way!" and "can I be of help?" senses. It's a word you should take note of, even if you're unlikely to ever use it yourself. As you walk around one of the many large department stores in Tokyo you'll be followed by a polite chorus of simimasens from the many attentive sales persons as you wander into the area of floor for which they are responsible.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-GQT66ASbIhs/TxRZxWHDYnI/AAAAAAAAAEo/rJKxUi7MBZY/s1600/IMG_0941.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-GQT66ASbIhs/TxRZxWHDYnI/AAAAAAAAAEo/rJKxUi7MBZY/s640/IMG_0941.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Ginza, in all its neon magnificence&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;A final set of random thoughts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I was struck by the number of staff employed seemingly everywhere. Sales staff seemed more prevalent on the floors of department stores; each Metro platform was permanently manned; wherever you went, the number of people on hand to server seemed greater than I'm used to in the UK. How this related to the widespread use of technology was also interesting. For instance, many museums and other attractions used vending machines to sell their entrance tickets, but there would typically be three or four members of staff on hand to welcome you, point you in the direction of the machines, and show you how to use them. Technology is employed in addition to — rather than as a replacement for — human staff.&lt;/li&gt;&lt;li&gt;They drive on the correct (left) side of the road, but stand on the wrong (left) side of escalators.&lt;/li&gt;&lt;li&gt;There are lots of bicycles, most of them being ridden on the pavements. And I don't think I saw one helmet the whole time. Tut-tut, Tokyo.&lt;/li&gt;&lt;li&gt;When you pay for something, I &lt;i&gt;think&lt;/i&gt; that you're meant to place the money in the little tray on the counter, rather than handing it over to the salesperson. At least, that's the impression I got the first time I tried paying in the normal way and was corrected. Of course, sometimes there isn't a little tray, so I guess in that case it's okay to thrust cash at them.&lt;/li&gt;&lt;li&gt;There was surprisingly little sushi on offer, the preferred food being ramen-style noodle bowls. The sushi I did try wasn't a patch on the stuff from the &lt;a href="http://www.ricewine.f2s.com/"&gt;Rice Wine Shop&lt;/a&gt; in Brewer Street.&lt;/li&gt;&lt;li&gt;Restaurants go in for displaying pictures of the food they serve, at least out on the shop front. (But not on the menus. Oh no, that would make things too easy...) Some even go so far as to display plastic replicas of the dishes they offer. Unfortunately, plastic being rather shiny, this has the effect of making them glisten rather unappetisingly.&lt;/li&gt;&lt;li&gt;There is a really nice small sized paperback format, which is used for both prose books as well as manga. It's about 3" by 4" and is surprisingly nice and light to hold. I wonder if this format only works because kanji text is more dense than languages written in roman characters. And slip-on covers for your books seem popular, too.&lt;/li&gt;&lt;li&gt;You wouldn't think it was possible to make Santa any more exciting than he already is, but somehow they've &lt;a href="http://www.joymark-design.co.jp/online/products/list.php?category_id=1"&gt;found a way&lt;/a&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-BlYrHSxfboo/TxRa8LFm3II/AAAAAAAAAEw/TFdERFtFRpw/s1600/IMG_0794.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-BlYrHSxfboo/TxRa8LFm3II/AAAAAAAAAEw/TFdERFtFRpw/s640/IMG_0794.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;"Captain Santa: For the Future"&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2899267502965162481?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2899267502965162481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2899267502965162481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2899267502965162481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2899267502965162481'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/sumimasen.html' title='Sumimasen'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-GQT66ASbIhs/TxRZxWHDYnI/AAAAAAAAAEo/rJKxUi7MBZY/s72-c/IMG_0941.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1258483112687075948</id><published>2012-01-11T22:29:00.001Z</published><updated>2012-01-16T16:31:02.012Z</updated><title type='text'>Arigato</title><content type='html'>&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-iRZVO0uxts8/Tw4L5vSmRII/AAAAAAAAAEg/g-TSAgQEJ5E/s1600/IMG_0524.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="124" src="http://4.bp.blogspot.com/-iRZVO0uxts8/Tw4L5vSmRII/AAAAAAAAAEg/g-TSAgQEJ5E/s640/IMG_0524.JPG" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;View from the Sky Deck atop the Mori Tower&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Sitting here, watching the early morning sun washing the towers rose-pink, an almost-full moon still bright in the sky, Mount Fuji clear in the distance and wreathed in a thin band of cloud, I really wish I own and had brought a proper camera, something with an adjustable lens. And that I had some photographic talent.&lt;br /&gt;A few more random thoughts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Face masks are big here. I'm trying not to let on that I'm currently nursing a minor case of the man-snuffles. I don't want to cause a panic or get quarantined or anything.&lt;/li&gt;&lt;li&gt;For such a large city, it's not very noisy. What it is, though, is musical. Maybe it's because they're employing a different tonal system, but all the usual chirps and beeps — like the sound zebra crossings make — seem just that little more exciting. I particularly love the "hurry up and get on the train" tune they play on the Metro. It reminds me on what used to happen when you were almost out of time in something like &lt;cite&gt;New Zealand Story&lt;/cite&gt; or &lt;cite&gt;Rainbow Islands&lt;/cite&gt;. I'm sure you used to be able to get a set of Tokyo Metro sound effects for the Mac. I'll have to look them up when I get home.&lt;/li&gt;&lt;li&gt;I also love the little fanfare which Seven-Eleven ATMs play as they present you with your cash. It makes you feel like you've just leveled-up. (But we won't mention the slight ATM-related mishap I had — there are so many zeroes here...)&lt;/li&gt;&lt;li&gt;I'm not sure whether I'd be able to recognise a police officer if I saw one — everyone from the garbage collectors upwards dress like South American generals.&lt;/li&gt;&lt;li&gt;There's something old fashioned which I can't put my finger on it about the touchscreen tech in the subway. It's like how people envisioned the sci-fi tech would look back in the day — a mash-up of CRTs and physical brushed-aluminium buttons surrounded by a chaos of labels and slots. But I guess, back in the day, while we were only envisioning it, the Japanese were actually building it.&lt;/li&gt;&lt;li&gt;There is a lot of random English everywhere. Most shops, even the smallest ones, appear to be named in English, and random phrases — sadly, more often than not, actually in context and making sense — appear most everywhere else, such as in advertising copy. (Also sadly, I haven't seen anything like &lt;a href="http://gawker.com/5874304/japanese-department-store-may-want-to-look-up-the-word-fucking"&gt;this&lt;/a&gt; yet.) In fact, the only place that English doesn't seem very popular is on menus.&lt;/li&gt;&lt;li&gt;A surprising amount of hawking goes on. Along the busier streets there will be people, often with megaphones, stood outside even the largest chain stores, trying to get people to come in and buy.&lt;/li&gt;&lt;li&gt;Someone needs to introduce this country to proper sausages. Even in a faux-English breakfast, Frankfurters are not right. (And what is a traditional Japanese breakfast, anyway?)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1258483112687075948?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1258483112687075948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1258483112687075948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1258483112687075948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1258483112687075948'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/arigato.html' title='Arigato'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-iRZVO0uxts8/Tw4L5vSmRII/AAAAAAAAAEg/g-TSAgQEJ5E/s72-c/IMG_0524.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6433441819021566778</id><published>2012-01-08T17:35:00.000Z</published><updated>2012-01-08T17:35:47.430Z</updated><title type='text'>Konnichiwa</title><content type='html'>I'd have to be a much better photographer — and have a much better camera than this iPhone — to do justice to the view from my room, here on the 35th floor of the Century Southern Tower in Shinjuku. I don't think I've ever seen anything like it. I've lived high up in London, and even a view which includes the Swiss Re and the half-complete Shard (like the background to my &lt;a href="http://about.me/stuartcrook"&gt;about.me&lt;/a&gt; page) pales against this sea of lights spreading far away to the horizon. The black void in the picture below is the Yoyogi Park surrounding the Meji Shrine.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-iDykKV07OYo/TwnRmWW1LAI/AAAAAAAAAEI/imFupWs6V8s/s1600/IMG_0497.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/-iDykKV07OYo/TwnRmWW1LAI/AAAAAAAAAEI/imFupWs6V8s/s640/IMG_0497.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;By day the view is equally impressive. The annotated cityscape next to the window here tells me that that's Mount Fuji hidden behind the clouds in the distance there.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vtXuHHL9xAY/TwnSESvvhiI/AAAAAAAAAEQ/0l-M6dpqhNA/s1600/IMG_0489.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-vtXuHHL9xAY/TwnSESvvhiI/AAAAAAAAAEQ/0l-M6dpqhNA/s640/IMG_0489.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Since I'm being kept awake by jetlag — which sounds way cooler than my usual annoying insomnia — I'm going to note down my initial impressions of Tokyo while they're still fresh.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Everything you've heard about how courteous and polite the Japanese are is absolutely true. I've turned up here, unable to speak a word of their language — well, I guess I can manage three or four, but I always seem to forget them when the time comes — and so far everyone I've met has been extremely helpful. I was worried about how to get from Narita to my hotel, having a vague notion of which train to take and which type of ticket to buy, but a few moments in the JP Rail ticket office and problem solved. Also, the amount of signage and the number of announcements which are in English is unbelievably generous.&lt;/li&gt;&lt;li&gt;The thing where you hand over things — tickets, passports, cards — with both hands will take some getting used to.&lt;/li&gt;&lt;li&gt;As will the toilets. I swear the one in my hotel room has more functions than my phone.&lt;/li&gt;&lt;li&gt;Hats seem to be big over here.&lt;/li&gt;&lt;li&gt;If those guys in the Economy cabin with me weren't a small-time rock group hoping to make it big in Japan, I'd be very disappointed, even if it is an almighty cliche. They certainly had all the stereotypes covered — long-haired and goateed prog-rock guy; large, curly-haired metal dude; goth girl who wouldn't take off her kitten-eared hat even inside the plane; trendy-haired too-cool-for-school in his skinny jeans. I should've asked them where they were playing. But it's annoying, because now the thing I was planning to write is going to look even less original.&lt;/li&gt;&lt;li&gt;I took ages for my ears to pop. They didn't really clear until I started yawning. And every time I did, the city got a little bit louder.&lt;/li&gt;&lt;li&gt;Shinjuku station makes the Bank-Monument complex look like an underpass. I have already spent a confused hour 'exploring' it.&lt;/li&gt;&lt;li&gt;The "JP DOCOMO" carrier ident is so long that it forces the network activity spinner across onto the righthand side. Ugh.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IQg_NZJUBdA/TwnSggZiMFI/AAAAAAAAAEY/X-ZEgjqVj5E/s1600/IMG_0503.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="25" src="http://2.bp.blogspot.com/-IQg_NZJUBdA/TwnSggZiMFI/AAAAAAAAAEY/X-ZEgjqVj5E/s400/IMG_0503.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6433441819021566778?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6433441819021566778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6433441819021566778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6433441819021566778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6433441819021566778'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/konnichiwa.html' title='Konnichiwa'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-iDykKV07OYo/TwnRmWW1LAI/AAAAAAAAAEI/imFupWs6V8s/s72-c/IMG_0497.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-4637409277015045281</id><published>2012-01-05T21:39:00.000Z</published><updated>2012-01-05T21:39:30.766Z</updated><title type='text'>Comfort Zones</title><content type='html'>&lt;p&gt;The New Year is, I guess, as good a time as any to try something new — unoriginal, but at least everyone's doing it — so I'm about to step outside of my comfort zone.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-gntBfhN3SWM/TwYYS0sa1QI/AAAAAAAAAEA/VTTdhv-JQ20/s1600/IMG_0463.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-gntBfhN3SWM/TwYYS0sa1QI/AAAAAAAAAEA/VTTdhv-JQ20/s400/IMG_0463.PNG" width="265" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Maybe somebody could alert our Embassy over there. Thanks.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-4637409277015045281?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/4637409277015045281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=4637409277015045281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4637409277015045281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4637409277015045281'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/comfort-zones.html' title='Comfort Zones'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-gntBfhN3SWM/TwYYS0sa1QI/AAAAAAAAAEA/VTTdhv-JQ20/s72-c/IMG_0463.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2317674471916882428</id><published>2012-01-02T18:11:00.000Z</published><updated>2012-01-02T18:11:21.557Z</updated><title type='text'>codeyear.com</title><content type='html'>&lt;p&gt;A link to &lt;a href="http://codeyear.com"&gt;codeyear.com&lt;/a&gt; has been doing the rounds on Twitter over the last couple of days. The idea is that you sign up for a weekly e-mail newsletter containing an interactive lesson which, over the course of the next year, will teach you how to code. (Before you ask: yes, I have signed up. It's all about the life-long learning, and the constant nagging feeling that I'm doing something wrong.) This prompted pieces from &lt;a href="http://inessential.com/2012/01/01/code_year"&gt;Brent Simmons&lt;/a&gt; &amp;mdash; who quotes Douglas Rushkoff's "program or be programmed" from off the site (showing he has more restraint than me, who would instead have pointed out Paul Graham's rather unfortunate "invest two years ... to learn how to hack") &amp;mdash; and &lt;a href="http://www.red-sweater.com/blog/2298/learn-to-code"&gt;Daniel Jalkut&lt;/a&gt; &amp;mdash; who wonders whether aggregate programming ability could be used in a similar manner to literacy rates to measure a society's level of intellectual advancement.&lt;/p&gt;&lt;p&gt;While &lt;a href="http://praxisstalled.blogspot.com/2012/01/javascript-turtle.html"&gt;yesterday&lt;/a&gt; I was hesitant to endorse the idea of making programming a part of the national curriculum, studied by all school children, I should point out that I don't have a problem with people learning to code. (Just as long as they aren't better than me. Or learn HTML+CSS mark-up and call it coding.) The more coders the better, I say. So if you want to program &amp;mdash; if you've ever felt even the tiniest urge to create something in code &amp;mdash; then you should give it a go, and this seems like the perfect way to get your feet wet.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2317674471916882428?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://codeyear.com' title='codeyear.com'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2317674471916882428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2317674471916882428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2317674471916882428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2317674471916882428'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/codeyearcom.html' title='codeyear.com'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5374101091097050176</id><published>2012-01-01T12:10:00.000Z</published><updated>2012-01-01T12:10:23.287Z</updated><title type='text'>The JavaScript Turtle</title><content type='html'>&lt;p&gt;The state of computing and IT education in the nation's schools was a subject which came up several times at the couple of developers' conferences I attended this summer. At &lt;a href="http://updateconf.com/"&gt;Update Conf&lt;/a&gt;, Anna Debenham's talk &lt;a href="http://youtu.be/UvM40o734VM"&gt;&lt;cite&gt;The Digital Native&lt;/cite&gt;&lt;/a&gt; was a survey of current practices in teaching IT. I can't say I was particularly surprised that things haven't moved on much in the 20-or-so years since I was at secondary school. The roomful of Archimedes have been replaced with Windows PCs, but otherwise the curriculum, with its emphasis on doing pointless things in the name of learning to use a few productivity applications, seems the same.&lt;/p&gt;&lt;p&gt;(Anna's talk was probably the most thought-provoking of those given at Update, if only because its unevenness meant it wasn't as polarising as those by certain other speakers. There was a lot there which I agreed with, along with too much I found ill-informed and irritating for whatever reasons. All of which is, I guess, the mark of an excellent conference speaker.)&lt;/p&gt;&lt;p&gt;The basic preoccupation for attendees &amp;mdash; a good number of whom were developers, even though Update itself had a far broader mix of professions represented &amp;mdash; was whether the teaching of IT in schools should include programming. Later that week, at &lt;a href="http://www.iosdevuk.com/"&gt;iOS Dev UK&lt;/a&gt; in Aberystwyth, Fraser Spears, during the Q&amp;A portion of his talk on the deployment of iPads to school kids he's been overseeing, was asked this specific question. His reply &amp;mdash; which I find myself wholeheartedly agreeing with &amp;mdash; was that general IT education should engender an interest in computing such that a child may be inspired to take up programming, but programming itself should only be an optional part of the curriculum.&lt;/p&gt;&lt;p&gt;My agreement is probably due to the fact that I came to programming on my own, without ever meeting it at school. There was a myth among my year &amp;mdash; which may have been true, I have no real way of checking &amp;mdash; that up until only a couple of years previously, programming had been generally taught, and that we had only just missed out. I don't know what affect being taught programming would have had on me. Maybe it would have crushed any enthusiasm I felt for the subject. Apart from at A-Level, I have no academic programming experience, but I like to think that, more important that teaching myself how to program, was teaching myself how to teach myself to program.&lt;/p&gt;&lt;p&gt;Anyway, all of this talk of education got me to thinking about those old stalwarts of teaching kids about computers: &lt;a href="http://en.wikipedia.org/wiki/Logo_(programming_language)"&gt;Logo&lt;/a&gt; and the &lt;a href="http://en.wikipedia.org/wiki/Turtle_graphics"&gt;turtle&lt;/a&gt;. I can't remember for sure whether I ever met these two (I have vague memories of a BBC Micro and a primary school classroom, but I may be inventing those...), but I've never really got on with Lisp. Whatever its educational benefits, its hardly a mainstream language these days, and if we're going to introduce school children to programming it may as well be in a language they can conceivably take forward into a career. So without further ado, I present the &lt;a href="http://www.jaml.co.uk/turtle.html"&gt;JavaScript Turtle&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;The JavaScript Turtle is my first attempt at implementing a turtle in javascript (hence the deceptive name). As will become apparent by examining the source, I'm really not a web guy. Nevertheless, I have a soft spot for javascript, and I think that web technologies are an ideal playground for introducing the next generation of hackers to the wonders of code. The more perceptive among you will realise that what we're giving the young user here is a environment which allows them to execute arbitrary javascript &amp;mdash; not just turtle control code &amp;mdash; within the page. It's a massive, but basically safe, new world for the more inquisitive to explore.&lt;/p&gt;&lt;p&gt;My intention was to have the whole thing &amp;mdash; markup, styles and code &amp;mdash; encapsulated in a single file, so even if your school network is locked down, you can still distribute it the old fashioned way (which in my mind means floppies, although I've no idea if even our decrepid UK schools still support them). I intend to continue working at this &amp;mdash; in particular, I need to add the ability to parse and handle control statements in a smart way &amp;mdash; so if this is of any use to anyone, let me know.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5374101091097050176?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5374101091097050176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5374101091097050176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5374101091097050176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5374101091097050176'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2012/01/javascript-turtle.html' title='The JavaScript Turtle'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2170305861410466326</id><published>2011-12-31T15:28:00.000Z</published><updated>2011-12-31T15:28:54.104Z</updated><title type='text'>Knights</title><content type='html'>&lt;p&gt;Given the &lt;a href="http://www.bbc.co.uk/news/technology-16367022"&gt;delightful news&lt;/a&gt; of Jony Ive's ennoblement, I guess we should brace ourselves for a chorus of WTFs &amp;mdash; most originating, more than likely, from a certain errant former colony over yonder westwards &amp;mdash; decrying as anachronistic the British honours system. But to do so is to misunderstand the very important role which Knights &amp;mdash; and, of course, Dames &amp;mdash; play in matters of National Security. Let me explain.&lt;/p&gt;&lt;p&gt;Traditionally, the role of a knight has been to act as advisor to the monarch and, during times of war, as an ad hoc general. Much like Jedi, only with a better chance of getting a table at the Ivy. There were many other duties performed as well, mostly involving Questing and rescuing princesses from eg. dragons, orges, trolls, less-attractive family members, etc.. The low number of minor royals being abducted by mythical creatures over recent years attests to what an excellent deterrent the Honours System continues to be. But while still important, these knightly duties are receiving less attention these days. For instance, during the Knight Camp training session in the Scottish Highlands which all the newly elevated must attend, only a single day is now given over to jousting (although this is still fairly intensive, covering as it does not only traditional horse-back jousting, but also jousting on motorbike &amp;mdash; both standard and with sidecar &amp;mdash; and while hung out of the window and / or sunroof of a wide selection of motor vehicles). The role of the modern knight is that of inspirational figurehead.&lt;/p&gt;&lt;p&gt;Once upon a time, a knight's place on the battlefield was right in the thick of things. This wasn't a bad thing for your average knight, since the excess cash which came with his privileged position would allow him to invest in the latest greatest kit. So while everyone else had only particularly crusty sackcloth to protect them from the business end of a bec de corbin, the knight, encased as he would have been within state-of-the-art tincannery, was free to wander about at his leisure, guisarmes and voulges bouncing off him like gentle spring rain. The advent of the professional soldier was responsible for killing off the gentlemanly sport of Amateur War. Blame ol' wart-face Cromwell. What it meant to be a knight had to change with the times.&lt;/p&gt;&lt;p&gt;The wars of the future won't be fought in the traditional manner. But don't go getting all excited. The wars of the future won't be fought in what we used to call CyberSpace, either. No, the wars of the future will be fought on home ground, in shopping centres, car parks and chain restaurants, against zombies or aliens &amp;mdash; or, in one particular nightmare scenario, zombie aliens. It is these wars which your modern knight is being equipped to lead. Their role is to shape whatever ragtag group of disparate survivors they stumble upon into a unstoppable fighting machine. Imagine the scene: A church hall, sometime after dark. A handful of villagers shelter inside, while outside they can hear their former neighbours shuffling around and professing their very real desire to consume brains. A door opens. Who can it be? Only bloody Sir Michael of Caine, that's who. "Alright, lads," says he. "I know we're in a bit of a spot, but don't worry, I've got a plan." Game over for Johnny Zombie.&lt;/p&gt;&lt;p&gt;Seriously, Rest Of The World, when the alien motherships are hovering over our capital cities, who will you have to turn to? Politicians? Celebrities? Mouseketeers? Because we'll have Captain Picard and Gandalf.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2170305861410466326?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2170305861410466326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2170305861410466326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2170305861410466326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2170305861410466326'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/12/knights.html' title='Knights'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6932293666340054990</id><published>2011-12-28T18:30:00.000Z</published><updated>2011-12-28T18:30:50.116Z</updated><title type='text'>Lexical: A Retrospective</title><content type='html'>&lt;p&gt;Since it's coming to the end of the year and I'm feeling a little nostalgic, I thought I'd revisit &lt;a href="http://itunes.apple.com/gb/app/lexical/id324840578?mt=8"&gt;&lt;cite&gt;Lexical&lt;/cite&gt;&lt;/a&gt;, the first iOS code I ever snuck into the App Store. This was released back in the heady halcyon days of October 2009, and since then has been downloaded literally dozens of times.&lt;/p&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/Xx_6AWoO3oA?rel=0" style="display: block; margin-left: auto; margin-right: auto; width: 420px;" width="420"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;p&gt;The visual style is minimalist, inspired by Bauhaus. I like to think that it had a direct influence on the design of the Windows Phone 7 / Windows 8 &lt;cite&gt;Metro&lt;/cite&gt; UI, but then I'm prone to vast delusions of grandeur. Whatever, it's probably long past due a bit of a revamp.&lt;/p&gt;&lt;p&gt;I originally wrote &lt;cite&gt;Lexical&lt;/cite&gt; in a couple of weeks, mainly so I could experiment with Core Animation layers. This time I'll be using Cocos2D/3D for the same reason. And since I've already worked out all the tricky game logic stuff, it should take far less time.&lt;/p&gt;&lt;p&gt;(Why, yes, those do sound an awful lot like famous last words to me.)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6932293666340054990?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6932293666340054990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6932293666340054990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6932293666340054990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6932293666340054990'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/12/lexical-retrospective.html' title='Lexical: A Retrospective'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/Xx_6AWoO3oA/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6485297537904582477</id><published>2011-12-27T11:55:00.000Z</published><updated>2011-12-27T11:55:25.156Z</updated><title type='text'>Topman Generation</title><content type='html'>&lt;p&gt;Another thing what I wrote: the iOS version of the &lt;a href="http://magazine.topman.com/"&gt;Topman Generation&lt;/a&gt; digital magazine. "But," I imagine I hear you scoff, "surely that's just a couple of web views pointing at the magazine site?" At which point I begin to cry, wishing it was that easy. Feature creep — including the one simple little word "caching" — turned this one into a bit of a nightmare.&lt;/p&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-syIkQiJKb6I/Tvmwi4DIR1I/AAAAAAAAAD0/BO2k88J93BE/s1600/topman_generation_fail.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-syIkQiJKb6I/Tvmwi4DIR1I/AAAAAAAAAD0/BO2k88J93BE/s640/topman_generation_fail.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;And don't get me started on having to work with web guys. Seriously, don't. I mean, individually they're all lovely blokes, but once they start cranking out those scripting languages of theirs... You see that big grey area in the screenshot above? That's the result of removing the page headers and footers. You'd think it would be easy enough to have the rest of the page resize to fill the window, but no. Mind you, if you saw the mess of machine-generated markup it was trying to manipulate you'd probably realise why.&lt;/p&gt;&lt;p&gt;And as for load times... 112 requests and 3Mb just for the main page. &lt;i&gt;Sigh.&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6485297537904582477?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6485297537904582477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6485297537904582477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6485297537904582477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6485297537904582477'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/12/topman-generation.html' title='Topman Generation'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-syIkQiJKb6I/Tvmwi4DIR1I/AAAAAAAAAD0/BO2k88J93BE/s72-c/topman_generation_fail.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1367711107010373769</id><published>2011-12-04T10:42:00.000Z</published><updated>2011-12-04T10:42:38.248Z</updated><title type='text'>Mobile is not the Future</title><content type='html'>The future is &amp;mdash; always has been &amp;mdash; ubiquitous computing. Users will live among an unseen ecosystem of intelligent agents who will anticipate and respond to their every need. Mobile is important because it's a large step along the path to this future. But we're not there yet. Performance, power consumption, and connectivity have come a long way, but we're still computing through a device &amp;mdash; we still need to carry the box in our pockets, take it out when we want to use it, look at and interact with its relatively tiny screen. Some day we'll look back on these mobile years with wonder. Apps will seem as archaic as the command line on the desktop &amp;mdash; but maybe also as fondly thought of as the clockwork workings of a watch.&lt;br /&gt;&lt;br /&gt;Mobile isn't the future, but, for the time being at least, it is still the now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1367711107010373769?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1367711107010373769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1367711107010373769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1367711107010373769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1367711107010373769'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/12/mobile-is-not-future.html' title='Mobile is not the Future'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2938761022070561714</id><published>2011-11-07T22:08:00.002Z</published><updated>2011-11-07T22:10:38.566Z</updated><title type='text'>The iPhone 4S</title><content type='html'>I've had an iPhone 4S for a few weeks now. It's unusual for me to get a new phone this soon after its launch. I took the plunge this time mainly in order to diversify my development devices. I plan to keep my old 4 on iOS 4.3 for compatibility testing and use the 4S as my main dev device — as well as my everyday phone.&lt;br /&gt;&lt;br /&gt;There's not really much left for me to say about the 4S which other people haven't already said. Like &lt;a href="http://www.marco.org/2011/10/24/iphone-4s-review"&gt;Marco Arment&lt;/a&gt;, I can't say I've really noticed much of a speed improvement. This probably says a lot about the power of the iPhone 4. Certainly on paper the 4S should be noticeably faster. I usually shy away from having the fastest device available as my day-to-day development device from a — more than likely misplaced — feeling that by not having to worry about performance I end up writing inefficient code. I guess it's hard to shake my assembly language roots.&lt;br /&gt;&lt;br /&gt;I must admit that I haven't got much use out of Siri so far. We had fun with it — I'd love to say 'she', but over here they've made Siri a bloke — over lunch one time, but that's about it. I guess I just feel too self-conscious talking to my phone.&lt;br /&gt;&lt;br /&gt;And the only other new stand-out feature of the 4S over the 4 is the rattle somewhere at the top of the device near the mute switch. But I'm not sure that's a standard feature.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2938761022070561714?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2938761022070561714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2938761022070561714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2938761022070561714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2938761022070561714'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/11/iphone-4s.html' title='The iPhone 4S'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5721628327860928046</id><published>2011-10-16T11:35:00.003+01:00</published><updated>2011-12-27T11:37:02.059Z</updated><title type='text'>On Creativity</title><content type='html'>I've been an Apple fanboi since back when the company was doomed. Up until the mid-90s I'd been an Atari fanboi. You can guess how big a fanboi I was by the fact it took until the mid-90s for me to finally accept that the platform was dead and that it was time to jump ship. I bet I was one of the very few people to ever own a Falcon030. While I started playing around with programming on the BBC and Spectrum, it was on the ST that I really cut my coding teeth. When I got my first Mac — a PowerMac 8200/100, since you ask — I also got Code Warrior. I made some half-hearted attempts at learning the Toolbox, but somehow it wasn't quite the same — maybe what was missing was that magic which came from knocking around at the assembly level with a single, well-known hardware platform. It wasn't until several years later and Xcode under OS X on an iBook that I really got back into programming, and then what drove me wasn't so much the technology as the community.&lt;br /&gt;&lt;br /&gt;"Style over substance" — or something with similar connotations — has been the default insult levelled at the Mac since the beginning. Variations of it were used time and again by detractors to describe the applications available for OS X, especially during the rise of the Delicious Generation. The Mac couldn't host anything like the extensive software catalogue of Windows — especially in wake of the platform's abandonment by most of the big name companies which had previously supported it — but what it did have was a number of well-made applications from numerous small independent developers. Indie developers were craftsmen, and this was reflected in the thought, the time and effort, which went into producing their products. This was the community I wanted to join.&lt;br /&gt;&lt;br /&gt;I never did, of course. Time and circumstance conspired against me. The challenges involved in first creating, and then marketing, a product seemed too great, and I shied away from them. And then the iPhone was released. At first, the connection between this amazing new product and the Indie community didn't exist, but eventually the SDK was released and the App Store opened — and the independent developers who had supported the Mac for all these years were there at the front of the queue.&lt;br /&gt;&lt;br /&gt;Despite the many stories of small developers striking it rich over night, I never really imagined that I'd be able to produce a smash hit app. I knew that to do it properly I would need to work with others who would fill the gaps where my skills were lacking. The couple of apps I made were to back up my claims of being a proper grown-up developer. I made a few false starts at finding collaborators online (to my eternal shame, I managed to mess a couple of people about, as well as getting messed about — and royally screwed-over — myself), but eventually I gave in and went for one of the many suddenly flourishing iPhone developer jobs.&lt;br /&gt;&lt;br /&gt;(I have to thank Steve Jobs, not only for creating tools which I want to use above all others available, but — most of all — for creating the environment where people will actually pay me to use them. It was almost impossible to get a job as an Objective-C programmer in the UK before the iPhone, but now — even today, a couple of years on — there is still a growing demand.)&lt;br /&gt;&lt;br /&gt;I had hoped to join a team where I'd be part of the creative process, joining in the back-and-forth and contributing. In the main this has happened. I've worked with some excellent creative people, and — since being subsumed into the world of advertising — some excellent Creatives, but I can't shake the feeling that I've always been the junior member, there on sufferance, tolerated for their technical knowledge but otherwise to be seen but not heard. In short, that I wasn't creative like those others involved in the design process. (One colleague would constantly make comments along the lines of "…even people, like you, who aren't creative…" — they cut me every time.) Sure, I didn't have any formal creative training, but then I didn't have any formal programming training, either.&lt;br /&gt;&lt;br /&gt;I guess that there's a broader question here: Is programming a creative endeavour? Certainly it's creative in that it is the means by which an end product is created. But how much creativity goes into that process? I realised a long time ago that as far as my creative colleagues are concerned, the answer is none — that all I do is basically typing maths. (In a particularly grim low moment I changed my job description on the office intranet to read "Typist".) I'd argue against this. While programming is ultimately a form of engineering (although this is mostly an American affectation, nerds who sit in chairs all days wanting to be classed with the guys who get to wear hardhats and build bridges), that doesn't mean that it is rigid and inflexible. The skill — the craft — comes from choosing the best, most elegant solution to the problem at hand. If not an artist, I am, at least, an artisan.&lt;br /&gt;&lt;br /&gt;I got into a minor Twitter tiff with superstar designer Sarah Parmeter at Update Conf. As part of her presentation she told a story about talking to developer friends about what the iPhone could and couldn't do in terms of sending SMS messages, and suggested as one of her top tips that designers should find out about device capabilities. I expressed surprise on the back channel that any designer should need to be told this. But, looking back, I shouldn't have been surprised at all. Too many people involved in the design of apps seem to see discovering the abilities — and, more importantly, limitations — of the devices they're designing for as some kind of check on their creative freedom. (To be fair, at the moment this seems to be more prevalent among the ranks of mangers who now seem to be charged with designing apps — wire framing, as if this were some unimportant step in the design process — than with any of the actual big-"d" Designers I work with.) This strikes me as being akin to a sculptor not being interested in discovering the various contrasting properties of marble, brass and wood. And it casts the developer, who has to step in and say no, this can't be done, in the role of killjoy naysayer.&lt;br /&gt;&lt;br /&gt;(And we now reach the point where clients are unwilling to pay for app design time, so could we put everything that their web designers need to know about designing for apps down in an email, thanks very much…)&lt;br /&gt;&lt;br /&gt;Anyway. Sorry. Another unfocused rant. Tomorrow I hand in my notice. After than I contract for a while. And after that — if the comfort of contracting money and the fear of failure don't get the better of me, which there's a very good chance they will — I'll start up a development shop of my own. Maybe I'll be able to convince some of my Creative friends to come and join me. But I have some strong ideas of my own about app design, and I'm not sure how palatable they'll find them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5721628327860928046?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5721628327860928046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5721628327860928046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5721628327860928046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5721628327860928046'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/10/on-creativity.html' title='On Creativity'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7317386744020284282</id><published>2011-10-15T10:37:00.002+01:00</published><updated>2011-10-15T10:39:49.064+01:00</updated><title type='text'>Boots Treat Street Trolley Dash</title><content type='html'>Another thing I made at work. Pink, isn't it?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9TaLsLfBAs8/TplRbw6JlKI/AAAAAAAAADo/14R2FwrNqww/s1600/treat_street.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://4.bp.blogspot.com/-9TaLsLfBAs8/TplRbw6JlKI/AAAAAAAAADo/14R2FwrNqww/s400/treat_street.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This was the project I was using &lt;a href="http://www.anscamobile.com/corona/"&gt;Corona&lt;/a&gt; for, as &lt;a href="http://praxisstalled.blogspot.com/2011/09/few-thoughts-on-cross-platform.html"&gt;mentioned previously&lt;/a&gt;. So technically this is also my first ever Android app, although that side of things was really an afterthought — and a whole world of hurt with it.&lt;br /&gt;&lt;br /&gt;The project had originally been pitched to the client as a &lt;cite&gt;Tiny Wings&lt;/cite&gt; clone (because original ideas are hard), but it ended up more closely resembling &lt;cite&gt;Canabalt&lt;/cite&gt;, with the simple tap-to-jump mechanics. Only the zoom-out on max height jumps remains to hint at the original 'inspiration'.&lt;br /&gt;&lt;br /&gt;Graphics were chiefly the work of m'colleague &lt;a href="https://twitter.com/#!/Kowali3"&gt;Chloe&lt;/a&gt; (with sister &lt;a href="http://grossmary.tumblr.com/"&gt;Rosie&lt;/a&gt; helping out on faces). Trivia for the day: Chloe also provides all the vocals. One day I will set up "Naughty Doggie!" as her new e-mail alert sound.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7317386744020284282?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7317386744020284282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7317386744020284282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7317386744020284282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7317386744020284282'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/10/boots-treat-street-trolley-dash.html' title='Boots Treat Street Trolley Dash'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-9TaLsLfBAs8/TplRbw6JlKI/AAAAAAAAADo/14R2FwrNqww/s72-c/treat_street.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7921675989822223212</id><published>2011-09-04T08:15:00.000+01:00</published><updated>2011-09-04T08:15:53.746+01:00</updated><title type='text'>A Few Thoughts on Cross-Platform Development with the Corona SDK</title><content type='html'>I'm writing the first draft of this on a train, heading — by an admittedly circuitous route — for &lt;a href="http://updateconf.com/"&gt;Update Conf&lt;/a&gt;. As part of the programme we'll be treated to a presentation on using the &lt;a href="http://www.anscamobile.com/corona/"&gt;Corona SDK&lt;/a&gt; for cross-platform (iOS and Android, although I believe there are rumblings about Windows Phone 7 support) development. Since I've just (almost — flipping clients) finished a project using Corona, I thought now would be as good a time as any to reflect on the plus points and pitfalls I found while using it — if only to get straight in my mind whether, when I run into Ansca'a representative, I should offer to buy him a drink or give him a slap.&lt;br /&gt;&lt;br /&gt;The obvious first question is, Why did I choose Corona? The project — a fairly simple game for a major high-street brand, which hasn't gone live as of the time of writing and which I therefore cannot name, so well call it &lt;cite&gt;Basket Bash&lt;/cite&gt; for now — needed to be developed for both iOS and Android in a short time frame (or at least, that was the original intention. Our deadlines have a habit of slipping…). There was also going to be a certain amount of design iteration along the way (meaning that we didn't actually know what we were making when we started. Again, standard operating procedure). After wasting some time trying to put together a simple 2D GL engine of our own, I gave up and started looking for something a little higher level. &lt;a href="http://www.cocos2d-iphone.org/"&gt;Cocos2D&lt;/a&gt; was considered, since there is now an &lt;a href="http://code.google.com/p/cocos2d-android/"&gt;Android port&lt;/a&gt;, but this would mean writing two versions of the game, one in Objective-C and the other in Java. What we really needed was a write-once solution, and this is what Corona ultimately offered us.&lt;br /&gt;&lt;br /&gt;So would I recommend Corona? With certain reservations: yes. Much as I enjoy writing code just for the satisfaction and challenge of it, there's a lot also to be said for simply making stuff, and occasionally limiting or inelegant as it is, Corona generally gets out of your way and lets you concentrate on doing just that. The development language is Lua, which if you've never used before you'll find is simple, easy to pick up, and does just about everything you need it to do with a minimum of fuss.&lt;br /&gt;&lt;br /&gt;My main reservation in recommending Corona — probably because I was bitten by it only very near the end of development and so the memory is still painfully raw — is Android device support. As of a few months ago, Corona does not support Android devices running ARMv6 CPUs. As of only a few weeks ago, this was not mentioned anywhere obvious in the documentation, such as alongside the Android v2.2 requirement. Since ARMv6 phones include the HTC Wildfire S, apparently the cheap handset &lt;i&gt;de jour&lt;/i&gt; which I'm seeing advertised just about everywhere at the moment, this could be a problem. (I'll admit that I share the fault for not discovering this earlier. When builds wouldn't install on our test Wildfire, I put it down to a combination of un-optimised assets and my inexperience with Android. If I'd taken the time and dug deeper I would have found this enforced limitation — which at that stage would probably have lead us to abandon Corona, although for what alternative I have no idea.)&lt;br /&gt;&lt;br /&gt;My other reservations probably come from the way the Lua runtime is implemented. Lua has a rich library of code available to it, but Corona will not work with any of the many binary libs. In our case, this lead to us having to abandon interfacing with a web service using AES encryption. In general, you are restricted to whichever advance features the development team have included and exposed. This includes OpenFeint, Flurry, and an older version of the Facebook Connect library. For Twitter or Facebook using OAuth you'll have to roll your own solution (unless I decide to share mine…). There is support for a selection of native widgets, although this is naturally less fully-featured than that available through the native SDKs. I have yet to attempt to use Corona to build an app with a native UI look and feel.&lt;br /&gt;&lt;br /&gt;Be warned that debugging can be a nightmare. The SDK comes with its own simulator, which simulates the differing screen sizes of iPhone, iPhone 4, iPad and half a dozen Android devices. (You'll probably find that supporting different screen sizes is the biggest challenge in cross-platform development. Corona is pretty helpful here, if you're willing to cede a certain amount of control. It offers a number of content scaling modes and supports automatically loading assets based on the scale factor between an arbitrary content size of your choosing and the actual screen size of the device. This is basically the iOS-style @2x, only far more flexible, allowing you to specify many different asset sizes.) The simulator provides console output and a debugger. It cannot, however, run native UI widgets such as web views. For these you will have to build the project for either the iOS simulator or a handset. Which is where things get complicated. I've been unable to get console output from any of these devices. You think debugging with &lt;code&gt;printf()&lt;/code&gt; statements is fun? Try debugging with pop-up alerts.&lt;br /&gt;&lt;br /&gt;Builds are carried out on the Corona servers, meaning you need an internet connection at all times. For Android that's all you need (saving access to the SDK later to allow you to create a distribution key pair), but for iOS you'll need Xcode 3 installed. A paid subscription is technically only required to build App Store or Market versions of the final app, but I'd probably recommend getting it as soon as you've decide to commit to Corona, since it also gives you access to the daily builds, which in my case fixed a few compilation problems I came across.&lt;br /&gt;&lt;br /&gt;In general, I think Corona is a great system for doing a certain subset of cross-platform development. It has the enormous potential to allow you to quickly assemble and test projects and deploy them for both iOS and Android. It's probably not a good fit for apps — as opposed to games — although I say this more out of the opinion that native apps should be built with native SDKs, rather than any kind of hard-won experience. If you are aware of Corona's limitations and manage expectations accordingly, you should find using it to be an incredibly productive experience.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7921675989822223212?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7921675989822223212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7921675989822223212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7921675989822223212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7921675989822223212'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/09/few-thoughts-on-cross-platform.html' title='A Few Thoughts on Cross-Platform Development with the Corona SDK'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8895993819498790675</id><published>2011-08-22T22:02:00.000+01:00</published><updated>2011-08-22T22:02:51.967+01:00</updated><title type='text'>Everyone Else has it Easy</title><content type='html'>I forget what we're blaming for diminishing attention spans these days. Is it still television? Or have we shifted the blame on to Twitter yet? Are we even still decrying the general inability to concentrate on one thing for more than a few minutes without our minds wandering, fingers and eyes not far behind, or is it just taken as a given that anything more substantial than bite sized chunks will go untasted?&lt;br /&gt;&lt;br /&gt;I'm a writer, and those who practice every single other kind of artistic expression have it so much easier than I do. Among the &lt;strike&gt;finger painters&lt;/strike&gt; designers I work with, &lt;a href="http://dribbble.com"&gt;Dribbble&lt;/a&gt; is becoming more popular. I am deeply envious of both it and them. I wish I could get feedback in a similar manner. Images lend themselves to quick inspection and comment. The visual is visceral, it elicits an emotional reaction (or lack thereof) immediately. Sure, a great first line does the same, but then you've got to follow it up with a second, and a third, and keep going until you've got where you want to take the reader. And let's face it &amp;mdash; reading takes a lot of time and effort.&lt;br /&gt;&lt;br /&gt;It's often been commented on on &lt;a href="http://www.writerscafe.org"&gt;Writer's Cafe&lt;/a&gt; &amp;mdash; my sometimes literary haunt of little choice &amp;mdash; that the only writing that gets reviewed is the poetry. This isn't surprising. Poems tend to be short, hardly more than a single sparsely-covered page, and therefore quick to read, to form an opinion of, to finish with, sum up, and move on. (It doesn't help that the site is populated with writers &amp;mdash; rather than readers &amp;mdash; but that's another complaint.) There are few art forms which require such an investment of time from their consumers as the written word. &lt;br /&gt;&lt;br /&gt;I publish the few things I write in order to get feedback so that I might become a better writer. I write short fiction because it allows me to experiment quickly, and I had hoped that the shorter form would encourage more reading and more feedback. That doesn't seem to have happened. So what's the solution? Simply, to go long. My one full-length piece of work has received more downloads &amp;mdash; &lt;emp&gt;paid&lt;emp&gt; downloads, no less &amp;mdash; that all my short pieces together. I'm sure there's some interesting psychology at play here: maybe by taking the time to publish to a store, and make the decision to charge, you're signalling to the potential reader that what you've written has value and is worthy of their precious time.&lt;br /&gt;&lt;br /&gt;Maybe. Whatever. So it looks like I'm bringing my plans forward, skipping over the remainder of the learning to write through dozens of short stories part, and going straight to the first novel. Well, probably a novella. Let's not go crazy. And maybe I should actually write it, rather than writing about it...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8895993819498790675?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8895993819498790675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8895993819498790675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8895993819498790675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8895993819498790675'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/08/everyone-else-has-it-easy.html' title='Everyone Else has it Easy'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1635454577678427686</id><published>2011-08-22T20:47:00.000+01:00</published><updated>2011-08-22T20:47:48.160+01:00</updated><title type='text'>A Quick Walk</title><content type='html'>I went out for a quick walk yesterday. Since my new route home from work has been taking me over the canal at the edge of Regents Park, I thought I'd take the time to have a wander and explore it. I headed west, arriving after a short while — and a single, rather confusing detour away from the canal side — later at Little Venice.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-hJLR5qxTO9E/TlKsu-OesjI/AAAAAAAAADU/k59Ve2HKzCU/s1600/IMG_0311.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="476" src="http://1.bp.blogspot.com/-hJLR5qxTO9E/TlKsu-OesjI/AAAAAAAAADU/k59Ve2HKzCU/s640/IMG_0311.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There I left Regents Canal curving southwards and followed the Grand Union further west, passing this collage / mural along the way.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-gojpEOwu2vI/TlKs8EcqQ_I/AAAAAAAAADY/Fi1er7_axLs/s1600/IMG_0312.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="478" src="http://3.bp.blogspot.com/-gojpEOwu2vI/TlKs8EcqQ_I/AAAAAAAAADY/Fi1er7_axLs/s640/IMG_0312.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;My target was an intriguing patch of green which had previously leapt out at me from the map. Named "Meanwhile Gardens", it of course couldn't hope to live up to its name. Long and narrow, like most areas of communal land in London it featured rough tracks meandering through green hummocks. There was a concrete bowl of a skatepark, various assemblages of adventure playgrounds with swings and climbing frames, and a series of stagnant ponds, falling in steps of thick green weed. There was also this handy plaque, showing you where you were — spatially, in relation to the planets, and chronologically, in relation to the dinosaurs. Handy.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FMrVCy4tBTM/TlKtLWSA8vI/AAAAAAAAADc/sTLMAX11OYI/s1600/IMG_0313.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="478" src="http://4.bp.blogspot.com/-FMrVCy4tBTM/TlKtLWSA8vI/AAAAAAAAADc/sTLMAX11OYI/s640/IMG_0313.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I followed the tow path further west, to the next easy exit point, which happened to be close to Kensal Green cemetery. Now, say what you like about the Victorians, but they certainly knew how to do death. The weather was just on the wrong side of bad for it to be really atmospheric, but there was a pleasing dampness in the air which leant a spring to the dark, pine-covered earth and brought out the green of the moss coating the granite tombs.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Kz_Fha2loRc/TlKtU7FF-EI/AAAAAAAAADg/8DqQq8OBFfQ/s1600/IMG_0314.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="478" src="http://1.bp.blogspot.com/-Kz_Fha2loRc/TlKtU7FF-EI/AAAAAAAAADg/8DqQq8OBFfQ/s640/IMG_0314.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Then it was down Ladbroke Grove — somewhere I know chiefly through the writing of Michael Moorcock, and which had until then been as unreal to me as Tanelorn — and then home.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1635454577678427686?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1635454577678427686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1635454577678427686' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1635454577678427686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1635454577678427686'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/08/quick-walk.html' title='A Quick Walk'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-hJLR5qxTO9E/TlKsu-OesjI/AAAAAAAAADU/k59Ve2HKzCU/s72-c/IMG_0311.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-711040961929952960</id><published>2011-08-22T20:14:00.000+01:00</published><updated>2011-08-22T20:14:11.917+01:00</updated><title type='text'>"The Worlds of Mervyn Peake"</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-BgebhgoZRPA/TlKmMzGb3hI/AAAAAAAAADQ/_D_QjBswuS0/s1600/IMG_0310.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-BgebhgoZRPA/TlKmMzGb3hI/AAAAAAAAADQ/_D_QjBswuS0/s320/IMG_0310.JPG" width="207" /&gt;&lt;/a&gt;&lt;/div&gt;The British Library has put together a small exhibition, &lt;cite&gt;&lt;a href="http://www.bl.uk/whatson/exhibitions/peakeexhibition/peake.html"&gt;The Worlds of Mervyn Peake&lt;/a&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;— about a half dozen display cases against the far wall of the Library's cavernous atrium — &lt;/span&gt;&lt;/cite&gt; to celebrate the author and illustrator's centenary. It presents a chronological tour through Peake's eventful life and work — from his early years in China, his work as a war artist, his time in London and as member of a artists' commune on Sark — using material including his own workbooks and correspondence. The later includes a few surprises, including a firm-but-fair assessment of the first draft of &lt;cite&gt;Titus Groan&lt;/cite&gt; from Graham Greene, and a note from Caitlin Thomas wondering if Dylan couldn't borrow a decent suit.&lt;br /&gt;&lt;br /&gt;I must admit that I knew little about Peake beyond &lt;cite&gt;Gormenghast&lt;/cite&gt;, so the emphasis placed on his drawings came as a surprise. His work immediately after the Second World War, including sketches of those he found in Belsen, are particularly moving. Other parts of his work, such as his illustrations for an edition of &lt;cite&gt;Alice in Wonderland&lt;/cite&gt;, I found a little disappointing &amp;mdash; in this case, although technically brilliant, I thought they were a little too like the more famous ones by Tenniel. The sketches to the left come from an idea he had for a  television programme which was never produced.&lt;br /&gt;&lt;br /&gt;In all, well worth a look, whether or not you're familiar with Peake's work.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-711040961929952960?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/711040961929952960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=711040961929952960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/711040961929952960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/711040961929952960'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/08/worlds-of-mervyn-peake.html' title='&quot;The Worlds of Mervyn Peake&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-BgebhgoZRPA/TlKmMzGb3hI/AAAAAAAAADQ/_D_QjBswuS0/s72-c/IMG_0310.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3811299301325858702</id><published>2011-08-14T19:38:00.001+01:00</published><updated>2011-08-22T19:45:40.906+01:00</updated><title type='text'>Garden Barge Square at Downings Road Moorings</title><content type='html'>If you've ever ventured down to the south side of the Thames just east of Tower Bridge, past the Design Museum, you can't have failed to notice a cluster of long boats and barges, sprouting intriguingly incongruous greenery, moored there. This is Garden Barge Square, and for years it has held a casual fascination for me as one of those private-but-in-plain-site parts of London, there for all to see but non-the-less inaccessible. Last month, as part of the &lt;a href="http://www.ngs.org.uk/"&gt;National Gardens Scheme&lt;/a&gt; charity open day, the veil was lifted, so I went along to have a nose around.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Rb9NUS9ffwQ/TkgUQoaN7OI/AAAAAAAAADA/K0xj2lI0xtM/s1600/IMG_0281.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="476" src="http://3.bp.blogspot.com/-Rb9NUS9ffwQ/TkgUQoaN7OI/AAAAAAAAADA/K0xj2lI0xtM/s640/IMG_0281.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-F4325hu93kI/TkgUhxes1uI/AAAAAAAAADE/bQitOE3Tjwg/s1600/IMG_0283.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="476" src="http://3.bp.blogspot.com/-F4325hu93kI/TkgUhxes1uI/AAAAAAAAADE/bQitOE3Tjwg/s640/IMG_0283.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-f15fP98ZH2E/TkgUwis6gfI/AAAAAAAAADI/s7h27HPcVdI/s1600/IMG_0280.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="476" src="http://4.bp.blogspot.com/-f15fP98ZH2E/TkgUwis6gfI/AAAAAAAAADI/s7h27HPcVdI/s640/IMG_0280.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I'm sure that it would make a wonderful setting for a scene or two in one of the London Novels which I'll probably never get round to writing. In the meantime, the sensation of standing among a traditional English cottage garden, with borders full of rose bushes, while being buffeted by the swell of a passing tourist boat, will stay with me for some time. I don't think I've ever felt seasick in a garden before.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3811299301325858702?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3811299301325858702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3811299301325858702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3811299301325858702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3811299301325858702'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/08/garden-barge-square-at-downings-road.html' title='Garden Barge Square at Downings Road Moorings'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Rb9NUS9ffwQ/TkgUQoaN7OI/AAAAAAAAADA/K0xj2lI0xtM/s72-c/IMG_0281.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7194715756953646517</id><published>2011-07-17T13:14:00.000+01:00</published><updated>2011-07-17T13:14:40.736+01:00</updated><title type='text'>Timesink Tower</title><content type='html'>I've been spending a stupid amount of time over the last couple of days playing &lt;cite&gt;Tiny Tower&lt;/cite&gt; (thanks, &lt;a href="http://twitter.com/#!/Kowali3"&gt;Chloe&lt;/a&gt;, for introducing me to it. I must find some way to repay the favour...) so I thought I'd write up a quick analysis in a futile attempt to pretend that all those hours haven't been completely wasted. (And also because, due to my current project at work, I've been spending quite a bit of time recently thinking over what makes a game addictive and fun.)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-S2wUAngHzQQ/TiLSGLnA06I/AAAAAAAAAC8/WRXcAJGotLg/s1600/photo.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-S2wUAngHzQQ/TiLSGLnA06I/AAAAAAAAAC8/WRXcAJGotLg/s320/photo.PNG" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;The first thing to note is that &lt;cite&gt;Tiny Tower&lt;/cite&gt; isn't a game. There is no way to lose, no "Game Over" state, and although you can make progress — we'll see how important this is in a moment — there is no way to win, to beat it. Instead, &lt;cite&gt;Tiny Tower&lt;/cite&gt; is an entertainment, in the &lt;cite&gt;Farmville&lt;/cite&gt; mould.&lt;br /&gt;&lt;br /&gt;Gameplay (yes, I'll still call it "gameplay", despite the proceeding paragraph) is simple. You build a tower from either residential or business floors. "Bitizens" live on the residential floors and are assigned jobs in the businesses. Each has a set of stats matching their skills against each of the categories of business. Matching a bitizen with a job they're good at makes them happy — which I presume increases their efficiency somehow, maybe with faster restock times or better sales, I haven't been able to tell which.&lt;br /&gt;&lt;br /&gt;There are two currencies employed in the game. One is &lt;i&gt;coins&lt;/i&gt;. You use this to buy stock for the businesses and to purchase new floors for your tower. It's generated by the businesses selling their stock. The other currency is &lt;i&gt;towerbux&lt;/i&gt;, and it has a far more insidious role.&lt;br /&gt;&lt;br /&gt;It's perfectly possible to play &lt;cite&gt;Tiny Tower&lt;/cite&gt; without ever using &lt;i&gt;towerbux&lt;/i&gt; — but it would make for a slow, tedious process. In short, what &lt;i&gt;towerbux&lt;/i&gt; do is they make the game fun. You pay &lt;i&gt;towerbux&lt;/i&gt; to shorten the drawn-out processes of building floors, of restocking businesses, and of selling that stock. Sure, there are occasional bonus lift users who will perform these tasks, but their random appearances cannot be relied upon. (And, yes, you can leave the game and come back later to see how things are going — the app giving the appearance of running in the background — but that isn't the point.)&lt;br /&gt;&lt;br /&gt;You get &lt;i&gt;towerbux&lt;/i&gt; in one of two ways. The first is as a — often random — reward for performing some task, such as locating a bitizen or taking someone up in the lift, or as a bonus when purchasing a new floor. The second is by buying it through in-app purchase. Yep, we're in the land of freenium here.&lt;br /&gt;&lt;br /&gt;So while you're playing the game — while you have the app open in your hand — what will you be doing? A small amount of your time will be spent on hitting the buttons to order more stock for your shop, but most of it will be taken up by pointless make-work tasks, predominately moving bitizens about in the lift. You earn a small amount of &lt;i&gt;coins&lt;/i&gt; for this, but ultimately all it is doing is providing you with something to keep you busy while you're waiting either for some long task (restocking, building) to complete, or while you're waiting to earn enough money to buy your next floor.&lt;br /&gt;&lt;br /&gt;So why have I been playing it so much? Why have I checked it a dozen times during the writing of this piece? Why will I continue playing it for the rest of today, and probably get caught checking it during work tomorrow? I wish I could put my finger on exactly what it was. There is a satisfying sense of achievement as you hear the money &lt;i&gt;clink&lt;/i&gt;ing in and watch your tower grow. There's something which makes you want to see what you can build next. There is something, ultimately, rewarding in the experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7194715756953646517?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7194715756953646517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7194715756953646517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7194715756953646517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7194715756953646517'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/07/timesink-tower.html' title='Timesink Tower'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-S2wUAngHzQQ/TiLSGLnA06I/AAAAAAAAAC8/WRXcAJGotLg/s72-c/photo.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2544615561830241364</id><published>2011-07-17T11:17:00.000+01:00</published><updated>2011-07-17T11:17:52.643+01:00</updated><title type='text'>À la Recherche this Japanese Pupet Thing from When I was a Kid</title><content type='html'>Among the seemingly random collection of memories of my early years which have stuck with me are brief fragments of a TV show. It was SF, performed with puppets, and very definitely Japanese in style (although I wouldn't have recognised that at the time). There was a big red robot which was formed when some spaceships combined. My most abiding memory was of some bearded guy being killed by a space bug — I think this carried an emotional impact, which would explain why it stayed with me. For years I tried to find out what the show was called. And then came the Internet. One quick question of a TV forum and I had my answer: &lt;a href="http://en.wikipedia.org/wiki/X-Bomber"&gt;&lt;cite&gt;Star Fleet&lt;/cite&gt;&lt;/a&gt; (&lt;cite&gt;X-Bomber&lt;/cite&gt; in the original — we'll stick with &lt;cite&gt;Star Fleet&lt;/cite&gt;, if only to avoid me making bad &lt;cite&gt;X-Bob-omber&lt;/cite&gt; jokes).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9Pvk7k_dvwI/TiK0HCQJoCI/AAAAAAAAAC4/873pCGshrow/s1600/starfleet3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://2.bp.blogspot.com/-9Pvk7k_dvwI/TiK0HCQJoCI/AAAAAAAAAC4/873pCGshrow/s320/starfleet3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;So one trip to LoveFilm (whom my over-consumption of American content makes me want to keep calling "Netflix")&amp;nbsp;later, and I've got the DVD of the first six episodes to watch. And I have to say I'm impressed. The visuals hold up well, with their distinctive styling and cartoony special effects. The continuing story arc is something I've always preferred over purely-episodic TV shows. Sure, the writing is sometimes cheesy, and many of the usual manga tropes are present, but it still tells an interesting story. Oh, and the synth rock. You mustn't forget the synth rock. In all: brilliant. I can't wait for the other discs to show up. What can I say? Six-year-old me had excellent taste.&lt;br /&gt;&lt;br /&gt;[Image from &lt;a href="http://timmaughanbooks.com/2009/09/06/repost-star-fleetx-bomber-%EF%BD%98-1980-dvd-boxset/"&gt;Tim Maughan's Review&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2544615561830241364?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2544615561830241364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2544615561830241364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2544615561830241364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2544615561830241364'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/07/la-recherche-this-japanese-pupet-thing.html' title='À la Recherche this Japanese Pupet Thing from When I was a Kid'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-9Pvk7k_dvwI/TiK0HCQJoCI/AAAAAAAAAC4/873pCGshrow/s72-c/starfleet3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8958277405844518572</id><published>2011-07-07T20:54:00.000+01:00</published><updated>2011-07-07T20:54:36.917+01:00</updated><title type='text'>"(I am not a) Creative"</title><content type='html'>There isn't a day which passes when I don't offer a silent prayer to the Powers That Be that things haven't got so bad that I've started writing poetry... What you see below are song lyrics — admittedly ones which voice will never share. They're the lyrics to "(I am not a) Creative", the song which went viral for Erin from "&lt;a href="http://praxisstalled.blogspot.com/2011/07/internet-famous.html"&gt;Internet Famous&lt;/a&gt;". Imagine them sung by a slightly kooky young chanteuse with an acoustic guitar, filmed on a webcam, and then uploaded to YouTube. (In fact, if anyone would like to, please feel free.) It's all part of the world-building. I might try my hand at writing "Geeky Girlfriend" next...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;I took this photo&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;To immortalise your smile,&lt;br /&gt;You won’t see it on a box&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Down some supermarket aisle&lt;br /&gt;&lt;br /&gt;I shot this movie,&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;It shows our lives in a beam&lt;br /&gt;Of light upon a wall,&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Not some kitten-based meme&lt;br /&gt;&lt;br /&gt;I didn’t brainstorm this idea,&lt;br /&gt;I can’t show you any scamps,&lt;br /&gt;But my brand message is clear,&lt;br /&gt;It’s you and me and romance…&lt;br /&gt;&lt;br /&gt;I painted your picture,&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Captured your soul in every stroke,&lt;br /&gt;A gesture to make you want me,&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Not to make you want a Coke&lt;br /&gt;&lt;br /&gt;I told you this story&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Because I thought that it was funny&lt;br /&gt;And that it would make you laugh&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Not make you part with your money&lt;br /&gt;&lt;br /&gt;Now here’s my call to action,&lt;br /&gt;Move your body over here,&lt;br /&gt;Can you feel the attraction?&lt;br /&gt;Hold me and kiss me, My Dear…&lt;br /&gt;&lt;br /&gt;I composed this tune&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;To lift your mood,&lt;br /&gt;To brighten up your day,&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Not to sell anyone fast food&lt;br /&gt;&lt;br /&gt;I wrote these words,&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Poured my soul on pages blank,&lt;br /&gt;A missive from my heart&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Not a circular from your bank&lt;br /&gt;&lt;br /&gt;I sang this song because I wanted to sing,&lt;br /&gt;It wasn’t sung to sell anything,&lt;br /&gt;Except for me to you,&lt;br /&gt;You know I do, love you, love you, love you…&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8958277405844518572?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8958277405844518572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8958277405844518572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8958277405844518572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8958277405844518572'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/07/i-am-not-creative.html' title='&quot;(I am not a) Creative&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6915861101998241938</id><published>2011-07-06T21:18:00.001+01:00</published><updated>2011-07-06T21:22:20.520+01:00</updated><title type='text'>"Internet Famous"</title><content type='html'>I wanted to say something about the difficulty in making a living from the Internet under the prevailing culture that everything should be given away for free. It's a position usually fervently espoused by, typically, a particular type of author &amp;mdash; the type with a publishing contract and their own ad network &amp;mdash; the type who can happily give away digital versions of their books because they've already got the five-figure advance sat in their bank account. (Mentioning no names...)&lt;br /&gt;&lt;br /&gt;I'm not sure how much of that survived. In the end, Erin and Cal sat down, started talking, and sort of hijacked proceedings. If ever a writer complains to you that they're at the mercy of their characters, don't treat them like their mad &amp;mdash; treat them like someone in an abusive relationship, or like the jewellery store clerk who's apologising for the shop being closed in the middle of the day while frantically mouthing "We're being robbed".&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.boundedbyinfinity.com/internet_famous.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/760100/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6915861101998241938?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6915861101998241938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6915861101998241938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6915861101998241938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6915861101998241938'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/07/internet-famous.html' title='&quot;Internet Famous&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1020198634055453977</id><published>2011-07-03T10:49:00.000+01:00</published><updated>2011-07-03T10:49:03.027+01:00</updated><title type='text'>"Kirstie &amp; Phil: House Hunter"</title><content type='html'>(No, I have no idea why "Kirstie &amp;amp; Phil" are a "House Hunter" singular. I gave up trying to discern any logic behind this project in about mid-January.)&lt;br /&gt;&lt;br /&gt;The latest iOS application I wrote for my day job — &lt;a href="http://itunes.apple.com/gb/app/kirstie-phils-house-hunter/id444080922?mt=8"&gt;&lt;cite&gt;Phil &amp;amp; Kirstie: House Hunter&lt;/cite&gt;&lt;/a&gt; — was released last week. For those of you keeping count, that's two so far this year. Yeah, I know what you're thinking: "Slow down there, Stu. It's because of prodigiously productive sods like you that I have to wade through thousands of titles looking for that one fart app which is right for me." Point taken. I'll try to pace myself a little more slowly for the rest of the year (although I may have to medically-induce a coma to do so).&lt;br /&gt;&lt;br /&gt;I won't be offering any insight into the development of the app, because if I tried I'd probably get very unprofessional very quickly and start using phrases likely to denigrate web monkeys who think they'll have a go at designing iPhone apps, not to mention the general "just do us a copy of this other app" mentality which seems to prevail these days. Instead I will simply link to &lt;a href="http://www.youtube.com/watch?v=SZTKZEyeBHI"&gt;this video&lt;/a&gt; and leave it at that.&lt;br /&gt;&lt;br /&gt;(The app also has its own Twitter account — &lt;a href="http://twitter.com/#!/HouseHunterApp"&gt;@HouseHunterApp&lt;/a&gt; — but I won't be following it. The app and I don't really have much to say to each other. It knows why.)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Jj1PSMzHIOA/ThA4wshWjxI/AAAAAAAAAC0/V2OL_6FolZA/s1600/HouseHunter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="121" src="http://4.bp.blogspot.com/-Jj1PSMzHIOA/ThA4wshWjxI/AAAAAAAAAC0/V2OL_6FolZA/s320/HouseHunter.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Still, one of the nice things about working on something so comparatively high-profile is you get featured in the App Store &amp;mdash; although they could have gone with a more interesting image. I wanted one of my Creative colleagues to sex it up by PhotoShopping an explosion into the background, but they refused. (Or rather, they just ignored my e-mail. Typical. I mean, come on, ladies. How long would it have taken one of you? It's probably just a single button click.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1020198634055453977?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1020198634055453977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1020198634055453977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1020198634055453977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1020198634055453977'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/07/kirstie-phil-house-hunter.html' title='&quot;Kirstie &amp; Phil: House Hunter&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Jj1PSMzHIOA/ThA4wshWjxI/AAAAAAAAAC0/V2OL_6FolZA/s72-c/HouseHunter.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7828566941528480134</id><published>2011-07-02T17:11:00.000+01:00</published><updated>2011-07-02T17:11:18.061+01:00</updated><title type='text'>"Poems from a Notebook [#6022]"</title><content type='html'>As I mentioned in the comments accompanying &lt;a href="http://praxisstalled.blogspot.com/2011/06/poems-from-notebook-328.html"&gt;&lt;cite&gt;Poems from a Notebook [#328]&lt;/cite&gt;&lt;/a&gt;, under the &lt;a href="http://en.wikipedia.org/wiki/Many_worlds"&gt;Many Worlds&lt;/a&gt; interpretation of quantum mechanics, there were a near-infinite number of ways in which that story could have been told. So here's another of them. It's the last, I promise.&lt;br /&gt;&lt;br /&gt;The plot differences here reflect one of the alternates I considered when planning the previous story. The character of Dr. Antonov is older than in #328, and here he is morning a dead wife rather than going all emo over a bad break-up. I think, in reflection, this combination is far more in keeping with the kind of Golden Age feel I was originally aiming for.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.boundedbyinfinity.com/poems_from_a_notebook_6022.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/757758/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7828566941528480134?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7828566941528480134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7828566941528480134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7828566941528480134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7828566941528480134'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/07/poems-from-notebook-6022.html' title='&quot;Poems from a Notebook [#6022]&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7077142988057421816</id><published>2011-07-02T11:54:00.001+01:00</published><updated>2011-07-02T11:54:29.386+01:00</updated><title type='text'>CSI: Elsinore</title><content type='html'>&lt;div style="text-align: center;"&gt;HAMLET&lt;/div&gt;&lt;div style="text-align: center;"&gt;Act II, Scene II&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;HAMLET&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;More relative than this: the play's the thing&lt;/div&gt;&lt;div style="text-align: center;"&gt;Wherein I'll catch the conscience of the king.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;HORATIO&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;It's time to put some cheese —&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;He doth don dark spectacles.&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;— in this mousetrap.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;MINSTRELS&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Yeeeeeeeeeeah!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7077142988057421816?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7077142988057421816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7077142988057421816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7077142988057421816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7077142988057421816'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/07/csi-elsinore.html' title='CSI: Elsinore'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8498830387123791734</id><published>2011-06-26T11:59:00.000+01:00</published><updated>2011-06-26T11:59:40.721+01:00</updated><title type='text'>Illogical Songs</title><content type='html'>My attempt to live according to the lyrics of obscure songs has hit something of a logical hiccup. On the one hand I'm told that "Nothing that's worth having comes without a fight", and on the other that "Nothing that's forced can ever be right, if it doesn't come naturally leave it". Oh, what's a boy to do?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8498830387123791734?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8498830387123791734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8498830387123791734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8498830387123791734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8498830387123791734'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/06/illogical-songs.html' title='Illogical Songs'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6761404492870402940</id><published>2011-06-04T15:39:00.001+01:00</published><updated>2011-06-04T15:40:29.058+01:00</updated><title type='text'>Josephine Hart</title><content type='html'>The news of the death of Josephine Hart was a blast of cold air on an otherwise beautifully warm English summer Friday afternoon. The announcement came in a company-wide e-mail &amp;mdash; Lady Saatchi being the wife of one of our founders &amp;mdash; popping up in my inbox incongruously alongside the mammoth, on-going "where shall we go for drinks after work?" exchange.&lt;br /&gt;&lt;br /&gt;I never met Josephine &amp;mdash; we were once, briefly, in the same room: our little glass-walled meeting room on the 3rd floor: I ran in, jabbed a key on a laptop to make it behave itself, then ran out again; she was on the phone in the corner the entire time &amp;mdash; but I had hoped to. I'm sure no-one will mind me mentioning that we were in the early stages of planning an app based on her West End Poetry Hour. I had badgered everyone I could find to be allowed to work on it, and was looking forward to the experience. (I secretly hoped to impress by suggesting the app be entitled "These Fragments". I also hoped to be able to argue her into including "The Fire Sermon" in place of "A Game of Chess". She would doubtless have been able to see instantly through my paper-thin knowledge of modernist poetry.)&lt;br /&gt;&lt;br /&gt;The article on her passing on the &lt;a href="http://www.bbc.co.uk/news/entertainment-arts-13642120"&gt;BBC website&lt;/a&gt; ends with her quoting a quote by Yeats. The full quote runs, "Art is a social act of a solitary man". I had never heard this before, but I think it perfectly captures the dichotomy present in the process of creation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6761404492870402940?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6761404492870402940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6761404492870402940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6761404492870402940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6761404492870402940'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/06/news-of-death-of-josephine-hart-was.html' title='Josephine Hart'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5017203301193417404</id><published>2011-06-04T14:45:00.000+01:00</published><updated>2011-06-04T14:45:04.859+01:00</updated><title type='text'>Sure, Deadlines Suck, But…</title><content type='html'>My first thought on reading Marcus Zarra's &lt;a href="http://www.cimgf.com/2011/06/03/why-so-serious/"&gt;post&lt;/a&gt; &amp;mdash; and Jeff LaMarche's &lt;a href="http://iphonedevelopment.blogspot.com/2011/06/on-being-excellent-to-each-other.html"&gt;follow up&lt;/a&gt; &amp;mdash; on the iOS development community's response to the release of &lt;a href="http://www.thedaily.com/"&gt;The Daily app&lt;/a&gt; was to Tweet "Whoa. So The Daily app was basically written by the iOS dev equivalent of The Travelling Wilburys?". My next, well...&lt;br /&gt;&lt;br /&gt;I am a salaried iOS developer working for a reasonably big-name company. (I won't name them here, but if you're really interested in who they are &amp;mdash; perhaps you'd like to take a shot at getting me fired &amp;mdash; you can find out with only a couple of clicks. And if I write the post I'm planning for later today, you probably won't even need to do that.) I have worked on apps for some fairly well-known brands and personalities. I'm not sure there's one of them I'm totally happy with &amp;mdash; which couldn't have been much better if only I'd been given more time to polish, or if certain design decisions hadn't been made. I'm going to be attending a couple of iOS dev conferences later in the year and I really hope there's some kind of amnesty scheme in place because otherwise I'm likely to get a well-deserved slapping from the likes of Matt Gemmell or Mike Lee. So I can understand where Marcus is coming from &amp;mdash; I imagine what he had to put up with was an order or two of magnitude worse. But...&lt;br /&gt;&lt;br /&gt;This is the bit I have to qualify by saying that I've never used The Daily app. It isn't available in the UK and I don't have a US iTunes account. But I read the same press coverage as everyone else, where people whose opinion I respect mentioned that there were certain flaws with the app. I also read that most of these were fixed in later updates. Great.&lt;br /&gt;&lt;br /&gt;The iOS-slash-Mac developer community is, as Marcus observes, a wonderful thing. It's most of the reason I got involved in the first place. (It wasn't until the iPhone came along that it was actually possible for me to turn this into a full-time job.) It is a community of craftsmen, each more than happy to share trade secrets with their peers. But what it has never been &amp;mdash; and it's possible that I'm accusing Marcus of having rose-tininted specs here &amp;mdash; is some kind of uncritical, mutual appreciation society. There has always been criticism. Bad design and bad implementation has always been called out. If the only notable difference your app offers over its dozen competitors is that its window smokes while it's working, you will be openly ridiculed.&lt;br /&gt;&lt;br /&gt;If there were problems with The Daily app, falling standards of politeness within the community shouldn't be blamed for attention being drawn to them. The buck always stops with the developer. So instead of complaining, admit things could have gone better. Maybe explain a little about the kinds of pressure you were under to deliver &amp;mdash; those of us who are in the same boat will nod along in understanding, while those who get to work without deadlines and idiot management can feel glad they're not in your shoes. And then knuckle down to making the 1.1 as best you can, given the same constraints of time and resources.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5017203301193417404?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5017203301193417404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5017203301193417404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5017203301193417404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5017203301193417404'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/06/sure-deadlines-suck-but.html' title='Sure, Deadlines Suck, But…'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2350737788968760680</id><published>2011-06-01T21:12:00.002+01:00</published><updated>2011-07-02T17:02:58.850+01:00</updated><title type='text'>"Poems from a Notebook [#328]"</title><content type='html'>This is a quick (at least by my sluggish standards) attempt to write something with a golden era feel to it. I think I got close — I nailed the paper-thin characterisations, anyway. I've had the idea rattling around for a while, but it was pushed to the fore by my trip to the &lt;a href="http://praxisstalled.blogspot.com/2011/05/out-of-this-world-at-british-library.html"&gt;&lt;cite&gt;Out of this World&lt;/cite&gt;&lt;/a&gt; exhibition at the weekend. Well, it was either this or work out how quickly an iPhone 4 could calculate &lt;a href="http://en.wikipedia.org/wiki/The_Nine_Billion_Names_of_God"&gt;the nine billion names of god&lt;/a&gt;. An hour on Wikipedia gave me a selection of names and terms to throw into the mix, so from a distance it might look like I know what I'm talking about.&lt;br /&gt;&lt;br /&gt;And in case you were wondering about the "[#328]" &amp;mdash; well, under the &lt;a href="http://en.wikipedia.org/wiki/Many_worlds"&gt;Many World&lt;/a&gt; interpretation, this is just one of a near-inifinite number of ways in which this story could have unfolded. I considered at least a half dozen other causes of the narrator's pathology before choosing this one. Maybe I'll come back one day and &amp;mdash; in a Warhol-esque manner &amp;mdash; write up and publish some of the others. Who knows, one of them may even be worth reading.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.boundedbyinfinity.com/poems_from_a_notebook.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/739664/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2350737788968760680?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.writerscafe.org/writing/StuartCrook/739664/' title='&quot;Poems from a Notebook [#328]&quot;'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2350737788968760680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2350737788968760680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2350737788968760680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2350737788968760680'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/06/poems-from-notebook-328.html' title='&quot;Poems from a Notebook [#328]&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3641015240131148439</id><published>2011-05-28T21:54:00.000+01:00</published><updated>2011-05-28T21:54:04.685+01:00</updated><title type='text'>"Out of this World" at the British Library</title><content type='html'>The British Library is currently hosting an exhibition of Science Fiction entitled &lt;a href="http://www.bl.uk/sciencefiction"&gt;&lt;cite&gt;Out of this World&lt;/cite&gt;&lt;/a&gt; — running until the 25th of September; discovered via a re-tweet by Neil Gaiman — so in an attempt to fool people into thinking I do something with my life I went along to take a look.&lt;br /&gt;&lt;br /&gt;First impressions were poor. There was a talking heads video looping just within the entrance — but audible pretty much throughout the space — which was both unnecessary and distracting. (I'm of the general opinion that authors should be read and not heard.) The space itself is best described as crepuscular. I'm not sure if the low lighting was necessary — there were some old manuscripts on display and I don't even pretend to play an ancient documents expert on the internet — but the lack of illumination became a problem in the furthest corners. I wouldn't complain about the interactive exhibitions — such as the 'design an alien' thing — if only they'd actually served their purpose and kept the kids out from under foot.&lt;br /&gt;&lt;br /&gt;As far as the content went, the exhibition's subtitle — &lt;cite&gt;Science Fiction but not as you know it&lt;/cite&gt; — tells you what to expect: if you're an actual SF fan, you won't be surprised to see the whole gamut of the genre, from Swiftian tales of fabulous lands to literary SF by the likes of P.D. James and Kazuo Ishiguro, covered. There are some interesting finds — particularly in the form of early works in languages other than English — but generally it came across as a non-SF fan's idea of surprising SF. ("Some of these books don't have space ships in them! Who knew?")&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-h58U03ux9hQ/TeFgpCyTopI/AAAAAAAAACw/1xuByaVcsZo/s1600/TARDIS.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-h58U03ux9hQ/TeFgpCyTopI/AAAAAAAAACw/1xuByaVcsZo/s320/TARDIS.jpg" width="239" /&gt;&lt;/a&gt;There were also a couple of what were, to my mind at least, odd choices. Sure, the whole "what counts as SF" debate continues to rumble on, so you may disagree here, but including Gaiman's (without question excellent) &lt;cite&gt;Sandman&lt;/cite&gt;, even in the section on dream states, seems a bit of a stretch. And then there was yonder blue box. I must admit I somehow managed to walk past it at least once before realising what it was. (In my defence, it was kinda awkwardly situated.) Does a TV show have a place in an exhibition on literary SF? Especially one which appears to want to highlight something other than the mainstream? (Oh, sod, it. Why the hell not? I'm always as happy as the next nerd to see the TARDIS. Plus, there was also a steampunk K9 — &lt;a href="http://Sydeian.deviantart.com/art/K-1889-Steampunk-Dr-Who-K-9-151560454"&gt;this one, I think&lt;/a&gt; — made of wood and brass and win.)&lt;br /&gt;&lt;br /&gt;So is it worth going to see? In general — and at the price: free — I'd say, "yes". If you strike it lucky and get there when the kids are elsewhere and there are just a smattering of idiots to get in your way, you'll find a lot of interesting items. The original manuscript pages from, among others, Arthur Clarke and J.G. Ballard, complete with corrections in the authors' own hand, are well worth viewing on their own. (I does make me wonder, however, what current authors will be leaving for future exhibitions. In one hundred years time, will crowds gather to view the actual genuine thumb drive China Miéville had biked to his publisher?) I was also pleased to see that both Iain Banks' Culture and Kim Stanley Robinson's Mars trilogy were given case space.&lt;br /&gt;&lt;br /&gt;Final verdict? Take a quick spin around, then buy the accompanying book by Mike Ashley (£16.95 from the gift shop) to enjoy from the comfort of your favourite reading chair.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3641015240131148439?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.bl.uk/sciencefiction' title='&quot;Out of this World&quot; at the British Library'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3641015240131148439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3641015240131148439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3641015240131148439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3641015240131148439'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/out-of-this-world-at-british-library.html' title='&quot;Out of this World&quot; at the British Library'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-h58U03ux9hQ/TeFgpCyTopI/AAAAAAAAACw/1xuByaVcsZo/s72-c/TARDIS.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6075109135295334400</id><published>2011-05-24T21:42:00.004+01:00</published><updated>2011-07-03T10:50:51.462+01:00</updated><title type='text'>"The Endless Sleep"</title><content type='html'>So here we have my &lt;i&gt;homage&lt;/i&gt; to Raymond Chandler, with a little bit of H.P. Lovecraft thrown in for good measure. I know what you're thinking: "that's an awful lot of casual, era-authentic racism to squeeze into one story" &amp;mdash; but I think I've managed it.&lt;br /&gt;&lt;br /&gt;(And I've also started putting the links to the story &lt;i&gt;before&lt;/i&gt; the spoiler-tastic discussion. Go me! It's almost a shame that no one ever reads these posts.)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.boundedbyinfinity.com/the_endless_sleep.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/735051/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So I hope you're all familiar with &lt;cite&gt;The Big Sleep&lt;/cite&gt;, and the little piece of attendant lore concerning the death of Owen Taylor, the Sternwood's chauffeur. The story goes that the writers working on the screenplay adaptation &amp;mdash; including Leigh "I'm the reason &lt;cite&gt;Empire&lt;/cite&gt; is the best film in the trilogy" Brackett &amp;mdash; wrote to Chandler, asking for confirmation as to who killed Taylor. Chandler thought about it for a while and then wrote back that, to be honest, he wasn't quite sure himself.&lt;br /&gt;&lt;br /&gt;I'd been wanting to tackle this mystery for five or six years, but it was only at the end of last year that how to tackle it &amp;mdash; with the Lovecraftian angle &amp;mdash; occurred to me. I'll admit that my main inspiration there came from Neil Gaiman's &lt;a href="http://www.neilgaiman.com/mediafiles/exclusive/shortstories/emerald.pdf"&gt;&lt;cite&gt;A Study in Emerald&lt;cite&gt;&lt;/a&gt;, which does something similar, introducing Sherlock Holmes to the Great Old Ones.&lt;br /&gt;&lt;br /&gt;I hope I've managed to give the narrator something of a Chaldler-esque voice without straying to far into pastiche or parody. It runs pretty close at the beginning, but I think I reined it in by the end.&lt;br /&gt;&lt;br /&gt;I also hope that you all found the startling reveal at the end as enjoyable to read as I found it to write.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6075109135295334400?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.boundedbyinfinity.com/the_endless_sleep.html' title='&quot;The Endless Sleep&quot;'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6075109135295334400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6075109135295334400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6075109135295334400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6075109135295334400'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/endless-sleep.html' title='&quot;The Endless Sleep&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-4252151439378501140</id><published>2011-05-22T10:25:00.000+01:00</published><updated>2011-05-22T10:25:26.815+01:00</updated><title type='text'>My Year So Far</title><content type='html'>It's almost June and so far this year I have released exactly one app which I have worked on end-to-end. That app is &lt;a href="http://itunes.apple.com/gb/app/my-royal-wedding/id436340107?mt=8"&gt;&lt;cite&gt;My Royal Wedding&lt;/cite&gt;&lt;/a&gt;. Yeah. It's been that kind of a year so far.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-4252151439378501140?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/4252151439378501140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=4252151439378501140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4252151439378501140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4252151439378501140'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/my-year-so-far.html' title='My Year So Far'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5135697103721123215</id><published>2011-05-21T23:22:00.000+01:00</published><updated>2011-05-21T23:22:54.793+01:00</updated><title type='text'>"It Coulda Woulda Shoulda Been a Wonderful Life"</title><content type='html'>Despite the title, this didn't turn out to have much in common with &lt;cite&gt;It's a Wonderful Life&lt;/cite&gt; beyond the broad theme. Which just goes to show what happens when you don't plan what you're going to write before you sit down and start typing. There are many directions in which you can take the 'suicidal person looks back on their life' idea, and I'm sure it won't be long before I try out some of the others.&lt;br /&gt;&lt;br /&gt;This story also contains a couple of references which probably won't age very well at all.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.boundedbyinfinity.com/it_coulda_woulda_shoulda_been_a_wonderful_life.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/728864/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5135697103721123215?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.boundedbyinfinity.com/it_coulda_woulda_shoulda_been_a_wonderful_life.html' title='&quot;It Coulda Woulda Shoulda Been a Wonderful Life&quot;'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5135697103721123215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5135697103721123215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5135697103721123215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5135697103721123215'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/it-coulda-woulda-shoulda-been-wonderful.html' title='&quot;It Coulda Woulda Shoulda Been a Wonderful Life&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3251674970481463214</id><published>2011-05-21T20:56:00.000+01:00</published><updated>2011-05-21T20:56:41.251+01:00</updated><title type='text'>"Of Mice and Men and Midnight"</title><content type='html'>I wanted to write something Gaiman-esque. (Chicks dig Gaiman, right?) So here is a slight spin on a classic fairy tale.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://boundedbyinfinity.com/of_mice_and_men_and_midnight.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/721711/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3251674970481463214?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://boundedbyinfinity.com/of_mice_and_men_and_midnight.html' title='&quot;Of Mice and Men and Midnight&quot;'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3251674970481463214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3251674970481463214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3251674970481463214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3251674970481463214'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/of-mice-and-men-and-midnight.html' title='&quot;Of Mice and Men and Midnight&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6039986613344811951</id><published>2011-05-21T20:28:00.002+01:00</published><updated>2011-05-21T20:35:52.609+01:00</updated><title type='text'>"A Rather Commonplace Debut"</title><content type='html'>The title comes from &lt;cite&gt;The Picture of Dorian Gray&lt;/cite&gt;, spoken by Lord Arthur on the occasion of Dorian falling in love with an actress. The choice of title, the rough theme, and the line "You cried yourself to sleep last night. It broke my heart" came together ten or so years ago. The multiple layers of framing narrative coalesced maybe five or six years ago &amp;mdash; after I'd lived in London for a little while and grown to love walking the streets of the City, especially during the deserted weekends. But I'm ashamed to say that the similarities between Dorian's picture and the posters of Tess didn't occur to me until very recently, after I'd finished the first draft.&lt;br /&gt;&lt;br /&gt;I'm well aware that to properly tell this story the way I want to is far beyond my current abilities. The multiple tenses employed and the way the narrative flits between them should probably not be attempted by anyone. But at least I can say I tried. I may come back to this story in a few hundred thousand words time and try again.&lt;br /&gt;&lt;br /&gt;&lt;cite&gt;A Rather Commonplace Debut&lt;/cite&gt; would also make a great title for a first collection, don't you think?&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://boundedbyinfinity.com/a_rather_commonplace_debut.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/669701/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6039986613344811951?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://boundedbyinfinity.com/a_rather_commonplace_debut.html' title='&quot;A Rather Commonplace Debut&quot;'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6039986613344811951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6039986613344811951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6039986613344811951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6039986613344811951'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/rather-commonplace-debut.html' title='&quot;A Rather Commonplace Debut&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3744071288806577369</id><published>2011-05-21T20:08:00.001+01:00</published><updated>2011-05-29T09:50:53.937+01:00</updated><title type='text'>"Seeing is Believing"</title><content type='html'>I'm really, &lt;i&gt;really&lt;/i&gt; not happy with this title, but it was all I could come up with at the time. I think the story as a whole illustrates the problems I currently have with sustaining a structured narrative. Still, I managed to get in a few digs at a former employer, along with the names of a couple of friends (because naming characters is another one of my not strong suits). One day I'd like to revisit the Holmes and Watkins partnership, possibly in something novel-length. I have a cracking title worked out for that one.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://boundedbyinfinity.com/seeing_is_believing.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/662561/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;EDIT (29/5/2011) &amp;mdash; To my eternal shame, I've never read Heinlein's "The Moon is a Harsh Mistress", so it wasn't until I visited the British Library's &lt;a href="http://praxisstalled.blogspot.com/2011/05/out-of-this-world-at-british-library.html"&gt;&lt;cite&gt;Out of this World&lt;/cite&gt;&lt;/a&gt; exhibition that I discovered that it too featured a computer intelligence named HOLMES. How embarrassing. Still, at least we know where whoever named the Home Office system &lt;i&gt;really&lt;/i&gt; got its name from.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3744071288806577369?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://boundedbyinfinity.com/seeing_is_believing.html' title='&quot;Seeing is Believing&quot;'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3744071288806577369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3744071288806577369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3744071288806577369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3744071288806577369'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/seeing-is-believing.html' title='&quot;Seeing is Believing&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-4146715156232624373</id><published>2011-05-21T19:56:00.000+01:00</published><updated>2011-05-21T19:56:43.503+01:00</updated><title type='text'>"The Time Traveller's Companion"</title><content type='html'>I don't think that there can be much doubt as to the inspiration for this one. I guess there are worse things than being accused of writing fan fiction &amp;mdash; Stephen Moffat hasn't done too badly out of it, after all &amp;mdash; although that was never my intent. Honest. That's me: misunderstood from the get-go.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.boundedbyinfinity.com/the_time_travellers_companion.html"&gt;Read at &lt;cite&gt;Bounded by Infinity&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.writerscafe.org/writing/StuartCrook/655365/"&gt;Read and review at &lt;cite&gt;Writer's Cafe&lt;/cite&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-4146715156232624373?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.boundedbyinfinity.com/the_time_travellers_companion.html' title='&quot;The Time Traveller&apos;s Companion&quot;'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/4146715156232624373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=4146715156232624373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4146715156232624373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4146715156232624373'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/time-travellers-companion.html' title='&quot;The Time Traveller&apos;s Companion&quot;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-4532768365514220009</id><published>2011-05-21T14:44:00.000+01:00</published><updated>2011-05-21T14:44:24.685+01:00</updated><title type='text'>Author's Note</title><content type='html'>I like the meta. Stuff about stuff, about how it works, how and &amp;mdash; even better &amp;mdash; why it was created, fascinates me. I prefer the mythology to the making of. I'm not really interested in how, technically, a certain shot was achieved, but I love to hear how wired / juiced / hungover the cast and crew were when they filmed it, who was screwing / not talking to whom. I love Author's Notes and the context they provide. I love reading which celebrity friend the author was staying with when they wrote a particular work. There's something undefinably glamourous about writing done in foreign hotels rooms, in secluded rural retreats, in rehab. Even a simple dateline &amp;mdash; say, London, April 1969 &amp;mdash; is enough to provide that little frisson of hermeneutics.&lt;br /&gt;&lt;br /&gt;Recently, I've been writing more than ever before. Or maybe it's fairer to say that I've been finishing more, managing to get past the first paragraph without giving up in disgust. (Not sure why this is. There's just a chance I may have found my muse.) This leads to another problem (because it wouldn't be me if there wasn't another problem) &amp;mdash; getting read.&lt;br /&gt;&lt;br /&gt;(Digression: writing which is never read: is it Zen, like the sound of one hand clapping, or are we talking more along the lines of trees falling in a forest with no-one there to hear them? Discuss.)&lt;br /&gt;&lt;br /&gt;I've been posting to &lt;a href="http://www.writercafe.org"&gt;Writer's Cafe&lt;/a&gt; (my profile's &lt;a href="http://www.writerscafe.org/StuartCrook"&gt;here&lt;/a&gt;, since you asked), which seems far less tacky and/or filled with emo teenagers (like I can talk…) than any of the alternatives, but is still far from ideal. The main problem seems to be that members are more interested in writing their own stuff than reading and reviewing other peoples'. Which I can understand. I feel the same way. And it turns out that writing constructive reviews is hard (harder than, say, just re-writing that person's piece yourself, which is what I feel like doing most of the time). The fact that the site's review system doesn't allow for any kind of back-and-forth &amp;mdash; it doesn't work like a standard blog comment thread, for instance &amp;mdash; doesn't help.&lt;br /&gt;&lt;br /&gt;(I'm lead to bemoan, once again, how easy those who practice other art forms have it. It only takes seconds to get someone to take a look at a drawing, or listen to some music, while reading, on the other hand, well that takes time and requires concentration and ooh! look! kittens!)&lt;br /&gt;&lt;br /&gt;So I'm going to start posting links to things I write here, along with a little bit of background explaining how particular ideas came about, in a vain (double meaning, there) attempt at grabbing a few more eyeballs. Unfortunately, I won't be able to offer much in the way of exotic writing locations. (The early pieces were written while living in a rat-infested garret in Whitechapel, by which I mean a top-floor studio flat occasionally visited by a couple of mice. Boy, I miss those little guys. Best audience I ever had.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-4532768365514220009?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/4532768365514220009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=4532768365514220009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4532768365514220009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4532768365514220009'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/authors-note.html' title='Author&apos;s Note'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1244847850375866820</id><published>2011-05-21T12:22:00.000+01:00</published><updated>2011-05-21T12:22:34.249+01:00</updated><title type='text'>Book Review: The Long Arm of the Templars</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-wdZm6L8vrHI/Tdea8vxk7PI/AAAAAAAAACs/yy63yy5Oqvs/s1600/cover.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-wdZm6L8vrHI/Tdea8vxk7PI/AAAAAAAAACs/yy63yy5Oqvs/s200/cover.png" width="153" /&gt;&lt;/a&gt;&lt;/div&gt;What we have here is, basically, the Grand Unified Conspiracy Theory. The author takes a semiotic grand tour of which Umberto Eco would be proud and ends up proving that the Knights Templar assassinated JFK and that the Holy Grail is an alien artefact.&lt;br /&gt;&lt;br /&gt;(And now you don't have to read the book. You're welcome. But should you still wish to do so, it's available in &lt;a href="http://itunes.apple.com/gb/book/the-long-arm-of-the-templars/id426211247?mt=11"&gt;the &lt;cite&gt;iBooks&lt;/cite&gt; Store&lt;/a&gt;, and from &lt;a href="http://www.lulu.com/product/ebook/the-long-arm-of-the-templars/15123359"&gt;Lulu&lt;/a&gt;, for 99p.)&lt;br /&gt;&lt;br /&gt;For me, the most interesting thing is the author himself. Now no longer with us, the forward to this first English edition hints at a few brief months of fame in Europe at some unspecified date (late 70s? early 80s?), a murky, possibly questionable past, and a mysterious death. I think I'm intrigued enough to do a little digging into&amp;nbsp;Sig. Moretti.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1244847850375866820?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://itunes.apple.com/gb/book/the-long-arm-of-the-templars/id426211247?mt=11' title='Book Review: The Long Arm of the Templars'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1244847850375866820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1244847850375866820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1244847850375866820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1244847850375866820'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/book-review-long-arm-of-templars.html' title='Book Review: The Long Arm of the Templars'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-wdZm6L8vrHI/Tdea8vxk7PI/AAAAAAAAACs/yy63yy5Oqvs/s72-c/cover.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8382324689661794070</id><published>2011-05-21T11:45:00.000+01:00</published><updated>2011-05-21T11:45:35.625+01:00</updated><title type='text'>SimCap in the Mac App Store</title><content type='html'>A few months ago (sorry, I am a neglectful blogger), my iPhone Simulator video capture application, &lt;a href="http://www.jaml.co.uk/simcap.html"&gt;&lt;cite&gt;SimCap&lt;/cite&gt;&lt;/a&gt;, was accepted into the &lt;a href="http://itunes.apple.com/gb/app/simcap/id423124409?mt=12"&gt;Mac App Store&lt;/a&gt;. Sales are roughly two to three times what I was seeing before, selling from the company website and taking payment through PayPal. This may be in part due to the small drop in price (from $15 to $9.99), but I suspect the more likely explanation is the increased visibility listing in the App Store brings.&lt;br /&gt;&lt;br /&gt;In all, I think that this has been a good move.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8382324689661794070?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://itunes.apple.com/gb/app/simcap/id423124409?mt=12' title='SimCap in the Mac App Store'/><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8382324689661794070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8382324689661794070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8382324689661794070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8382324689661794070'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2011/05/simcap-in-mac-app-store.html' title='SimCap in the Mac App Store'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1643952106880179992</id><published>2010-12-05T12:41:00.000Z</published><updated>2010-12-05T12:41:25.901Z</updated><title type='text'>The Trumbull Continuum</title><content type='html'>Walking down by the river, I would keep catching out of the corner of my eye glimpses of a future version of the city. (I trudge, as always, in Gibson's fleet footsteps.) These baby arcologies begin to grow, slowly encroaching on the neo-Ballardian landscape of plazas and balconies and flower-less knives of green. I've seen this elsewhere, in a beam of green light slicing the Greenwich night. I attempt to capture their image with the device I carry in my pocket, the one which is more powerful that the first seven computers I owned or the dozens which put men on the moon; the device which will let me instantaneously share with the world what I'm having for lunch or let me pull down videos of amusing cats no matter where I am. I live in the future.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_B8EmjZFzp0k/TPuIDRZCCMI/AAAAAAAAACc/4ha1Oms_rjo/s1600/reflection.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://1.bp.blogspot.com/_B8EmjZFzp0k/TPuIDRZCCMI/AAAAAAAAACc/4ha1Oms_rjo/s320/reflection.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1643952106880179992?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1643952106880179992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1643952106880179992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1643952106880179992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1643952106880179992'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2010/12/trumbull-continuum.html' title='The Trumbull Continuum'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_B8EmjZFzp0k/TPuIDRZCCMI/AAAAAAAAACc/4ha1Oms_rjo/s72-c/reflection.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6314754676774040149</id><published>2010-12-04T21:17:00.003Z</published><updated>2010-12-04T21:41:30.772Z</updated><title type='text'>The Other 80%</title><content type='html'>Since the weekends are when I take a break from my day job coding iPhone apps, I spent this afternoon watching videos of people talking about how to code iPhone apps. If you haven't already checked out &lt;a href="http://ideveloper.tv/"&gt;iDeveloper TV&lt;/a&gt; (previously the Mac Developer Network), you should.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was particularly taken by the &lt;a href="http://ideveloper.tv/freevideo/details?index=17196610"&gt;&lt;cite&gt;Pimp My App&lt;/cite&gt;&lt;/a&gt; talk given by Mike Lee (who, I have to concede, probably is the World's Toughest Programmer and could easily have wee Matt Gemmell in a fight). One day I'll have to get him to visit our office, where he can wreak bloody vengeance, since most of the apps we churn out feature his &lt;cite&gt;bête noir&lt;/cite&gt;, the splash screen. Most also have a little animated logo, too. With any luck he'll flatten the entire building.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But the real takeaway was the idea that polishing your app is "the other 80%": that those finishing touches should take as much time and effort as the rest of development up to that point. I completely agree with this, which makes the realities of the kind of client-driven development I do so much harder to bear. We're lucky if the first 80% of a project doesn't expand to take up 100%+ of the time allotted to it. Finishing an app is usually an almighty rush involving tracking down bugs, adding last minute feature requests, and then tracking down the bugs you just added with the last minute features. I've yet to complete a project which I can honestly say I'm fully happy with. And since I work with so many talented, creative people, I can't help feeling that this is a crying shame, and that ultimately I'm letting the side down with these implementation failures. It really shouldn't be this way.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(And on a related note, the Gordon Ramsay &lt;a href="http://itunes.apple.com/gb/app/gordon-ramsay-cook-with-me/id394892688?mt=8"&gt;&lt;cite&gt;Cook With Me HD&lt;/cite&gt;&lt;/a&gt; iPad app, my last big project, went live yesterday, complete with an inexplicable bug which silenced the sound effects. Again I manage to snatch failure from the jaws of success. This is doubly bad, since I'm on record as not being a fan of them. I didn't do it deliberately, honest.)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6314754676774040149?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6314754676774040149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6314754676774040149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6314754676774040149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6314754676774040149'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2010/12/other-80.html' title='The Other 80%'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1989447813216590310</id><published>2010-11-04T20:09:00.004Z</published><updated>2010-11-04T21:51:56.431Z</updated><title type='text'>Thinking Aloud About the Mac App Store</title><content type='html'>&lt;p&gt;With the &lt;a href="http://www.macworld.com/article/155463/2010/11/mac_app_store_submissions.html"&gt;news&lt;/a&gt; that Apple has started accepting submissions for the Mac App Store — and with the announced launch date just a couple of months away — I'm sure I'm not alone in being an indie developer giving serious consideration to whether the store is the right place for me to sell my applications.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;On the surface, this decision should be a no-brainer. The App Store model has succeeded beyond anyone's expectations on iOS, its high-profile nature driving hundreds of thousands of users who would not have otherwise to make purchases. And in case you're in any doubt as to the power of an Apple-managed store front, I present the following:&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_B8EmjZFzp0k/TNMmT_pxjWI/AAAAAAAAACU/UDKoHuVa8TU/s1600/simcap_downloads.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 308px; height: 182px;" src="http://2.bp.blogspot.com/_B8EmjZFzp0k/TNMmT_pxjWI/AAAAAAAAACU/UDKoHuVa8TU/s400/simcap_downloads.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5535810491914489186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Can you spot the point where &lt;a href="http://www.jaml.co.uk/simcap.html"&gt;&lt;cite&gt;SimCap&lt;/cite&gt;&lt;/a&gt; entered Apple's &lt;a href="http://www.apple.com/downloads/macosx/"&gt;OS X Downloads list&lt;/a&gt;? No, the absolute numbers aren't very impressive, but relatively I'm very happy with the results. And remember that this is a relatively niche developer / marketing tool we're talking about here.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So why would I possibly want to say no to this kind of opportunity, most likely on a much larger scale?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There have already been many posts on these subjects which enumerate the potential drawbacks in a far more depth and with far more eloquence than I can. But from all those potentials, I see the lack of a demos as the biggest stumbling block.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;While I'm sure that &lt;cite&gt;SimCap&lt;/cite&gt; would pass Apple's entry requirements (for instance, it doesn't use any private APIs mainly because I wouldn't know where to find these private APIs), there's still something a little &lt;emp&gt;hackish&lt;/emp&gt; about it. To be perfectly honest, there are some cases where &lt;cite&gt;SimCap&lt;/cite&gt; simply won't work for users, and no matter what I do I'm unable to offer a solution or recreate the problem. In these cases the only option left to me is to apologise to the user for the time wasted. With &lt;cite&gt;SimCap&lt;/cite&gt; currently available as a full demo, this is a frustration (on this side as well as the customer's, believe me), but it isn't a problem in that no money has changed hands. Maybe I lack faith in my own work, but to be perfectly honest I'm reluctant to charge up-front for &lt;cite&gt;SimCap&lt;/cite&gt; when I can't guarantee that it will work every time for every user.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(The chart, by the way, is from Tyler Hall's excellent &lt;a href="http://clickontyler.com/blog/2009/08/shine-an-indie-mac-dashboard/"&gt;&lt;cite&gt;Shine&lt;/cite&gt;&lt;/a&gt; dashboard. Highly recommended, if you decide to stay out of the Mac App Store.)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1989447813216590310?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1989447813216590310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1989447813216590310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1989447813216590310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1989447813216590310'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2010/11/thinking-aloud-about-mac-app-store.html' title='Thinking Aloud About the Mac App Store'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_B8EmjZFzp0k/TNMmT_pxjWI/AAAAAAAAACU/UDKoHuVa8TU/s72-c/simcap_downloads.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-9178830935252997792</id><published>2010-10-30T20:09:00.002+01:00</published><updated>2010-10-30T20:18:47.789+01:00</updated><title type='text'>OS X Names Aren't Nearly As Cool As They Used To Be</title><content type='html'>Grab almost any Makefile from Apple's &lt;a href="http://opensource.apple.com"&gt;opensource code repository&lt;/a&gt; (this is from &lt;a href="http://www.opensource.apple.com/source/cctools/cctools-622.5.1/otool/Makefile?txt"&gt;cctools&lt;/a&gt;) and behold:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;ifeq "macos" "$(RC_OS)"&lt;br /&gt;    STATIC := $(shell if [ "$(RC_RELEASE)" = "Beaker"    ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "Bunsen"    ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "Gonzo"     ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "Kodiak"    ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "Cheetah"   ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "Puma"      ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "Jaguar"    ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "Panther"   ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "MuonPrime" ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "MuonSeed"  ] || \&lt;br /&gt;        [ "$(RC_RELEASE)" = "SUPanWheat" ]; then \&lt;br /&gt;        echo "-static" ; \&lt;br /&gt;    else if [ "$(RC_RELEASE)" = "Tiger" ]; then \&lt;br /&gt;        echo "-static" \&lt;br /&gt;    else \&lt;br /&gt;        echo "" \&lt;br /&gt;    ; fi; fi; )&lt;br /&gt;else&lt;br /&gt;    STATIC = -static&lt;br /&gt;endif&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Lion? I want Mac OS Xs Cookie Monster, Grover and Elmo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-9178830935252997792?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/9178830935252997792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=9178830935252997792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/9178830935252997792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/9178830935252997792'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2010/10/os-x-names-arent-nearly-as-cool-as-they.html' title='OS X Names Aren&apos;t Nearly As Cool As They Used To Be'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-4089826407137261191</id><published>2010-09-03T20:50:00.002+01:00</published><updated>2010-09-03T21:09:28.037+01:00</updated><title type='text'>Please Stop Squee-ing Over iOS</title><content type='html'>A quick public service announcement, inspired by the current level of excitement over the fact that the new AppleTV may be running iOS. Firstly, the differences between iOS and OS X (remember OS X?) are like the differences between Ubuntu and Red Hat. Yes, iOS is the new shiny. And, yes, without iOS I probably wouldn't be able to make a living as an Objective-C programmer. But the differences are pretty superficial and only a little more than skin deep. (Which, by the way, is why I could hit the ground running, while all you ex-C# guys are still trying to get your heads around reference counting and wondering out loud what this delegate shit is about.)&lt;br /&gt;&lt;br /&gt;Secondly, you can't wait until people jailbreak the new AppleTV and start writing iOS apps for it? Really? Cocoa Touch is a great library - superior in a number of ways to AppKit, which is starting to look a little long in the tooth - but it was written to fit a very particular use case. I'll give you a hint: the clue's in the name. The AppleTV is running on an A4 because the chip is small, cheap and runs cool. I haven't found the figures yet, but I'm going to bet it only just matches the performance of the Pentium M (also clocked at 1GHz) from the original version. Both generations of machines are running a custom UI built on top of Core Animation. And yet we only get the excitement now. I guess the magic word is 'apps', and the world and his dog seem to think they can download XCode, buy a couple of books and strike it rich. Sigh.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-4089826407137261191?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/4089826407137261191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=4089826407137261191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4089826407137261191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4089826407137261191'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2010/09/please-stop-squee-ing-over-ios.html' title='Please Stop Squee-ing Over iOS'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5247866585502590840</id><published>2010-08-01T11:14:00.007+01:00</published><updated>2010-08-01T12:08:56.544+01:00</updated><title type='text'>Customising the Appearance of UITabBarController</title><content type='html'>(I tried out a couple of titles for this post, one of which was "Customising the Appearance of UITabBar". But I realised that, while in effect this is how you could describe the problem, it wasn't really accurate. To all intents and purposes, UITabBarController is a single opaque entity. Yes, there's a UITabBar in there somewhere, but that knowledge alone is of little use to you. I get the feeling that UITabBar has its own documentation only because otherwise UITabBarController's would be even longer than it already is.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;span style="font-weight:bold;"&gt;The Problem:&lt;/span&gt; Whichever finger painter you're currently beholden to has decided that your next app is going to use a tab bar. Only not Apple's tab bar. Oh no. Because that's what ever other app looks like and it just doesn't look &lt;span style="font-style:italic;"&gt;designed&lt;/span&gt; and anyway they want all seventeen tab buttons to appear at once without that "More" button thing and mwaa mwaa mwaa mwaa mwaa.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;So you're left with the task of reimplementing UITabBarController, something which originally took a team of Apple developers about three times as long as you've been allocated for the entire project. And you know that you won't even get close, because you'll loose all that useful Apple goodness like &lt;code&gt;-viewWill(Did)(Dis)Appear&lt;/code&gt; messages which actually propagate to sub-view controllers and being able to honour &lt;code&gt;hidesBottomBarWhenPushed&lt;/code&gt; from the depths of the navigation stack.&lt;br /&gt;&lt;br /&gt;What you'd really like to do is just change how the regular UITabBar displayed by UITabBarController looks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Warning:&lt;/span&gt; I'm using this code in a production project, but I haven't submitted it to the App Store yet. There's a chance that adopting this approach may get your app rejected. (Although chances are that's more likely to happen bceause your new style tab bar looks too much like Apple's own, rather than because of anything happening at the code level.)&lt;br /&gt;&lt;br /&gt;This has been tested on 3.1.3 and 4.0.1, but it's exactly the kind of evil hackery which is likely to break with a future iOS upgrade.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Solution:&lt;/span&gt; We're going to create a UITabBarController subclass (yes, even though Apple says not to in the second line of the docs). Here's the code. And &lt;a href="http://www.jaml.co.uk/code/CustomisedTabBarController.zip"&gt;here&lt;/a&gt; is an example project (based on the default iPhone tab bar template) for the impatient among you).&lt;br /&gt;&lt;br /&gt;SJCTabBarController.h:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;  #import &amp;lt;uikit/uikit.h&amp;gt;&lt;br /&gt;&lt;br /&gt;  @interface SJCTabBarController : UITabBarController {&lt;br /&gt;      UIView *_fakeTabBar;&lt;br /&gt;      UIButton *_currentSelection;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  @property (nonatomic,assign) IBOutlet UIView *fakeTabBar;&lt;br /&gt;&lt;br /&gt;  -(IBAction)fakeTabTapped:(id)sender;&lt;br /&gt;&lt;br /&gt;  @end&lt;br /&gt;&lt;/uikit/uikit.h&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;SJCTabBarController.m:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;  #import "SJCTabBarController.h"&lt;br /&gt;&lt;br /&gt;  @implementation SJCTabBarController&lt;br /&gt;&lt;br /&gt;  @synthesize fakeTabBar=_fakeTabBar;&lt;br /&gt;&lt;br /&gt;  // evil trickery happens here&lt;br /&gt;  -(UITabBar *)tabBar { return nil; }&lt;br /&gt;&lt;br /&gt;  -(void)viewDidLoad {&lt;br /&gt;      [super viewDidLoad];&lt;br /&gt;&lt;br /&gt;      // install our fake tab bar&lt;br /&gt;      [[super tabBar] addSubview: _fakeTabBar];&lt;br /&gt;&lt;br /&gt;      // set up the default selected tab&lt;br /&gt;      // you may like to read the tab/tag number from the user defaults&lt;br /&gt;      [self fakeTabTapped: [_fakeTabBar viewWithTag: 0]];&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  // switch tabs&lt;br /&gt;  -(IBAction)fakeTabTapped:(id)sender {&lt;br /&gt;      // do we need to do anything?&lt;br /&gt;      if(sender == _currentSelection) return;&lt;br /&gt;&lt;br /&gt;      // un-select the currently selected button&lt;br /&gt;      _currentSelection.selected = NO;&lt;br /&gt;&lt;br /&gt;      // select the new button&lt;br /&gt;      _currentSelection = (UIButton *)sender;&lt;br /&gt;      _currentSelection.selected = YES;&lt;br /&gt;      self.selectedIndex = _currentSelection.tag;&lt;br /&gt;&lt;br /&gt;      // you may like to write the selected index into user defaults here&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  -(void)viewDidUnload {&lt;br /&gt;      [super viewDidUnload];&lt;br /&gt;&lt;br /&gt;      _fakeTabBar = nil;&lt;br /&gt;      _currentSelection = nil;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  @end&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Explanations in a second, but first the Interface Builder part of the equation.&lt;br /&gt;&lt;br /&gt;In IB, drag in a UITabBarController (or use the one from the MainWindow.xib created with the default tab bar XCode template) and add view controllers to it. Then change it's class to our UITabBarContoller sub-class. Now add a view to act as your new-look tab bar. This should be a screen wide by the standard 49 points high. Connect it to the fakeTabBar outlet in the subclass. Give it a non-zero tag higher than the number of tabs you want to add.&lt;br /&gt;&lt;br /&gt;Now add a button for each tab. Give them a tag which is the same as the index of the view controller you want selected when they're tapped (eg. the first is 0, the second 1, etc.). Wire them up to send &lt;code&gt;-fakeTabTapped:&lt;/code&gt; to the sub-class.&lt;br /&gt;&lt;br /&gt;You should end up with a hierarchy like this (I've added a total of six view controllers to the tab bar controller in order to demonstrate how awesomely it all works):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8EmjZFzp0k/TFVTE3m2YUI/AAAAAAAAACE/cvnf7QvhQVM/s1600/IB.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 351px;" src="http://1.bp.blogspot.com/_B8EmjZFzp0k/TFVTE3m2YUI/AAAAAAAAACE/cvnf7QvhQVM/s400/IB.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5500393863014408514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Which will produce something like this (which, by the way, is why no designer working with me needs worry about their job security):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8EmjZFzp0k/TFVRj7u8usI/AAAAAAAAAB8/bZ0sLX2gdX0/s1600/almost_there.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 222px; height: 320px;" src="http://3.bp.blogspot.com/_B8EmjZFzp0k/TFVRj7u8usI/AAAAAAAAAB8/bZ0sLX2gdX0/s320/almost_there.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5500392197674810050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So what's going on in this code? It's really rather simple, and yet I couldn't find anything quite like it on the Googles (which suggests that I've done something incredibly stupid and just not noticed it. I bet you have. The comments are down there). Our custom tab bar is added as a subview of the existing tab bar. We access this via &lt;code&gt;[super tabBar]&lt;/code&gt; because we've overridden the getter for the tabBar property to return nil. We do this to stop Apple's code (which is well behaved and seems to always use the property accessors rather than going straight to the ivar) from altering what it thinks is a standard tab bar. Comment-out this method and you'll see a ghostly "More" tab and various labels appearing.&lt;br /&gt;&lt;br /&gt;One last fix. You'll notice that when you select a tab which should have been managed by the "More" tab, a navigation bar with a back button entitles "More" will automatically appear at the top of the view. You can remove this by calling&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;  [self.navigationController setNavigationBarHidden: YES];&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;in the &lt;code&gt;-viewWillAppear:&lt;/code&gt; method of these view controllers. This has the unfortunate side effect of preventing you from using a navigation controller-managed navigation bar in these controllers, but the chances are that if your designer doesn't want to use the standard tab bar, they won't want this behaviour either.&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-weight:bold;"&gt;Edit:&lt;/span&gt; And immediately after posting this I realised that, in &lt;code&gt;-fakeTabTapped:&lt;/code&gt;, instead of exiting if the same tab was selected again we should be checking for a navigation controller and popping all of its subviews. I'll leave that as an exercise for the reader.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5247866585502590840?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5247866585502590840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5247866585502590840' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5247866585502590840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5247866585502590840'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2010/08/customising-appearance-of.html' title='Customising the Appearance of UITabBarController'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_B8EmjZFzp0k/TFVTE3m2YUI/AAAAAAAAACE/cvnf7QvhQVM/s72-c/IB.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-9013199824733382262</id><published>2009-11-21T11:03:00.001Z</published><updated>2009-11-21T11:03:16.778Z</updated><title type='text'>Shine: Your Mac Indie Business in a .zip</title><content type='html'>&lt;p&gt;Last week I released &lt;a href="http://www.jaml.co.uk/simcap.html"&gt;&lt;cite&gt;SimCap&lt;/cite&gt;&lt;/a&gt;, my first OS X application. This entailed &amp;mdash; in addition to the whole 'designing and coding and testing' part &amp;mdash; setting up the infrastructure necessary to sell it. Of course, I did all this at the very last minute, with &lt;cite&gt;SimCap&lt;/cite&gt; sat there ready to go and the absolute minimum of advanced planning. That minimum planning was the decision to use &lt;a href="http://github.com/tylerhall/Shine/"&gt;&lt;cite&gt;Shine&lt;/cite&gt;&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;cite&gt;Shine&lt;/cite&gt; is an application management dashboard, written by &lt;a href="http://clickontyler.com/"&gt;Tyler Hall&lt;/a&gt; and designed around the basic workflow of your average Mac Indie developer: taking payments via PayPal, generating licences with &lt;a href="http://aquaticmac.com/"&gt;AquaticPrime&lt;/a&gt;, and pushing updates using &lt;a href="http://sparkle.andymatuschak.org/"&gt;Sparkle&lt;/a&gt;. I first heard about &lt;cite&gt;Shine&lt;/cite&gt; on &lt;cite&gt;The MDN Show&lt;/cite&gt; (&lt;a href="http://www.mac-developer-network.com/shows/podcasts/mdnshow/mdn011/"&gt;epsiode 11&lt;/a&gt;) (which was &amp;mdash; sorry, Scotty &amp;mdash; the first episode I'd listened to in a long time). One of the things about iPhone development is that Apple does take care of most of the business side of things for you. While &lt;cite&gt;Shine&lt;/cite&gt; doesn't exactly sit you down with a hot cuppa and tell you not to worry your pretty little head about all those nasty numbers, it certainly makes things easier, especially if you're starting out from scratch. Assemble components to fulfil the same roles &lt;cite&gt;Shine&lt;/cite&gt; does would probably taken a few days.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I'm afraid that this won't be a complete &lt;cite&gt;Shine&lt;/cite&gt; "how to" guide, but instead a collection of my thoughts on the process of setting the dashboard up, scribbled down while the experience is still fresh in my mind.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Firstly, did you notice that "especially if you're starting out from scratch" bit above? I mention it because &lt;cite&gt;Shine&lt;/cite&gt; is rather inflexible in what it does. You can replace the &lt;cite&gt;AquaticPrime&lt;/cite&gt; portion with your on licence generator, but otherwise the workflow is pretty-much locked down. Payment info comes in via PayPal's IPN service, so if you use a different payment processor you'll either need to write your own handler or look for another solution. Likewise, updates are stored in and downloaded from &lt;a href="http://aws.amazon.com/s3/"&gt;Amazon S3&lt;/a&gt;, without, say, the option to store them on your local server. In this last case, I decided that the ease of using &lt;cite&gt;Shine&lt;/cite&gt; would probably outweigh the cost of using S3. (And I think I was right: this week's thousand downloads have cost me about 20 cents.)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;cite&gt;Shine&lt;/cite&gt; is basically a set of PHP scripts (available from the link above, either directly via Git or in the archive format of your choosing). Installation is just a matter of copying them to your server. The config file allows you to configure the exact same code for both your test and production servers. Documentation is minimal, basically amounting to the comments in the source code &amp;mdash; but then this is aimed at Indie developers, who can probably be expected to feel comfortable diving into the code and figuring things out that way.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;But just in case you aren't, or you've stumbled across this post looking for help... You build the MySQL database shine needs by running the .sql file from the archive using MySQL'a &lt;code&gt;source&lt;/code&gt; command. You'll then have to create your own entry in the users table. There's an entry for using encrypted passwords in the config file, and if you set it, don't forget to also provide a string of random characters as salt. I ended up inserting random &lt;code&gt;echo&lt;/code&gt; statements into the hashing function (on my test server) to see what value I should enter into the database as a password, but I'm almost certain there's a simpler way of doing it.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I can't personally say that installing &lt;cite&gt;Shine&lt;/cite&gt; on my production server was a breeze, but none of that was &lt;cite&gt;Shine&lt;/cite&gt;'s fault. The code is neatly modular, which means that you may only encounter a problem with your server configuration the first time you go to use a particular feature. For instance, the first time I tried to test the PayPal IPN, I discovered that &lt;cite&gt;Shine&lt;/cite&gt; needed &lt;code&gt;libcurl&lt;/code&gt;, which I didn't have installed. (What followed was a couple of days of server re-imaging and mod_php re-compiling &amp;mdash; but I'm sure that your mileage will vary. Especially if you have a grown-up looking after your servers for you.) As far as I can tell, the not-really-at-all-exotic-although-some-Linux-distros-seem-to-think-so modules you'll need are &lt;code&gt;libcurl&lt;/code&gt; (for PayPal IPN), &lt;code&gt;libjson&lt;/code&gt; (for everything(?)), and &lt;code&gt;bcmath&lt;/code&gt; (for &lt;cite&gt;AquaticPrime&lt;/cite&gt; &amp;mdash; and this can only be added to PHP at compile time... sigh). A little pre-flight test script to check for these and warn of any potential nasty surprises might be an idea (and I guess if someone who knows their way around PHP doesn't write it then I'll have a go...).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Once you get this far, another little gotcha is that &lt;cite&gt;Shine&lt;/cite&gt; will only process IPN messages with "Completed" status. Which makes perfect sense and is how you want it to behave, but can easily catch you out. If, like me, you're selling in a different currency to that of your bank account, you'll want to throw the "accept and convert" switch (it's under "Profile &gt; Payment Receiving Preferences") to have transactions automatically completed. And while you're there, you'll also probably want to disable accepting eCheques, since transactions using them also won't complete straight away.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I've dwelt on the cons of using &lt;cite&gt;Shine&lt;/cite&gt; because a post saying "use &lt;cite&gt;Shine&lt;/cite&gt;, it's simply amazing" would be a little dull. But, honestly, I really can't recommend it enough. It has made the business side of launching an OS X application about as painless as you could hope. (And I haven't even mentioned it's integration with Tyler's &lt;a href="http://github.com/tylerhall/OpenFeedback/"&gt;&lt;cite&gt;OpenFeedback&lt;/cite&gt;&lt;/a&gt; framework.) There are a couple of extra features which I'd like to see &amp;mdash; some indication of the sample size used to calculate your &lt;cite&gt;Sparkle&lt;/cite&gt; stats (did I mention &lt;cite&gt;Shine&lt;/cite&gt; will also collect statistics from &lt;cite&gt;Sparkle&lt;/cite&gt;?), for instance, and maybe auto-response and notification e-mails for &lt;cite&gt;OpenFeedback&lt;/cite&gt; submissions &amp;mdash; but otherwise &lt;cite&gt;Shine&lt;/cite&gt; does everything it needs to so you don't have to. Get it and use it: it honestly is that much of a no-brainer.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-9013199824733382262?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/9013199824733382262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=9013199824733382262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/9013199824733382262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/9013199824733382262'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/11/shine-your-mac-indie-business-in-zip.html' title='Shine: Your Mac Indie Business in a .zip'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5035242545857310956</id><published>2009-11-14T14:10:00.002Z</published><updated>2009-11-21T11:19:22.696Z</updated><title type='text'>Apple Does Love Me!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8EmjZFzp0k/Sv66dVm9sFI/AAAAAAAAABs/Qs_BbNYW9IQ/s1600-h/staff_pick.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 640px; height: 136px;" src="http://3.bp.blogspot.com/_B8EmjZFzp0k/Sv66dVm9sFI/AAAAAAAAABs/Qs_BbNYW9IQ/s320/staff_pick.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5403961616070717522" /&gt;&lt;/a&gt;I'm sorry if I ever doubted you guys.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5035242545857310956?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5035242545857310956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5035242545857310956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5035242545857310956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5035242545857310956'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/11/apple-does-love-me.html' title='Apple Does Love Me!'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_B8EmjZFzp0k/Sv66dVm9sFI/AAAAAAAAABs/Qs_BbNYW9IQ/s72-c/staff_pick.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2617086615995087666</id><published>2009-11-14T13:17:00.001Z</published><updated>2009-11-14T13:17:19.155Z</updated><title type='text'>Is the App Store Broken?</title><content type='html'>&lt;p&gt;You could say that these are Interesting Times to be an iPhone developer &amp;mdash; although you could easily have said the same thing at any point since the announcement of the SDK. It seems that time and again we get weeks like this, where the number of "App Store Evil" stories in the press suddenly swells and it looks like matters are coming to a head. There have certainly been some happenings recently. The more public events you've doubtlessly heard of from Gruber, so I'll start with what's been going on behind the iPhone Dev Centre log in.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Trouble in Store&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;If you're a frequent browser of the App Store you may &amp;mdash; or more likely, may not &amp;mdash; have noticed something a little funny about the listings; in particular the "Recent" lists. Apple has introduced a new updates policy for the App Store. It used to be that whenever an update to an app was released it would be bumped back up to the top of the relevant list. This is no more. Now this list only shows newly released v1.0 applications. To say that this change is unpopular among developers would be an understatement.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For many developers, frequent small updates &amp;mdash; and their accompanying bump in position with attendant spike in sales &amp;mdash; was their main (or only) business plan. (I can certainly attest that the only times &lt;a href="http://www.jaml.co.uk/lexical.html"&gt;&lt;cite&gt;Lexical&lt;/cite&gt;&lt;/a&gt; has seen any number of sales were after initial release and after the 1.1.) Cue much wailing, gnashing of teeth and cries of "sod this, I'm off to Android", interspersed with pragmatic &amp;mdash; and somewhat exasperated &amp;mdash; messages which basically boil down to: "Oh FFS, you can't rely on Apple to do all your marketing for you, why don't you try a little advertising, I hear it works wonders in every other single business ever."&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;As a side effect of these changes &amp;mdash; or, more likely, of cracking the App Store open and tinkering with its workings &amp;mdash; we get the messed-up listings. Apps released last year are suddenly reappearing at the top of lists, accompanied by other apps which won't be released until next year. On the plus side, you no longer have to manually adjust your release date once your app has been approved, but at this moment that seems like a very small comfort. It's been over a week now and things finally seem to be settling down. Presumably it's taken so long because those whose job it is to fix it &amp;mdash; and who made the mistake in the first place &amp;mdash; have been nailed up in the lobby of their building on Infinite Loop &amp;mdash; alongside the rotting corpses of the old MobileMe team &amp;mdash; as a warning to others.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;(Playing armchair App Store manager for a moment, I'd suggest a two-track approval process for updates. When the developer submitted their update they'd check one of two options: "Bug fix" or "Feature Update". Bug fixes would be fast-tracked &amp;mdash; let's say there's a semi-guarentee of under five days &amp;mdash; but would not receive a list position bump. Feature Updates would be subject to the same fourteen-days-if-you're-lucky process as new apps &amp;mdash; and as we get by default now &amp;mdash; but would benefit from top-of-the-list exposure. But since I do not, have not and probably never will run a international application download service it really doesn't matter two hoots what I think should happen.)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What's in a Name?&lt;/h3&gt;&lt;br /&gt;Meanwhile, TUAW &lt;a href="http://www.tuaw.com/2009/11/13/app-store-devs-get-edge-y-as-a-reaction-to-trademark-threats/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+weblogsinc%2Ftuaw+%28The+Unofficial+Apple+Weblog+%28TUAW%29%29"&gt;reports&lt;/a&gt; that a number of developers have been sticking the word "edge" into their app names as a protest against the actions of the owner of the trademark "Edge", who has been busy enforcing it &amp;mdash; with Apple's help &amp;mdash; in the App Store. I suppose it's good to see that, despite their world collapsing around them, iPhone developers can find the time to have a little silly fun. The word "edge" isn't the only one to be proscribed in this way. "Memory" is also now &lt;em&gt;verbotten&lt;/em&gt;, although it seems on Jeff Lamarche has &lt;a href="http://iphonedevelopment.blogspot.com/2009/11/this-is-why.html"&gt;reported&lt;/a&gt; on this. So should we take this as another sign that the App Store is broken? No. In this case, Apple is responding to a legal request in the only way it can. Whether or not that request is fair is not their decision.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;I'm Going Home and I'm Taking My Toys with Me&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;We've had a couple of high profile hissy-fits in recent days. I'll include that Facebook guy under "high profile", even though I'd never heard of him before. But we shouldn't be too surprised by his departure. If he works for Facebook then he's going to be rather limited in the type of apps he's gets to work on (hint: it will mostly be Facebook clients). The Facebook iPhone app has been around long enough that it probably does everything it needs to, so there's no point wasting your rock star developer on maintaining it. Might as well get yourself some free publicity with a spectacular walkout and then hand the day-to-day upkeep to some lacky.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;And then we have Mike Ash and Rogue Amoeba. The &lt;cite&gt;Aitfoil Speakers Touch&lt;/cite&gt; &lt;a href="http://www.rogueamoeba.com/utm/2009/11/13/airfoil-speakers-touch-1-0-1-finally-ships/"&gt;saga&lt;/a&gt; is being held up as the latest great failing of the review process and of how the rule reviews enforce are arbitrary, obscure and inconsistent. (Although at least no-one seems to be blaming this on "out-sourcing" and "off-shoring" any more. Those terms rank alongside "UK-only call centres" for making me want to stab people in the face.) But just for the sake of being contrary, I'm going to disagree. I think the &amp;mdash; admittedly unspoken &amp;mdash; rule is very clear: Apple is asking iPhone developers, "Please do not let users think that your application is our problem".&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The &lt;cite&gt;Airfoil&lt;/cite&gt; problem boils down to this: Rouge Amoeba want it to show (a) a Mac OS X application icon, and (b) an image of a Macintosh computer; Apple don't. Rogue Amoeba's first argument is that neither icon nor image are distributed with the app, but are instead accessed using public API calls on the host machine. Doubtless true, but still beside the point. If I try to release &lt;cite&gt;XXX iHardcore iPorn&lt;/cite&gt; I shouldn't be surprised if it's rejected, no matter how loudly I complain that the content isn't included in the app but is downloaded using public APIs. A high proportion of the time, the icon which &lt;cite&gt;Airfoil&lt;/cite&gt; displays will be from an Apple product. 100% of the time it will display one of Apple's images of a Mac. When an application does something 100% of the time arguments about &lt;em&gt;how&lt;/em&gt; it does it are nothing more than weasel words.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The second argument is that the first version of &lt;cite&gt;Airfoil&lt;/cite&gt; did exactly the same thing and was both accepted and remained available for the whole time. Which is where &amp;mdash; and I'm just speculating wildly here, but then so are you, so shut up &amp;mdash; the unspoken "Please do not let users think that your application is our problem" rule comes in. Maybe the person whose job it is to trawl through the support logs found an abnormal number of requests which went something like: "I'm having terrible problems with your iPhone application X and if you don't fix it right away I'm telling my lawyer" "But sir or madam, X is not an Apple application" "Oh no you don't fool me that easily, it has your a picture of [random Apple product] in it so it must be yours". &lt;cite&gt;Airfoil&lt;/cite&gt; need not even have been the product mentioned. We already know that you cannot use images of the iPhone in iPhone apps. Images of any Apple product seems like a natural extension of this. And since we've all seen the App Store evolve over time, it's not an enormous leap to assume that this new tightening of the policy was instigated sometime between the release of the original &lt;cite&gt;Airfoil&lt;/cite&gt; and the submission of the update.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The iPhone and iPod Touch are not Macs, and not only from a technical point of view. They are consumer electronic items in a way that computers never really have been. As such, they have a different user base (although admittedly with a lot of crossover). Let's try a little experiment. Find a non-Apple-devotee iPhone user. Take their iPhone and pull up the home screen. Now ask them to identify which of the apps listed there come from Apple and which don't. Product support costs money. Yes, Apple makes great margins, but they don't do it by paying their staff to explain time and again to customers why the problems caused by that app showing a picture of a Mac and the iTunes logo isn't actually anything to do with them. (After all, Apple is more than capable of causing its own bad publicity, thank you very much.)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Let me try a different metaphor. You may be familiar with the "advertising feature" which you occasionally find in magazines and newspapers: an advert formatted to look like editorial. Now, I'm willing to bet that your average journalist hates these more than an over-zealous expenses auditor. Because you may have the smartest readership in the world, but when they're curled up on the sofa with your publication, defences down, flicking away, there's a good chance that a least a few of them may be tricked into thinking that it's actually you or your colleagues who are recommending that they install &lt;cite&gt;Super-Dooper Virus Smasher 2012&lt;/cite&gt;. I'm sure that Apple views apps that appropriate their content in exactly the same light.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;And... I think that's more than enough for now.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2617086615995087666?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2617086615995087666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2617086615995087666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2617086615995087666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2617086615995087666'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/11/is-app-store-broken.html' title='Is the App Store Broken?'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1616721958707676596</id><published>2009-11-13T17:24:00.001Z</published><updated>2009-11-13T17:24:16.927Z</updated><title type='text'>Plaques + SimCap = A Busy Week</title><content type='html'>&lt;p&gt;It's like the tired old joke about buses: I wait months (no, years) to release any applications, and then suddenly along come two at once.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;First, on &amp;mdash; I think &amp;mdash; Monday, late, my second iPhone application &lt;a href="http://www.jaml.co.uk/plaques.html"&gt;&lt;cite&gt;Plaques&lt;/cite&gt;&lt;/a&gt;, eventually limped into the App Store. Where it was promptly buried on page 4 by a slew (correct collective noun) of near-identical travel guides. Since then its sold a couple of copies but generally not done very well.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;And then today we have &lt;a href="http://www.jaml.co.uk/simcap.html"&gt;&lt;cite&gt;SimCap&lt;/cite&gt;&lt;/a&gt;, my first proper grown-up OS X app. It's a deceptively simple little application which does some eye-wateringly nasty stuff with window buffers and uses an NSOperationsQueue and everything. (In my spare time I've been trawling StackOverflow for questions about NSOperations being either delayed or cancelled, so I can chime in and suggest the poster checks for typos, because it sounds like they've accidentally sub-classed NHSOperation... this is actually a very funny Cocoa coder joke.) I'm really very happy with the way this has turned out.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;So all in all a pretty busy week. I know, it's really amazing the lengths I'll go to to avoid my NaNoWriMo obligations.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1616721958707676596?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1616721958707676596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1616721958707676596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1616721958707676596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1616721958707676596'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/11/plaques-simcap-busy-week.html' title='Plaques + SimCap = A Busy Week'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1194888307910642474</id><published>2009-10-10T10:36:00.002+01:00</published><updated>2009-10-10T10:44:40.056+01:00</updated><title type='text'>Why the Hell am I Still Developing for the iPhone?</title><content type='html'>&lt;p&gt;iPhone development — or in particular, the App Store — continues to appear to be an unpleasant place to be. First up there's the &lt;cite&gt;Tweetie 2&lt;/cite&gt; &lt;a href="http://www.macworld.com/article/143073/2009/09/tweetie2_pricing.html"&gt;&lt;emp&gt;debacle&lt;/emp&gt;&lt;/a&gt; (covered here by Dan Moren, who's one of my favourite Mac journalists, but who seems to care a little bit too much about currying favour with the Mac dev community). I've got nothing to add to the upgrade pricing fuss — if the developer can get people to pay then good luck to them — but I will just pull out &lt;a href="http://daringfireball.net/linked/2009/09/28/tweetie-2"&gt;this&lt;/a&gt; from Gruber:&lt;/p&gt;&lt;blockquote&gt;I’ve been using it for a few weeks, and there’s a ton of new stuff (all of it copiously detailed by Brichter), but the persistence is the one that means the most to me. The effect is that you can leave Tweetie at any point, use another app, then go back to Tweetie, and it’s almost as though you never left. Feels like switching, rather than quitting/relaunching.&lt;br /&gt;&lt;/blockquote&gt;Seriously? Adding stored state — the main iPhone design pattern Apple pushes, and the single method we as developers have to compensate users for the lack of multitasking — &lt;emp&gt;finally&lt;/emp&gt; adding this kind of stored state is heralded as the second coming, rather than at last making up for a major long-standing flaw? And yet AT&amp;amp;T cops shit for only now rolling out MMS.&lt;br /&gt;&lt;br /&gt;And then we hear the &lt;a href="http://gedblog.com/2009/09/28/losing-ireligion/"&gt;sad story&lt;/a&gt; of how the App Store is broken because Iconfactory's &lt;cite&gt;Ramp Champ&lt;/cite&gt; has not been selling well. Ignoring the fact that "not selling well" means the kinds of numbers I'd cheerfully give my left nut for, let's dig a little deeper and see what's up.&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;The lack of store front exposure combined with a sporadic 3G crashing bug conspired to keep Ramp Champ down for the count.&lt;br /&gt;&lt;/blockquote&gt;So here we have (2) they released a faulty product, but that isn't important because (1) Apple didn't give them front page billing. I mean, for fuck's sake, this is inexcusable. This is the fucking Iconfactory we're talking about. Don't you know who they are? Every time I select the wrong history link in Safari and get sent to the main iPhone dev page, there's the little blue &lt;cite&gt;Twitterific&lt;/cite&gt; bird. Apple wants to start spending some of their advertising budget educating iPhone owners as to exactly which gods are developing for their phone. Ignoring them in this way is simply not on.&lt;br /&gt;&lt;br /&gt;We also have this from "Talos" in the comments, which I think just about sums up most of the problems with the world today:&lt;br /&gt;&lt;blockquote&gt;We (Iconfactory) spend at least 3840 hours (8 designers for 7 months) on art and design of Ramp Champ. DS Media Labs working on the programming side on and off for 7 months.&lt;br /&gt;&lt;/blockquote&gt;Coding as a afterthought. Yeah, what could possibly go wrong.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1194888307910642474?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1194888307910642474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1194888307910642474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1194888307910642474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1194888307910642474'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/10/why-hell-am-i-still-developing-for.html' title='Why the Hell am I Still Developing for the iPhone?'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5115812289605261556</id><published>2009-09-28T22:46:00.001+01:00</published><updated>2009-09-28T22:46:35.856+01:00</updated><title type='text'>Flashforward</title><content type='html'>Kudos to Jack Davenport for being the only Brit actor working in American TV today able to resist the urge to do a silly accent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5115812289605261556?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5115812289605261556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5115812289605261556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5115812289605261556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5115812289605261556'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/09/flashforward.html' title='Flashforward'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3463849362810167969</id><published>2009-09-20T10:57:00.001+01:00</published><updated>2009-09-20T10:57:20.251+01:00</updated><title type='text'>A Quick Twitter Tip</title><content type='html'>Not aimed at anyone in particular: If you're going to tell me you're too busy to test the app I've been coding for you, you might like to think about not wiring your game achievements and YouTube favourites into your Twitter stream. M'kay?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3463849362810167969?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3463849362810167969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3463849362810167969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3463849362810167969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3463849362810167969'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/09/quick-twitter-tip.html' title='A Quick Twitter Tip'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6680859335606544118</id><published>2009-09-08T09:38:00.003+01:00</published><updated>2009-09-08T10:03:28.286+01:00</updated><title type='text'>Lexical: the App Store Control Group</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_B8EmjZFzp0k/SqYaQD97JVI/AAAAAAAAABk/dUjU6bKhpmQ/s1600-h/sales.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://4.bp.blogspot.com/_B8EmjZFzp0k/SqYaQD97JVI/AAAAAAAAABk/dUjU6bKhpmQ/s320/sales.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379015668185900370" /&gt;&lt;/a&gt;&lt;br /&gt;I hope you're sitting down, boys and girls, because what I'm about to type will probably rock the foundation of your entire world: it turns out that the iPhone SDK and a few hours of your spare time are NOT a license to print money. I know, shocking isn't it. Sure, deep down we've all known that the good times have been over for a while — I personally realised it was finished when I saw an article about it in the &lt;cite&gt;Sunday Times Magazine&lt;/cite&gt; — but this may still come as a shock to some people, such as my little friends &lt;a href="http://pixelxcore.net/mybb/showthread.php?tid=185"&gt;here&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's been just over a calendar month since &lt;cite&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=324840578&amp;amp;mt=8"&gt;Lexical&lt;/a&gt;&lt;/cite&gt;, my first iPhone app, slipped quietly into the App Store. I wrote it in a few weeks after the project I'd been working on for the previous few months ran spectacularly into a brick wall. I really just wanted to prove to myself that I could actually finish and ship a product.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The chart above shows sales of &lt;cite&gt;Lexical&lt;/cite&gt; for these first five weeks of its commercial life. Week one is particularly impressive (comparatively speaking, of course) given that Lexical appeared on a Thursday and so only represents four days of sales. Its 29 sales are more than the total for the following weeks (14, 4, 4 again and 2 copies, respectively) and simply go to re-underline the importance of the 'New Apps' lists in driving sales.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you followed the link above, you would have probably drawn your own conclusions about why &lt;cite&gt;Lexical&lt;/cite&gt; hasn't been selling very well. The app icon is dull (or as I like to think of it, elegantly simple), there is only a single line description, and the screenshot is particularly uninspiring (although to be fair that captures pretty well the game's visuals). Coupled with this goes the fact that I made no attempt at promoting it elsewhere.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I guess the take-home is that, yes, App Store success and the riches and fame which go with it are still possible, it's just that, like everything else worth achieving in life, it now takes some serious commitment and effort to make it. Maybe I should have had the random tile-sorting code generate a swear word each time. Rejections are still great marketing tools. Maybe I should push out incremental update after update to keep it near the top of its category list. Whatever, I'm off to work on another couple of iPhone apps right now. Maybe the next one will sell a million copies.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6680859335606544118?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6680859335606544118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6680859335606544118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6680859335606544118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6680859335606544118'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/09/lexical-app-store-control-group.html' title='Lexical: the App Store Control Group'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_B8EmjZFzp0k/SqYaQD97JVI/AAAAAAAAABk/dUjU6bKhpmQ/s72-c/sales.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7500752981045769574</id><published>2009-08-05T21:33:00.003+01:00</published><updated>2009-08-05T21:44:30.861+01:00</updated><title type='text'>Introducing Lexical</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8EmjZFzp0k/SnntFSxkbWI/AAAAAAAAABc/woL7Ff0v4XY/s1600-h/little_lexical.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 158px; height: 320px;" src="http://1.bp.blogspot.com/_B8EmjZFzp0k/SnntFSxkbWI/AAAAAAAAABc/woL7Ff0v4XY/s320/little_lexical.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5366581106183531874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;cite&gt;Lexical&lt;/cite&gt;, my first iPhone application, has just been accepted into the App Store. (You can find it &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=324840578&amp;amp;mt=8"&gt;here&lt;/a&gt;.) &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;cite&gt;Lexical&lt;/cite&gt; is an incredibly simple word puzzle: tap to swap letter tiles around, then swipe to highlight words. It was written in about 14 days (after my previous attempt at an iPhone app ran into an unexpected brick wall), and took about as long to get approved.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Actually, following the recent problems with App Store rejections, I was kind of hoping that I'd get the same treatment. From a publicity point of view it's solid marketing gold. Given that dictionaries are now being &lt;a href="http://daringfireball.net/2009/08/ninjawords"&gt;rejected&lt;/a&gt; for containing dirty words, I was thinking of having a few expletives 'accidentally' appear on each board. (Mind you, I don't do any checking when the board's randomly generated, so there's still a chance that will happen every now and again &amp;mdash; probably just as someone's grandmother fires up their first game, knowing my luck...)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7500752981045769574?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7500752981045769574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7500752981045769574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7500752981045769574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7500752981045769574'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/08/introducing-lexical.html' title='Introducing Lexical'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_B8EmjZFzp0k/SnntFSxkbWI/AAAAAAAAABc/woL7Ff0v4XY/s72-c/little_lexical.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8628601998221291670</id><published>2009-04-07T20:33:00.001+01:00</published><updated>2009-04-07T20:33:14.202+01:00</updated><title type='text'>We'd only have to call it 'DAMP'</title><content type='html'>&lt;p&gt;Since, in a fit of exuberant irony, my crash reporter clone is causing more crashes than it reports, I thought I'd give it a rest for a little while and instead look at getting some untested applications running instead. I thought that maybe having a working web app stack might be of some use to someone, so decided to look at the Apache-MySQL-PHP trio.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Binary roots are available on Mac OS Forge for Apache and MySQL, which I should have taken as a warning. They both installed without too much trouble: Apache needed expat, which was available but uninstalled, and MySQL just needed a little post-installation configuration, creating the default database and so on. So far, so good.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;There was also a binary root of PHP4 available, but I thought, no, we'll go for the almost latest PHP5 in the apache_mod_php project. Of course, the absence of a binary root means that it wouldn't build for the boys at Apple, but then they don't usually try that hard.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Four hours later and I'm about ready to smash something. Trying to coax darwinbuild into building something it doesn't want to is one of the most frustrating experiences its ever been my misfortune to undertake. A custom build .plist got me over one set of problems &amp;mdash; it was trying to build all four OS X architectures and threw a fit when it hit a library which had been stripped down to just i386 &amp;mdash; but right now it's refusing to see a set of header files which are absolutely definitely there, and I have no idea what to try next, short of hacking the source code about, which I really didn't want to have to do.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Tomorrow I'll waste some more time seeing if I can get a tool chain running in Darwin itself. We then may be able to get non-Apple source packages to compile natively... although I'm not going to hold my breath.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I honestly can't wait until Snow Leopard comes out and we have to start again from scratch.&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8628601998221291670?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8628601998221291670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8628601998221291670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8628601998221291670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8628601998221291670'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/04/we-only-have-to-call-it.html' title='We&amp;#39;d only have to call it &amp;#39;DAMP&amp;#39;'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-4341120646566607479</id><published>2009-04-04T18:20:00.001+01:00</published><updated>2009-04-04T18:20:22.799+01:00</updated><title type='text'>Nothing to (Crash) Report</title><content type='html'>&lt;p&gt;I wish I could write the kind of informative technical blog post I've spent the past couple of days Googling for. Instead I seem to spend all of my time trudging along in other people's footsteps. And all of my open source efforts appear to be focused on re-inventing Apple's wheel.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Case in point: I'm currently trying to implement a crash reporter-like daemon for Darwin. A couple of launchd-spawned daemons expect to find it waiting for them, and scrawl their displeasure at its absence across the console, which is a pain as I've just got a proper getty-based login prompt up and running. Crash reporter is, of course, closed source, so enter my pale imitation. The power of cut-and-paste quickly got me the appropriate .plists, which shut the nagging daemons right up. Until one of them crashed, meaning I might as well make the fake crash reporter do something useful and report the crash.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So I'm now working on code which combines interacting with launchd &amp;mdash; to retrieve the ports it's set up in advance for the daemon &amp;mdash; and Mach exceptions &amp;mdash; by which the actual crash is reported. If there are two less-well-documented parts of OS X/Darwin, well, I doubt anyone outside of Apple has heard of them. The launchd side of things I managed to get working using code from one of Darwin's launchd-using parts (I think it was xinit). Mach exceptions &amp;mdash; and in particular, the difference between &lt;code&gt;exc_server()&lt;/code&gt; and &lt;code&gt;mach_exc_server()&lt;/code&gt;, and why one refuses to work while the other is hiding from the linker &amp;mdash; however, are still a mystery to me.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I guess a trip to the darwin-dev mailing list on Monday is in order.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-4341120646566607479?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/4341120646566607479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=4341120646566607479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4341120646566607479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4341120646566607479'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/04/nothing-to-crash-report.html' title='Nothing to (Crash) Report'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-16501243849207001</id><published>2009-03-30T16:55:00.001+01:00</published><updated>2009-03-30T16:55:03.075+01:00</updated><title type='text'>Source Code of the Day</title><content type='html'>&lt;p&gt;From shutdown.c, part of Darwin's system_cmds project:&lt;/p&gt;&lt;br /&gt;&lt;code&gt;&lt;blockquote&gt;&lt;br /&gt;#ifdef __APPLE__&lt;br/&gt;&lt;br /&gt;void log_and_exec_reboot_or_halt(void);&lt;br/&gt;&lt;br /&gt;#else&lt;br/&gt;&lt;br /&gt;void die_you_gravy_sucking_pig_dog(void);&lt;br/&gt;&lt;br /&gt;#endif&lt;br/&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;Probably not the cause of our &lt;code&gt;"WARNING: couldn't lock kext manager for reboot: (ipc/send) invalid destination port"&lt;/code&gt; problems, but still good to know.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-16501243849207001?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/16501243849207001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=16501243849207001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/16501243849207001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/16501243849207001'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/03/source-code-of-day.html' title='Source Code of the Day'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3669207828438604519</id><published>2009-03-25T19:09:00.001Z</published><updated>2009-03-25T19:09:05.319Z</updated><title type='text'>More evidence that C++ is the work of the Devil</title><content type='html'>&lt;p&gt;&lt;code&gt;libstdc++&lt;/code&gt; is the project providing Darwin's standard C++ library. (You can't criticise the naming, anyway.) The binary root (.tar.gz) is 36.7Mb. Decompressed, it's 196Mb. Thinned down to only its i386 version this falls to 176Mb. 5.6Mb of this is the libraries. Yes, that's almost 170Mb of headers and docs.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I've produced a special &lt;code&gt;libstdcxx_libs&lt;/code&gt; root for use in the code Darwin installation I'm working on. You can thank me later.&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3669207828438604519?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3669207828438604519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3669207828438604519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3669207828438604519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3669207828438604519'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/03/more-evidence-that-c-is-work-of-devil.html' title='More evidence that C++ is the work of the Devil'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7635605977350563310</id><published>2009-03-12T22:50:00.001Z</published><updated>2009-03-12T22:50:11.063Z</updated><title type='text'>Darwin Server</title><content type='html'>You probably don't want to read about today's debugging exploits &amp;mdash; how I managed to track down a couple of un-implemented methods using the power of the &lt;code&gt;printf()&lt;/code&gt;, how I finally twigged that I'd only need the two OS X frameworks to get gdb working in &lt;a href="http://www.puredarwin.org/downloads/xmas"&gt;PureDarwinXmas&lt;/a&gt;, and how I eventually discovered that most of dscl's problems were caused by the memory PureFoundation was allocating for objects not being zeroed &amp;mdash; so I though I'd just quickly tap out a few lines about where I see Darwin going.&lt;br /&gt;&lt;br /&gt;(Of course, these won't include any of my super-secret plans. For those you'll have to wait a little while longer.)&lt;br /&gt;&lt;br /&gt;I think you can guess from this post's title the direction I think that Darwin should be headed. It's not that I've got anything against it becoming a GUIed desktop system, it's just that I don't think there will be much demand for it. Remember that we already have a class-leading desktop OS built on top of Darwin. This leaves us in an awkward position: do we go down the Unix/Linux route, slap on the Gnome desktop and get lost in the crowd? Or do we try and emulate OS X &amp;mdash; possibly by using code from &lt;a href="http://www.cocotron.org/"&gt;Cocotron&lt;/a&gt; &amp;mdash; with predictable sub-par results? Personally, I'm happy to let others decide. My interest lies elsewhere.&lt;br /&gt;&lt;br /&gt;I think the idea of a version of Darwin which can be installed on (the way driver support is going, a narrow sub-set of) generic server PCs is a very compelling prospect, and may offer a feasible alternative to Linux in the web server space. A good number of web site designers and web app developers already use Macs as their primary machines. And while they run all the same software as your typical Linux machine (Apache, PHP, Ruby, Python, [insert your favourite web stack here]), I know from bitter experience that there are enough subtle gotchas to make deployment from OS X, at least on the first try &amp;mdash; shall we say &amp;mdash; &lt;em&gt;interesting&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;One question which is always hanging in the air in situations like this is "How does this mesh with Apple's plans?" &amp;mdash; accompanied by the unspoken "And how quickly will they shut us down if they don't approve?" I won't go so far as to argue that a commoditised Darwin server would be good for Apple and therefore they should embrace it with open funding, but I will say that they shouldn't feel threatened by it. An open server built on Darwin is likely to appeal to sectors such as discount web hosting &amp;mdash; the typical $9.99 per month virtual private servers on shared boxes type of arrangement &amp;mdash; where XServes or even OS X Server under virtualisation were never going to be an option.&lt;br /&gt;&lt;br /&gt;I think the PureDarwin boys are getting ready to put out another build, which will mark the next step on the road towards this bright future of Darwin on everything.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7635605977350563310?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7635605977350563310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7635605977350563310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7635605977350563310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7635605977350563310'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/03/darwin-server.html' title='Darwin Server'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5332856106792970298</id><published>2009-03-12T00:20:00.001Z</published><updated>2009-03-12T00:20:48.707Z</updated><title type='text'>PureFoundation: Exceptions</title><content type='html'>(I've decided that this blog is going to become the unofficial &lt;a href="http://code.google.com/p/purefoundation/"&gt;&lt;em&gt;PureFoundation&lt;/em&gt;&lt;/a&gt; development blog, in the hope that (a) it might attract a little interest &amp;mdash; and who knows, maybe a contributor or two &amp;mdash; to the project, and (b) I can get some of why I'm coding what and how I'm coding down before I forget about it.)&lt;br /&gt;&lt;br /&gt;The last couple of days have been spent chasing down bugs in &lt;em&gt;PureFoundation&lt;/em&gt;. The next couple of days will probably be spent in the same way. The number and stupidity of them is getting depressing, and the fact that I don't have access to a working version of gdb, or even a version of DTrace which will trace Objective-C method calls, doesn't help. Yes, I know that real men debug using &lt;code&gt;printf()&lt;/code&gt;s, but this is getting ridiculous.&lt;br /&gt;&lt;br /&gt;My current target is dscl. We've just got to the point where the DirectoryService daemon will run, so now we wouldn't mind using it to add a few users. (Yes, I know real men always run as root...) dscl is exactly the kind of project which spurred the creation of &lt;em&gt;PureFoundation&lt;/em&gt;: it's both completely vital &lt;em&gt;and&lt;/em&gt; written in Obj-C. Given the general paucity of admin tools available to us (and I'm really going to have to kick-start a Darwin Admin Tools project one of these days with the aim of cloning Apple's systemsetup and networksetup), I can't see &lt;a href="http://www.puredarwin.org/"&gt;PureDarwin&lt;/a&gt; getting anywhere without it.&lt;br /&gt;&lt;br /&gt;My single aide was that I had access to the dscl source. Now, I honestly don't know if it compiles. I didn't try. darwinbuild has been enough of a frustration recently that I didn't even want to try. The moments of "why the hell am I wasting my time on this?" introspection are getting further apart again, but I'm still easily discouraged. If it had built I could have filled it full of more &lt;code&gt;printf()&lt;/code&gt;s, which may have helped. Instead, all I could do was tag Foundation and see which library calls it made, following along as best I could with the source code. (My groovy new two monitor setup &amp;mdash; using an old 15" CRT I found lying around &amp;mdash; really helped here. If I'd had to do all this &lt;em&gt;plus&lt;/em&gt; constantly shuffle windows about...)&lt;br /&gt;&lt;br /&gt;The deep pessimism I've developed over the last 30+ years led me down a few blind alleys. Chiefly, the fact that dscl uses exceptions to propagate error conditions in exactly the way you aren't meant to, coupled with the fact I was sure logging into the local directory domain would fail, led me to believe that &lt;em&gt;PureFoundation&lt;/em&gt;'s exception handling was broken. Cue today's diversion.&lt;br /&gt;&lt;br /&gt;Exception handling is one of those things which seems magical until you start digging into it. It's part language feature, part OS trickery. But it turns out that, at least in the default objc4 runtime version, it's fairly simple. Those &lt;code&gt;@try&lt;/code&gt; and &lt;code&gt;@catch&lt;/code&gt; blocks are converted into simple function calls by the compiler. These functions are defined in the file objc-exception.m, and basically just manipulates a linked-list of exception handlers and compiler-produced contexts. The comments on the code plainly state that this is place-holder code until Foundation starts up and provides its own, which is enlightening but ultimately unhelpful.&lt;br /&gt;&lt;br /&gt;I've bored you enough without going into the details of the quick solution I hacked together. You can see for yourself by examining NSException.m. It uses thread-local storage to manage the chains of exception handlers, which I think is a neater and more elegant way of doing it, which also has the benefit of being thread-safe. Also added are both an ultimate default uncaught exception handler, and implementations of &lt;code&gt;NSGetUncaughtExceptionHandler()&lt;/code&gt; and &lt;code&gt;NSSetUncaughtExceptionHandler()&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;The punch line is that it turns out that no exceptions were being thrown by dscl, the local domain was being successfully accessed, and the first of many bus errors was in fact caused by my retarded double &lt;code&gt;CFRelease()&lt;/code&gt;ing of a CFTimeZone type in my shiny new &lt;code&gt;NSLog()&lt;/code&gt;. Which is why I really need an extra pair of eyeballs on the project. Any takers?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5332856106792970298?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5332856106792970298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5332856106792970298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5332856106792970298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5332856106792970298'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/03/purefoundation-exceptions.html' title='PureFoundation: Exceptions'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-762427121444308683</id><published>2009-03-10T09:41:00.001Z</published><updated>2009-03-10T09:41:36.801Z</updated><title type='text'>Extreme Open Source</title><content type='html'>I've been hacking (in the neckbeard sense of the word) Darwin for a couple of months solidly now, and have decided to christen the experience "Extreme Open Source". What's the difference between this and normal open source? It's the difference between "Sports" and "Extreme Sports". Basically, the difference can be summed-up as "why the hell would you want to do that when there are plenty of equally exciting but exponentially safer alternatives?" I think insanity plays a part.&lt;br /&gt;&lt;br /&gt;It would be easy for me to type some stuff here about the bloody shocking state of the Darwin source code, but I've slowly come to the realisation that that isn't the problem. The source is, in fact, of quite excellent quality. The problem is it simply isn't designed to compile and run separately from the proprietary parts of OS X. And it's not just the Foundation-and-Objective-C using components, either. I've spent the past fortnight writing implementations of two function groups &amp;mdash; CFNotificationCenter and CFFileDescriptor &amp;mdash; which are absent from CFLite but relied upon by (the really rather vital) DirectoryService daemon.&lt;br /&gt;&lt;br /&gt;darwinbuild &amp;mdash; the chroot environment designed for compiling the separate projects &amp;mdash; can be an exercise in frustration. When it works it's an absolute dream: packages are downloaded, dependencies met and code neatly assembled and arranged. But when it doesn't you're left pretty much helpless. I'm currently bashing my head (and not for the first time) against the fact that one particular tool (copystrings) is written in Ruby and yet there's no working Ruby install in the chroot and all my attempts to install one have failed. And without copystrings &amp;mdash; which does exactly what its name suggests and so shouldn't be the most complicated application ever written &amp;mdash; certain builds fail before they even really begin. In this case I'm trying to build a version of the DHCP-marshling IPConfiguration which doesn't rely on Apple's closed-source 80211 code. Working, pure-source networking is one broken script away.&lt;br /&gt;&lt;br /&gt;So there you have Extreme Open Source: it's stressful, time consuming, and while you're working on it there's always this nagging suspicion at the back of your mind that as soon as you reach the finish line Apple's going to turn around and say, "Actually... I think we're going to close source all this stuff."&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-762427121444308683?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/762427121444308683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=762427121444308683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/762427121444308683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/762427121444308683'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/03/extreme-open-source.html' title='Extreme Open Source'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6671069458227121716</id><published>2009-01-22T20:14:00.001Z</published><updated>2009-01-22T20:14:13.125Z</updated><title type='text'>Foundation on Darwin (attempt #2)</title><content type='html'>Well that was... painless(ish).&lt;br /&gt;&lt;br /&gt;Following the lead from GNUStep, I've had some success using a CFMutableDictionary to store retain counts keyed to object addresses. So far, so good. (GNUStep actually uses NSMapTables. These have only just been introduced in 10.5. I may move to them some day... but I need a working retain/release system before I can try to implement them.) Anyway, my NSObject subclassing test &amp;mdash; the one described below &amp;mdash; passed, so I'm happy.&lt;br /&gt;&lt;br /&gt;Now on to CF-bridged class clusters. Looking into how to achieve these, all those NSCFStrings suddenly start to make sense.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6671069458227121716?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6671069458227121716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6671069458227121716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6671069458227121716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6671069458227121716'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/01/foundation-on-darwin-attempt-2.html' title='Foundation on Darwin (attempt #2)'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6166390584938796673</id><published>2009-01-22T16:35:00.001Z</published><updated>2009-01-22T16:35:09.850Z</updated><title type='text'>Foundation on Darwin (attempt #1)</title><content type='html'>The &lt;a href="http://www.puredarwin.org"&gt;PureDarwin&lt;/a&gt; project seems to be coming along in leaps and bounds, recently releasing the PureDarwin Xmas VMWare image. Since this gives me a working Darwin install to play with &amp;mdash; and since I've had some spare time this week &amp;mdash; I thought I'd take a look at what it would take to get a binary compatible Foundation working on Darwin (a project which I've tentatively entitled "PureFoundation"). By 'binary compatible' I mean compile on OS X and run on Darwin. Since Apple gives us the Objective-C 2.0 runtime, the AutoZone Garbage Collector, and CFLite, how hard could it be?&lt;br /&gt;&lt;br /&gt;As I'm sure you're aware, many CoreFoundation (henceforth CF) objects are toll-free bridged to their Foundation counterparts. To most intents and purposes they are identical structures. Since CFLite implements reference counting (and the documentation and source code even hints that it plays nicely with the Garbage Collector) I hit upon what I thought would be a simple approach: rather than having a mix of pure objective-C and bridged classes, I'd create a CF class which I could bridge to NSObject, meaning that all the "PureFoundation" objects inherited CF's memory management.&lt;br /&gt;&lt;br /&gt;Long(-ish) story short, I got this working. More or less. I could compile a simple Foundation.framework in XCode and copy it across to the Darwin VM; compile a simple Cocoa command line app, also in XCode, which created an NSObject, sent it &lt;code&gt;-retain&lt;/code&gt; and &lt;code&gt;-release&lt;/code&gt;, and reported it's &lt;code&gt;retainCount&lt;/code&gt;. The same binary ran in an identical fashion under both OS X and Darwin. At this point I was about ready to call up the Nobel people and suggest they started a computing prize just for me. But...&lt;br /&gt;&lt;br /&gt;CF objects are &lt;emp&gt;almost&lt;/emp&gt; identical to objective-C structures. They're 8 (or 12 under 64-bit) byte structures, the first 4 (or 8) bytes of which are the &lt;code&gt;isa&lt;/code&gt; pointer used to identify whether the object is an objective-C class and if so which one. The remaining 4 bytes holds other info, such as their CFTypeID and the lower 16 bits of the retain count. Since NSObject only allocates a single 4 (or 8) byte &lt;code&gt;isa&lt;/code&gt; pointer, I had to pad the NSObject in my "PureFoundation" framework with another 4 dummy bytes, meaning that while the proper NSObject on OS X took up 4 bytes, my NSObject on (32-bit) Darwin took 8.&lt;br /&gt;&lt;br /&gt;Now, I had (rather over optimistically) hoped that the dynamism of the objective-C runtime stretched to defining Classes and assigning ivars. So that if you defined a class which extended NSObject by adding extra variables, the runtime &amp;mdash; rather than the compiler &amp;mdash; would allocated them after whichever already existed. The runtime certainly provides functions for doing so. Unfortunately, this isn't the case. Testing an NSObject subclass with one extra &lt;code&gt;NSUInteger&lt;/code&gt; ivar, compiled in XCode, showed it took up 8 bytes on both OS X (correctly) and Darwin (aargh!). Under "PureFoundation", retain and release worked fine immediately after the CF object was allocated, but once the &lt;code&gt;-init&lt;/code&gt; ran the reference counting area of memory got stomped on.&lt;br /&gt;&lt;br /&gt;So it's back to the drawing board. Next stop is the GNUStep source code, to see how they implement release/retain. The GNUStep source was always going to come into play at some point, so I guess this isn't too big a problem. It also looks like there's no getting away from patching CFLite to reinstate the bridging functions which were turned into no-ops by Apple before they released it. Which means setting up a darwinbuild environment and coding in Nano. Oh, well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6166390584938796673?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6166390584938796673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6166390584938796673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6166390584938796673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6166390584938796673'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2009/01/foundation-on-darwin-attempt-1.html' title='Foundation on Darwin (attempt #1)'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7449685912946509231</id><published>2008-12-12T13:09:00.001Z</published><updated>2008-12-12T13:09:30.049Z</updated><title type='text'>This Sark Business</title><content type='html'>I don't usually let myself get wound up by stuff I read about in the news, but this Sark business has me pretty mad. If you've never heard of Sark, go read about it in &lt;a href="http://en.wikipedia.org/wiki/Sark"&gt;Wikipedia&lt;/a&gt;. The island and its (former) way of government is living proof that the UK is old. This country wasn't created, but instead evolved over millennia, along the way accreting administrative cruft like the Chief Pleas. Titles like &lt;cite&gt;Seigneur&lt;/cite&gt; and &lt;cite&gt;Seneschal&lt;/cite&gt; are beautifully evocative, and it really didn't seem like the pseudo-feudal system was hurting the island's 600 inhabitants.&lt;br /&gt;&lt;br /&gt;The hypocrisy of current &lt;a href="http://news.bbc.co.uk/1/hi/world/europe/guernsey/7779135.stm"&gt;events&lt;/a&gt; is simply stunning. The Barclay Brothers may claim to want democracy, but in reality they only wanted to place themselves as feudal lords over the island. When their nominees lost the popular vote, they chose to shutter all their concerns on the island in a fit of pique. I'd call it childish if it wasn't so far beyond that. It's downright criminal. The islanders wouldn't let the Barclays take over &amp;mdash; probably with the intention of installing a new tax regime more favourable to themselves &amp;mdash; and so they are being punished. Notice in the BBC article where the Barclay's spokesman says that they have no need to sell the properties. Rather than risking someone else moving in and giving these people their jobs back, they will board-up the hotels and other businesses and let them rot in order to spite the islanders.&lt;br /&gt;&lt;br /&gt;I live just across the Channel from Sark, and I've got half a mind to grab a boat from the harbour and stage my own one-man invasion of Brecqhou &amp;mdash; the Barclays' Bond-villan-esuqe island fortress &amp;mdash; to see how they'd like it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7449685912946509231?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7449685912946509231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7449685912946509231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7449685912946509231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7449685912946509231'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/12/this-sark-business.html' title='This Sark Business'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5376402047939540691</id><published>2008-11-06T12:53:00.001Z</published><updated>2008-11-06T12:53:45.323Z</updated><title type='text'>I'm Looking for a Performer</title><content type='html'>I'm looking for a performer. A comedian or actor. Although not actively. Not quite yet. Just passively. Keeping my eyes peeled. I mention it here just on the off chance someone stumbles across it.&lt;br /&gt;&lt;br /&gt;For some reason, I've found myself watching a lot of &lt;cite&gt;Daily Show&lt;/cite&gt; and &lt;cite&gt;Colbert Report&lt;/cite&gt; recently. Probably the US elections. The formula's pretty simple: five minutes of jokes, then a (usually toe-curling) interview. The BBC's &lt;cite&gt;Late Edition&lt;/cite&gt; was a fairly accurate copy, albeit way more hit-and-miss. And now I'd like to try my own on the internet.&lt;br /&gt;&lt;br /&gt;Of course, I wouldn't dream of sticking myself in front of the camera. Apart from always feeling uncomfortable, I simple haven't got the talent. Mind you, I see myself writing the thing and I certainly don't appear to have the talent for that. I've started another blog at &lt;a href="http://hereisthenews.tumblr.com"&gt;hereisthenews.tumblr.com&lt;/a&gt; with the intention of posting short snappy jokes. So far, nothing. But give it time.&lt;br /&gt;&lt;br /&gt;Anyway, this post is really more for me, to try and spur me into action. Although if anyone else reads this and is interested, drop me a message.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5376402047939540691?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5376402047939540691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5376402047939540691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5376402047939540691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5376402047939540691'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/11/i-looking-for-performer.html' title='I&amp;#39;m Looking for a Performer'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2128586042123852028</id><published>2008-11-02T14:33:00.001Z</published><updated>2008-11-02T14:33:33.448Z</updated><title type='text'>Sarah Palin Prank Called</title><content type='html'>Apparently it was Russell Brand claiming responsibility for Bristol's sprog.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2128586042123852028?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2128586042123852028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2128586042123852028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2128586042123852028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2128586042123852028'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/11/sarah-palin-prank-called.html' title='Sarah Palin Prank Called'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6165615486982751270</id><published>2008-09-28T22:21:00.001+01:00</published><updated>2008-09-28T22:21:29.129+01:00</updated><title type='text'>What Kind of a Week Has it Been?</title><content type='html'>The $0.47 in my Google AdSense account says "not too shabby." Yeah, I know, but for the first week of the newly re-launched &lt;a href="http://www.appleeclectic.com"&gt;Apple Eclectic&lt;/a&gt; it really isn't bad. In the last 7 days we've posted 85 articles, knocked our WordPress template into a shape which we're reasonably happy with, and are even starting to find our voice. We've had 668 visitors since I started the stats thing counting on Thursday, over 400 of them today alone. We've even had a commentor.&lt;br /&gt;&lt;br /&gt;I've got a good feeling about this. Unfortunately that's when things usually start to go wrong, but we'll see.&lt;br /&gt;&lt;br /&gt;A few random thoughts:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Twitter: Just started following some people. One was Jason Calacanis, who instantly started following me back. I know it was just some machine of his somewhere being automatically polite, but it's still a weird feeling.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Amazon: Having to sign up to a separate Associates programme in each country is a pain. Google doesn't require this, but then Google doesn't have to ship physical goods and follow pre-digital accounting practices. It's still a pain. I really need to find some way to get WordPress to present different Amazon widget according to the visitor's location.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Trackbacks: We posted an article in reply to a TechCrunch piece, which got us a link on their page, which in turn generated some traffic. This feels weird in the same way as the Calacanis Twitter thing &amp;mdash; I shouldn't be playing at the same level as these people, but I guess that's the beauty of this InterNet thingie. Go egalitarianism!&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I'm sure that when I was planning this earlier I had more things to say, but that will have to do for now. Next: find a cartoonist.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6165615486982751270?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6165615486982751270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6165615486982751270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6165615486982751270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6165615486982751270'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/09/what-kind-of-week-has-it-been.html' title='What Kind of a Week Has it Been?'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8390884299365508397</id><published>2008-09-25T17:29:00.001+01:00</published><updated>2008-09-25T17:29:21.329+01:00</updated><title type='text'>419, the Old-Fashioned Way</title><content type='html'>Just to show the world what kind of a technological backwater I've washed up in: someone has been going around my home town dropping letters through people's front doors claiming to be from the window of the President of Zambia, asking for help in moving millions of pounds through the banking system. Yes, that's right: it's a paper-based version of the 419 scams. Well, would-be-scammers, the jokes on you. People round her don't trust them new-fangled banks. Give a total stranger your money rather than keep it under your bed? Not likely.&lt;br /&gt;&lt;br /&gt;via &lt;a href="http://www.dorsetecho.co.uk/news/local/display.var.2451318.0.warning_about_scam_letter.php"&gt;The Dorset Echo&lt;/a&gt; (our local rag).&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8390884299365508397?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8390884299365508397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8390884299365508397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8390884299365508397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8390884299365508397'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/09/419-old-fashioned-way.html' title='419, the Old-Fashioned Way'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7778382887822006367</id><published>2008-09-20T21:37:00.003+01:00</published><updated>2008-09-20T21:41:48.474+01:00</updated><title type='text'>Checking Google Takes Only Seconds</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_B8EmjZFzp0k/SNVfaanp3vI/AAAAAAAAABQ/OI855QJxoVM/s1600-h/asda.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_B8EmjZFzp0k/SNVfaanp3vI/AAAAAAAAABQ/OI855QJxoVM/s320/asda.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5248205848197062386" /&gt;&lt;/a&gt;"Find Your Soulmate" — presumably in the fruit and veg aisle.&lt;br /&gt;&lt;br /&gt;(For those of you outside the UK, Asda is a WalMart-owned discount supermarket chain.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7778382887822006367?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7778382887822006367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7778382887822006367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7778382887822006367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7778382887822006367'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/09/checking-google-takes-only-seconds.html' title='Checking Google Takes Only Seconds'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_B8EmjZFzp0k/SNVfaanp3vI/AAAAAAAAABQ/OI855QJxoVM/s72-c/asda.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-1601347872103281676</id><published>2008-09-20T11:29:00.002+01:00</published><updated>2008-09-20T21:37:49.974+01:00</updated><title type='text'>PCW Laughs Last, Longest</title><content type='html'>In an attempt to distance myself from the rest of the Blogosphere, I followed my &lt;a href="http://praxisstalled.blogspot.com/2008/07/brief-list-of-grievances.html"&gt;rant&lt;/a&gt; of a few months ago by shunning the typical passive-agressive stance and actually Doing Something About It. By which I mean I wrote a snarky letter (well, e-mail), which is what passes for Doing Something in the particular strata of Englishness to which I belong.&lt;br /&gt;&lt;br /&gt;The staff of &lt;a href="http://www.pcw.co.uk/"&gt;&lt;cite&gt;PCW&lt;/cite&gt;&lt;/a&gt;, however, are professionals well-equiped to deal with uppity readers, and proceeded to implement the neatest bit of wrong-footing I've experienced in a long while, to whit: they awarded me the Letter of the Month. If you can find a copy of the October 2008 edition (which came out a few months ago in crazy magazine time — yeah, I should have blogged this sooner) and turn to page 20 you will see my words (slightly edited, but nothing to get all &lt;a href="http://www.guardian.co.uk/media/2008/jul/25/pressandpublishing.thetimes"&gt;Giles Coren&lt;/a&gt; about).&lt;br /&gt;&lt;br /&gt;You may also note that I won a prize: a &lt;a href="http://www.ricoh.co.uk/products/showrecord.cfm?NODE=544&amp;amp;topnode=324&amp;amp;KEY=405599K1&amp;amp;KEYWORD=&amp;amp;MAXPRICE=&amp;amp;ORDERBY=&amp;amp;QUANTITY=10&amp;amp;STARTROW=1&amp;amp;camefrom="&gt;Ricoh Aficio GX 2500&lt;/a&gt; printer. As &lt;cite&gt;PCW&lt;/cite&gt; Editor Kelvyn Taylor joked in his congratulatory e-mail, "I hope it comes with Mac drivers." Now, I was planning on ending with the words, "And we all know the answer to that," but bugger me sideways if the damn thing doesn't &lt;emp&gt;actually have Mac drivers&lt;/emp&gt;. A review shall follow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-1601347872103281676?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/1601347872103281676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=1601347872103281676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1601347872103281676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/1601347872103281676'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/09/pcw-laughs-last-longest.html' title='PCW Laughs Last, Longest'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8549818600639547326</id><published>2008-08-17T12:53:00.002+01:00</published><updated>2008-08-17T12:56:46.265+01:00</updated><title type='text'>How the Manic Street Preachers Invented Tech Blogging</title><content type='html'>&lt;h2&gt;1: Will it Blend?&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_B8EmjZFzp0k/SKgRpwbeSiI/AAAAAAAAABA/qMUdM8hjyns/s1600-h/blend.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_B8EmjZFzp0k/SKgRpwbeSiI/AAAAAAAAABA/qMUdM8hjyns/s320/blend.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5235453975890643490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From &lt;a href="http://www.youtube.com/watch?v=cUaytvw9AaM"&gt;&lt;cite&gt;Little Baby Nothing&lt;/cite&gt;&lt;/a&gt; at approx. 3 minutes 32 seconds.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;2: The &lt;a href="http://gizmodo.com/tag/pantsing/"&gt;Gizmodo-style Pantsing&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8EmjZFzp0k/SKgRyw8hsqI/AAAAAAAAABI/fXH5zBvdDTM/s1600-h/pantsing.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_B8EmjZFzp0k/SKgRyw8hsqI/AAAAAAAAABI/fXH5zBvdDTM/s320/pantsing.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5235454130648101538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From &lt;a href="http://www.youtube.com/watch?v=TNo3-OJselM"&gt;&lt;cite&gt;You Love Us&lt;/cite&gt;&lt;/a&gt; at approx. 1 minute 39 seconds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8549818600639547326?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8549818600639547326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8549818600639547326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8549818600639547326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8549818600639547326'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/08/how-manic-street-preachers-invented.html' title='How the Manic Street Preachers Invented Tech Blogging'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_B8EmjZFzp0k/SKgRpwbeSiI/AAAAAAAAABA/qMUdM8hjyns/s72-c/blend.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3613532465989746880</id><published>2008-07-16T23:42:00.001+01:00</published><updated>2008-07-16T23:42:15.176+01:00</updated><title type='text'>One Store for Them...</title><content type='html'>I've just been reading &lt;a href="http://furbo.org/2008/07/16/listeners-found-this-review-helpful/"&gt;this&lt;/a&gt; from Craig Hockenberry about comments on the App Store. Following the link to comments on the iPhone app &lt;cite&gt;Band&lt;/cite&gt; it struck me that a) people were bitching about the app's price, b) even more people were bitching about the people bitching about the app's price, and c) all of the prices mentioned in the bitching were in "£". So does this mean that each store gets to keep its own database of comments? Given that so many US-centric directory apps got listen I had kinda assumed that we were all slurping from the same international app pool.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3613532465989746880?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3613532465989746880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3613532465989746880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3613532465989746880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3613532465989746880'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/one-store-for-them.html' title='One Store for Them...'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5862259785246928086</id><published>2008-07-16T23:28:00.001+01:00</published><updated>2008-07-16T23:28:02.852+01:00</updated><title type='text'>Pixel Imperfect</title><content type='html'>To get this far with the site I had to solve my little Internet Explorer &lt;a href="http://praxisstalled.blogspot.com/2008/07/why-i-achieved-nothing-today.html"&gt;problem&lt;/a&gt;. In the end I just said (read: screamed) "sod it" (read: a &lt;a href="http://www.typography.com/ask/showBlog.php?blogID=122"&gt;grawlix&lt;/a&gt; (which looks kinda like Perl to me (and this is starting to look a lot like Lisp)) (have these balanced yet?)) and decided to go old school, forgoing re-size-ability and measuring everything out in pixels. You can see the results &lt;a href="http://www.hereapi.com/chat/chat_js.php"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And yes, I know that the buttons spill out the bottom of the location-setting dialogue.&lt;br /&gt;&lt;br /&gt;Have I mentioned how much I hate Internet Explorer?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5862259785246928086?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5862259785246928086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5862259785246928086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5862259785246928086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5862259785246928086'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/pixel-imperfect.html' title='Pixel Imperfect'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3565501508535016035</id><published>2008-07-16T23:22:00.001+01:00</published><updated>2008-07-16T23:22:03.493+01:00</updated><title type='text'>That was Anticlimactic</title><content type='html'>A little after nine this morning, Super Secret Project X (also known to some as &lt;a href="http://www.hereapi.com"&gt;the Here API&lt;/a&gt;) went live &amp;mdash; by which I mean I posted a quick "Introducing the Here API" message to the site's blog, &lt;a href="http://www.twitter.com/hereapi_com"&gt;tweeted&lt;/a&gt; a link to it and then deleted the site's old &lt;code&gt;index.html&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;I've also begun my search for a co-founder. I really can't see this site going far with just me running between the helm and the engine room. I began with a quick add on &lt;a href="http://www.confoundr.com"&gt;cofoundr.com&lt;/a&gt; and I intend to walk the thin line between circulation and spam as I roll it out across other sites over the next days and weeks.&lt;br /&gt;&lt;br /&gt;(And by the way, if you're intending to respond to the ad and have found your way here by Googling either me or hereapi.com then well done, you've earned yourself some extra points. To claim them just slip the word "artichoke" into your e-mail.)&lt;br /&gt;&lt;br /&gt;I'm not sure how I'll choose who's going to fill the role, but like having to scale your site, it's a really nice problem to have. I'm hoping that I get at least one half-descent candidate. I'd like to be up and running at full speed for the &lt;cite&gt;Future of Web Apps&lt;/cite&gt; conference in early October. So here's hoping.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3565501508535016035?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3565501508535016035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3565501508535016035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3565501508535016035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3565501508535016035'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/that-was-anticlimactic.html' title='That was Anticlimactic'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8749139530547875432</id><published>2008-07-13T22:29:00.001+01:00</published><updated>2008-07-13T22:29:28.620+01:00</updated><title type='text'>Cocoa Touch 2.0</title><content type='html'>My experience with the iPod Touch v2.0 firmware update was the same as everyone else's: a day of hitting the "Check for Update" button, the result of which flip-flopped between "1.1.4 is the latest version" and "the iTunes store is unable to complete this request". The little tease. But by Saturday morning it had sorted itself out and I was able to upgrade. The £5.99 price tag even seemed fair-ish, since it's pretty much the $9.95 plus Ireland-rate VAT.&lt;br /&gt;&lt;br /&gt;My first impressions are that the App Store is a really rather slick way of getting applications, and, apart from the face that with each download it kicks you back to the launch screen, a joy to use. I can't help wondering however what all those developers who were denied a place in the store make of the likes of &lt;cite&gt;Hold On&lt;/cite&gt; and &lt;cite&gt;Cow Toss&lt;/cite&gt;.&lt;br /&gt;&lt;br /&gt;Some other quick observations: there seemed to be about a dozen tip calculators and a few flashlight apps; those pug-ugly apps from Steves-wossname software made it through the vetting process; and then there was &lt;cite&gt;TruPhone&lt;/cite&gt;, a VOIP app which I haven't seen mentioned anywhere else. This surprised me the most, since I wasn't sure it would be allowed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8749139530547875432?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8749139530547875432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8749139530547875432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8749139530547875432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8749139530547875432'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/cocoa-touch-20.html' title='Cocoa Touch 2.0'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-3383680410925847492</id><published>2008-07-11T11:41:00.001+01:00</published><updated>2008-07-11T11:41:25.497+01:00</updated><title type='text'>I Want My 2.0</title><content type='html'>42: The approximate number of times I've checked for the OS X Touch 2.0 update for the iPod Touch so far this morning. Yes, I really am that desperate for another gouging from Apple. (I just thought I'd blog a quick note as a break from pumping the "Check for Update" button in iTunes.)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-3383680410925847492?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/3383680410925847492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=3383680410925847492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3383680410925847492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/3383680410925847492'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/i-want-my-20.html' title='I Want My 2.0'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-324928976891992174</id><published>2008-07-09T23:38:00.001+01:00</published><updated>2008-07-09T23:38:39.799+01:00</updated><title type='text'>Why I Achieved Nothing Today</title><content type='html'>I'm not sure where to direct the thunderhead of frustration I've built up today: at web development in general, or at Internet Explorer in particular.&lt;br /&gt;&lt;br /&gt;I am not a web developer &amp;mdash; as I have spent the last ten hours proving &amp;mdash; and more importantly &lt;a href="http://www.hereapi.com"&gt;the Here API&lt;/a&gt; is not a web application. It is, however, a tool which I hope will be extremely useful to web application developers, which is why a Javascript library to access the service was one of our highest priorities and which is why I've wasted the entire day trying to get a demo app up and running.&lt;br /&gt;&lt;br /&gt;Or, rather, up and running on Windows. Resources here are a little limited and today was my first chance to spend serious time on the (singular) PC. But not to worry, because the demo app's been doing its thing on both Safari and Firefox under OS X for a couple of weeks now, so there shouldn't be much work that needs doing.&lt;br /&gt;&lt;br /&gt;Of course I was wrong. For a start, in Firefox it looked utter arse, buttons and textareas which had been carefully &amp;mdash; and tediously &amp;mdash; manoeuvred into position via CSS vanishing off the screen. But at least it displayed in Firefox. It took a good half hour of fiddling to get IE to show anything at all. This was partly my fault, having missed the "Microsoft doesn't believe Javascript need &lt;code&gt;const&lt;/code&gt;s" warning in the Mozila docs. Mostly, I blame the Javascript "debugger" in IE, because 1) its error messages call everything a syntax error (boy, I swear I haven't met them since the days of Spectrum BASIC), and 2) when it gives a line number you have to a) guess which included file the error occurred in, and then b) subtract the number of lines down the original HTML page the &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tag came from the line number in the error to work out where it was.&lt;br /&gt;&lt;br /&gt;And of course when something was displayed it i) didn't work, and ii) looked like total arse.&lt;br /&gt;&lt;br /&gt;"Bugger this for a game of soldiers!" thought I, and off I went looking for a nice cross-platform framework to do the hard stuff for me. The demo app as it stands uses &lt;a href="http://www.prototypejs.org"&gt;Prototype&lt;/a&gt; and &lt;a href="http://script.aculo.us"&gt;Scriptaculous&lt;/a&gt; (the Javascript client libraries at its heart &amp;mdash; remember, this is why I'm doing this &amp;mdash; has no dependencies), but what I needed was something to do widgets.&lt;br /&gt;&lt;br /&gt;Being the Apple drone I am, &lt;a href="http://www.sproutcore.com"&gt;Sproutcore&lt;/a&gt; was my first port of call. I'd only ever heard it discussed on &lt;a href="http://twit.tv/mbw94"&gt;MacBreak Weekly&lt;/a&gt;, but it had drawn favourable comparisons to the Second Coming so I thought it might be worth a look. And it certainly looked promising, right up to the point where the demo borked under IE. Back to Google. (I don't need to link Google, right?)&lt;br /&gt;&lt;br /&gt;The rest of my day was spent dismissing Javascript GUI frameworks. &lt;A href="http://qooxdoo.org"&gt;Qooxdoo&lt;/a&gt; (which they tell me is pronounced "[`ku:ksdu:]" &amp;mdash; no, honestly, they think that that's helping), &lt;a href="http://mootools.net"&gt;MooTools&lt;/a&gt;, the &lt;a href="http://developer.yahoo.com/yui"&gt;Yahoo! User Interface library&lt;/a&gt; ... none of them had that certain get-this-done-today something that I was looking for. (And what the hell is with this needing an external tool chain to build your Javascript library?) I almost went with &lt;a href="http://dojotoolkit.org"&gt;Dojo&lt;/a&gt; &amp;mdash; I'd played with it in the past, mainly for testing our JSON-RPC servers &amp;mdash; but then it hit me that whichever of these I chose my app would end up looking like a Swing e-mail client. My current "design" &amp;mdash; you can actually see the air-quotes when you look at it &amp;mdash; may look like total arse, but at least it has a little character.&lt;br /&gt;&lt;br /&gt;So it's back to my original code. I'm going to have to wait till my go on the PC comes around again and sweat through the code the old-fashioned way. The problem of getting a design to look the same cross-browser must have been solved a thousand times before &amp;mdash; so why can't I find a simple solution? (It's at times like these I really wish this blog got some readers so I could get a few suggestions ... oh, well.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-324928976891992174?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/324928976891992174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=324928976891992174' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/324928976891992174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/324928976891992174'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/why-i-achieved-nothing-today.html' title='Why I Achieved Nothing Today'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8464818530844795110</id><published>2008-07-06T16:29:00.001+01:00</published><updated>2008-07-06T16:29:35.117+01:00</updated><title type='text'>Misc. Clippage</title><content type='html'>Since I've had to bugger about with the page template to fit that ChannelFlip movie, I thought I may as well post a couple of other clips. So here's the final &amp;mdash; and most interesting &amp;mdash; part of the 1999 BBC Comic Relief Doctor Who skit &lt;cite&gt;The Curse of Fatal Death&lt;/cite&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TXRmpm0MEMY&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/TXRmpm0MEMY&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;This came between the attempted Paul McGann restart and the Christopher Eccleston reboot, and was written by Steven Moffat, who's just been handed the show's reins. Richard E. Grant's non-canon spell as the ninth Doctor (following his &lt;cite&gt;Withnail&lt;/cite&gt; partner) can be found &lt;a href="http://www.bbc.co.uk/doctorwho/classic/webcasts/shalka/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I remember seeing &lt;cite&gt;The Curse of Fatal Death&lt;/cite&gt; when it was first on, but somehow &lt;a href="http://www.youtube.com/watch?v=4I76p1cZbq4"&gt;&lt;cite&gt;Time Crash&lt;/cite&gt;&lt;/a&gt; slipped by me. (Sorry, the BBC don't want it embedded.) Another jolly fun little Moffat skit from a BBC charity evening. Now, when do we get to see the seven living Doctors together?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8464818530844795110?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8464818530844795110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8464818530844795110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8464818530844795110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8464818530844795110'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/misc-clippage.html' title='Misc. Clippage'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8124386475991788050</id><published>2008-07-06T10:27:00.001+01:00</published><updated>2008-07-06T10:27:35.418+01:00</updated><title type='text'>Mac Games for Mac Users</title><content type='html'>Elfin Princess Katherine Fletcher is currently presenting a short series about gaming on the Mac over at &lt;a href="http://www.channelflip.com/category/show/games/"&gt;ChannelFlip Games&lt;/a&gt;. I mention this only because of my fervent wish to embed her.&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;feedurl=http%3A%2F%2Fcfgames%2Eblip%2Etv%2Frss&amp;file=http%3A%2F%2Fblip%2Etv%2Frss%2Fflash%2F1041717%3Freferrer%3Dblip%2Etv%26source%3D1&amp;showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" width="550" height="350" allowfullscreen="true" id="showplayer"&gt;&lt;param name="movie" value="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;feedurl=http%3A%2F%2Fcfgames%2Eblip%2Etv%2Frss&amp;file=http%3A%2F%2Fblip%2Etv%2Frss%2Fflash%2F1041717%3Freferrer%3Dblip%2Etv%26source%3D1&amp;showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" /&gt;&lt;param name="quality" value="best" /&gt;&lt;embed src="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;feedurl=http%3A%2F%2Fcfgames%2Eblip%2Etv%2Frss&amp;file=http%3A%2F%2Fblip%2Etv%2Frss%2Fflash%2F1041717%3Freferrer%3Dblip%2Etv%26source%3D1&amp;showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" quality="best" width="550" height="350" name="showplayer" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Of course, by "gaming on the Mac" she mostly means "playing PC games through Windows running on the Mac" &amp;mdash; and yet it doesn't have me spitting bile... see where a little cute can get you, &lt;a href="http://praxisstalled.blogspot.com/2008/07/brief-list-of-grievances.html"&gt;&lt;cite&gt;PCW&lt;/cite&gt;&lt;/a&gt;? &amp;mdash; which brings me back to a rant I published &lt;a href="http://www.appleeclectic.com"&gt;elsewhere&lt;/a&gt; (but don't bother looking, I've re-imaged the server).&lt;br /&gt;&lt;br /&gt;I'm not the world's biggest gamer (although if I could get back all the time I've lost to &lt;a href="http://quinn.en.softonic.com/mac"&gt;&lt;cite&gt;Quinn&lt;/cite&gt;&lt;/a&gt; or &amp;mdash; god help me &amp;mdash; &lt;a href="http://www.macgamestore.com/detail.php?ProductID=465"&gt;&lt;cite&gt;Zuma Deluxe&lt;/cite&gt;&lt;/a&gt; I'd be able to write a couple of those novels I've been planning), but in my ever so humble opinion what we really need are not more ports of two year old PC games, but some original Mac titles.&lt;br /&gt;&lt;br /&gt;What is a Mac game? In the same way that there's something quintessentially, recognisably Mac-like about written-for-the-Mac-by-people-who-understand-the-Mac applications, Mac games should have that certain something which sets them apart from their PC or console counterparts. I think that &lt;a href="http://en.wikipedia.org/wiki/Marathon_%28game%29"&gt;&lt;cite&gt;Marathon&lt;/cite&gt;&lt;/a&gt; is the best &amp;mdash; and, okay, almost only &amp;mdash; example of this.&lt;br /&gt;&lt;br /&gt;Superficially, &lt;cite&gt;Marathon&lt;/cite&gt; is just another &lt;cite&gt;Doom&lt;/cite&gt; clone. But it has the great little touches, the technical innovations and &amp;mdash; probably most importantly &amp;mdash; the engaging plot to set it apart from the other knock-offs. I don't know if anyone at the time called it "the thinking man's &lt;cite&gt;Doom&lt;/cite&gt;", but that's what I'm doing here.&lt;br /&gt;&lt;br /&gt;The main impediment to a Mac-only games industry is that it now appears necessary for PC titles to cost the same as Hollywood movies / small developing nations. To which I would tentatively suggest replacing cash and head count with, say, talent and creativity. Think Indie flicks versus the summer blockbusters.&lt;br /&gt;&lt;br /&gt;So how about an open-source-style effort to get the ball rolling. The &lt;a href="http://www.klinksoftware.com/"&gt;DIM3 engine&lt;/a&gt; is probably a good starting point, and I'd happily donate my so-so coding skills. So what do you say?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8124386475991788050?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8124386475991788050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8124386475991788050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8124386475991788050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8124386475991788050'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/mac-games-for-mac-users.html' title='Mac Games for Mac Users'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8984732655931612328</id><published>2008-07-05T23:16:00.001+01:00</published><updated>2008-07-05T23:16:47.904+01:00</updated><title type='text'>Doktor Wer und der Daleks</title><content type='html'>So another season of Doctor Who has come to an end. Ho hum. How can I find the end of the universe dull? Maybe because we've seen the exact same thing (with minor variations) at the end of ever other season and then again at Christmas. Actually, who am I kidding? We see the same almost-apocalypse every other episode. Too many cop-outs and "with one bound they were free" moments. They could have run this episode the usual length and not missed anything important, just trimmed a bit of the soap opera at the end.&lt;br /&gt;&lt;br /&gt;Nevertheless, this episode will go down in history for one very important reason: German Daleks.&lt;br /&gt;&lt;br /&gt;Let me just type that again incase you missed it. German Daleks.&lt;br /&gt;&lt;br /&gt;German. Daleks.&lt;br /&gt;&lt;br /&gt;&lt;blink&gt;&lt;h2&gt;German Daleks!&lt;/h2&gt;&lt;/blink&gt;&lt;br /&gt;&lt;br /&gt;It is at times like this that I can only curse the short-sightedness which lead to the deprecation of the &lt;code&gt;&amp;lt;blink&amp;gt;&lt;/code&gt; tag. (I've included it anyway on the off chance that your browser's author still keeps the faith.)&lt;br /&gt;&lt;br /&gt;Russell T. Davies, OBE? The man deserves a Peerage. A Knighthood at the very least. It would be more than a fair swap for German Daleks.&lt;br /&gt;&lt;br /&gt;Oh, and for bringing Bernard Cribbins back to our screens.&lt;br /&gt;&lt;br /&gt;Bernard Cribbins and German Daleks &amp;mdash; so why wasn't this the greatest 65 minutes of television ever?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8984732655931612328?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8984732655931612328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8984732655931612328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8984732655931612328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8984732655931612328'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/doktor-wer-und-der-daleks.html' title='Doktor Wer und der Daleks'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-7902345885794341429</id><published>2008-07-05T17:32:00.001+01:00</published><updated>2008-07-05T17:57:30.532+01:00</updated><title type='text'>These Points of Data Form a Beautiful Line</title><content type='html'>I know you aren't really interested but I'm going to explain why I haven't posted for a while. It's known as "laziness". I can highly recommend it as a lifestyle choice.&lt;br /&gt;&lt;br /&gt;I have also been hard at work at my latest stab at an Internet Start-Up. &lt;a href="http://www.hereapi.com"&gt;The Here API&lt;/a&gt; &amp;mdash; "the answer to all your location-based service needs" &amp;mdash; will be launched (into beta) in the very near future.&lt;br /&gt;&lt;br /&gt;You heard it here first.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-7902345885794341429?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/7902345885794341429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=7902345885794341429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7902345885794341429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/7902345885794341429'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/these-points-of-data-form-beautiful.html' title='These Points of Data Form a Beautiful Line'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-592553934837500959</id><published>2008-07-05T17:27:00.001+01:00</published><updated>2008-07-09T23:39:17.523+01:00</updated><title type='text'>A Brief List of Grievances</title><content type='html'>Since &lt;a href="http://www.pcw.co.uk"&gt;&lt;cite&gt;PCW&lt;/cite&gt;&lt;/a&gt; is a little too parochial to attract the attention of Defenders of the Mac Faith such as &lt;a href="http://www.daringfireball.net"&gt;Chairman Gruber&lt;/a&gt;, I shall take it upon myself to provide a page-by-page list of the slights inflicted by its September issue (plus it's raining out and when I decide to suddenly start updating again I &lt;em&gt;really&lt;/em&gt; suddenly start updating again).&lt;br /&gt;&lt;br /&gt;Grap a copy and read along at home!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cover story: "Buy a Mac, get a PC"&lt;/b&gt; Oh, boy. It seems as far as &lt;cite&gt;PCW&lt;/cite&gt; is concerned, the only good Mac is a Windows-running Mac. Cue six pages dedicated to installing Windows via Boot Camp. OS X &amp;mdash; constantly referred to as "OSX" throughout &amp;mdash; gets a thin side-box, where Cover Flow, Quick Look and Spotlight are highlighted. Seriously. Those are the highlights of OS X? Not at all superficial, then.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;p.7: Editorial&lt;/b&gt; Editor Kelvyn Taylor doesn't like the "bouncy icons" or "odd menu system".&lt;br /&gt;&lt;br /&gt;&lt;b&gt;p.8:&lt;/b&gt; The iPhone is described as "revolutionary" ... hold on, that sounded complimentary.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;p.9:&lt;/b&gt; Okay. Analysts are quoted dismissing it as "no market changer". Normal service has been restored.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;p.13 (among many others):&lt;/b&gt; I give up: what exactly is an "iTouch"?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;p.14:&lt;/b&gt; Ahem: "The iHype over iPods and iPhones leaves the impression that iApple started the iFashion for putting a small i in front of everything." Do you see what they've done there? "In fact, Compaq started it back in April 2000 with the launch of its iPaq handheld." That would be the April 2000 which occurred before the May 1998 when the iMac was launched, would it?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;p.19 (top):&lt;/b&gt; "... the old Apple disease of form overriding function." Of course, some would argue that the two were inseparable.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;p.19 (bottom):&lt;/b&gt; Where Clive Akass explains how the fact that Cubase 1) inflicts draconian &amp;mdash; and quaintly old-fashioned &amp;mdash; dongle-based DRM on its users, while 2) apparently not making a PDF version of their manual easily accessible on the Mac proves that the Mac is "not a user-friendly operating system".&lt;br /&gt;&lt;br /&gt;And ... this is about the point where I'm starting to lose the will to live. Oh, look! It's stopped raining.&lt;br /&gt;&lt;br /&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-592553934837500959?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/592553934837500959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=592553934837500959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/592553934837500959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/592553934837500959'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/brief-list-of-grievances.html' title='A Brief List of Grievances'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-14960218600709881</id><published>2008-07-05T16:04:00.001+01:00</published><updated>2008-07-05T16:04:52.663+01:00</updated><title type='text'>State of the Chart</title><content type='html'>I'm not sure what's worse when technology let's me down &amp;mdash; the disappointment or the another-glimpse-of-beachball-and-I-smash-you-to-pieces frustration. It's probably a little of each.&lt;br /&gt;&lt;br /&gt;I've just had such a painful experience. The task was simple: I needed some charts (or "graphs" as I'm sure we used to call them). Nothing too fancy, just two series of around 1,400 observations each, plotted against a third containing dates. How hard can that be for a dual 2GHz machine with 2Gb of RAM?&lt;br /&gt;&lt;br /&gt;(You may have already guessed the answer.)&lt;br /&gt;&lt;br /&gt;First up: &lt;cite&gt;Numbers&lt;/cite&gt;. I bought &lt;a href="http://www.apple.com/uk/iwork/"&gt;iWork&lt;/a&gt; mainly for &lt;cite&gt;Pages&lt;/cite&gt;, mainly because it always feels so damn fast when typing, which weirdly is the first thing I look for in a word processor. &lt;cite&gt;Numbers&lt;/cite&gt; has until now been sat gathering dust in my Applications folder (apart from the odd occasion when it comes bouncing forward offering to handle a &lt;code&gt;.xls&lt;/code&gt; file for me. I always politely decline). After today it's unlikely to see much more action. After producing the first chart I dragged it up the page. Cue five minutes of beach ball. Force Quit and next, please.&lt;br /&gt;&lt;br /&gt;In case you're not familiar with &lt;a href="http://www.neooffice.org/neojava/en/index.php"&gt;&lt;cite&gt;NeoOffice&lt;/cite&gt;&lt;/a&gt;, it's a version of the &lt;cite&gt;OpenOffice.org&lt;/cite&gt; code made more Mac-like. It's been doing stirling work opening Office files for a few years now, and I've used it to produce charts many times in the past. Putting my silly dalliance with &lt;cite&gt;Pages&lt;/cite&gt; behind me, it was back to good old dependable &lt;cite&gt;NeoOffice&lt;/cite&gt;.&lt;br /&gt;&lt;br /&gt;But only for a quarter of an hour or so. And if it hadn't taken so long to do anything it would have been a lot less. It took over ten second for the chart to first appear, and the same length of time after each alteration. And there weren't many of them, since selecting the correct part of the chart (axis labels but not axis line; legend but not just the surrounding box) was a black art I obviously need far more practice to master.&lt;br /&gt;&lt;br /&gt;Finally, I turned to the genuine(-ish) article, &lt;a href="http://www.openoffice.org"&gt;&lt;cite&gt;OpenOffice.org&lt;/cite&gt;&lt;/a&gt; (yes, the &lt;code&gt;.org&lt;/code&gt; appears to be a required part of its name). I'd move from it to &lt;cite&gt;NeoOffice&lt;/cite&gt; a while ago, mainly because, yes, &lt;cite&gt;NeoOffice&lt;/cite&gt; really is more Mac-like. &lt;cite&gt;OpenOffice.org&lt;/cite&gt; requires X11 to run &amp;mdash; of course, being a proper geek I had this already installed. After the slowest 185Mb download I've experienced in a long while it was one drag-to-Applications and we were away.&lt;br /&gt;&lt;br /&gt;&lt;cite&gt;OpenOffice.org&lt;/cite&gt; behaves like its *nix equivalent, in-window tool bar and all, but that is only a small inconvenience. (I also have a bit of a soft-spot for ugly X11 GUIs &amp;mdash; I think it's a nostalgia thing.) The app made short work of producing the four charts I needed: they appeared almost instantly and were equally quick to update. This was helped by the simple black-on-white colour scheme they used by default &amp;mdash; &lt;cite&gt;NeoOffice&lt;/cite&gt; seems to take the "being like MicroSoft Office" thing to the extent of copying their fugly grey-background pre-set &amp;mdash; meaning there was less in need of tinkering. There was a small hiccup when I couldn't copy and paste them into &lt;cite&gt;Pages&lt;/cite&gt;, but exporting the destination document soon took care of that. &lt;br /&gt;&lt;br /&gt;So a couple of short hours later I have my four charts and my heart rate has returned to its overweight normal. I blame Java for &lt;cite&gt;NeoOffice&lt;/cite&gt;'s failings, but despite today's little setback I'm going to keep it as my free Office-like suite of choice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-14960218600709881?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/14960218600709881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=14960218600709881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/14960218600709881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/14960218600709881'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/07/state-of-chart.html' title='State of the Chart'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-697883790773291907</id><published>2008-02-05T18:19:00.001Z</published><updated>2008-02-05T18:19:27.549Z</updated><title type='text'>Looking for an Artist (again)</title><content type='html'>I'm having another crack at getting my webcomic &lt;a href="http://www.boundedbyinfinity.com"&gt;Bounded by Infinity&lt;/a&gt; off of the ground. Again. I made a half-hearted stab at it last year, posting an "Artist Wanted" request on one forum and then loosing heart when no-one bit. This time I'm going to &lt;strike&gt;spam&lt;/strike&gt; post the request in &lt;em&gt;lots&lt;/em&gt; of forums, cross my fingers and hope I get lucky.&lt;br /&gt;&lt;br /&gt;Shortly after I posted in the forums at &lt;a href="http://www.drunkduck.com"&gt;Drunk Duck&lt;/a&gt;, &lt;a href="http://www.drunkduck.com/community/view_topic.php?tid=39595&amp;cid=236"&gt;this post&lt;/a&gt; appeared in which Drowemos makes the startling observation that if you want to attract an artist, something which they're known to be partial to is &lt;em&gt;money&lt;/em&gt;. I'm not going to stoop to sarcasm. The purpose of Drowemos' post was to plug &lt;a href="http://www.exiern.com/Contest.php"&gt;this contest&lt;/a&gt; aimed at webcomic writers and offering a prize of six professionally-drawn pages (cash value $150).&lt;br /&gt;&lt;br /&gt;Drowemos' webcomic &lt;a href="http://www.exiern.com"&gt;&lt;cite&gt;The World of Exiern&lt;/cite&gt;&lt;/a&gt; is interesting in that it was started with -- erm -- &lt;em&gt;basic&lt;/em&gt; art (possibly as an &lt;em&gt;homage&lt;/em&gt; to &lt;a href="http://www.qwantz.com/"&gt;Dinosaur Comics&lt;/a&gt;), which was later (partly) replaced by professionally drawn work once revenue permitted. So I guess that he should know page rates, but $25 per page seems a little on the low side to me.&lt;br /&gt;&lt;br /&gt;I've considered going down the paid route but decided against it for a couple of reasons. For one it could get expensive quickly, especially if quality artwork still fails to drive page views. Sure, it's a chicken and egg thing. But what I think you'd really miss working in this kind of arrangement is real involvement from the artist. I'd like to work with someone who is committed to the project, who I can bounce ideas off and who will give honest feedback, rather than just whipping through commission after commission as quickly as possible.&lt;br /&gt;&lt;br /&gt;Ah, well... here's hoping.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-697883790773291907?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/697883790773291907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=697883790773291907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/697883790773291907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/697883790773291907'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/02/looking-for-artist-again.html' title='Looking for an Artist (again)'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-2779217826334205924</id><published>2008-01-15T22:29:00.001Z</published><updated>2008-01-15T22:29:58.675Z</updated><title type='text'>iPod Touch Update 1.1.3</title><content type='html'>So the iPod Touch firmware update (version 1.1.3) was announced at the Stevenote this evening (proper time). For some reason it took a little over two hours to download, and then it didn't appear to offer any new features apart from a new search button in Safari, which booted the bookmark button down onto the bottom bar. Not even any wiggling icons. &lt;br /&gt;&lt;br /&gt;Now, I made a bit of a tit of myself over at &lt;a href="http://blogs.cnet.com/8301-13509_1-9850999-20.html"&gt;the Macalope's place&lt;/a&gt; (mostly because it's late and the bit about the AppleTV didn't register), but the question still remains, why are AppleTV owners getting a fancy new system update for free? while iPod Touch users have to pay? And it's not like we're just paying for the five applications. If we were then it would surely have been easier for Apple to wait and make them available through the iPhone app store once it's up and running. But it's not the apps that we're buying, it an unlock for the features of 1.1.3. The download you purchase takes a second to download, and once it's run you've got new features outside the five apps, like being able to rearrange the home page.&lt;br /&gt;&lt;br /&gt;The argument, of course, is that earnings from the AppleTV, like those for the iPhone, are booked over a number of years. Sorry, but this just doesn't wash. The AppleTV has been on sale for almost a year now, but until today (or until the date in the future when the software upgrade is made) you have not been able to purchase items from the iTunes Store through it, meaning that there was absolutely no basis for Apple's accountants to book those earnings as subscription-based. The iPod Touch, however, has been able to download from the iTunes store since day one, so if either of these devices should be eligible for free updates, it should be the iPod.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-2779217826334205924?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/2779217826334205924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=2779217826334205924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2779217826334205924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/2779217826334205924'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/01/ipod-touch-update-113.html' title='iPod Touch Update 1.1.3'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-6476032364502172034</id><published>2008-01-11T16:34:00.001Z</published><updated>2008-01-11T16:34:15.505Z</updated><title type='text'>Putting the "ass" into Akass</title><content type='html'>&lt;A href="http://www.pcw.co.uk"&gt;Personal Computer World&lt;/a&gt; is the only print magazine I buy nowadays, mainly because I've never got round to cancelling my subscription. Still, it provides an interesting off-line read every month. The one thing I can't stand, however, is the attitude which their News Editor, Clive Akass, takes toward Apple. I don't know if he was bullied by the Cupertino company as a child or something: it certainly reads that way at times.&lt;br /&gt;&lt;br /&gt;The magazine's &lt;a href="http://labs.pcw.co.uk/"&gt;Test Bed Blog&lt;/a&gt; has been quiet of late, but has sprung back to life with two posts in the last two days, both of which have included pointless swipes at Apple. "&lt;a href="http://labs.pcw.co.uk/2008/01/appple-maxes-ou.html"&gt;Apple maxes out during CES&lt;/a&gt;" seems to be complaining about Apple announcing products while CES is on, while "&lt;a href="http://labs.pcw.co.uk/2008/01/why-i-bought-a.html"&gt;Why I bought a [sic] Eee PC&lt;/a&gt;" takes a dig at "Apple's iToys" for not having proper keyboards.&lt;br /&gt;&lt;br /&gt;Oh well, I suppose it's better he gets it out of his system here, rather than clogging-up the paper PCW's scant news pages with this drivel.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-6476032364502172034?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/6476032364502172034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=6476032364502172034' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6476032364502172034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/6476032364502172034'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/01/putting-into-akass.html' title='Putting the &amp;quot;ass&amp;quot; into Akass'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8645367539722572098</id><published>2008-01-09T15:11:00.001Z</published><updated>2008-01-09T15:11:22.378Z</updated><title type='text'>Developing for the iPod Touch</title><content type='html'>Since the reason I got an iPod Touch was to develop applications for it, I though that it was about time I actually got round to giving it a go. This is a brief round-up of the tutorials I used, presented in the order I &lt;emp&gt;should&lt;/emp&gt; have done them.&lt;br /&gt;&lt;br /&gt;First step was to jailbreak the iPod to allow access to its file system. As I had OS v.1.1.2 this meant downgrading to 1.1.1. The instructions on &lt;a href="http://www.touchdev.net/wiki/Jailbreak_1.1.2"&gt;this page&lt;/a&gt; worked perfectly for me. The longest part was downloading the two versions of the firmware from Apple.&lt;br /&gt;&lt;br /&gt;When you run the Java .jar file in the last stage I recommend ticking the box to install SSH. Then, to connect to your iPod, first get its IP address from Settings -&gt; Wifi and click on the arrow in the blue circle next to your active connection. Now from the Terminal, type:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;tt&gt;ssh root@&lt;i&gt;IPADDRESS&lt;/i&gt;&lt;/tt&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The default root password should be alpine, although you can easily change this using the SSH icon on the iPod. To begin with SSH is rather sparse since there are no command line tools installed. These can be found in the "BSD sub-system" package in the installer. Note, however, that I'm not sure whether installing them caused me the problems in the stage (and they can't be easily removed), but all things considered you're better off with them.&lt;br /&gt;&lt;br /&gt;Next, in order to compile the toolchain used to build iPod apps, we need a copy of the iPod's file system. In theory we should be able to get this by using the &lt;tt&gt;scp&lt;/tt&gt; command, thus:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;tt&gt;sudo scp -r root@&lt;i&gt;IPADDRESS&lt;/i&gt;:/ /usr/local/share/iphone-filesystem&lt;/tt&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Which should copy every file into the directory on your Mac where the toolchain Makefile expects it. However, for me this ran fine for 15 minutes and then stalled on "Resource Busy" / "not a regular file" errors for file in the /dev directory. Copying individual directories from route (/usr is the really important one) side-stepped this. Oh, and you may want to remove all your songs and movies from the iPod before you do this and save yourself a few hours.&lt;br /&gt;&lt;br /&gt;Instructions for getting and compiling the toolchain can be found &lt;a href="http://code.google.com/p/iphone-dev/wiki/Building"&gt;here&lt;/a&gt;, and with the preparation above should work without problems. To test that everything is working I used this &lt;a href="http://ellkro.jot.com/WikiHome/HelloWorldSrc-0_30.zip?cacheTime=1190196505745"&gt;Hello World&lt;/a&gt; source code, found via &lt;a href="http://www.iphonedevdocs.com/tutorial.php?t=9"&gt;here&lt;/a&gt;. Download it (it should unzip automatically), then in the terminal navigate to the directory and run &lt;tt&gt;make&lt;/tt&gt;. If everything is set up correctly you'll now have a file called "Hello" (identified as a UNIX executable by the Finder). Copy this to your iPod with:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;tt&gt;scp ./Hello root@&lt;i&gt;IPADDRESS&lt;/i&gt;:/Applications/&lt;/tt&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;To run it, SSH into the iPod, navigate to the Applications folder, and run "Hello":&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;tt&gt;cd /Applications&lt;/tt&gt;&lt;br&gt;&lt;tt&gt;./Hello&lt;/tt&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;"Hello World" should be displayed on the iPod (wake it up and unlock it). You'll notice that the home button doesn't do anything. To kill the program, go back to SSH in the terminal and hit ctrl+C. The # prompt will reappear in the console and the iPod will drop back to the launch screen.&lt;br /&gt;&lt;br /&gt;Well, that's it for compiling and running a first iPod app, now it's off to find some documentation for the iPod version of Cocoa.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8645367539722572098?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8645367539722572098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8645367539722572098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8645367539722572098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8645367539722572098'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2008/01/developing-for-ipod-touch.html' title='Developing for the iPod Touch'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-4734542432618968115</id><published>2007-12-31T18:02:00.001Z</published><updated>2007-12-31T18:04:16.791Z</updated><title type='text'>Advice</title><content type='html'>In response to &lt;a href="http://www.43folders.com/forum/2007/10/22/looking-advice"&gt;this question&lt;/a&gt; posted on &lt;a href="http://www.43folders.com"&gt;43 Folders&lt;/a&gt;, I'd probably suggest finding a different hospital to get sick in. Seriously, this doesn't inspire confidence.&lt;br /&gt;&lt;br /&gt;(Or alternatively, look for the little bottles labelled "Valium"...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-4734542432618968115?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/4734542432618968115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=4734542432618968115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4734542432618968115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/4734542432618968115'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2007/12/advice.html' title='Advice'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-5480877984516037077</id><published>2007-12-31T17:26:00.001Z</published><updated>2007-12-31T18:36:35.235Z</updated><title type='text'>About the Radioheads</title><content type='html'>The ever belligerent Gruber recently &lt;a href="http://daringfireball.net/linked/2007/december#thu-27-fortune"&gt;took Fortune to task&lt;/a&gt; for ranking the way Radiohead marketed &lt;i&gt;In Rainbows&lt;/i&gt; as the &lt;a href="http://money.cnn.com/galleries/2007/fortune/0712/gallery.101_dumbest.fortune/59.html"&gt;the 59th Dumbest Moment in Business&lt;/a&gt; (this year, I guess). And I completely agree that the $3 million (approx. -- and let's face it, with that kind of money you can afford not to count every penny) is a substantial vindication of the strategy. But I think that it's a very big mistake for pundits to project their big-business-is-screwing-the-artist-so-let's-all-go-indie ideals onto this band, or to mistake their actions for anything other than cynical self-serving greed.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://entertainment.timesonline.co.uk/tol/arts_and_entertainment/music/article3101671.ece"&gt;This story&lt;/a&gt; (saying that Radiohead flounced* out on EMI when they didn't get the $10 million advance they wanted) appeared in &lt;i&gt;The Times&lt;/i&gt; last week. Now, I'll say right now that it's probably mostly a smear piece planted by disgruntled EMI executives, but I'm sure that there's at least a big enough grain of truth somewhere in there to stop it being libellous. Let's compare this to Trent Reznor of &lt;i&gt;Nine Inch Nails&lt;/i&gt; (I've heard &lt;i&gt;of&lt;/i&gt; them, but I've never heard any of their music) telling their Australian fans to steal their music because the record companies were ripping them off by setting the price of their CDs unfairly high. Back to Radiohead, who let their fans pay whatever they thought &lt;i&gt;In Rainbows&lt;/i&gt; was worth, right? Sure. Unless they were &lt;i&gt;real&lt;/i&gt; fans, in which case they wouldn't have settled for less than the super-snazzy boxed set, a snip at &lt;emp&gt;only&lt;/emp&gt; £40...&lt;br /&gt;&lt;br /&gt;So I guess the take home point is that, yes, as all right-thinking people have known for a while now, the music industry is really screwed up, with talent largely being ignored and those few "lucky" individuals who make it through getting themselves exploited and ripped-off, but don't go looking to Oxford's finest to sort it out.&lt;br /&gt;&lt;br /&gt;[* Go on, sit back, close your eyes and try to imagine Thom Yorke flouncing. If that doesn't make you smile than nothing will.]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-5480877984516037077?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/5480877984516037077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=5480877984516037077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5480877984516037077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/5480877984516037077'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2007/12/about-radioheads.html' title='About the Radioheads'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-9040950868831036599</id><published>2007-12-31T16:47:00.001Z</published><updated>2007-12-31T16:47:54.984Z</updated><title type='text'>iTouch OS 1.1.3</title><content type='html'>&lt;a href="www.gearlive.com"&gt;Gear Live&lt;/a&gt;, whom I must admit I had never heard of before, have posted a &lt;a href="http://video.gearlive.com/video/article/q407-video-iphone-113-firmware-feature-walkthrough/"&gt;video&lt;/a&gt; of the iPhone 1.1.3 firmware (and boy do their servers seem to be playing the price right now). I recently acquired an iPod Touch, so here are a few thoughts on the impending update from the perspective of someone who probably isn't going to get to see most of them. The coolest non-iPhone specific feature looks like the curled-up-page effect, so I hope it's made available to other apps and not just Google Maps.&lt;br /&gt;&lt;br /&gt;The ability to add Safari bookmarks to the launch screen should be really useful, but at the same time it makes me a little suspicious: it makes the web apps metaphor make more sense, allowing you to treat on-line applications as equals to those built-in, but with the advent of "proper" (native) apps supposedly only a little over a month away, should this be necessary? And shouldn't this feature have been there six months ago? Maybe it's a convenience thing, allowing you fast access to your favourite site, but in that case why should Safari get the special treatment? How about putting your favourite contacts or top songs on the launch pad, too?&lt;br /&gt;&lt;br /&gt;I guess what I'm really stressing over is, are we going to get another fudge so we come out of Macworld with web apps still as the main method for developing for iPhone/iPod touch.&lt;br /&gt;&lt;br /&gt;Okay, I can think of three not-so-paranoid reasons for adding the feature. Firstly, because it has been on someone's to-do list since 1.0 and so it was bound to turn up eventually. Secondly, because having got developers to spend the last six months on Mobile Safari optimised web apps and even though you've just moved the goal posts again Apple still want to throw them a bone, no matter how small. And thirdly, because if the hip and groovy kids are to be believed where it's currently at is social networking and that's happening on-line. Facebook as a pre-installed icon on the iPhone some time soon?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-9040950868831036599?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/9040950868831036599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=9040950868831036599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/9040950868831036599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/9040950868831036599'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2007/12/itouch-os-113.html' title='iTouch OS 1.1.3'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235575743148865227.post-8663076131636003430</id><published>2007-12-31T16:27:00.001Z</published><updated>2007-12-31T16:27:36.941Z</updated><title type='text'>Blog Work &amp; Play</title><content type='html'>I just bought a copy of the excellent &lt;a href="http://www.red-sweater.com/marsedit/"&gt;&lt;i&gt;Mars Edit&lt;/i&gt;&lt;/a&gt;, making use of the &lt;a href="http://www.macsantadeals.com/"&gt;MacSanta&lt;/a&gt; deal on about its last day. I now hereby resolve to get my money's worth from it by blogging far more frequently (it's a new year resolution, don't you know).&lt;br /&gt;&lt;br /&gt;Now all I need is a reader or two.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235575743148865227-8663076131636003430?l=praxisstalled.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praxisstalled.blogspot.com/feeds/8663076131636003430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7235575743148865227&amp;postID=8663076131636003430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8663076131636003430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235575743148865227/posts/default/8663076131636003430'/><link rel='alternate' type='text/html' href='http://praxisstalled.blogspot.com/2007/12/blog-work-play.html' title='Blog Work &amp;amp; Play'/><author><name>Stuart Crook</name><uri>http://www.blogger.com/profile/00844249676842859409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
