<?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>matt.west.co.tt</title>
	<atom:link href="http://matt.west.co.tt/feed/" rel="self" type="application/rss+xml" />
	<link>http://matt.west.co.tt</link>
	<description>adventures of a retro electro media hacker type person</description>
	<lastBuildDate>Mon, 14 Dec 2009 19:10:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JSSpeccy v20091121</title>
		<link>http://matt.west.co.tt/spectrum/jsspeccy-20091121/</link>
		<comments>http://matt.west.co.tt/spectrum/jsspeccy-20091121/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 23:12:29 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[JSSpeccy]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=139</guid>
		<description><![CDATA[Yesterday&#8217;s Full Frontal javascript conference turned out to be the ideal setting to compare notes with Ben Firshman of JSNES fame on the finer points of implementing emulators in Javascript &#8211; so this new release of JSSpeccy is the natural consequence of that. I&#8217;ve put in an optimisation which might possibly be a speed boost [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday&#8217;s <a href="http://2009.full-frontal.org/">Full Frontal javascript conference</a> turned out to be the ideal setting to compare notes with Ben Firshman of <a href="http://benfirshman.com/projects/jsnes/">JSNES</a> fame on the finer points of implementing emulators in Javascript &#8211; so this new release of JSSpeccy is the natural consequence of that. I&#8217;ve put in an optimisation which might possibly be a speed boost on Chrome (only writing bytes to ImageData when absolutely <em>absolutely</em> necessary), and the much-needed ability to load your own snapshot files, using the little-known getAsBinary method on file upload objects. (Unfortunately Firefox 3.5 is the only browser which supports it right now, but it looks like it may be in the process of getting the official W3C blessing right now.) And since I was on a roll, on the train back I implemented tape loading traps and the ability to load .TAP files (again, only on Firefox 3.5). Wahey!</p>
<ul>
<li><a href="http://jsspeccy.zxdemo.org/">Play online</a></li>
<li><a href="http://jsspeccy.zxdemo.org/jsspeccy-20091121.zip">Download JSSpeccy v20091121</a> (680Kb)</li>
<li><a href="http://svn.matt.west.co.tt/svn/jsspec/">JSSpeccy subversion repository</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/spectrum/jsspeccy-20091121/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>@speccynews &#8211; ZX Spectrum news on Twitter</title>
		<link>http://matt.west.co.tt/spectrum/speccynews/</link>
		<comments>http://matt.west.co.tt/spectrum/speccynews/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 19:03:51 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=136</guid>
		<description><![CDATA[Recognising that there was a gap to be filled in news reporting for the ZX Spectrum community (since other commitments have pulled icabod away from regularly updating raww.org, and other contributors &#8211; myself included &#8211; have not exactly rushed in with the same fervour), I&#8217;ve set up the Speccynews Twitter account.
The idea is that it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Recognising that there was a gap to be filled in news reporting for the ZX Spectrum community (since other commitments have pulled icabod away from regularly updating <a href="http://raww.org/">raww.org</a>, and other contributors &#8211; myself included &#8211; have not exactly rushed in with the same fervour), I&#8217;ve set up the <a href="http://twitter.com/speccynews"><strong>Speccynews Twitter account</strong></a>.</p>
<p>The idea is that it&#8217;s a lower-maintenance way of keeping on top of developments in the Speccy world, as something that can be updated on the spot as and when you encounter a story, with no obligation (indeed, no way at all) to write a long erudite commentary on every news story. Following an encouraging call for volunteers on <a href="http://www.worldofspectrum.org/forums/">WOS forums</a>, I set the service up through <a href="http://cotweet.com/">CoTweet</a>, and it&#8217;s been running successfully for a couple of weeks now. More contributors would be very welcome, especially non-UK people who can share their perspective of those wonderful developments in Spain, Russia, Poland, the Czech Republic and elsewhere which are being overlooked by the English-speaking crowd. Drop me an email / tweet with your email address if you&#8217;re interested, and I&#8217;ll send a CoTweet invite in your direction. No previous Twitter experience necessary!</p>
<p>(And, of course, all feedback and story submissions will be gratefully received via Twitter itself &#8211; tweet them to @speccynews.)</p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/spectrum/speccynews/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Midibeep</title>
		<link>http://matt.west.co.tt/music/midibeep/</link>
		<comments>http://matt.west.co.tt/music/midibeep/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 00:11:52 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=130</guid>
		<description><![CDATA[Last week I posted possibly the most tedious Basic type-in listing ever to World Of Spectrum:

(continues for approx 1500 more lines)
Anyone typing it in in its entirety would be rewarded with this:
Download midibeep_minute_waltz.mp3
Not bad for an evening&#8217;s work. Mind you, I did take an ever so teeny shortcut, by writing a Ruby program to convert [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I posted possibly <a href="http://www.worldofspectrum.org/forums/showthread.php?t=27028">the most tedious Basic type-in listing ever</a> to <a href="http://www.worldofspectrum.org/forums/">World Of Spectrum</a>:</p>
<p><img src="http://matt.west.co.tt/images/beep.png" width="320" height="240" alt="5 BEEP 0.212765, 20; 10 BEEP 0.106383,19..." /><br />
<em>(continues for approx 1500 more lines)</em></p>
<p>Anyone typing it in in its entirety would be rewarded with this:</p>
<p><a href="http://www.zxdemo.org/gasman/music/midibeep_minute_waltz.mp3">Download midibeep_minute_waltz.mp3</a></p>
<p>Not bad for an evening&#8217;s work. Mind you, I did take an ever so teeny shortcut, by writing a Ruby program to convert a MIDI file to BEEP format. (Any .mid file will do, although ones with a single instrument will survive the rather primitive selective-note-butchering process better. Oh, and anything much longer than this one will exceed the 48K Spectrum memory&#8230;) And now you can try it out too:</p>
<ul>
<li><a href="http://github.com/gasman/midibeep/">Midibeep source/downloads at Github</a></li>
<li><a href="http://www.zxdemo.org/extra/src/Mid2BEEP.zip">Midibeep Windows build</a> (thanks to Karl McNeil)</li>
<li><a href="http://www.zxdemo.org/gasman/music/chopin.tap">Minute Waltz (TAP, 38K)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/midibeep/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
<enclosure url="http://www.zxdemo.org/gasman/music/midibeep_minute_waltz.mp3" length="1780424" type="audio/mpeg" />
		</item>
		<item>
		<title>JSSpeccy v20090929 (Don&#8217;t-Mess-With-Geeks Edition)</title>
		<link>http://matt.west.co.tt/spectrum/jsspeccy-20090929/</link>
		<comments>http://matt.west.co.tt/spectrum/jsspeccy-20090929/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 00:21:19 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[JSSpeccy]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=127</guid>
		<description><![CDATA[I wasn&#8217;t really planning on developing JSSpeccy further, because I didn&#8217;t consider it a serious project with a future. However, it turns out that someone else did. Enough to rip it off wholesale and pass it off as their own work on the iPhone app store for £1.29 a pop, no less. Yes, thanks to [...]]]></description>
			<content:encoded><![CDATA[<p>I wasn&#8217;t really planning on developing JSSpeccy further, because I didn&#8217;t consider it a serious project with a future. However, it turns out that someone else <em>did</em>. Enough to rip it off wholesale and pass it off as their own work on the iPhone app store for £1.29 a pop, no less. Yes, thanks to <a href="http://jorallan.livejournal.com/9645.html">the detective work of Phil Kendall</a> we now know that ZXGamer, the much heralded Spectrum emulator for the iPhone, was nothing more than JSSpeccy with a fancy title screen tacked on. (Which of course is a blatant violation of the GPL, and being pure Javascript, would explain why it ran at less than the speed of a real Spectrum on a 600 MHz device, and why it was overwhelmingly rated at one out of five stars. Epic fail.) It&#8217;s been pulled from the app store now &#8211; so while ZXGamer is gradually disappearing from the internet, it&#8217;s time to redress the balance a bit.</p>
<p><a href="http://jsspeccy.zxdemo.org/">A new version of JSSpeccy is out</a>. It doesn&#8217;t run at full speed on an iPhone either (although it positively speeds along on recent versions of Safari on real computers), but it does boast the following changes:</p>
<ul>
<li><strong>GPL v3 licenced</strong>, with prominent notices to make it clear that playing silly buggers like the above will not be tolerated (even if they do include source&#8230;)</li>
<li><strong>A bit of speed optimisation</strong> (about 15% faster maybe)</li>
<li><strong>A pimped-up user interface</strong> with shiny icons</li>
<li>And most relevantly, <strong>entirely controllable via iPhone / iPod Touch touchscreen</strong>. In principle. (If you&#8217;re expecting an immersive gaming experience, you&#8217;ll be disappointed.)</li>
</ul>
<p>So there you go &#8211; probably the best Spectrum emulator for the iPhone ever. And it&#8217;s free.</p>
<ul>
<li><a href="http://jsspeccy.zxdemo.org/">Play online</a></li>
<li><a href="http://jsspeccy.zxdemo.org/jsspeccy-20090929.zip">Download, inc source</a> (674Kb)</li>
<li><a href="http://svn.matt.west.co.tt/svn/jsspec/">JSSpeccy Subversion repository</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/spectrum/jsspeccy-20090929/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spectrumori-on</title>
		<link>http://matt.west.co.tt/music/spectrumori-on/</link>
		<comments>http://matt.west.co.tt/music/spectrumori-on/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 23:09:40 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=121</guid>
		<description><![CDATA[This 1K intro for the Spectrum (which received 3rd place in the oldskool demo competition at Sundown 2009) was inspired by Bill Bailey. No, really. His current live show features a spot on the Yamaha Tenori-on, which through the medium of &#8220;getting someone in the audience to splurge their hand on it&#8221;, he demonstrates that [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://matt.west.co.tt/images/spectrumorion_small.png" alt="" width="200" height="149" style="border: 5px solid #ccc; margin-left: 12px; float: right;" />This 1K intro for the Spectrum (which received 3rd place in the oldskool demo competition at <a href="http://www.sundowndemoparty.org/">Sundown 2009</a>) was inspired by Bill Bailey. No, really. His current live show features a spot on the Yamaha <a href="http://www.global.yamaha.com/design/tenori-on/">Tenori-on</a>, which through the medium of &#8220;getting someone in the audience to splurge their hand on it&#8221;, he demonstrates that it can&#8217;t fail to play something nice.</p>
<p>This makes it a good excuse for some experimentation with generative music. The secret is in the scale &#8211; it&#8217;s equivalent to playing only the black notes on a piano, and presumably has roots in oriental music (I previously rediscovered it while working on <a href="http://matt.west.co.tt/music/haiku/">Haiku</a>). To make it into something like a proper demo, rather than just a throwaway routine, I added a bit of subtle progression <a href="http://pouet.net/prod.php?which=11946">Cyberpunks Unity style</a>, so it drifts in and out of randomness as the graphical effects change. It even has a proper ending&#8230;</p>
<p>In recent months Yerzmyey has been pushing for the revival of the 16K Speccy as a platform, so I&#8217;m pleased to announce that this demo is &#8211; so we believe &#8211; the third ever demo to run on it.</p>
<ul>
<li><a href="http://www.zxdemo.org/f/200909/spectrumori-on_POSTPARTY.zip">Download Spectrumori-on</a> (TAP, 4Kb)</li>
<li><a href="http://pouet.net/prod.php?which=53831">Spectrumori-on on Pouet</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/spectrumori-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sleeper &#8211; mapping European night trains</title>
		<link>http://matt.west.co.tt/ruby/sleeper/</link>
		<comments>http://matt.west.co.tt/ruby/sleeper/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 21:24:06 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=118</guid>
		<description><![CDATA[ It&#8217;s now been 10 months and 10 demo parties since I last saw the inside of an airport (with plenty more to come over the next couple of months&#8230; parties that is, not airports), and for any eco-conscious European traveller like me, knowing which sleeper trains to catch is the key to happy travels. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sleeper.demozoo.org/"><img src="http://matt.west.co.tt/images/sleeper.jpg" width="250" height="201" alt="" style="float: left; padding-right: 8px;" /></a> It&#8217;s now been 10 months and 10 demo parties since I last saw the inside of an airport (with plenty more to come over the next couple of months&#8230; parties that is, not airports), and for any eco-conscious European traveller like me, knowing which sleeper trains to catch is the key to happy travels. So, it&#8217;s a bit of a shame that there&#8217;s no single website you can go to to find out the best sleeper train to get to European Destination X. Sure, <a href="http://www.seat61.com/">Seat 61</a> is a fantastic resource for finding out how to get to your country of choice, but you can never be sure whether you&#8217;d get better results by heading just across the border, or tweaking your journey times slightly&#8230;</p>
<p>So, in a classic case of building a website to scratch a personal itch, and not wanting to let niggly licencing issues get in the way of a cool idea&#8230; <strong><a href="http://sleeper.demozoo.org/">Sleeper</a></strong> is my new website aimed at searching and mapping the European sleeper train network in its entirety. It&#8217;s been put together with <a href="http://www.ruby-lang.org/">Ruby</a>, <a href="http://www.rubyonrails.org/">Rails</a> (gosh, that&#8217;s rather apt isn&#8217;t it&#8230;), <a href="http://geokit.rubyforge.org/">Geokit</a>, Google Maps, <a href="http://wiki.github.com/why/hpricot">Hpricot</a> and my own freshly open-sourced <a href="http://github.com/gasman/bahn/">Bahn</a> library for snarfing data from <a href="http://www.bahn.de/">Deutsche Bahn</a>&#8217;s website, and hopefully it can give you a fuller picture than ever before of what actually exists in the wonderful world of sleeper trains. Right now it stops short of providing one overall definitive map of the network (it would probably crash your browser if I tried plotting it on Google Maps), but that&#8217;s on the todo list.</p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/ruby/sleeper/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ode To Claire / Snakebite</title>
		<link>http://matt.west.co.tt/music/ode-to-claire-snakebite/</link>
		<comments>http://matt.west.co.tt/music/ode-to-claire-snakebite/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 20:17:25 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=117</guid>
		<description><![CDATA[A couple of fast-made Spectrum releases for last month&#8217;s most excellent ]]></description>
			<content:encoded><![CDATA[<p>A couple of fast-made Spectrum releases for last month&#8217;s most excellent <a href=http://www.outlinedemoparty.nl/">Outline</a> demo party. <strong>Ode To Claire</strong> is a curious little 128 byte intro, using a trick I&#8217;ve been wanting to try out for ages. It&#8217;s not exactly a fast-paced action extravaganza, but it does fit 150-odd characters of avant-garde poetry, the printing routine, and a demo effect into 128 bytes of code. Working out how is an exercise for the reader (and I&#8217;m quite interested to know whether the secret is immediately obvious to anyone who&#8217;s at all familiar with the Spectrum&#8230;)</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/3LSzKeh-6sQ&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3LSzKeh-6sQ&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<ul>
<li><a href="http://www.zxdemo.org/f/200905/ode_to_claire.zip">Download Ode To Claire</a></li>
<li><a href="http://pouet.net/prod.php?which=53180">Ode To Claire on Pouet</a></li>
</ul>
<p>On the musical front, <strong>Snakebite</strong> is a chiptune with a middle-eastern vibe, modelled after every Turkish Eurovision entry ever. It got third place in the competition, and originally they weren&#8217;t going to give out a third prize, but they had some spare food left over on the Saturday night, so I won a jar of sausages. <em>Best. Prize. Ever.</em></p>
<p><a href="http://music.matt.west.co.tt/speccy/gasman_-_snakebite.mp3">Download gasman_-_snakebite.mp3</a></p>
<ul>
<li><a href="http://music.matt.west.co.tt/speccy/gasman_-_snakebite.mp3">Download Snakebite &#8211; MP3 (2.5Mb)</li>
<li><a href="http://music.matt.west.co.tt/speccy/gasman_-_snakebite.stc">Download Snakebite &#8211; STC (5.1Kb)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/ode-to-claire-snakebite/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://music.matt.west.co.tt/speccy/gasman_-_snakebite.mp3" length="2604390" type="audio/mpeg" />
		</item>
		<item>
		<title>Goldfinch: an open software stack for mass storage on the Spectrum</title>
		<link>http://matt.west.co.tt/spectrum/goldfinch/</link>
		<comments>http://matt.west.co.tt/spectrum/goldfinch/#comments</comments>
		<pubDate>Fri, 29 May 2009 00:42:50 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=116</guid>
		<description><![CDATA[Yep, another pet project of mine to compete with all the others I&#8217;ve started. But hey, if I didn&#8217;t get distracted by things like this I&#8217;d just get distracted by Youtube and sudoku instead&#8230;
Goldfinch1 is an attempt at remedying the &#8220;walled garden&#8221; syndrome in the world of ZX Spectrum mass storage &#8211; there are plenty [...]]]></description>
			<content:encoded><![CDATA[<p>Yep, another pet project of mine to compete with all the others I&#8217;ve started. But hey, if I didn&#8217;t get distracted by things like this I&#8217;d just get distracted by Youtube and sudoku instead&#8230;</p>
<p><a href="http://github.com/gasman/goldfinch/tree/master"><b>Goldfinch</b></a><sup>1</sup> is an attempt at remedying the &#8220;walled garden&#8221; syndrome in the world of ZX Spectrum mass storage &#8211; there are plenty of software projects doing exciting things with IDE and CompactFlash and ethernet on the Speccy, on top of multiple competing hardware interfaces, and for one reason or another they end up having &#8216;baggage&#8217; that prevents the casual tinkerer from properly harnessing that existing work for their own stuff &#8211; so writing a program that reads &#8217;some file&#8217; off &#8217;some disk&#8217; is a bigger deal than it ought to be. The reasons for this might be technical (the disk access code is too tightly coupled to a Basic extension, or an emulation layer, or something else, and only one person in the world understands the whole package), legal (licencing problems prevent the source code from being released), or the entire project being locked away in perpetual vapourware hell (ahem).<br />
<span id="more-116"></span><br />
So. The initial goal of the project is to create a set of libraries for C and Z80, in <a href="http://www.z88dk.org/">z88dk</a> library format (because z88dk is the one project on the scene that solves the issue of code re-use), for accessing mass storage systems in a natural, device-independent way, at whatever level of abstraction is appropriate. It&#8217;s in a ridiculously early stage right now, but this is the sort of thing we&#8217;re talking about:</p>
<pre>#include &lt;stdio.h&gt;
#include "include/divide.h"
#include "include/block_device.h"

int main() {
  unsigned char buffer[512];
  unsigned int x,y;
  BLOCK_DEVICE *device;

  /* Open the block device for the DivIDE master drive */
  device = divide_open_drive(DIVIDE_DRIVE_MASTER);
  /* Read block number 0 from it */
  read_block(device, (void *)buffer, 0L);

  for (y = 0; y &lt; 256; y += 16) {
    for (x = 0; x &lt; 16; x++) {
      printf("%02x ", buffer[y|x]);
    }
    printf("\n");
  }

  return 0;
}</pre>
<p>Here we&#8217;re opening the attached DivIDE disk as a block_device, and reading and dumping the first sector from it. But beyond the first line, the same bit of code could equally work on a ZXCF-attached disk, or a .TRD image on a FAT16 filesystem, or an .MGT image that&#8217;s just been streamed over Spectranet&#8230; as all of those things will implement the block_device API. And likewise, there&#8217;ll be a standard API for accessing files, so that C programmers can do the familiar fopen() stuff without worrying about the underlying filesystem.</p>
<p>As for what this means for the end user &#8211; hopefully, by supporting all of these technologies (DivIDE, ZXCF, TRD, FAT&#8230;) through common standard mechanisms, we&#8217;ll get away from the situation where Fatware is &#8220;the DivIDE firmware that reads TAP files off FAT with a pretty menu&#8221; and ResiDOS is &#8220;the DivIDE+ / ZXCF / (your interface here) firmware with Basic extensions to read and write to FAT&#8221;, and into a bright new future where all of those capabilities will operate together, rather than having every lone genius reinventing their own bits of the wheel.</p>
<p>&#8230;And with a bit of luck, we&#8217;ll generally lower the barrier towards doing Interesting Things with mass storage on the Speccy, and end up with all sorts of applications that not even I&#8217;ve thought of yet. (I have my own ideas about how to take this further with dynamically loaded modules and things which kind of segue into a whole new operating system for the Spectrum, but let&#8217;s not get ahead of ourselves here.)</p>
<p><sup>1</sup> Not a particularly meaningful name, just that <a href="http://matt.west.co.tt/stuff/wi-fi-is-grate/">there was one in my garden</a> on the day I happened to name the project.</p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/spectrum/goldfinch/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>We&#8217;re independent, honest</title>
		<link>http://matt.west.co.tt/rants/independent-honest/</link>
		<comments>http://matt.west.co.tt/rants/independent-honest/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 18:37:01 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=114</guid>
		<description><![CDATA[McDonald&#8217;s courts long-term jobless
Spokesman for Leeds Metropolitan University on the radio: &#8220;Macdonalds paid us to perform an independent study&#8230;&#8221;
Bollocks they did.
If you were paid for it, it&#8217;s not independent. Getting money for something is the exact definition of &#8220;dependent&#8221;. Call it impartial, unbiased or neutral if you like. It might even be true. But &#8220;independent&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.google.com/hostednews/ukpress/article/ALeqM5jz_4RBZgRL-7bznvCe9oz9_lPuUQ">McDonald&#8217;s courts long-term jobless</a></p>
<p>Spokesman for Leeds Metropolitan University on the radio: &#8220;Macdonalds paid us to perform an independent study&#8230;&#8221;</p>
<p>Bollocks they did.</p>
<p>If you were paid for it, it&#8217;s not independent. Getting money for something is the exact definition of &#8220;dependent&#8221;. Call it impartial, unbiased or neutral if you like. It might even be true. But &#8220;independent&#8221; actually means something real and verifiable that backs up your claim to be impartial. It doesn&#8217;t mean &#8220;we&#8217;re unbiased because we say so, honest&#8221;, and when you start using the word as a free pass to avoid scrutiny, you go from being possibly biased to actually lying about the fact. Which is not good for your credibility as a research group. <em>Stop polluting our language, you tossers.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/rants/independent-honest/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Deploying a Rails app without a database using Capistrano</title>
		<link>http://matt.west.co.tt/ruby/capistrano-without-a-database/</link>
		<comments>http://matt.west.co.tt/ruby/capistrano-without-a-database/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 16:08:23 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=113</guid>
		<description><![CDATA[So you&#8217;ve got a simple-but-devastatingly-clever Rails app that doesn&#8217;t use a database, you&#8217;ve dutifully added the line to config/environment.rb to disable the ActiveRecord framework, and now you&#8217;re ready to unleash it to the world, using Capistrano for deployment. But when you run &#8216;cap deploy:cold&#8217;, it merrily tries to run database migrations and fails with &#8220;uninitialized [...]]]></description>
			<content:encoded><![CDATA[<p>So you&#8217;ve got a simple-but-devastatingly-clever Rails app that doesn&#8217;t use a database, you&#8217;ve dutifully added the line to config/environment.rb to disable the ActiveRecord framework, and now you&#8217;re ready to unleash it to the world, using Capistrano for deployment. But when you run &#8216;cap deploy:cold&#8217;, it merrily tries to run database migrations and fails with &#8220;uninitialized constant ActiveRecord&#8221;. How do you make Capistrano behave?</p>
<p>A simple question, with a simple answer, but one which is curiously absent from the internet. Googlejuice ahoy!</p>
<p>Stick this at the bottom of config/deploy.rb:</p>
<pre>namespace :deploy do
	desc "Override deploy:cold to NOT run migrations - there's no database"
	task :cold do
		update
		start
	end
end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/ruby/capistrano-without-a-database/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
