<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Andrew’s Mental Dribbling</title>
	<atom:link href="http://dysphoria.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://dysphoria.net</link>
	<description>For long lost friends and stalkers</description>
	<lastBuildDate>Wed, 24 Feb 2010 19:48:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Moral Philosophy</title>
		<link>http://dysphoria.net/2010/02/24/moral-philosophy/</link>
		<comments>http://dysphoria.net/2010/02/24/moral-philosophy/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 19:43:57 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Religion]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=421</guid>
		<description><![CDATA[There is a wonderful interview with the redoubtable, wonky-nosed, English genius Stephen Fry at bigthink.com. Among other things he argues for not believing in an afterlife so that you don’t waste time on Earth, and that it’s nonsense that, “Mankind needs a god in order to have a moral framework.”
One of the commenters, by the [...]]]></description>
			<content:encoded><![CDATA[<p>There is a wonderful interview with the redoubtable, wonky-nosed, English genius Stephen Fry at <a title="The Importance of Unbelief | Stephen Fry | Big Think" href="http://bigthink.com/ideas/17864">bigthink.com</a>. Among other things he argues for not believing in an afterlife so that you don’t waste time on Earth, and that it’s nonsense that, “Mankind needs a god in order to have a moral framework.”</p>
<p>One of the commenters, by the wonderfully named Quinn Detweiler cannot buy the idea that morality can exist without a god:</p>
<p><span id="more-421"></span></p>
<blockquote><p>“Fry essentially makes the assertion that atheism does not logically lead to moral relativism. Unfortunately, he does not provide any logic-based argument for this assertion because it seems counterintuitive to me. If there is no God and humans are merely the product of random chance and natural selection, where does a basis for morality come from? In a truly naturalistic universe, wouldn’t the only “right” thing be whatever helps me to survive and the only “wrong” be something that harms my ability to dominate others?”</p></blockquote>
<p>This is something I’d chewed over in my mind before. I tried to distill it into a pithy, non-insulting answer, so I wrote the following:</p>
<p>@Quinn:</p>
<p>I don’t know exactly what argument Stephen Fry was referring to, regarding his statement that morality does not depend upon God, but here’s the argument I’d make:</p>
<p>If you depend upon a god (or religion) for morality, you are in danger of following a wrong god; you must form a moral judgement about god to determine that His morality is sound (i.e., that you are following a good god).</p>
<p>For example:</p>
<p>Let’s say you worship Odin, and Odin is a bad god. (His morality is all about invading Scotland and raping villages.) If you depend solely upon religion for your moral compass, how will you know that what the priests are telling you is right (that raping and pillaging is Good) is in fact wrong?</p>
<p>Conversely, if you follow the Christian god, and you believe that he created the Universe and that he is all-powerful, that does not automatically imply that, morally, you can take his rules for granted. He might be a bad god, or people might have corrupted his rules. You can’t form an opinion unless you have your own morality.</p>
<p>I’m assuming that you’re Christian and American—(sorry about that, but your name sounds very American!)—so I imagine you might have heard of the <a href="http://godhatesfags.com">God Hates Fags</a> lot. Most people would agree that their moral philosophy is a pretty corrupted form of Christianity, but—and this is the important thing—they firmly believe that it’s god-given!</p>
<p>A third point, which follows from the above, is that without a notion of morality separate from religion, it becomes impossible for people who disagree on religion to agree on law or morality. But somehow we can all mostly agree that theft and murder are wrong (for example).</p>
<blockquote><p>“In a truly naturalistic universe, wouldn’t the only “right” thing be whatever helps me to survive and the only “wrong” be something that harms my ability to dominate others?”</p></blockquote>
<p>My (and most other people’s) morality comes from the Golden Rule: “Treat others as you would like to be treated.”</p>
<p>I think that’s a good basis both for forming ones own moral judgement, and for assessing the rules that are claimed to come from god.</p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2010/02/24/moral-philosophy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I did on my holidays</title>
		<link>http://dysphoria.net/2010/02/03/what-i-did-on-my-holidays/</link>
		<comments>http://dysphoria.net/2010/02/03/what-i-did-on-my-holidays/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 22:59:16 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Me]]></category>
		<category><![CDATA[blackboard]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=404</guid>
		<description><![CDATA[At the start of this week I went back to work full time. I’ve recently been on a 9-month half-sabbatical (day-job 2 days; own project 3 days) to develop a software idea of my own. I’ve been working on a new, better, spreadsheet application.
This is the story of how I got on.

So I’d better explain…
What [...]]]></description>
			<content:encoded><![CDATA[<p>At the start of this week I went back to work full time. I’ve recently been on a 9-month half-sabbatical (day-job 2 days; own project 3 days) to develop a software idea of my own. I’ve been working on a new, better, spreadsheet application.</p>
<p>This is the story of how I got on.<br />
<span id="more-404"></span></p>
<p>So I’d better explain…</p>
<h3>What I was actually trying to do.</h3>
<p>I’m not a very heavy spreadsheet user in my day-to-day work, but I use Microsoft Excel at work from time to time. Anyway, it right royally annoys the tits off me every time I use it. Some specific frustrations:</p>
<ul>
<li>It’s difficult to keep visual styles consistent. When I copy and paste cells around, I find I have to fix up borders and background colours. In fact, it seems I spend half my time fixing up the formatting.</li>
<li>Formulae are error-prone. When making changes to a formula, it’s easy to make a change in one place, and forget to apply it to all the other places the formula is used.</li>
<li>Formulae are hard to understand and the ‘language’ they’re written in is horrible. For example, what does “<code>F$3+E483*7</code>” mean?</li>
</ul>
<p>There are lots of minor annoyances too—why, for example, does Microsoft Excel disallow you from opening two files with the same name? It’s 2010 fer crying out loud!—but it’s the big annoyances that prompted me to start to think: <em>In an ideal world, h</em><em>ow </em>should<em> spreadsheet applications work?</em></p>
<p>I’d been chewing over some of these ideas, on and off, for the best part of a decade.</p>
<h4>The problem</h4>
<p>My fundamental problem with Excel (and those of its ilk) is that all it gives you to work with is a big, flat grid of cells. The user—you—is obliged to impose some kind of meaning upon these cells. The ‘meaning’ is implicit in how the cells are used and how they’re formatted. Therefore it is incumbent on the <em>user</em> to apply formatting to each cell individually, and to copy formulae around all over the place.</p>
<p>I remember reading a factoid once, along the lines of, 30% of all business spreadsheets contain errors. (Perhaps the percentage is higher.) The way spreadsheet applications work nowadays it’s <em>easy</em> to create spreadsheets which contains faults. And which look hideously ugly.</p>
<p>The spreadsheet application does not know the shape of your data; it does not distinguish headers from cell data; it doesn’t know that <em>this</em> cell’s value is litres, while <em>this</em> one is miles-per-gallon.</p>
<p>When you want to add a new column to your data table you have to copy all the formatting and cells yourself, because the spreadsheet application doesn’t know that you intended to shade every other column yellow—or data rows should have a white background, but total rows should be coloured blue. If you try to add <em>x</em> litres to <em>y</em> miles-per-gallon, it will happily let you, with nary a warning. If your sum row at the bottom of your table doesn’t include the first and last values in each column, the application cannot flag it up as a mistake… because it might not be a mistake.</p>
<p><strong>The idea</strong></p>
<p>So my idea was to take an entirely different approach to spreadsheets. Instead of presenting the user with an infinite grid of anonymous cells, onto which the <em>user</em> projects meaning, the application would instead allow the user to <em>explicitly</em> construct tables, naming rows and columns, and denoting certain parts of each table as ‘repeated elements’ (like a column for each week) and others as ‘distinct’.</p>
<p>New columns and rows in such tables would inherit the correct formatting automatically, and a formula which says ‘sum(all of the weeks)’ would automatically stay up to date, no matter how many new columns or rows are added.</p>
<p>No longer are there just ‘cells’: there are <em>data cells</em>, and <em>column headers</em>, and <em>calculations</em>—and the application knows which is which because it has been told.</p>
<p>Because the application knows the structure of your data,</p>
<ol>
<li>you don’t need to repeat yourself, brainlessly applying the same borders to all the cells, <strong><em>and</em></strong></li>
<li>the program can prevent certain kinds of mistake (mistakes such as omitting values from totals, or summing the wrong column or copy-and-pasting a formula wrongly).</li>
</ol>
<p>In addition, because the program knows what is data, and what are labels, and what are totals, it becomes possible for it to apply visual styles automatically which look halfway decent. Spreadsheets which you create in a hurry need no longer look like a confusing jumble of numbers.</p>
<h4>Sounds like a big project?</h4>
<p>Yeah, turns out it is!</p>
<p>Naturally, in addition to figuring out how the thing fundamentally should work, I would have to consider how to make it easy to pick up and use. (Nobody reads instruction manuals any more.) Also, Microsoft pretty much control the market for spreadsheets, so persuading people to use a new, different one is going to be tricky (to say the least).</p>
<p>I decided to concentrate on the core ideas. I didn’t know how far I would get, really, but hoped to have something which was minimally useful by the end of my 9 months.</p>
<h3>How did I get on?</h3>
<p>To cut to the chase: 9 months on I have a kind of proof-of-concept, (though very much a proof-of-concept; nothing usable).</p>
<p>I didn’t get as far as I wished (a usable product), but I did develop some interesting ideas.</p>
<p><strong>May–June</strong>: Worked on an initial idea of how tables might fit together, and how the user might drag table axes around to rearrange them. The idea was that each table would be composed of ‘slabs’ of data cells and labels and totals. I came up with a demo which let you drag axes around. It looked quite impressive, but unfortunately the underlying model just wasn’t practical. So I put that aside and…</p>
<p><strong>June–August</strong>: Worked on a language for spreadsheet formulae. I learned a great deal about parsing and type inference, and all sorts of things that I’m sure you’re not terribly interested in. It was like going back to University. I realised by the end of August that this could easily eat up all of my time and I still wouldn’t have something ‘interesting’ to show to people, so…</p>
<p><strong>September–Jan</strong>: Back to the table model again. This time I had a mechanism which seemed to work, so I worked on a demo which would allow the user to build up tables from rows and columns, group rows/cols together, repeat them, navigate with the keyboard and the mouse, and enter data. Still no calculation ability, but it does demonstrate some of the basic ideas.</p>
<p>If nothing else, the last 9 months has crystallised in my mind broadly how the damn thing should work. My brain is bursting with ideas of how to develop it further.</p>
<h3>Where next</h3>
<p>So I have created a rough proof-of-concept, and I’m back to full-time employment. Where should I take it from here?</p>
<p>My plan (for the time being at least) is to spend the next year working on it in my spare time. Even as a demo I think it could benefit from:</p>
<ul>
<li>Being able to do calculations. I mean, that’s pretty fundamental for a spreadsheet application, the calculation bit. There’s no getting round that, really. However, I’d keep it really simple at this stage, enough to do simple arithmetic, summations and averages, probably. The point is to show off how my scheme makes formulae easier to write, easier to understand and less error-prone.</li>
<li>Making it look prettier. That sounds really trivial, but I think it’s important for 2 reasons:
<ol>
<li>If a bit of computer software looks awkward, clumsy and ugly, people assume that it’s difficult to use. I want to see if people can genuinely use this, so I have to make it more approachable.</li>
<li>I want people to look at it and see the potential, not concentrate on the fact that it looks like a really rough demo!</li>
</ol>
</li>
</ul>
<p>Then what? Maybe I’ll manage to get a bit more time off from my wonderful employers. Maybe the magical Open Source pixies will help me work on it. Maybe Google will give me 3 million dollars to finish it.</p>
<p>Currently my most practical plan for completing it rather hinges on my winning the lottery, which, given that I don’t play the lottery is quite a long shot.</p>
<h3>Summary</h3>
<p>I didn’t get as much done as I’d initially hoped, but then I didn’t know how long it would take.</p>
<p>I’ve explored the concept, and I want to work more on it. I think it has potential. From this angle alone, it’s been a worthwhile endeavour.</p>
<p>I’ve learned a lot about managing myself. Also, from working 3 days a week on my own project for 9 months, I’ve really grown as a programmer, as well as gained experience of a few interesting technologies (listed below if you really care about that sort of thing).</p>
<p>If anything more comes of it, or I have something to show on YouTube, or something you can actually download and play with, I will of course let you know.</p>
<p>Thanks for reading.</p>
<h4>Thanks too…</h4>
<p>…to everybody who’s asked about it and listened to me while I perfected my elevator pitch for the product.</p>
<p>…those of you who’ve sent me examples of spreadsheets. They’ve been really useful to see what people <em>actually</em> do with Excel. I’m still collecting spreadsheets, actually, if you have any you could send me.</p>
<p>…to my very flexible employers, Cygnet Solutions.</p>
<p>…to my fine project manager for the last 3 months, Miss KB.</p>
<h3>Additionally, if you’re interested</h3>
<p>I wrote it in a (relatively new) language called Scala, using the SWT windowing toolkit (both of which turned out to be fine choices). Started off using Netbeans as the IDE, then recently migrated to IntelliJ, once IntelliJ went Open Source. (And I much prefer IntelliJ—it’s fantastic.) Using git for version control, Trac for bug/feature tracking and Maven as the build tool. Lovely.</p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2010/02/03/what-i-did-on-my-holidays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>District 9</title>
		<link>http://dysphoria.net/2009/09/06/district-9/</link>
		<comments>http://dysphoria.net/2009/09/06/district-9/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 17:29:18 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=352</guid>
		<description><![CDATA[ Very well-made little film. Dissolves into a fire-fight/action-movie at the end, but very worth watching.
Notably, the effects (aliens, space-ship) are handled very naturalistically. You forget that they’re effects. (All the ‘prawn’ aliens were CGI, apparently, except the dead ones being dissected in the lab.)
Some of the characters seemed less than convincing, especially a couple [...]]]></description>
			<content:encoded><![CDATA[<p><img class="l" title="“District 9” (2009) movie poster" src="/images/reviews/district-9-2009.jpg" alt="“District 9” (2009) movie poster" width="94" height="139" /> Very well-made little film. Dissolves into a fire-fight/action-movie at the end, but very worth watching.</p>
<p>Notably, the effects (aliens, space-ship) are handled very naturalistically. You forget that they’re effects. (All the ‘prawn’ aliens were CGI, apparently, except the dead ones being dissected in the lab.)</p>
<p>Some of the characters seemed less than convincing, especially a couple of the vox-pop talking heads which top and tail the movie. I think it’s particularly noticeable because most of the performances are very natural, particularly newcomer Sharlto Copley as lead Wikus van de Merwe. I also wasn’t terribly convinced by the violently insane mercenary Koobus (David James). He seemed awfully one-dimensional. Yeah, and some of the dialogue seems a little stilted (though apparently it was largely improvised…)</p>
<p>Also, they could have ditched the subtitles when the Nigerians are speaking English. Their accents are pretty heavy, but the subtitles are kind of patronising.</p>
<p>Something about the movie I felt was a little off. Perhaps I didn’t <em>quite</em> buy the conspiracies of the Nasty Corporation. Maybe it seemed strange that the aliens had all that futuristic weaponry and had never used it to gain power for themselves (or else had more of it confiscated). Or that the fuel for the spaceship was also some kind of biological/genetic agent.</p>
<p>These seem mean charges to level at a scifi movie, but this one sets itself up with such a high degree of verisimilitude and down-to-earth-ness, that the slightly less-real-seeming elements really stand out.</p>
<p>I enjoyed it, anyway. And it was thought-provoking. I wouldn’t <a title="District 9 (2009) on rottentomatoes.com" href="http://uk.rottentomatoes.com/m/district_9/">rate it at 89%</a>, but very worth watching.</p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2009/09/06/district-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moon</title>
		<link>http://dysphoria.net/2009/07/30/moon/</link>
		<comments>http://dysphoria.net/2009/07/30/moon/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 20:12:49 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=304</guid>
		<description><![CDATA[ I wanted to applaud this film when the credits rolled at the end because it’s so intelligent, and self-contained and well-made and… elegant. Like a clever little short-story of a film which fired off all sorts of ideas in my head when I left the theatre.
Too many other reviewers have tried to make strained [...]]]></description>
			<content:encoded><![CDATA[<p><img class="l" title="“Moon” (2009) movie poster" src="/images/reviews/moon-2009.jpg" alt="“Moon” (2009) movie poster" width="94" height="139" /> I wanted to applaud this film when the credits rolled at the end because it’s so intelligent, and self-contained and well-made and… elegant. Like a clever little short-story of a film which fired off all sorts of ideas in my head when I left the theatre.</p>
<p>Too many other reviewers have tried to make strained David-Bowie connections when discussing it. Instead I will make a strained Douglas-Adams connection:</p>
<p><a href="/2005/05/09/hitchhikers-guide-to-the-galaxy/">The last time I saw Sam Rockwell in a film</a>; in this one he has two heads too (and four arms).</p>
<p>He plays (rather well), two of himself. As you might have already gathered from the trailer, the story is that he’s working alone on an isolated Moon base, suffers an accident and wakes up to find that there’s two of him. And then, not wanting to give the plot away, Stuff Happens.</p>
<p>I really don’t want to give the plot away. I mean, it’s not like <cite>The Mousetrap</cite> or anything, but it’s quite a clever little story, and worth watching in ignorance, I feel.</p>
<p>Kevin Spacey voices the Moon-base computer, Gerty. It almost seems like he’s trying to copy HAL’s intonation from <cite>2001: A Space Odyssey</cite>, and there’s the camera-eye with the expressive iris, and Kevin Spacey does ‘unsettling’ quite well, and Gerty’s always going on about how his only desire is to keep Sam safe… so I’m spoiling nothing by telling you that Gerty is entirely benign. (It’s exactly the old Bishop gambit: why the android in <cite>Aliens</cite> turns out to not a murderous psychopath like you were expecting.) You’ll like the computer. I did. Makes you feel good about Tomorrow’s artificial brains. Some of them are actually quite decent sorts.</p>
<p>Sam Rockwell (playing a character also called Sam, Sam Bell), is fantastic. The two Sams are nicely distinguished and—odd as this may sound—play off each other very well. They play table tennis at one point, which is a bit show-offy of the special effects people but for most of the film, (and this is saying a lot), I didn’t really think about the effects trickery and just enjoyed the performance(s).</p>
<p>The desolate landscape of the Moon is beautiful, (though, due to the almost exclusive use of miniatures rather than CGI, the vehicles look a little like they came out of a Gerry Anderson show—probably CGI dust and dirt would have looked more to scale).</p>
<p>In fact, my only real criticism of the film is the pacing towards the end. They seem to zip back and forth across the lunar landscape awfully quickly. Could have slowed the pace a bit. Also, as <a href="http://www.telegraph.co.uk/culture/culturecritics/timrobey/5843485/Moon-review.html">another reviewer mentions</a>, the script introduces a Scary Countdown Timer at the end “because we need one dramatically, not because the driving idea has made it urgent or inevitable”.</p>
<p>Also, there <em>are</em> a couple of plot holes, but the whole package is so well executed that I didn’t really mind them.</p>
<p>All in all, I’d give it a 9/10.</p>
<p><small>Incidentally, When I was leaving the cinema, they must have been playing the trailer for the film on the screens in the lobby, so the music over the credits seemed to follow me out of the cinema. Very strange sensation. Rather appropriate to the film, actually.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2009/07/30/moon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terminator Salvation</title>
		<link>http://dysphoria.net/2009/06/29/terminator-salvation/</link>
		<comments>http://dysphoria.net/2009/06/29/terminator-salvation/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 23:04:11 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=268</guid>
		<description><![CDATA[ Disappointing. But go see it if you can sucessfully lower your expectations and smirk at the awful plot holes.
In a way this is a dreadful, dreadful movie. But in another way, composed as it is from the scavenged flesh of previous Terminator movies (and WWII action movies) laid over a mechanical script, and executed [...]]]></description>
			<content:encoded><![CDATA[<p><img class="l" title="“Terminator Salvation” (2009) movie poster" src="/images/reviews/terminator-salvation-2009.jpg" alt="“Terminator Salvation” (2009) movie poster" width="94" height="139" /> Disappointing. But go see it if you can sucessfully lower your expectations and smirk at the awful plot holes.</p>
<p>In a way this is a dreadful, dreadful movie. But in another way, composed as it is from the scavenged flesh of previous Terminator movies (and WWII action movies) laid over a mechanical script, and executed by soulless, unstoppable actors, it’s quite impressive to watch from an (emotional) distance.</p>
<p>The biggest question this movie raised for me was: how come Terminator robots are so rubbish at fighting? Their basic martial arts technique is throwing people into stuff. To some extent that <em>can</em> work, in that: if you throw Michael Baen/Christian Bale into <em>enough</em> filing cabinets/walls/windows, you will eventually wear them down, but if you were a huge, mechanical Arnold Schwartzenegger with superhuman strength, why not just take the easy route and crush their puny human heads, or rip their arms off. (The one in <em>this</em> movie even grabs the gun from the hands of a human at one point and <em>chucks the gun away</em>, before proceding to throw the human against more metal cabinets. Arnie in the first movie was smarter than that.)</p>
<p>The first <em>movie</em> was smarter than this one. Much smarter. It had a kind of gritty realism which made the outrageous premise (time-travelling killer robot from the future) credible. This movie is big and dumb and the woeful script is plainly just there to give an excuse for the explosions and the robots. (And the exploding robots, and the robots causing explosions.)</p>
<p>High points: visually it looks quite tasty. The post-apocalyptic wasteland looks lovely and cold and desaturated. In fact the whole film is art-directed to within an inch of its life.</p>
<p>Also, Sam Worthington, as the half-man-half-Terminator—(He has a metal endoskeleton, and a controlling microchip which appears to a) do fuck-all, and b) be embedded conveniently near enough the surface of his neck than he can just pull it out at an importantly emotional moment before saving the day)—is generally very watchable. He does proper acting and things, and his disbelief and inner conflict are all very believable.</p>
<p>Oh, and John Connor’s doctor girlfriend is very pretty. (<em>Very</em> pretty. Kind of a weird eye thing going on, but that’s quite endearing.) Anton Yeltsin is alright as a young Karl Reiss. Bale, as Connor, is, adequate. Spends all his time grumping.</p>
<p>Like I said, though, my main problem with the film is that it’s complete nonsense. There’s no logical, believable thread through it to make you care about the exploding robots. It feels like stitched-together other films. Very post-apocalypic-zombie-movie near the start, with Terminators that look like reanimated metal corpses; scenes and shots which appear to have been lifted wholesale from other movies in the franchise: the motorcycle/truck chase; the melting-the-robot-then-freezing-it-routine; the climactic fight in the factory. All the explosions and helecopters make it look like umpteen Vietnam movies. When Worthington first appears, reborn as a Terminator, he’s covered in mud and screaming, either like a newly-born Urak Hai in <cite>Lord of The Rings</cite>, or that guy in <cite>Apocalypse Now</cite>. Ho hum.</p>
<p>Then there’s the constant prompting the audience via clunky lines in the script. “Prepare medical team, stat. By the way: it’s John Connor.” Pish. The gurrilla resistance all seem like clichés, barking some orders, and bravely defying other orders, and, for some reason, amazingly well equipped and all looking like be-stubbled male models, as they cluster round their radios in a selection of apocalyptic international locations.</p>
<p>All in all, it’s what you should expect from the 4th film in a blockbuster Holywood franchise. Written by a committee, directed by a moron, and probably focus-grouped to within an inch of any remaining artistic life.</p>
<p>It was quite <em>fun</em> to watch a digitally-recreated naked Arnold Schwartzenegger throw Christian Bale into metal cabinets, but really it made me want to go back and watch the original <cite>The Terminator</cite> again. For all that that film’s effects don’t really stand up terribly well nowadays, it manages a wonderfully sustained tension, brilliant performances and a thoroughly engaging emotional core that <cite>Terminator Salvation</cite> doesn’t come near. The terminators in <cite>Salvation</cite> are just not as terrifying.</p>
<p>(Oh, and how much of a bastard is John Connor for accepting that donation at the end?!)</p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2009/06/29/terminator-salvation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hindley-Milner type inference in Scala</title>
		<link>http://dysphoria.net/2009/06/28/hindley-milner-type-inference-in-scala/</link>
		<comments>http://dysphoria.net/2009/06/28/hindley-milner-type-inference-in-scala/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 16:54:31 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Everything else]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=246</guid>
		<description><![CDATA[I’m working on a spreadsheet application at the moment. (Very exciting.) Part of the implementation obviously includes an expression language (so you can write things like total = sum(numbers) or vat = price × 17.5%).
Part of the design is to disallow things like "text" ÷ 11 or apples + oranges, and for that I need [...]]]></description>
			<content:encoded><![CDATA[<p>I’m working on a spreadsheet application at the moment. (Very exciting.) Part of the implementation obviously includes an expression language (so you can write things like <code>total = sum(numbers)</code> or <code>vat = price × 17.5%</code>).</p>
<p>Part of the design is to <em>disallow</em> things like <code>"text" ÷ 11</code> or <code>apples + oranges</code>, and for that I need a type system.</p>
<p>So I’m investigating type systems, and rules for inferring types, and I’m looking at the algorithm they call <a href="http://en.wikipedia.org/wiki/Type_inference">Hindley-Milner type inference</a>. I found an <a href="http://web.archive.org/web/20050911123640/http://www.cs.berkeley.edu/~nikitab/courses/cs263/hm.html">implementation</a> of the algorithm in Perl by Nikita Borisov. This was in turn based on a Modula-2 implementation described in a paper by Luca Cardelli, <a href="http://lucacardelli.name/Papers/BasicTypechecking.pdf"><cite>Basic Polymorphic Typechecking</cite></a> (1987/’88). Given that I read maths only very painfully and slowly, it’s a very clear and readable paper.</p>
<p>I have reimplemented the algorithm in Scala (the language I’m using for my application).</p>
<p>Because Scala is itself a statically-typed language, some of the logic becomes clearer than the Perl version (for example, it is obvious where type variables are expected as opposed to type terms). Scala is also somewhat syntactically lighter than Perl, and a <em>lot</em> lighter and more expressive than Modula-2, so you may find it easier to read too.</p>
<p>The essential algorithm is elegant: given an expression in the form of an abstract syntax tree (AST), it recursively creates a tree of types in the expression, inserting placeholder ‘type variables’ for all the unknowns. It then ‘unifies’ sub-types, for example, ensuring that a function call’s result type is the same as the function definition’s result type. The final unification creates the most general type tree possible which accurately captures the expression type. The final unification may include still-unbound type variables, which would indicate that the expression is polymorphic in these type variables.</p>
<p><a href="/code/hindley-milner/HindleyMilner.scala">My code</a> is available for download in the hope that others find it as useful as I found Luca Cardelli’s paper and Nikita Borisov’s Perl implementation:</p>
<blockquote><p><a href="/code/hindley-milner/HindleyMilner.scala">http://dysphoria.net/code/hindley-milner/HindleyMilner.scala</a></p></blockquote>
<p>You can run it as a script to see it analyse some example expressions: <code>scala HindleyMilner.scala</code></p>
<p><em><strong>Note:</strong> I believe that there was a mistake in the original Perl code; when unifying two variables, it tried to ensure that generic type variables were always bound to non-generic ones, not the other way about. This was in order to satisfy the requirement “In unifying a non-generic variable to a term, all the type variables contained in that term become non-generic.” However, it does not matter the order in which they are bound. Once the ‘bindee’ is further bound to a term, they both become bound to the same term. The original code omitted a call to <code>prune</code> in the method <code>occursintype</code> which (I believe) lead to a fault, for which the mistaken ‘fix’ was added.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2009/06/28/hindley-milner-type-inference-in-scala/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Watchmen</title>
		<link>http://dysphoria.net/2009/03/07/watchmen/</link>
		<comments>http://dysphoria.net/2009/03/07/watchmen/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 21:44:23 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=196</guid>
		<description><![CDATA[Ooh, fantastic movie. I loved the book, and I loved the film. One of the few that I’d go to see again. It&#8217;s increadibly rich in detail and nuance.
It’s also a superhero movie—and a relatively stylised one—which is far more grounded and relevant than the supposed crop of gritty, rebooted things like The Dark Knight. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="l" title="“Watchmen” (2009) movie poster" src="/images/reviews/watchmen-2009.jpg" alt="“Watchmen” (2009) movie poster" width="94" height="139" />Ooh, fantastic movie. I loved the book, and I loved the film. One of the few that I’d go to see again. It&#8217;s increadibly rich in detail and nuance.</p>
<p>It’s also a superhero movie—and a relatively stylised one—which is far more grounded and relevant than the supposed crop of gritty, rebooted things like <cite>The Dark Knight</cite>. Which is nice.</p>
<p>It ‘works’ in the way that the best fantasies work: it takes an outrageous premise (an alternate 1985 in which Nixon is president, superheros are real, including a man who has been turned into a superman by a nuclear accident), and tells an interesting story.</p>
<p>They have changed one thing from the book: the giant squid at the end is, er, something else in the movie. But it works. (It actually makes a little more sense than the monster in the book, I think.) And thematically, historically and in terms of character, it’s all very faithful to the novel, which is astonishing in itself.</p>
<p>The soundtrack is very 1980s, and rather enjoyable. (<cite>Ride of The Valkyries</cite> in the Vietnam War sequence is kinda odd—at least to me who hadn’t seen <cite>Apocalypse Now</cite>.) Richard Nixon was a little less than convincing-looking too. But there’s not much I can criticise it for.</p>
<p>3 thumbs up</p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2009/03/07/watchmen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cyborg Beetles Take To The Skies</title>
		<link>http://dysphoria.net/2009/03/02/cyborg-beetles-take-to-the-skies/</link>
		<comments>http://dysphoria.net/2009/03/02/cyborg-beetles-take-to-the-skies/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 10:02:26 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Bizarreness]]></category>
		<category><![CDATA[Scientific progress]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=190</guid>
		<description><![CDATA[Have you ever wanted your own army of implacable cyborg beetles?
Oh, come on, you know you have.
Wouldn’t it be great to take a beetle (a), attach a microcontroller (d) with electrodes (e) attached to the beetle’s nervous system and muscles, then control it via wifi (b).
American researchers have apparently created a prototype beetleborg and had [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted your own army of implacable cyborg beetles?</p>
<p>Oh, come on, you know you have.</p>
<p>Wouldn’t it be great to take a beetle (a), attach a microcontroller (d) with electrodes (e) attached to the beetle’s nervous system and muscles, then control it via wifi (b).</p>
<p><a href="http://techon.nikkeibp.co.jp/english/NEWS_EN/20090128/164717/"><img class="alignleft size-full wp-image-191" title="How The Robobeetle Works" src="/wordpress/../images/2009/03/z1_small.jpg" alt="How The Robobeetle Works" width="200" height="193" /></a>American researchers have apparently <a title="US University Shows Radio-controlled Live Beetle" href="http://techon.nikkeibp.co.jp/english/NEWS_EN/20090128/164717/">created a prototype beetleborg</a> and had the poor godless bastard creature fly across a room under the radio control of its maniacal, scheming human masters.</p>
<p>They built it out of a rhinocerous beetle, since they presumably happened to have one lying around. And because rhinocerous beetles are very strong for their size and have scary big horns. (Apparently they are also clean and make good pets too.)</p>
<p>Practical uses for the remote-control zombie insects include surveillance, finding people trapped under rubble and Egyptology.</p>
<p>I like to think that future models could be equipped with enhanced titanium horns which could be used to free hostages and cut telephone cables.</p>
<p>Anyway, this one scores a ‘9’ on my Meddling With Nature-ometer. Impressive, potentially useful, and fucking creepy.</p>
<p>I leave you with this fun fact about rhinocerous beetles from Wikipedia:</p>
<blockquote><p><a href="http://en.wikipedia.org/wiki/Rhinoceros_beetle">Rhinoceros beetles</a> are also the strongest animals on the planet in relation to their own size. They can lift up to 850 times their own weight. To put this into perspective, if a human of average height and weight had the strength of the rhinoceros beetle, he would likely be able to lift a 65 ton object (e.g. an <a title="M1 Abrams" href="http://en.wikipedia.org/wiki/M1_Abrams">M1 Abrams</a> tank).</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2009/03/02/cyborg-beetles-take-to-the-skies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Madagascar: Escape 2 Africa</title>
		<link>http://dysphoria.net/2009/01/03/madagascar-escape-2-africa/</link>
		<comments>http://dysphoria.net/2009/01/03/madagascar-escape-2-africa/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 21:04:42 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=178</guid>
		<description><![CDATA[ Ah yes. It is a truism that no man is an island. Unless his name is Madagascar.
This is a funny little film. Very funny. Rather strange. Ultimately entertaining (and a little bit exasperating).
I didn’t like the original Madagascar much. I just didn’t get whether the characters were supposed to be animals-as-metaphors-for-humans (in which case [...]]]></description>
			<content:encoded><![CDATA[<p><img class="l" title="“Madagascar: Escape 2 Africa” (2008) movie poster" src="/images/reviews/madagascar-escape-2-africa-2008.jpg" alt="“Madagascar: Escape 2 Africa” (2008) movie poster" width="94" height="139" /> Ah yes. It is a truism that no man is an island. Unless his name is Madagascar.</p>
<p>This is a funny little film. Very funny. Rather strange. Ultimately entertaining (and a little bit exasperating).</p>
<p><a href="/2005/12/04/madagascar/">I didn’t like the original <cite class="movie">Madagascar</cite> much</a>. I just didn’t get whether the characters were supposed to be animals-as-metaphors-for-humans (in which case they spent too much time trying to eat each other for my liking), or ‘real’ animals with human voices (in which case why the hell did the lion <em>not</em> eat the zebra a lot earlier?).</p>
<p>This just abandons all notion of realism or actual animal behaviour. It’s all just completely bizarre. All of the characters basically exist to set up the gags. Fortunately it’s really, really funny, in a completely stupid way.<span id="more-178"></span></p>
<p>Likes:</p>
<h3>The penguins</h3>
<p>Ah! Wonderful. They were the best bit about the first film anyway. In this one, they’re just completely unhinged, manic, yet insanely competent aeronautical engineers. (They build a hellicopter at the end, ferchristssake!) Having no opposable thumbs (“Damn you, Darwin!”), they relegate most of their construction to:</p>
<h3>The monkeys</h3>
<p>Ah! Again, characters which are funny just to look at. (One of them wears a shirt front and bow-tie, the other a top hat.) And they make comments about throwing poo.</p>
<p>(Yes, it turns out that I have the sense of humour of a 7-year-old.)</p>
<h3>Other stuff (like the main characters)</h3>
<p>Another wierd one: the giraffe is in love with the hippo. …The film doesn’t really take that one to its final conclusion, but I like to think they have little boy-giraffe and girl-hippo children, as per cartoon convention.</p>
<p>All of the zebras in Africa turn out to be exact clones of the zebra Marty (same character model, and same voice, Chris Rock; only their stripes differ, (plus Marty has green irises in his eyes)). Marty’s story arc goes something a little like this:</p>
<ol>
<li>He meets the other zebras and is very happy because they are exactly like him. They enjoy running around together.</li>
<li>He discovers that they can do everything that he can do, and this makes him sad.</li>
<li>His friends can’t tell him apart from the other zebras (unsurprising because they look, sound and behave identically). This makes him sad.</li>
<li>Incongruously, just to prove the Power of Friendship, or some crap, Alex the lion suddenly acquires the ability to pick Marty out of a crowd of 10000 other zebras. This isn’t explained, rationised or bloody anything, except inasmuch as You Always Recognise Your Friends (even when they’re standing amongst 9999 clones, who are all milling around and chattering). This is probably supposed to be an important moral lesson, though I must admit that I didn’t get it. Maybe it was just supposed to be strange.</li>
</ol>
<p>Oh, and Alex has this whole Lion King plot, where he finds his father in Africa, who is the king, but he’s deposed by Scar (or, ‘Makunga’) and the river dries up and… Clever alusion, or a blatent, tongue-in-cheek ‘look what we can get away with’? You decide.</p>
<h3>King Julien &amp; Maurice</h3>
<p>Julien (Sasha Baron Cohen) sounds like Robin Williams doing a strange Pakistani accent… but it kind of works. He’s oddly, manically, funny (the same could be said about the rest of the movie).</p>
<h3>So…</h3>
<p>This may come across more as rambling than reviewing, but then the film rambles rather than telling a story.</p>
<p>Fortunately the gags are good. It made me laugh out loud. Especially the monkeys. And the <cite>A Team</cite> reference.</p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2009/01/03/madagascar-escape-2-africa/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Matter of Loaf And Death</title>
		<link>http://dysphoria.net/2008/12/30/a-matter-of-loaf-and-death/</link>
		<comments>http://dysphoria.net/2008/12/30/a-matter-of-loaf-and-death/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 20:56:00 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://dysphoria.net/?p=162</guid>
		<description><![CDATA[ Ah, yes, Wallace &#38; Grommit, possibly the best dog-and-human comedy act since… ever.
This new one (a cereal killer is slicing up bakers just when Wallace &#38; Grommit open their bakery, Top Bun), is well done. Not quite as flawless as The Wrong Trousers or The Curse of The Ware-Rabbit, but very funny.
It’s a little [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/reviews/matter-of-life-and-death-2008.jpg" width="200" height="145" class="l" alt="“A Matter of Life And Death” (2008) movie poster" title="“A Matter of Life And Death” (2008) movie poster" /> Ah, yes, Wallace &amp; Grommit, possibly the best dog-and-human comedy act since… ever.</p>
<p>This new one (a cereal killer is slicing up bakers just when Wallace &amp; Grommit open their bakery, Top Bun), is well done. Not quite as flawless as <cite class="movie">The Wrong Trousers</cite> or <a href="http://dysphoria.net/2005/12/04/wallace-gromit-in-the-curse-of-the-were-rabbit/"><cite class="movie">The Curse of The Ware-Rabbit</cite></a>, but very funny.</p>
<p>It’s a little rushed is the only thing. While <cite class="movie">The Wrong Trousers</cite> managed to fit an entire B-Movie into half an hour, perfectly executed, and <cite class="movie">The Curse of The Ware-Rabbit</cite> successfully filled a feature-length 90 minutes (well, 85), without feeling flabby, this one feels slightly rushed, and a little unfinished.</p>
<p>What would be lovely would be if Aardman extended it into a full-length feature. It doesn’t need too much more story, but with more time they could build up a bit more tension, flesh out Wallace’s infatuation with Piella,  reveal her villainy more gradually, and give us a proper coda at the end.</p>
<p>God, I’m a moany git. It is still, a lovely, lovely film and you should watch it, forthwith.</p>
]]></content:encoded>
			<wfw:commentRss>http://dysphoria.net/2008/12/30/a-matter-of-loaf-and-death/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
