<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>https://tdi.online/</id>
	<title>TDI.online: Tech. Games. Music.</title>
	<link href="https://tdi.online/atom.xml" rel="self"/>
	<link href="https://tdi.online/"/>
	<author>
		<name>Gareth Noyce</name>
	</author>
<updated>2026-04-01T00:00:00Z</updated><entry><title>DoMe</title><link href="https://www.tdi.online/2026-04-01-DoMe.html"/><updated>2026-04-01T00:00:00Z</updated><id>https://www.tdi.online/2026-04-01-DoMe.html</id><content type="html"><![CDATA[<p>As a <em>Gentleman of a Certain Vintage</em> I'm long past the point of being able to rely on myself to remember things. And if I'm honest, it's never a skill that I've ever really had, thanks to a predilection toward the Morroccan. I've been using ToDoist quite happily for the last few years and it does the job. It works on the web and my phone, so it's always to hand. But like everything else, they've decided to shoot the price up. 48quid a year always seemed a bit high, but I was happy to throw some coin to a service I liked, and keep them going. But 60 quid? Naaah. Not for my needs.</p>
<p>So. How hard could it be to write a ToDo list app in 2026? Something that could sit on the server in my office, be accessible over my Tailscale, and yet still have the ability to ping my phone when I'm supposed to remember something? Not that hard, as it happens. Especially if you write it like it's 1998.</p>
<h2>The Stack</h2>
<p>The backend is a CGI application written in C -- yes really, I like small fast things -- whose only dependencies are libc and SQLite. It's a <em>mahoosive</em> 108KB.</p>
<p>For the front-end, I've hacked up something in vanilla JavaScript, that I can host simply and easily under an existing Apache server. It connects to the backend via a fixed REST API.</p>
<h3>Why C, again?</h3>
<p>Old man is old. So, partly for lols, partly because the first thing I did on the web was CGI (although that was in Perl, admittedly), and partly because it's a natural fit. Each request is a fresh process, so there's no connection pooling, no memory leaks across requests, and no state management. The process starts, reads the request, queries SQLite, writes JSON to stdout, and exits. I love the simplicity.</p>
<p>SQLite is handling any possible concurrency through WAL mode and immediate transactions, which should be fine for something that's only ever going to be used by me.</p>
<h3>Why CGI?</h3>
<p>Well, for a start, it's funny. But why not? CGI gets a bad reputation for being slow, but &quot;slow&quot; is relative. Each request forks a process and runs my little C binary, which takes a few milliseconds, which is nice and snappy for an app with one user, making a few requests per minute.</p>
<p>And it's simple. The &quot;server&quot; is a static binary that I can poke at, change and test, really easily. Apache handles everything else. There's no daemon to monitor, no port to configure, no &quot;restart&quot; to worry about. No packages changing beneath me.</p>
<h3>The Database</h3>
<p>Nothing clever in this, it's just three tables: Category, Todo, and Reminder. Todos are soft-deleted so they can be recovered. Reminders are linked to Todos, with cascade deletions. The schema uses partial indexes for common queries: active todos, sorted by priority &amp; pending reminders, sorted by time.</p>
<h3>The API</h3>
<p>REST over JSON with Categories and Todos supporting full CRUD. Todos can be filtered by category, done status, overdue, and upcoming. Reminders are managed as sub-resources of Todos.</p>
<h2>The Frontend</h2>
<p>The UI is a single web page that talks with fetch, iterates over the returned data, and makes a bunch of Cards that I lay out with CSS. It's got the usual filters for Active, Pending, Done and Archive, and allows me to add a new Todo, with reminders. Which, if I'm honest, was the most time consuming thing in the whole project. Date &amp; time pickers are still a monumental ballache to layout and get right. Who knew?</p>
<h2>Reminders and Notifications</h2>
<p>Tbh, the real meat-and-potatoes in the whole thing... How in the hell do I get my own self-hosted ToDo list to ping my phone with a reminder? I wouldn't have bothered with ANY of this if there wasn't an easy answer: <a href="ntfy.sh">ntfy.sh</a></p>
<p>ntfy.sh is a pub/sub notification service -- you publish to a topic, and anyone subscribed to that topic receives the message. Yes, atm anyone could be getting my ToDo reminders, but the great thing about ntfy.sh is that it can be self-hosted. And that's currently the top of my DoMe ToDo list.</p>
<p>ntfy.sh Just Works. Does exactly what it says on the tin, and I cannot praise the whole thing enough. 10/10, no notes.</p>
<p>I made another small tool called <code>dome-remind</code> that runs every minute via cron. It queries the database for reminders with a time in the past, then fires each one out as an HTTP POST to ntfy.sh. The notification includes the todo heading, category, and priority level.</p>
<p>There's also a nice little iOS app that lets you subscribe to a topic. Do that, and notifications arrive on your phone, just like any other app. Boom!</p>
<h3>Desktop</h3>
<p>Phone notifications are cool, but I tend to have mine on silent most of the time, so I need something on my laptop. I wrote a tiny little bash script that connects to ntfy.sh's JSON streaming endpoint and calls <code>notify-send</code> -- which seems like the standard Linux way of popping up a notification. The audio side is handled by paplay. I've stuck it in a systemd user service, started at login, that reconnects automatically if the connection drops.</p>
<p>This took me a while to get going, cos it was all new stuff, but the end result was a tiny little script that seems to be working. So far.</p>
<h2>Was it worth it?</h2>
<p>In purely financial terms -- compared to a ToDoist sub -- then possibly not. At least, not if you factor in my day-rate. But... Like the static site builder I wrote to spit out this website (and my company one) it's <em>mine</em>. I can tweak it, fiddle with it, and nudge it toward exactly what I need, whenever I need to. That's got a lot of value. Besides, it was a fun little diversion for a few evenings.</p>
<p>I'd like to add recurring todos and a way to snooze reminders from the notification itself. But for now, it does what I need: a reliable (fingers crossed) to-do list that actually reminds me to do things!</p>
<p>And it's CGI baby! Which makes me smile. A lot. :D</p>
]]></content></entry><entry><title>PXN VD6 Bundle</title><link href="https://www.tdi.online/2026-01-18-PXN-VD6-Bundle.html"/><updated>2026-01-18T00:00:00Z</updated><id>https://www.tdi.online/2026-01-18-PXN-VD6-Bundle.html</id><content type="html"><![CDATA[<p>Back in, oooh, 2010 or so, I thought I’d give that fancy iRacing a go, as one of the coders I worked with at the time was singing its praises. He knew that I was into my racing games. I rinsed Stunt Car Racer, spent fuck knows how many hours on Crammond’s F1 sims, and wasted most of a Uni year, smoking spliffs on the sofa, taking turns at GT1, 2, and Colin McRae’s Rally. But they were all joypad / joystick affairs. iRacing – if I was gonna git gud – needed something a little fancier. So I bought a Logitech G25, second-hand, off eBay. (My first eBay purchase!) I figured, if I didn’t like it, I could always sell the wheel and pedals again. No harm done.</p>
<p>Fast-forward 16 years, to last week, and the trusty G25’s pedals stopped working. Right in the middle of a race. Balls.</p>
<p>16 years is pretty good going for a second-hand, 100quid eBay purchase. I can’t really complain. The battered old thing has been to four countries, survived thousands of hours of my sweaty hands, and taken me to the heady heights of a mid 2k iRating (until a sudden, unexpected collapse, at the tail end of last year…) I’ve thought about upgrading it hundreds of times, but it worked, it was there, and despite me racing at <em>least</em> once a week, I’ve never really been able to justify spunking that much disposable income on a fancy Fanatec setup.</p>
<p>But last week I was in a hole. I couldn’t race, and I needed something – preferably a step-up – that wouldn’t break the bank. And wow, Sim Racing’s even worse than Mountain Biking. You’re gettin’ gouged at every turn. Fortunately, my racing chums fell down the direct-drive, load-cell rabbit hole many moons ago, and know a whole lot more about this than I do, so I was given plenty of decent options to look at. In the end, because it was the cheapest by FAR, I went for the PXN VD6 pedal and wheel bundle.</p>
<p>Obviously, going from a G25 to a proper, direct drive wheel, is like me comparing a plastic pedal car to driving an MX5, But I’m going to do it anyway.</p>
<p>Everyone swore blind that I’d need load-cell pedals, but I’m glad I didn’t go down that route. My office chair is on wheels, so I’m constantly pushing myself backwards as it is… The bundled pedals came with a spring mech that, fortunately, was removable otherwise, I’d need a breeze block behind me… But even without the spring, having something reasonable to push against, with more range, makes a world of difference. Trail braking is a lot easier; I found that I was over rotating the Super Formula Light, something I’d never previously had a habit of doing, and braking in the wet is a different world. Significantly easier to find a good bite point, or roll back from a lock-up.</p>
<p>Direct drive wheels are… worth the money. You can feel the front end go light, which makes it much more obvious when you’re losing traction. They also bite back when you lose the rear, which makes it a lot easier to catch the car. I absolutely smashed my wet weather lap-record, first go out, and by the end my shoulders were actually sore. It’s a work out!</p>
<p>But… It’s definitely not a silver bullet. I wasn’t immediately faster, in all cars, in all conditions, so I’m glad I didn’t throw thousands of pounds at Fanatec. Still, this is a significant upgrade that I’m going to have a hell of a lot of fun with, but the devil’s in the detail. It doesn’t matter how much information you’re suddenly getting to your hands and feet if you’re driving like Miss Daisy. And I’ve got plenty of room to improve…</p>
<p>PXN VD6 bundle: 400 quid well spent / 10</p>
]]></content></entry><entry><title>EH500+</title><link href="https://www.tdi.online/2025-12-04-EH500+.html"/><updated>2025-12-04T00:00:00Z</updated><id>https://www.tdi.online/2025-12-04-EH500+.html</id><content type="html"><![CDATA[<p>Way back in the mists of 2022 I had a little side project called the EH500, a proto-fantasy console that I was idly noodling with. I posted <a href="https://tdi.online/2022-12-20-Embedding-Wren,-pt2.html">about it</a> and my <a href="https://tdi.online/2022-08-11-Embedding-Wren,-pt1.html">adventures</a> with <a href="https://tdi.online/2022-12-20-Embedding-Wren,-pt2.html">Wren</a>, and then promptly forgot to talk about it again.</p>
<p>Well, I &quot;finished&quot; it a good long time ago, but I never used it in anger because, it turned out, I couldn't get on with the lack of a proper debugger once I was in Wren land. Which, er, sorta defeated the point of the entire thing... No disparagement to Wren, it's a lovely thing, but I live in a debugger. More than I (apparently) realised when I started the project. Despite the scripting side being bog simple, it was sand in my pants. A good learning experience, though. And fun, so no harm done.</p>
<p>It's been sat in my archive ever since, like most of my side projects (unless I use them as a mini-game in a Lumo) and then SDL3 came out. Which got me chin-stroking... I know SDL2 very well at this point, having used it in one form or another since the Pygame days. So I figured, what the hell, lets have a noodle. I can dump Wren, build the EH500 as a library and bang against it in C, migrate everything over to SDL3, and while I'm in there, why not give Emscripten a go as well?</p>
<iframe src="/eh500/sinescroll/sinescroll.html" width="768" height="432" style="border: none; display: block; margin: 0 auto;" allowfullscreen></iframe>
<p>So yeah. That's a thing.</p>
<p>Now, what the hell am I going to do with it? :D</p>
]]></content></entry><entry><title>Omarchy Linux</title><link href="https://www.tdi.online/2025-09-13-Omarchy-Linux.html"/><updated>2025-09-13T00:00:00Z</updated><id>https://www.tdi.online/2025-09-13-Omarchy-Linux.html</id><content type="html"><![CDATA[<p>I’ve been using Fedora (KDE Spin, natch) since getting the Framework 13, and it’s been rock solid. I was never a fan of Umbongo’s snap bullshit, and Flatpaks do what they say on the tin, so I’ve been able to get hold of pretty much everything that I’ve ever wanted. No complaints. But I got nerd-sniped... between the eyes.</p>
<p>I listened to <a href="https://www.youtube.com/watch?v=vagyIcmIGOQ">Lex Friedman’s podcast, with DHH, of Ruby On Rails fame</a>. He’s an interesting guy; Amigan, demoscener, and very Scandinavian. I’m sure I’d enjoy chatting to him over a pint. (<strong>EDIT: 22.09.2025</strong> Typical. I post something nice about someone, and they turn out to be a chud. I've just read DHH's <a href="https://world.hey.com/dhh/as-i-remember-london-e7d38e64">London Blog Post</a> and jesus fucking christ. Talk about someone that knows absolutely fucking <em>nothing</em> about London, or what makes it's great. Suffice to say, that pint would turn into a massive drunken argument. <em>Anyway...</em>) Part of the podcast discussed his fall-out with Apple, and how he was moving over to Linux, which I didn’t think much of at the time. We all get there eventually. But a few nights later, the algorithm threw this up: <a href="https://www.youtube.com/watch?v=I5Mnni7cea8">Omarchy Linux</a> And boom. I'm hit! Right between the eyes.</p>
<p>I love a TUI. I know my way around nvim. And I’d always fancied trying out a tiling window manager. Oooh, and the AUR! That'd be nice... And for some reason, it also reminded me of <a href="Crunchbang"><a href="https://crunchbang.org/">https://crunchbang.org/</a></a>, which was <em>brilliant</em>. (I was gutted when that died). So… yeah, guess what? I’ve been running Omarchy for the last couple of weeks.</p>
<p>Fortunately for me, DHH owns a Framework 13, so Omarchy installed in a few minutes with zero problems. No hardware issues, no extra steps. It was obvious from the first boot that it’s <em>extremely</em> opinionated, and very stylised, but so far I’ve only felt the need to change a couple of keyboard shortcuts, remove some of the default apps that I’m never going to use (get to fuck, Spotify), add some of my fav programmer fonts, and install a couple of extra themes. Other than that, it’s fit with my head, pretty much immediately.</p>
<p>I can see why tiling window managers might not be for everyone, but I’m starting to enjoy Hyprland. I’m still not quite used to being unable to hide apps, and I’ve got a few more keyboard short-cuts to memorise, but other than that it’s starting to sink in.</p>
<p>Surprisingly, for an OS that’s “built for developers”, none of the main C/C++ dev tools were installed by default, and there wasn’t an option – like there is for Javascript, Ruby and some other high-level languages – to hit a button and have it all installed from a script. Not the end of the world, when it’s all a quick pacman away, just surprising.</p>
<p>So yeah, initial impressions are extremely good, and I’m really looking forward to see how Omarchy gets refined over the next few years. By the look of the discord, there’s a <em>lot</em> of activity, so I’m excited to have hopped on early. But don't let that put you off, despite being so young, this is ready to go.</p>
<p>Definitely won’t be to everyone’s taste, but if you’re a nerdy coder, you’re probably gonna enjoy it.</p>
]]></content></entry><entry><title>Framework 13 - First Big Upgrade</title><link href="https://www.tdi.online/2025-08-09-Framework-13---First-Upgrade.html"/><updated>2025-08-09T00:00:00Z</updated><id>https://www.tdi.online/2025-08-09-Framework-13---First-Upgrade.html</id><content type="html"><![CDATA[<p>I’ve had my Framework 13 for 2.5 years, and it’s performed like a champ, throughout. I don’t use it every day – I work from home, and have a rig – but it’s done everything I’ve wanted from it when I’m on the road.</p>
<p>But it’s started to pant a bit. Software is as Software does; things get fatter, slower, and more Electron, and lately, it’s not taken all that much to get the fans going. Obviously, the whole point of going with a Framework was to get to this point, wanting to upgrade, but without spending a whole load of coin on a new machine, generating e-waste, or adding to a shelf of Thinkpads. Since I’ve finished a project, and got a new job, I thought I’d treat myself and see if the dream could come true.</p>
<p>My 13 is the original edition, 11th Gen Core i5 with 32Gig of ram, 512gig SSD and glossy display, and in terms of upgrade options, I could go Intel, or AMD. I’ve been rocking AMD processors in my dev rig for years, so that was a no-brainer. I plumped for the Ryzen 7040, with a single 48 Gig DDR5 stick. Slightly annoyingly, I also needed to buy a new Wi-Fi module, but since that was only 20 quid, and 6E, it’s a decent upgrade for the money. And obviously, I couldn’t resist replacing the OG glossy display with the new, 2.8k matte(!) 120khz one, because hey, I’m pulling the machine apart anyway, right? I know… extravagant, but I’m treating myself.</p>
<p>Total cost, including postage and VAT, was a grand, which is absolutely “new laptop” money, but the display was nearly a third of that and not something that I’d expect to replace again anytime soon. Unless I drop the thing.</p>
<p>The upgrade itself was <em>phenomenally</em> easy, apart from the Wi-Fi module. Four screws to pop out the display, similar number for the motherboard. Plug the audio cable back in, the battery, snap the new memory stick in, swap out the wifi module, then dick about for 5 minutes trying to get the world's smallest MHF4 connectors to snap into place. My old-man eyes were very much not up to the job on that one… Total upgrade time; 15 minutes, tops. 10/10, no notes.</p>
<p>The new display is <em>lovely</em>. Can not praise it enough. Colour reproduction is great, viewing angles are on a par with the old one, and the extra refresh rate makes everything feel super solid. And there’re no reflections! Praise the lord! I’ve not done much to give the CPU/GPU a kicking yet, but it’s obvious from the first boot that nothing’s touching the sides. Yet. Can’t comment on battery life, but I’ll report back…</p>
<p>So Framework have done it. They’ve given me a machine that I’ve owned for 2.5 years, and now, upgraded with a few bits that should keep everything going for another 2 or 3 more. I’ve got a motherboard that I can re-purpose, and a display that I’m 100% sure I can bounce on eBay with zero problems.</p>
<p>The dream has come true!</p>
<img src="images/IMG_7777.jpg" onclick="window.open('./images/IMG_7777.jpg', '_blank');"/>
<img src="images/IMG_7778.jpg" onclick="window.open('./images/IMG_7778.jpg', '_blank');"/>
<img src="images/IMG_7779.jpg" onclick="window.open('./images/IMG_7779.jpg', '_blank');"/>
<img src="images/IMG_7780.jpg" onclick="window.open('./images/IMG_7780.jpg', '_blank');"/>
]]></content></entry><entry><title>Canyon eMTB Battery Recall</title><link href="https://www.tdi.online/2025-05-25-Canyon-eMTB-Battery-Recall.html"/><updated>2025-05-25T00:00:00Z</updated><id>https://www.tdi.online/2025-05-25-Canyon-eMTB-Battery-Recall.html</id><content type="html"><![CDATA[<p>I’ve been one of the unlucky people caught up in the Canyon eMTB battery recall. Four models of batteries, used in a selection of their eMTBs, had defective cases that were liable to cracking. Probably not the sorta thing you want in a big-ass battery that’s liable to get wet, or muddy, or muddy and wet.</p>
<p>I tend to ride most weeks, and bar the absolutely shit design of the mounting screws at the top of the battery – which threaded themselves IMMEDIATELY, and have been a liability ever since – I can’t say that I’d noticed anything wrong with my battery. It comes out after every ride, I clean it, and it looked perfectly fine to me. So I had a look on their website. They’d posted close-up photos of the sorts of failures to look out for (micro-cracks along the edges, and especially around the screw mounts) and sure enough, on reeeeally close inspection, I could see some teeny-tiny cracks along the case.</p>
<p>I was pretty lucky. A quick browse around the MTB forums showed some real horror-stories. Batteries with big chunks of plastic missing... It turns out these things could be stupidly brittle. So the advice was, don’t ride, and safely “dispose” of the battery.</p>
<p>I live in South Wales. There aren’t many Canyon dealers in this area, but there is one in Bristol, so I rang them for a chat. They had absolutely no information, apart from that fact that I was the fourth person to call them that day. They had no idea how to safely dispose of a massive eMTB battery, but suggested that it might be possible to do a swap. I’d take my old one in, leave it with them, and pick-up a shiny replacement whenever Canyon were able to ship them out. Fair enough.</p>
<p>A month later, Canyon email again. It’ll be February before replacements might turn-up. Don’t ride, and we’ll sort you out a bit of cash-back for the inconvenience. I called the bike shop, and they’re none-the-wiser, but do say that there’s absolutely nothing they can do with my old battery, as they’ve now got a pile of them out the back that they can’t get rid of. Because, of course, no-one would be willing to ship a crate full of defective 720Whw batteries to Germany. I’m on my own.</p>
<p>It wasn’t too difficult to stay off the bike, initially. I was busy crunching to finish a project, Xmas was coming, and the weekends were easily filled. But by the new year, I was seriously getting the itch. I’d not ridden in the better part of three months. The winter was mild, and the trails were looking lovely and soft. So I did what any self-respecting person would do, and carefully covered all the teeny-tiny cracks, and possible weak areas, with Duct Tape. Water’s not getting through that! Bits of plastic aren’t going to suddenly fall off. And if I was able to pierce the battery, well, I’d have fallen off something so hard and so far, that an unstoppable fire would likely be the least of my problems. And I’ve been riding it ever since.</p>
<p>And I’m glad I did because February came and went, and it wasn’t until the end of March that I got another update from Canyon; a replacement was scheduled for May, and instead of a direct replacement 720Whw battery, I’d be getting a 900Whw one.</p>
<p>It arrived yesterday, and it’s sat behind me, happily charging away.</p>
<p>This entire thing has been a ball ache, for all concerned. Especially Canyon. It must have cost them an absolute fortune, and at points, it’s been obvious how much of a struggle it has been for them. Their website has constantly creaked and flaked as rapidly put together forms and questionnaires were added and then promptly refused to work in Firefox. They’ve not been entirely responsive to emails. And let's be honest, it’s taken a very, very, very long time to get to the end of this story. But…</p>
<p>When I’ve side-stepped the problems, and phoned them, I’ve always got through to a real person. Even at the weekend. No bullshit. Things got sorted. They didn’t have to give me any cash, and they certainly didn’t have to upgrade my battery when they replaced it. But they’ve done what they can to do right by those of us who were affected.</p>
<p>I know, that shouldn’t be praise-worthy, but in 2025 my expectations for dealing with any company are so low, that I’m genuinely surprised when I encounter ones that give a modicum of a shit.</p>
<p>Honestly, I dread to think how much this has ended up costing Canyon. It can’t have been cheap, monetarily, but the risk to their reputation has been enormous, and this is the sort of thing that I could imagine folding many places.</p>
<p>So I want to go on record: Canyon have sorted me out. I would happily buy from them again. I know, that even if the shit were to hit the fan, I wouldn’t be left with a useless bike. I’ve got confidence in their customer service, having dealt with them online and verbally. And under the worst of situations, they’re skilled enough to navigate through to a reasonable conclusion. Even if it takes half a year.</p>
<p>Credit where its due, imo. And I hope Canyon have given their suppliers an almighty slap in the nut-sack.</p>
]]></content></entry><entry><title>Self Host The Things - Redux</title><link href="https://www.tdi.online/2025-03-07-Self-Host-The-Things---Redux.html"/><updated>2025-03-07T00:00:00Z</updated><id>https://www.tdi.online/2025-03-07-Self-Host-The-Things---Redux.html</id><content type="html"><![CDATA[<p>Eagle-eyed readers might have noticed that my websites fell off the internet, a few weeks back. Turns out, this was for a couple of reasons: the death of my Firebat, and my ISP making some changes.</p>
<h3>Ogi</h3>
<p>I love Ogi, they’re easily the best ISP that I’ve ever had. My fat-pipe has been rock solid from the day it was installed, so I wasn’t too bothered when they emailed to say there might be some outage, due to work in my area. In the end, there wasn’t, but I noticed that my IP changed. No biggy?</p>
<p>What I hadn’t noticed was that I was now being port-filtered. That took a little while to work out, and tbh, I probably wouldn’t have noticed at all, if it wasn’t for the fact that the Firebat died the same week. I couldn’t get the new server to actually serve web pages, which lead me down the rabbit hole…</p>
<p>So, I phoned Ogi, and this is why I rate them so much: I got through to a human being. I didn’t have to go through a script, I literally just said: “Hey, I know you’ve made some changes around my area, but I think you’ve just started port-filtering me. Is there any chance you could stop that? Or just open a few ports for me?”</p>
<p>A quick share of some details later, and Mr Ogi support said that he thinks I may be right, they have moved me onto a different subnet, it probably is being filtered, and sure, he can ask engineering if they could move me back out. Entire call, less than two minutes.</p>
<p>A couple of days later, my IP changed, and sure enough, no more port filtering!</p>
<p>I mean, I shouldn’t be so impressed by this. It should be the baseline for <em>any</em> interaction with a company, especially one that provides an important service, but here we are, in 2025 this feels like some sort of magic.</p>
<p>Diolch, Ogi!</p>
<h3>Bye Bye Firebat</h3>
<p>We now have the answer to the question, “how long does a sub £100 mini-computer from AliExpress last?” Approximately one year.</p>
<p>To be fair to it, I think the SSD died, not anything serious, but I couldn’t be bothered to pull it apart and check. Instead, I ordered a custom build mini-PC from PC Specialist, which I’ve finally had time to configure. It’s a lovely little thing, that’s way over spec, but should last me for a good long while.</p>
<p>I’ve also made some modifications to my setup.</p>
<p>Instead of Nextcloud, I’ve moved to SyncThing, which I highly recommend. Lightweight, does what it says on the tin, and dead simple to configure.</p>
<p>Instead of backing up the new server to B2, I grabbed the lifetime 5TB offer from RSync.net, and I’m pushing Perforce, Git (and my various builds) up there, instead. It’s extremely fast, and I like the fact that I have two different off-site solutions – the NAS still backs up to B2 – for my work and music related backup needs.</p>
<p>And, because I’m an avid listener of Linux podcasts, I thought I’d give Tailscale a try. Honestly, I didn’t think I’d get much out of this, but Magic DNS is worth the price (free!) of entry. It’s super convenient, and it’s already been genuinely handy to ping the NAS, and my DevRig, from anywhere. I’ll probably get a few more people to use this, as it’d make it trivial to share builds or, ahem, “other backups”, to chums.</p>
<p>A fun few days of nerdery has been had.</p>
]]></content></entry><entry><title>RMC - The Cave</title><link href="https://www.tdi.online/2024-12-22-RMC---The-Cave.html"/><updated>2024-12-22T00:00:00Z</updated><id>https://www.tdi.online/2024-12-22-RMC---The-Cave.html</id><content type="html"><![CDATA[<p>I’m not entirely sure when I first stumbled upon Neil Thomas’ YouTube channel, but I do remember it becoming essential watching during Covid, as he and the team slowly started building out Cave 4.0</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/_hEG7T3a0oU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>If you’ve not watched the RMC channel, it’s a curious mix of restorations, developer interviews, and tech nostalgia, but unlike most others that I’ve flicked through, Neil’s attention to detail, and research, is borderline OCD. In a good way. Well worth a like and subscribe.</p>
<p>His book, <a href="https://www.tdi.online/2021-03-21-RetroTeaBreaksVol1.html">Retro Tea Breaks</a>, is one of the best collections of game developer interviews that I’ve ever read, for a couple of reasons: He’s not interviewing the same old faces from the speaking circuit, and the amount of research he’s done is clearly evident from the questions he asks. None of that surface-level, Retro Gamer Magazine guff that you’ve read a million times before… far closer to the sort of questions I’d ask those people, if I happened to be sat around a table with them. And given the games industry is basically shit at talking about itself, that’s important work.</p>
<p>So yeah, I’ve wanted to visit the cave for several years, but spookily, I ended up with a personal reason to make the visit. Ian Ford, who ported Cecconoid to the Amiga, has not only featured in one of the RMC legends interviews, but also worked with Neil to put out a vinyl of some of his music. They’re friends, so when Neil came across an Arcadia Arcade cabinet – Mastertronic’s folly to make an arcade machine out of an Amiga 500 – Ian jumped at the chance to port Cecconoid across to it. And I wasn’t going to pass up an opportunity to play that, was I?</p>
<img src="images/Cave2.JPEG" onclick="window.open('./images/Cave2.JPEG', '_blank');"/>
<p>And I’m so glad I went. One thing the videos don’t do justice to is the size of the Cave. It’s a lot bigger than I expected. It’s also immaculate. Every machine you can think of is powered on, with a lovely CRT, or age appropriate monitor, and has been modded with SD cards so you can flick through an entire library of games. Andrew’s Immortal Joysticks are everywhere, begging to be played. The staff are lovely. There’s cups of tea and choccie biccies. Plenty of seats. Good acoustics. Clean loos.</p>
<p>It’s <em>impressive</em>.</p>
<p>There’s so much stuff in there that it’s difficult to get across in words, and pictures barely do it justice. It’s just so much better than I expected, and far better than any other “museum&quot; that I’ve been to. Don’t get me wrong, the National Videogame Museum, in Sheffield, is alright. There’s plenty of stuff in there, but it’s sterile in that “big museum” kinda way. There’re a lot of tatty machines behind glass. Too much of the hands-on stuff requires a service. But that’s still better than the National Museum of Computing, which is, in my opinion, a fucking disgrace (at least when I went there). Sure, it’s got the Bombe. It’s close to Bletchley Park. But really, the best they could do was the fucking <em>classroom</em>? (Which, when I went there, wasn’t even powered on…)</p>
<p>The Cave embarrasses both of them.</p>
<img src="images/Cave1.JPEG" onclick="window.open('./images/Cave1.JPEG', '_blank');"/>
<p>So I’m starting a position. The Cave should have national museum status. It’s an absolute treasure, run by a team that are doing the Lord’s work, containing an encyclopedic collection of magazines, games, and machines in perfect working order, begging to be played. <strong>And</strong> it’s got the world’s only Cecconoid arcade machine. A very rare thing, indeed.</p>
<p>(I put 1.2 million on it, in case you’re wondering.)</p>
]]></content></entry><entry><title>Y Sawna...</title><link href="https://www.tdi.online/2024-10-11-Y-Sawna....html"/><updated>2024-10-11T00:00:00Z</updated><id>https://www.tdi.online/2024-10-11-Y-Sawna....html</id><content type="html"><![CDATA[<p>At the end of the first month in Finland, I was invited to a birthday party thrown for my partner’s grandfather. I’d not met any of her wider family, so it was a good way to meet a load of people and break the ice. Nice venue, nice food, and everyone was keen to put a name to a face. A couple of hours in, mid-afternoon, it was time for the Sauna. I’d had a few before, but mostly at people’s houses, post-pub, this was my first at the lake, on a sunny day, in one of the larger wood burning public ones, of which there are many. Dudes go first – yeah, I know – and Ladies take the second slot. What I wasn’t expecting, as I walked out bollock naked, was for the female side of the family to be sat at the edge of the lake supping their Lonkeros… If you’re going to meet someone’s granny, well, doing it with your nob out is one way…</p>
<p>You rapidly get over the Anglo obsession about nudity when you live in Europe. More so when you live in a country where Sauna is life. In the Sauna, everyone is equal. I’ve Sauna’d with people I’d never expect to bump into, day to day. Talked shit, shared war stories, and drank many a Jaloviina. Every office of note has a Sauna. And so did all my apartments.</p>
<p>If you’ve not experienced it, it’s a little hard to explain. It’s not a steam room. It’s 80-90 degrees, occasionally more. When you pour water over the stones, the steam – löyly – hits you in waves. It can burn. It can sting. And then it subsides, and you bask in the heat. When you’re hot, you jump in a lake, regardless of the weather, and have a paddle to cool down. In the winter, this means walking 20 or 30m (in sub-zero temperatures) to jump (or in my case “ease”) in to water that’s hovering around the 1 or 2 degree mark. My first few attempts, I’ll admit, were pretty short-lived. I doggy-paddled for a few seconds and then bounced the fuck out as quickly as my numb hands and feet would let me. <em>And then I felt amazing</em>.</p>
<p>There’s nothing quite like standing outside in sub-zero temperatures (-28 is my personal best) in nothing but a towel, supping a beer, as the lake water evaporates off you. And then you go back in and do it all over again. Four or five trips. An hour or more with your homies. And a hell of a kick to the system.</p>
<p>I sleep like a baby, every time.</p>
<p>You’d expect this to be a winter thing, but summer Saunas are even better. They can last half the day. There’re floating Saunas, poodling around the lakes, that you can hop on and off. There are Saunas by everyone’s cabin. It’s <em>a thing</em>.</p>
<p>And fuck, I miss it.</p>
<p>I’ve tried every Sauna I’ve been near since I’ve come back to the UK. The first, a proper Finnish Barrel Sauna had a sign on the front saying “50’s Plenty”. 50’s no where fucking near plenty, I promise you. It’s not even warm. We once found one in Cumbria, that advertised itself as the “authentic Finnish experience”, and they wouldn’t let you pour water on the stones, which er, makes it a warm box, not an authentic Finnish Sauna! Basically, I’d given up ever having a proper Sauna over here, despite my Fiancée’s valiant attempts at finding me one.</p>
<p>And then she struck gold. Y Sawna, a Finnish Barrel Sauna, run by a local company that parks-up at the top of the Blorenge – the hill we live directly under! – every Sunday.</p>
<p>We went last week and I was quietly hopeful. I’d heard good things. <em>And. It. Was. Perfect.</em> 80 degrees (good enough), wood burning and with a bucket full of water by the stones. It was properly spikey once I’d given it a few scoops of water. Sting the tops of your ears hot. As it should be. I was glowing for hours after.</p>
<p>At 12 quid per 30-minute block it’s not exactly what I’d call cheap, and for context, all you could eat was 5e in Tampere, but beggars can’t be choosers, and I have been begging for a long old time.</p>
<p>So that’s my Sunday ritual for the winter. Hallelujah! (And what a stroke of luck!)</p>
<p><a href="https://www.hutbuilder.co.uk/y-sawna">Y Sawna</a></p>
<img src="images/ysawna.jpg" onclick="window.open('./images/ysawna.jpg', '_blank');"/>
]]></content></entry><entry><title>BIR Curry At Home</title><link href="https://www.tdi.online/2024-09-23-BIR-Curry-At-Home.html"/><updated>2024-09-23T00:00:00Z</updated><id>https://www.tdi.online/2024-09-23-BIR-Curry-At-Home.html</id><content type="html"><![CDATA[<p>It should surprise no one when I say that I love a curry. Indian food, in general, if I’m honest. Just the smell of those spices gets my mouth watering. When we lived in Cumbria, we rented a house 50m away from an Indian restaurant, and every Friday, we had a takeaway. It was bliss. Wales has been a little more sketchy, and I miss that place a lot. Abergavenny isn’t blessed with the quality of Indian Restaurant that, say, Carmarthen is. A constant frustration.</p>
<p>I’ve been cooking curry since University. I’ve lost count of how many “award-winning” books I’ve bought, borrowed or rifled through, and while I’m sure they’re all amazingly authentic dishes, they’re not the same. British Indian Restaurant curry is its own thing. And a good one is King of the food.</p>
<p>We were discussing this down the pub, a few weeks back, and someone pointed me at <a href="https://www.mistyricardo.com/indian-restaurant-curry-at-home-books/">Misty Ricardo’s</a> books. So I grabbed the first one.</p>
<p>It. Is. Brilliant.</p>
<p>It walks through the basics, discusses which utensils, pots and pans are best, discusses spice fundamentals, and the various components takeaways prepare in advance, and how to make them yourself. All super simple stuff, concisely explained, with a load of useful tips, and if you check out the website, each recipe has a demonstration video. So, the last few weeks I’ve been stocking up on spices, making mix powder, and a massive vat of base gravy that I’ve been using to work my way through the various curries. Starting with a Madras. Natch.</p>
<p>The results have been, undoubtedly, the best curries that I’ve ever made, and far and away the closest I’ve got to the BIR style curries that I’ve been aiming for.</p>
<p>If you like curry, and you don’t mind a few hours of prep (that base sauce can take a while), then I can heartily recommend getting these books. They’re life changing.</p>
<img src="images/bir.png" onclick="window.open('./images/bir.png', '_blank');"/>
]]></content></entry><entry><title>All Software Is Shit - Updating a Shimano EP8</title><link href="https://www.tdi.online/2024-07-29-Software-Is-Shit---Updating-a-Shimano-EP8.html"/><updated>2024-07-29T00:00:00Z</updated><id>https://www.tdi.online/2024-07-29-Software-Is-Shit---Updating-a-Shimano-EP8.html</id><content type="html"><![CDATA[<p>I thought I'd flash the motor in my EMTB, over the weekend, after a chum sold me on some of the new features. Easy enough, right? There's an app. Push a button, bingo bongo. Except, I'm forgetting... All Software Is Shit.</p>
<p>While I don't know the exact implementation -- I don't have the source -- here's what appears to happen:</p>
<ol>
<li>The mobile app downloads the firmware update</li>
<li>This is written to the motor as it downloads</li>
<li>The bike isn't blocked from going into stand-by</li>
<li>When it goes into stand-by, it drops the bluetooth connection.</li>
</ol>
<p>You can guess what happened next.</p>
<p>So, like a dumb-ass, I didn't make sure that my phone was on the WiFi (I was in the garage). I also didn't sniff about to see if anyone had flagged any problems. And I didn't twiddle any knobs on the bike to stop it going into stand-by, because you know, why would I? It's being updated.</p>
<p>It takes a while to download the motor's firmware over 5G. Long enough, that it was at 60% when the bike zoned out. No problem, right? The download hadn't finished, just switch the bike on, it'll pick-up, and write the firmware when it's downloaded and verified.</p>
<p>Nope. The motor was bricked.</p>
<p>What. The. Actual. Fuck.</p>
<p>I mean, perhaps the &quot;Downloading&quot; message in the app should actually be &quot;Updating Firmware&quot;, cos I can't believe anyone would be dumb enough to write a firmware image in place, without verifying it in a staging area first. But apparently Shimano are dumb enough to let the bike go into stand-by when updating.</p>
<p>The only way to retrieve the motor was using the PC connection kit, which costs about 200 quid. My local bike shop had one, but I wasn't holding out much hope, but they managed it. Given a replacement motor would have set me back hundreds of pounds, this was an almighty PHEW...</p>
<p>I'm far from the only person this has happened to. When I searched, I found loads of forum posts detailing the exact same thing. Even more amazing, a previous version of the App had a flakey bluetooth implementation that was bricking motors left and right.</p>
<p>Whatever the real implementation nitty gritty of the update system is, I can categorically say, it's <strong>shit</strong>, and I'm absolutely staggered it got released into the wild.</p>
]]></content></entry><entry><title>Fuckity Bye, Pioneer!</title><link href="https://www.tdi.online/2024-07-20-Fuckity-Bye,-Pioneer!.html"/><updated>2024-07-20T00:00:00Z</updated><id>https://www.tdi.online/2024-07-20-Fuckity-Bye,-Pioneer!.html</id><content type="html"><![CDATA[<p>Let's talk about Pioneer DJ gear. It’s well-made, battle-hardened, and the defacto standard. But it’s overpriced, and let down by some of the worst software I’ve ever used. Three months ago, I bit the bullet and part-exchanged my DDJ-1000 – which I’ve had since 2018 – for a Native Instruments S4. Why? Rekord Box is a piece of shit, and Pioneer are taking the fucking piss, charging a subscription to use it.</p>
<p>There was nothing really wrong with the hardware – just like there’s nothing really wrong with CDJs, or DJMs – it’s built like a tank, and didn’t cark it at the first sight of cigarette &amp; spliff ash. Is it the most feature rich controller? No. But it’s a decent size, and the platters felt comfy after years of using CDJs. And given I’d most likely stumble into a booth with Pioneer controllers (and / or Xone mixers), keeping to a familiar layout seemed important when I bought it.</p>
<p>Like all Pioneer gear, there are better, cheaper alternatives. Denon spring to mind; their CD controllers are excellent, and though I wouldn’t swap my Technics for anything, so are their direct drive record players. And then, there’s Native Instruments…</p>
<p>But I didn’t make the change because of the hardware.</p>
<p>I wouldn’t say I’m a vinyl purist (although, I did hold out until 2002 before making the move to CDs), but there’s a certain tactile pleasure in mixing with them. Beat-matching might be irrelevant, but it’s still fun at a party, and I’d be lying if I said I didn’t get a kick out of it. And it was vinyl that first attracted me to Traktor Final Scratch; I could hook up my Technics (and CDJs), with time-control, and mix my digital tracks. Even better, without the need to burn everything to CD! But the external sound card was a ball-ache, and the few times I did try to play out with it, setting up, in the dark, with someone in the mix, was a pain in the arse. So, as was fashionable, I moved over to Ableton.</p>
<p>For my money, Ableton isn’t really “DJing”. Even with the VCM 600. For me, it quickly descended into <em>waiting</em> to press a button. Or worse, layering on too many loops, so I didn’t get bored, and felt busy. It did teach me a lot about production, and mastering, which is especially useful now I have to do most of the audio in my work, but I didn’t last very long DJing with it.</p>
<p>Verkkokauppa in Helsinki has (had?) a decent electronics section, all hands-on, and I used to go in there regularly to test out the gear. The DDJ-1000 immediately seemed perfect. Compact, nice pads, great platter, nice faders, all nicely responsive. And it came with Rekord Box, which I tested, and was quite impressed by. Version 5.1.</p>
<p>I never had any issues with Rekord Box 5.x. It fired up quickly. I can’t remember it ever really crashing. The analysis seemed solid, and I rarely had to tweak the beat grid. The DDJ was always present and correct. Rekord Box 5.x worked, with one little oddity: it wasn’t particularly good at keeping a loop in time. And I loop. A lot. I loop mixing in. I loop mixing out. I love me a loop. Blame Ableton? But it wasn’t the worst thing in the world. A quick nudge, now and again. It’s just a bit of beatmatching, innit?</p>
<p>I didn’t think particularly much when Rekord Box 6 came out. It was a free upgrade. The 5.x point releases were fine... What could possibly go wrong? Wheeee! And then I fired it up. And it was slow. Slow to load, slow to stop dicking about with the database, slow to move between playlists. Laggy. As. Fuck. (in comparison). And could I go back to version 5? Haha, no. Idiot boy didn’t bother to back up the database, and Pioneer “upgraded” it for me. Yeah, I should know better. <em>facepalm</em></p>
<p>It’s been a gradual decline, ever since. I’ve even tried the Windows version which, surprising no one, was even worse than the Mac.</p>
<p>So, in no particular order, the list of fucking annoying bugs Rekord Box 6 displayed on an all too regular basis:</p>
<ol>
<li>It still can’t fucking loop. And I don’t mean, it might drift once in a while. It. Can’t. Hold. A. Fucking. Loop. I don’t think I need to explain how utterly, mind-blowingly piss-poor this is when it happens. Which is most of the fucking time.</li>
<li>Let’s say you’ve got sync on, and you want to drop (or jump to) a hot-cue. You’d expect the cue to start, ON THE BEAT, <em>every single time</em>, yeah? No. Fucking lottery. To the point I’d loop the bar at the cue and use the cross-fader to bring it in.</li>
<li>Is it going to play audio this time, or just fart out of one of the channels?</li>
<li>Will it see my DDJ-1000?</li>
<li>Will it respond to a button on the DDJ?</li>
</ol>
<p>Thow into the mix the crap audio quality when recording internally – I shit you not, I used to record the output of the DDJ into an iPad, because it sounded better – and the fact it took an absolute fucking age to download and install an update, that <em>more often than not</em>, introduced a new and exciting intermittent bug, and you can see why the forums are full of people screaming.</p>
<p>The straw that broke the camel’s back, for me, was getting my Technics back out of storage and setting up the DVS. Which cost ONE HUNDRED AND TWENTY EARTH POUNDS. A year!</p>
<p>Fuck you, Pioneer.</p>
<p>And <em>thank you</em> Bop DJ in Bristol, who gave me 600 pounds for the DDJ, and another 80 for its flight case, making the part-ex cost for the S4 an absolute no-brainer.</p>
<p>So I’m back on Traktor. Full circle. With a slightly smaller, lighter controller, and DVS that works. Just in time for Traktor 4, which I upgraded to (60 quid!) and installed last night. No doubt I’ll be blogging about it fairly soon…</p>
]]></content></entry><entry><title>EMF 2024</title><link href="https://www.tdi.online/2024-06-08-EMF-2024.html"/><updated>2024-06-08T00:00:00Z</updated><id>https://www.tdi.online/2024-06-08-EMF-2024.html</id><content type="html"><![CDATA[<p>I’ve never made it to EMF Camp, despite it being on my radar for years. House moves, covid, and not being able to convince my SO to go, all got in the way. But this was my year. I’d already bought a roof tent for the car and H0ffman was able to reserve some tickets, so the long wait was over.</p>
<p>EMF describes itself as <em>”a non-profit camping festival for those with an inquisitive mind or an interest in making things: hackers, artists, geeks, crafters, scientists, and engineers”</em> and that’s very much underselling it. Phone-phreaks, network-nerds, linux-beards, hackers, crackers, sceners, game devs, brewers, blacksmiths, mathematicians, and the hard-core crochet crew, milling about in glorious surroundings, for three-and-a-bit days of talks, films and music. Every colour of the sexuality and gender spectrum, open, relaxed, and accepted. 3000 of <em>my people</em>.</p>
<p>We took it fairly easy on the first day – h0ff was doing the opening set at Null Sector, and then a PT-1210 Amiga performance, a couple of hours later – but the rest of the weekend was a blur: Big pipes, techno pigs, lost potatoes, GPS acid, postcards over sneaker net, watching demos, Tesla coil 303, too much detail, knitting, earnest spectrum owners, Deathchase, dialling 1337, remote controlled Henry Hoovers, magic shows when the AV’s gone wrong, laser beams through the clouds, enjoying the sun, and meeting cool, new people.</p>
<p>I joked that when the world burns, it was the people in the EMF field that would be putting it back together and the more I think about it, the more I’m coming to believe it. The fact that such a big event was put together by volunteers, is mind-blowing. The level of crazy skill on display – from the maker villages, to the Gameboy DJs – restored my faith in humanity. It was, undoubtedly, the most laid back, accessible, family-friendly “festival” I’ve ever been to. The toilets were still usable on the Monday, ffs.</p>
<p>I’ll be waxing lyrical about this for the next two years. It was <em>glorious</em>, and if you’re reading this, you’ll definitely want to go to EMF 2026.</p>
]]></content></entry><entry><title>Self Host All The Things</title><link href="https://www.tdi.online/2024-05-01-Self-Host-All-The-Things.html"/><updated>2024-05-01T00:00:00Z</updated><id>https://www.tdi.online/2024-05-01-Self-Host-All-The-Things.html</id><content type="html"><![CDATA[<p>Thanks to the Welsh Government, I have what can best be described as a “Big Fat Pipe” directly to my office. Finland speeds, if not quite Finland prices. It’s been rock-solid since we moved in, late last summer, which got me thinking… Rather than maintaining virtual private servers at Hetzner and Digital Ocean, maybe I can bring everything under my own roof? I have bandwidth to spare, it’ll be less resource intensive, and probably cheaper. So I started shopping around.</p>
<p>The obvious solution would be something like a Raspberry Pi, but the company’s started to give me the heebie-jeebies. Their hardware’s powerful enough for what I need (several websites, Nextcloud, Perforce and Git), but I wanted to see if there was something else, in the ballpark, that had a little more head-room.</p>
<p>One option I seriously considered, was upgrading my Framework laptop to the new AMD setup, then using the old motherboard in an enclosure. I may still go this route, as and when I naturally upgrade, but for now the initial cost put me off. It’d take a long time to pay back.</p>
<p>Then, by magic, a friend mentioned the Firebat T8.</p>
<h3>Firebat T8</h3>
<p>The T8 is an Intel N100 based machine. It’s tiny. Silent. Idles somewhere around 4w. It’s well specc’d. Mine came with 16G of Ram and a 512GB SSD, and it’s got more ports than you can shake an external SSD at. Handy for Perforce.</p>
<p>I ordered through AliExpress, and it arrived within a week. It didn’t come with a UK plug, so I had to grab one off Amazon, but otherwise, no problems. Out of the box it had Windows 11 installed, which was surprisingly snappy, but I opted for a wipe. Single booting into Debian, which installed with no issues. Everything was detected, and worked. No extra configuration. Well, apart from me adding an external SSD to the fstab.</p>
<p>Rather than go the Docker route, I opted to set up everything by hand. I know I won’t remember all the configuration steps, but I can be sure there’s nothing on the machine that I’ve not put there myself, and I feel better knowing that configuration isn’t strewn across multiple containers.</p>
<p>After a lot of hunting, I opted for dynamic DNS through Afraid.org, a reassuringly old-school service that doesn’t look close to being enshittified any time this millennium. Backups go to Backblaze, who I used many moons ago on the Mac, and never had any problems with. (Although, I don’t like the fact that Duplicity uploads blobs, meaning I can’t search through the B2 Buckets for individual files. I might look to change that at some point…)</p>
<p>It’s early days, but for ~100 earth pounds, the T8 is an impressive bit of kit. I may buy a second (as a clone of the first) and leave it on the shelf as a backup.</p>
<h3>Why Bother?</h3>
<p>Yeah good question, and there’s more than one answer. In terms of work; hosting an external Perforce server, where the repo size is tens/hundreds of gigabytes, gets pricey, quickly. And I have two active projects. It’s definitely cheaper for me to have a terabyte drive hanging off a local machine, that’s backed up remotely, than it is for me to run a backed-up, remote VPS.</p>
<p>The rest is a mix of control, trying to avoid late-stage-capitalism, and a desire to make my own corner of the web again. And what better way to do that than actually run it out of my office?</p>
<p>So I’ve nearly come full circle. 25 years ago I ran everything off an old PC under my desk. Now it’s a tiny silver box on top of my NAS.</p>
]]></content></entry><entry><title>Remastered Obsession</title><link href="https://www.tdi.online/2024-02-01-Remastered-Obsession.html"/><updated>2024-02-01T00:00:00Z</updated><id>https://www.tdi.online/2024-02-01-Remastered-Obsession.html</id><content type="html"><![CDATA[<p>If you’ve been <a href="https://tdi.online/2023-09-13-Obsession-is-a-mix-tape.html">following along</a> you’ll have read about my quest to remaster Mike Cosford’s Hyperspace Mix, from the Obsession: Progressive Excellence tape-pack. It took a bit of Discogs digging, but I did get all the vinyl – some in better nick than others – clean them, and sample them.</p>
<p>I was in two minds about how to record this. Do the entire mix from vinyl, then clean it up? Or record from DVS, using my cleaned-up samples? I went for the latter, mainly because Rekord Box charge 120 quid a year for the DVS feature, and I need to get my fucking money’s worth before I sell up and move to Traktor.</p>
<p>Anyway, it is done.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/FMJUjm9f3IA?si=OYNnkbBPnvLKQcMs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<p>The best bit of this entire thing has been the last couple of weeks, passing it around the circle of friends who would have listened to it, spliff in hand, back in the day. The warm, fuzzy glow of memories washing over them. WhatsApp story sharing.</p>
<p>So enjoy. And my deep apologies to Mike for breaking all sorts of DJ etiquette here. You are a legend, sir, and this was done with love.</p>
<p>With a bit of luck, this will last me another 30 years...</p>
]]></content></entry><entry><title>Safety Razor First</title><link href="https://www.tdi.online/2024-01-08-Safety-Razor-First.html"/><updated>2024-01-08T00:00:00Z</updated><id>https://www.tdi.online/2024-01-08-Safety-Razor-First.html</id><content type="html"><![CDATA[<p>Back in Xmas, 2020, I switched from shaving gel to old-man brush and soap, just like my Granddad used to have. This turned out to be a massive success because, a month ago and with much ceremony, I opened my third bar of soap. Not only has it saved me a chunk of cash, but we’ve removed an entire class of plastic from the bathroom. (There’s only shampoo left on that front, we’ll get there eventually...)</p>
<p>For Xmas ‘23 I did a bit of research and switched to a single-blade safety razor. Just like my Granddad used to have.</p>
<p>Why is this exciting?</p>
<ul>
<li>100 blades cost ~8 quid. One blade’s good for two shaves (probably more, but you know).</li>
<li>The wankiest bar of soap is usually less than 10 quid. Say 9 for argument’s sake (although you can get a four pack off Amazon for that…)</li>
</ul>
<p>This puts a year of shaving – if you’re a scruffy, self-employed game developer – at ~13 earth pounds, or “less than a single packet of Gillette Pro Blades”. It turns out that shaving’s been a solved problem for a very, very, very long time. We’re just unlucky that we grew up through the enshittification of it.</p>
<p>If you’re interested, then there’re loads of handles to choose from, although shaving brushes fall into some weird hair-science, so be careful because that’s an entire rabbit hole of its own… Stick to the basics, and you’re home-free and onto the savings straight away.</p>
<p>And you know what, I actually enjoy shaving (a bit) now. It’s like a little ceremony! Yeah, there’s a slightly different skill needed for a single blade, and if you watch YouTube then people will make out like it’s some lost, dark-art, but it’s not, it’s just shaving in slightly slower motion. I’ve not cut myself. I’ve not had shaving rash, or irritation of any sort. And the shaves are close. Even my fiancée was impressed.</p>
<p>It’s only taken me 37 years to discover this. Granddad’s tutting into his tea.</p>
]]></content></entry><entry><title>Rip, mix, burn baby, burn</title><link href="https://www.tdi.online/2023-12-13-Rip,-mix,-burn-baby,-burn.html"/><updated>2023-12-13T00:00:00Z</updated><id>https://www.tdi.online/2023-12-13-Rip,-mix,-burn-baby,-burn.html</id><content type="html"><![CDATA[<h3>Cider</h3>
<p>Not sure what’s prompted this, but a few of my friends have ended up on Apple Music recently. This is OK! Fuck Spotify.</p>
<p>And bad. iTunes is a rotting piece of crap, the Apple Music web-frontend is merely “OK” on its best day, and holy-shit-why-can’t-I-copy-an-MP3-onto-my-bastard-iPhone-and-just-play-it <em>without it being connected to a fucking Mac</em>…</p>
<p>Sigh.</p>
<p>Anyway, if you’re like me, and you’re wishing the slowest, most painful death imaginable upon Spotify, but meanwhile you need something for Apple Music that isn’t a phone and works on Windows &amp; Linux, then you could do a lot worse than <a href="https://cider.sh/">Cider</a>.</p>
<p>I’ve been using it for a few months. It’s reasonably fast, and bar some Airplay instability, hasn’t given me any grief at all. AFAICT it’s an Electron based front-end to the Apple Music web-portal-API-thingy, so you know, not the most svelte of things. But it’s a damn sight better than iTunes. And the Music app on iOS. And it’s free.</p>
<h3>Tuneblade</h3>
<p>What if you’re on Windows and your Electron based front-end to a popular streaming service refuses to connect to any of your Airplay supporting amps? Well, if you’re willing to spend 8 quid, <a href="http://www.tuneblade.com/">Tuneblade</a> is a tray-utility that grabs the default audio from Windows, and pings it across to your Airplay devices.</p>
<p>There’s a smidge of lag (as you’d expect), but other than that, it’s absolutely rock solid. Never let me down.</p>
<h2>Or…</h2>
<p>Yes, I’m one of <em>those</em> people that still has actual files, of actual music, on actual hard drives. And a couple of iPods. And a NAS. And don’t get me started on my film collection…</p>
<p>I know it isn’t fashionable, but it’s a side effect of being a DJ. I need .WAVs, and I’m not going to stream them from Beatport Cloud, in the middle of a Welsh field, at 2 in the morning.</p>
<p>We can all see that we’re past “peak streaming service”. They’re retreating into ever more costly bundles, with more aggressive, frequent adverts. And some of the content that you think you own, well… You might find out that you don’t.</p>
<p>On the plus side; there’s never been a better time to scoop up cheap CDs (and Blurays), rip ‘em, and stash ‘em. 2nd hand CDs are <em>cheap</em>. Storage is <em>cheap</em>. Backup is mostly-cheap. A 2TB SD card in an iPod holds a <em>surprising</em> amount of music, and it means the battery lasts for actual months. You don’t even need to keep the CDs; make a rip-ring, pass ‘em around, bung ‘em back on eBay. But mostly, go get those tracks, remixes, and original masters that are just <em>flat out missing</em> from the streaming services, and curate your collection like it’s 2001!</p>
<p>Do it now, while it’s cheap and easy to get hold of all the stuff, then, when the inevitable shit hits Spotify in the face, and we’re all too skint to afford this stuff anyway, you’ll be laughing in your headphones.</p>
]]></content></entry><entry><title>Obsession is a mix-tape</title><link href="https://www.tdi.online/2023-09-13-Obsession-is-a-mix-tape.html"/><updated>2023-09-13T00:00:00Z</updated><id>https://www.tdi.online/2023-09-13-Obsession-is-a-mix-tape.html</id><content type="html"><![CDATA[<p>Back in the early ‘90s my friends and I were on constant lookout for quiet places to toke, talk shite, and listen to music. Often times this meant a secluded parking spot, preferably with a view, that wasn't going to be interrupted by dog walkers or the f'ing police. </p>
<p>We found the perfect place, for a while, sometime in early '94. A quiet side-road with two empty bungalows at the end, surrounded by trees, between the motorway and a spur road leading back into town. We parked there regularly, and when the sun was out, occasionally wandered through the trees to see what we could find.</p>
<p>And one day we found something. A third derelict. Probably home to other caners, based on the camp-fire ash and litter lying around. Never ones to share, we bounced, but someone (I forget who) saw a cassette on the ground and pocketed it. We got back to the car, the tape was eventually rediscovered, inspected (wet, slightly chewed, but probably fine) and pushed into a Blaupunkt.</p>
<p>What followed was 90 minutes of the best house, progressive and trance, any of us had heard. The tape was a copy. Of who, we didn't know. Sans MC. No shout-outs. No clues. A complete mystery, that we took to be a karmic blessing as we labelled it &quot;Best of House&quot; and copied it amongst ourselves. </p>
<p>It's no secret that I'm a white-glove wearing, card-carrying raver -- a gentleman of a certain vintage -- or that the music of the early 90s has, and does, influence me greatly. But this tape? Even for the time it was special. A great selection, and flow.</p>
<p>Copies have lived in friends cars. It's lived in my car. It followed me through Uni and was the first cassette I ripped to MP3, back when ripping cassettes was a <em>fucking ballache</em>. It's lived on Minidisc, and now it lives on my NAS. A copy of a copy of a tape that got a little damp, and a little chewed, but is loved like <a href="https://en.wikipedia.org/wiki/Bagpuss">Bagpuss</a>.</p>
<p>You know how it was in the 90s; a constant stream of new, exciting music, often on bootleg tapes, with no real clue as to who was making much of it, or even what it was called. Many, many times I walked into record shops, with my Walkman paused, in the hope they'd “know what this absolute banger is&quot;. </p>
<p>When CDs started coming out, and Radio One turned its attention, things became easier. But those first few years of the 90s? When we had no money, or decent pirate radio near us? Trainspotting for tunes could be random pot luck. And I wasn't adverse to hovering over the DJ booth, either.</p>
<p>In the 28 odd years since we found Bagpuss, I've stumbled across, or crate-dug my way, to a third, maybe a half(?) of the tracklist, and grabbed what I could on vinyl. But some of those vocal ones have completely eluded me.</p>
<p>Every so often I'll be bored, or waiting for something, so I'll have another little go... Wave Shazam at the speaker (if only) and type the names of the tracks into Google and see what pops up. It's rare that anything does. </p>
<p>Yesterday I was moving Unreal versions, so I had a lot of time to burn. The entire toolchain (and platform extensions) needed building from scratch, then rebuilt a couple more times because I arsed things up. It was a long, slow day, that I spent mooching through Discogs, while listening to Bagpuss. </p>
<p>And to my complete shock, as I was digging through sale items (which normally means jumping over to YouTube, so I can listen to them) I bumped into a couple more, tucked away in a random playlist!</p>
<p><em>It's my lucky day! Time to buy a lottery ticket...</em></p>
<p>I typed what I knew of the tracklist, in order, and pasted it into Google. </p>
<p>And I got a fucking hit. </p>
<p>A full hit. Of the entire tracklist. A sweet, sweet, HTML1 looking web-page, that someone, an angel, left for me to find. </p>
<p>One of the greatest progressive mixes of all time -- I'm proud to present -- is Mike Cosford's Hyperspace Mix, from the Obsession 6 pack. Summer of '93. A full year before Sasha and Digweed's Renaissance and a holy banger of vocal house, proto-prog and trance-techno. <a href="https://www.discogs.com/release/4255282-Mr-C-John-Digweed-DIY-Jack-Mike-C-Peer-Bart-Simpson--Xclusiv-Live-6-Pack-Mixes-Progressive-Excellenc">Discogs Link</a></p>
<p>Dear <a href="https://sbradyman.angelfire.com/bradyman/obsession-6pack.htm">sbradyman of Angel Fire.com</a>, I fucking salute you, whoever you are! You have NO idea how much joy I took from finding your corner of the web, and finally solving this mystery. I honestly thought I'd go to my grave never knowing who mixed this. Mwah! X</p>
<p>So yeah, now I need to source the tracks I'm missing, re-do the mix, and I'll (finally) be able to listen to this as it was meant to be heard(!), instead of the crusty, 192mbps MP3 of a 2nd gen tape copy, that I’ve been treasuring for all these years.</p>
<p>Watch this space.</p>
<img src="images/obsession.jpg" onclick="window.open('./images/obsession.jpg', '_blank');"/>
]]></content></entry><entry><title>Spincare Vinyl Cleaner</title><link href="https://www.tdi.online/2023-08-30-Spincare-Vinyl-Cleaner.html"/><updated>2023-08-30T00:00:00Z</updated><id>https://www.tdi.online/2023-08-30-Spincare-Vinyl-Cleaner.html</id><content type="html"><![CDATA[<img src="images/spincare1.jpeg" onclick="window.open('./images/spincare1.jpeg', '_blank');"/>
<p>We moved house, again, last month. Hopefully for the last time as we're now &quot;proud&quot; home-owners… which also means we're skint, staring down the barrel of a never ending list of DIY jobs, and all our boxes are out of storage. Including my Vinyl.</p>
<p>It's been a long time since I've had my Vinyl out. They've been in storage for at least 6 years, and it's closer to 10 since I regularly mixed with them. To make it up to them, I decided to show them the love; I'm going to replace any knackered inners, get some proper plastic outer sleeves, and give them all a damn good clean.</p>
<p>Record cleaners are <a href="https://www.amazon.co.uk/CGOLDENWALL-Ultrasonic-Multifunctional-Disinfection-Certificate/dp/B07C75TM33/ref=sr_1_2?crid=3G3TNCWGZQ1AT&amp;keywords=CGOLDENWALL+Washing+Machine+vinyl&amp;qid=1692561528&amp;sprefix=cgoldenwall+washing+machine+vinyl%2Caps%2C266&amp;sr=8-2">crazy money</a>. There's no way I'm going to spend 600 nicker on a washing machine for my vinyl, but I do want mine to have an <em>actual</em> wash. Some of them spent half of the 90s (and all the naughties) spinning under a cloud of pot smoke, and none of them have had more than a cursory look at an anti-static brush in well over a decade. In comparison, the Spincare seems almost too good to be true: a proper little record bath, albeit one you need to work manually, for 50 earth pounds! Anyway, I took a punt.</p>
<p>I bought mine off eBay. It arrived in a couple of days and was well packaged, in a small box containing everything you need: bath, cleaning liquid and micro-fibre cloth. The unit's a well-designed black-box that comes apart to reveal the bath, drying rack, and outer lid. The rack stands 10 vinyl, and the bath holds enough liquid to clean ~50 per-sitting.</p>
<p>On Saturday, I rolled up my sleeves and pulled out my white-labels as these have had the hardest life, kicking about in paper inners, half or which are torn. They're dirty and (occasionally) scuffed from use. If anything can give the Spincare a test, it's these boys.</p>
<p>Operation's handraulic. You stick the vinyl between two felt cleaning pads, rotate it clockwise three times, then anti-clockwise another three. Pull it out, give it a shake (ffnar) and leave it on the rack to dry. By the time I'd done 10 (and filled the rack) I was able to go back, give the first a quick wipe-down, put it in a new anti-static inner and a proper cardboard sleeve and crack on with the next.</p>
<p>Is it worth 50 quid? Well, the results are <em>impressive</em>. I'm genuinely blown away at how good. Bar the serious skuffs, the cleaned records look brand new. The noise floor is reduced and the crackles are quieter. Most of them sounded as good as I'd ever heard them.</p>
<p>It's not a miracle worker. You're not getting rid of any gouges with this. But looking at the cloth (and water) after I'd done 25 records, yeah, you really are getting a LOT of gunk out of them.</p>
<p>In my humble opinion this is an absolute steal for 50 quid. It does exactly what it says on the tin.</p>
<p>Now all I need to do is remember how to mix with vinyl...</p>
<img src="images/spincare2.jpeg" onclick="window.open('./images/spincare2.jpeg', '_blank');"/>
]]></content></entry><entry><title>Oh for a local</title><link href="https://www.tdi.online/2023-07-14-Oh-for-a-local.html"/><updated>2023-07-14T00:00:00Z</updated><id>https://www.tdi.online/2023-07-14-Oh-for-a-local.html</id><content type="html"><![CDATA[<p>When I left Uni, back in the mists of time, I moved into a house opposite a pub—the Bent Brief in Portswood. On the outside it looked much like any other student pub. Run-down but with a slight psychedelic chic. Unlike most student dives, the Brief was run by adults who lived there. Andy and Moreen. I quickly fell in love with the place, and it became my regular haunt. By the time I moved opposite, I'd been frequenting, off and on, for three years. I'd spend another glorious couple with it acting as my social hub.</p>
<p>I didn't realise it then, but the Brief was special. Eclectic. Patrons ranged from poets to professors. We had accountants and a militant lesbian Americas Cup yacht racer. A millionaire, and the permanently unemployed. Students and Professionals. No one was arsed about what you did for a job, you were just a person down the pub. Don't be a dick. We've chosen this place as our public house, and we won't take kindly to someone wandering in, shouting their gob off.</p>
<p>Good pubs are comunities that help each other out. Pass on the tips. Do each other favours.</p>
<p>Regulars ease people into the fold, police the dicks, and dictate the vibe. Every pub's a little different and you'll probably see familiar faces when you drink somewhere else. It's fine to have a quickie in the Honest Lawer, but you'll be thinking of the Brief.</p>
<p>Those sorta Pubs aren't typical any more. Closed because they couldn't pivot to food or were harried out of existence by the council. In their place are the chain pubs. Wetherspoons. Greene Kings. Large spaces where you're shouting over a hundred people. Identikit faux boozers with the same menu, two-for-one offers, and underpaid staff, because someone, somewhere, decided that actually, what we need is a pub that plays brit-pop and has no fucking seats.</p>
<p>And I guess, if you're 20, yeah, that's what a pub is—a box that sells cheap booze, where you go to get shit-faced. And then get into a fight while you queue for the Taxi home, cos, well, you had to travel 10 miles into town because all the fucking pubs in your 'burb closed down...</p>
<p>The internet's a bit like a city and its pubs. If you squint.</p>
<p>There was a time when there were loads of 'em: Usenet, bulletin boards, IRC, live journals, forums—communities focused on a 'thing', whatever that was.</p>
<p>No one was massively arsed what your real name was. You were just a person on the 'net. Don't be a dick. We've chosen this place as one of our online hangouts, and we won't take kindly to people wandering in, shouting their gob off.</p>
<p>The best of those spaces were communities that helped each other out. Passed on the tips. Did each other favours. The mods eased people into the fold, policed the dicks, and dictated the vibe. Every space was a little different and you'd probably see familiar faces when you posted somewhere else. You'd be reading a thread on RLLMUK, but you'd be thinking of Yak Yak.</p>
<p>Those sorta online spaces aren't typical any more. Loads have closed or need help finding people to maintain and run their back ends. In their place is Social Media. Enormous online spaces where you're shouting over hundreds of people. Identikit faux communites, with the same &quot;free speech&quot; menu, ad-driven surveillance, and right-wing billionaire bollocks from the owners.</p>
<p>And I guess, if you're 20, yeah, that's what the internet is. A place you go to find an audience. And then get into a fight with a fucking Nazi White Supremicist incel because all the places you could have gone to find <em>your people</em> have been driven out of existence.</p>
<p>--</p>
<p>I'm not on Facebook, Instagram, Bluesky, Twitter or Threads. I'm done with it. I'm not interested in being online to whore my work, self-promote, chase likes, subscribers, or any of the bullshit that's become the accepted norm over the last 10 years. It's enshittified beyond all use.</p>
<p>Which is fucking annoying, innit?</p>
<p>So why have I spent an hour trying to compare the internet to a pub? Because most of the people getting excited about Twitter's death spiral and Threads arrival have forgotten the thing that made the internet special in the first place: community.</p>
<p>We don't go to the town square to be heard. Most of us don't go to town unless we really bloody well have to.</p>
<p>Nah.</p>
<p>Burn it all. Burn it to the fucking ground. And if you're using enshittification as a measure of success, you've got it <em>all</em> wrong.</p>
<p>You get to pick your friends. You get to pick who you listen to. Associate with. Stand next to. In real life AND online. That's federation of sorts, innit?</p>
<p>So I'm just a bloke on the Fedi-verse. Join us. Don't be a dick.</p>
]]></content></entry><entry><title>Canyon Spectral ON</title><link href="https://www.tdi.online/2023-06-02-Canyon-Spectral-ON.html"/><updated>2023-06-02T00:00:00Z</updated><id>https://www.tdi.online/2023-06-02-Canyon-Spectral-ON.html</id><content type="html"><![CDATA[<p>When we moved to the Lake District, I bought myself a Scott Scale hardtail mountain bike. It was the tail-end of Covid; bikes were rare because of broken supply chains and in demand because we all got fat during lockdown. It cost a bloody fortune. Penrith's local bike shop, Aragon, had nothing in with no new supplies in sight, and a grand seemed like a hell of a lot of money to drop on a hobby I wasn't sure I'd stick with. But I did stick with it, and now I'm generally out once or twice a week, whatever the weather.</p>
<p>I enjoy mountain biking. I've slowly progressed from easy tracks to single trails, and I'm starting to pop some jump lines. The Lake District was a good training ground, full of techie rock gardens, rooty downhills, and long soggy climbs that paid off with stunning vistas. But moving to Wales upped the ante.</p>
<p>I'm spoilt for choice. South Wales is mecca for MTB. Within a 30-minute drive, I have two forests with multiple trails, three bike parks, and loads of routes dug out by locals. There're hills everywhere, and where there's a hill, there's a trail.</p>
<p>So. Bikes.</p>
<p>Tbh, I've never been comfortable on the Scott. I never felt on top of it, and the centre of gravity was too high for my taste. But hey, it was supposed to be my training bike, so I put up with it until I could afford something better. I've spent the last three months selling my video game collection, and eBay has been kind to me, so last month, I bought a shiny full-suspension EMTB from Canyon.</p>
<h3>Why EMTB?</h3>
<p>Yeah, so I've been on the fence about going to an EMTB for a long time. I thought I'd hold off until I hit my 50th, but the more I thought about it, the more I began wavering. Ultimately, the limiting factor to how long I stay out on the bike has always been my fitness, so in that context, why wait?</p>
<h3>Why Canyon?</h3>
<p>Honestly? The Spectral's pretty much the cheapest, full-spec EMTB going. I looked at many options but kept returning to it; it's a lot of bike for the money. I just about sneaked in at the low end and ordered the ON 7. It's also a beauty. ;)</p>
<h3>Arrival and Setup</h3>
<p>I was dubious about ordering a bike online, even more so about it arriving in a cardboard box, which, as expected, was battered when Fed-Ex delivered it. I feared the worst; half the locking clips were missing, and the cardboard had taken a beating... but the bike was fine.</p>
<p>Putting it together was simple. All the tools you need are in the box, including an ingenious little torque wrench and a handily portable suspension pump. Both of these are so good they're now staples in my toolbox.</p>
<p>Setting up the suspension is an ongoing project, and more information from Canyon would have been handy, but a quick trip to the manufacturer's website gave me numbers to start with. The thicker, wider EMTB tyres also feel very different, so I'm still dialling in the correct pressure for my tastes.</p>
<h3>Riding an EMTB</h3>
<p>Riding an EMTB is a different beast, and not just because of the weight. I was getting through the Verderer's Trail, in Dean, in ~55 minutes on the Scott. In Eco Mode, on the Canyon, I had this down to 36 minutes on my first ride and then did another 20k over the next hour and a half. Instead of pushing up and only having the energy to do the downhill runs two or three times, I can stick it in Boost and go up and down as many times as I like.</p>
<p>This means the average speed on the trail is much, much higher. Parts where I'd be crawling uphill are now technical challenges where I'm looking at lines and trying to keep my speed up. And there's a knack to this. If you're in the right gear, pedalling at the right cadence, then you're flying in the motor's sweet spot, which brings a new set of challenges.</p>
<p>Pedal strikes are &quot;a thing&quot; now, whereas I can't say I ever really had one on the Scott. Canyons are fairly low-slung, so hammering around a single track at 20kph requires more thought about where your feet are. I learned this the hard way after getting thrown, twice, from strikes. So much for my leet skills!</p>
<p>The battery's weight and position on the bike also require changing how I approach certain features, particularly berms. Loading the front and generally moving around on the bike is essential to stop the front washing and quickly switching tilt through s-bends. Took a couple of rides, but I'm feeling on top of the bike in a way I never did with the Scott.</p>
<p>The front washing issues may be down to tyre choice. The Canyon shipped with a Maxxis Assecai on the front, and I'm not convinced it's as good as the High Roller 2 I was using on the Scott. At least, not in the dry.</p>
<p>Downhill, the bike wins in every way. The extra weight is a bonus. It's faster. It's easier to roll jumps and pop off them.</p>
<p>I opted for the 750w battery to save money and have no regrets. In Eco mode, which I usually use, I've covered 40km in less than half a battery. I think it'd approach 100km in the Forest of Dean if I stuck to the blues. Even in Trail mode, I got three hours of non-stop riding with two bars left; my body gave up before the battery did.</p>
<h3>Living with an EMTB</h3>
<p>Minutes after putting the order in, it dawned on me that the roof rack on my car (Thule) wasn't rated for an EMTB. I could have gotten away with it if I'd removed the battery, but the thought of a pressure clamp on the carbon frame, with no support, gave me the heebie-jeebies. So I had to get a new rack... (more on that in another post).</p>
<p>With a hardtail, you pull the bike off the car and hit the dirt. An EMTB, not so much. There're things to put together. Tools are a constant feature in my boot. There are various pumps required for last-minute fettling. Cleaning takes a little longer. And you need to be careful that you've got the strength in your arms to get the bugger on the roof (but that's pretty easy with the battery out).</p>
<p>Charging seems quick enough, but I tend to leave it overnight and not worry about it. That said, I can see me buying a second battery once I get the time to do some bike packing.</p>
<h3>No regrets</h3>
<p>In the month I've had it, I've covered more distance, taken on more challenging features, jumped higher, skidded further, and crashed harder (oh, and I upgraded my knee pads).</p>
<p>The extra oompf opens up parts of the hill I'd never have got to, and I think my riding's improved dramatically because of this. I'm taking on technical features with more confidence and loving the fact I can ride steadily, for hours, if I want to cruise in the sun or loop the downhills.</p>
<p>And although I thought it was cheating, the stats on my heart monitor don't lie: I'm getting better exercise, in the right zones, for more extended periods than I ever managed on the Scott. Win win!</p>
<p>If you're on the fence about an EMTB, well, consider me a complete convert.</p>
]]></content></entry><entry><title>Tank Mouse</title><link href="https://www.tdi.online/2023-04-18-Tank-Mouse.html"/><updated>2023-04-18T00:00:00Z</updated><id>https://www.tdi.online/2023-04-18-Tank-Mouse.html</id><content type="html"><![CDATA[<img src="images/tank_mouse.jpeg" onclick="window.open('./images/tank_mouse.jpeg', '_blank');"/>
<p>The Commodore 1352, or the &quot;Tank&quot;, was my first mouse and probably the design that I rocked the longest. '89-'95,ish? I still have several, but time's not been kind to ball mice, and let's be honest, who wants to clean those any more? Not me...</p>
<p>So yeah, despite my constant moaning about Retro grifters, Lukas Remis' Kickstarter for a modern mouse, inspired by the 1352, caught my interest. I ordered two and a couple of DB9-USB adaptors.</p>
<p>Despite my confusion around shipping dates — the UK is no longer part of the EU, doh! — mine arrived this week.</p>
<p>So... They look just like the 1352! Woo!</p>
<p>Both mouse buttons have a decent click, and at 1600 DPI, the mouse travel feels good, even on a PC.</p>
<p>Bluetooth works as flawlessly as Bluetooth ever does, and inside there's a tiny wireless connector, which the mouse paired to instantly. Build quality is good; the moulding's left no rough edges, and nothing creaks.</p>
<p>It does what it says on the tin.</p>
<p>I had a quick go at using one as a daily driver, and unfortunately, I had to bail. Mouse wheel input (something I use on a PC all the time) is handled by a touch-sensitive section on the top of the mouse, and it's...shite—serviceable at a pinch but nowhere near good enough for daily use.</p>
<p>Also, for my taste, they're far too light, even with the batteries in. I prefer a bit more heft, so I'd be inclined to add a bit of lead to them.</p>
<p>But hey, these weren't bought to replace my Logitech; they're for my Amigas. So not only do they look the part, they feel (reassuringly) correct when I'm bouncing around Workbench. (Ok, still too lightweight, but whatevs...)</p>
<p>Apparently, Lukas will be setting up a Web-shop for future orders, so we're good if we ever need a replacement mouse for our Amigas. Hurrah! Good work, everyone.</p>
<p>I wouldn't recommend using a PC with one, though.</p>
]]></content></entry><entry><title>Framework Laptop, two months on</title><link href="https://www.tdi.online/2023-03-06-Framework-Laptop-Impressions-Two-Months-On.html"/><updated>2023-03-06T00:00:00Z</updated><id>https://www.tdi.online/2023-03-06-Framework-Laptop-Impressions-Two-Months-On.html</id><content type="html"><![CDATA[<p>I've had the Framework laptop for a while now, so time to add to my previous post. No particular order; this is as things pop into my head...</p>
<h3>The Monitor</h3>
<p>I wasn't sure about the glossy screen, but the picture's bright enough to negate most of the glare during the day, which is fortunate, as I get eye strain quickly.</p>
<p>The aspect ratio has a bit of an old-school feel to it, and I like it a lot. I don't care that the laptop's a little deeper; the extra height is nice when programming.</p>
<p>The pixel density gives everything a lovely smoothness that, to my eye, is similar to the old Retina Macbook. So yeah, better than I expected, but... I'd still go matte, given the option.</p>
<h3>Battery, fan and heat...</h3>
<p>I've not done any specific tests, but it's cruised past 4 hours of battery life, with juice to spare, every time I've used it. I'm usually coding, so this is with peaky CPU bursts, a browser open, maybe a couple of shells, and some chat apps. Nothing particularly heavy, and I'm not hammering the GPU as the side project's still the Eh500.</p>
<p>An evening's programming on the sofa is no bother, though, and I suspect I could sail past 6 hours with a bit of care.</p>
<p>I said previously that the fans are quiet, and that's true... mostly. There's a higher gear I'd not heard, and wow, yeah, that's loud. JetBrains IDEs doing their million startup tasks have done it several times. Not much else has. Bear in mind, I'm on Fedora, and I've fettled it with powertop, so I suspect Windows might be louder, but I'm not sure. Either way, it is dramatically better than my old XPS. Silent the majority of the time that I'm programming, which is what I want.</p>
<h3>The Keyboard</h3>
<p>I love it. It's excellent to code on. Page up/down/home and end override the cursor keys, and the FN key is under the left thumb; it all falls into the muscle memory I built on the Mac. I'm not making typos; I'm not reaching for anything; it's a nice place to be.</p>
<p>It's not a ThinkPad keyboard, but it's not a million miles away. Better than the XPS and better than the recent Macs I've tried.</p>
<p>The only downside would be the lack of a backlight, but my days of working in the dark are long gone...</p>
<h3>The Trackpad</h3>
<p>Last time I said that the trackpad was the weakest part of the machine, and I've not changed my mind. That said, it's perfectly fine in practice. I'm just a snob, and I carry a wireless mouse everywhere. ;)</p>
<h3>The Fingerprint Reader</h3>
<p>You know what? I use this way more than I thought I would. It's quick, and I've not had to recalibrate it. KDE prompts me toward it after the first log-in, which is nice, although it's still a strange experience to use it in the terminal.</p>
<p>Essential? No. But it's a nice trick.</p>
<h3>The Speakers</h3>
<p>Yeah. These are shite. Not the worst I've heard; serviceable in a pinch, but not something I use very much. Ya cannae change the laws of physics... unfortunately.</p>
<h3>The Ports</h3>
<p>This is the main gimmick of the machine, and yeah, they are excellent. Right now, I have a MicroSD and three USB-C adaptors plugged in. The SD has a 500Gig card, which holds a big chunk of my music, and when I want to plug in a monitor, I whip out one of the USB-C ports.</p>
<p>Honestly, I'm not sure I'll tire of that!</p>
<p>The community is backing them, and I'm already tempted to put in an order for the LAN port and Displayport.</p>
<h3>Fedora</h3>
<p>Ok, so not really the laptop, but this is the first time I've used Fedora and the first OS I've had on Wayland.</p>
<p>Fedora is great!</p>
<p>Boots exceptionally quickly, rock solid, and I've had zero update snafus. The only issues, to date: Signal doesn't work (no idea) I couldn't find an RPM for Texture Packer. RPMs, or the lack of them, have held me back from Redhat spins for the longest time, so it's nice that Flatpacks are becoming the norm. Or at least, more common. It's almost a solved problem, annnd no Snaps! Hurrah!</p>
<p>But it's not perfect. Wayland's crashed on me twice. Is that normal?</p>
<p>Tbh, I'm impressed it works at all; I've purposefully steered around it until now. I'm also not convinced that KDE is doing much beyond 30fps on Wayland, which is a shame. On the other hand, it doesn't seem to affect my stuff so I can live with it. It'll get better...</p>
<hr>
<p>This is the cheapest laptop I've ever bought, and it's very quickly becoming my favourite. It's small, light, cool, mostly silent, very functional and extremely well-engineered.</p>
<p>Well done to everyone at Framework! I'm a complete convert.</p>
]]></content></entry><entry><title>Framework Laptop Impressions</title><link href="https://www.tdi.online/2023-01-11-Framework-Laptop-Impressions.html"/><updated>2023-01-11T00:00:00Z</updated><id>https://www.tdi.online/2023-01-11-Framework-Laptop-Impressions.html</id><content type="html"><![CDATA[<p>I've been on the fence about buying a Framework laptop for the last few months. Technically I don't need to upgrade; I have a very serviceable XPS15, but it runs hot, the fans are super noisy, and it's a bit too heavy when I'm single-bagging a trip abroad. Ideally, I want something like my old X1 Carbon: light, with good battery life and an excellent keyboard.</p>
<p>Since it's Xmas (was) I specced out one of the i12 options &quot;just to see&quot;, then realised I could cover the cost by selling the XPS and end up with money to spare. And... here we are.</p>
<p>It took five days to arrive, and much to my disappointment, I didn't have to build the entire machine from scratch. Instead, the DIY option means &quot;stick the RAM, and Nvme drive in&quot;, which is fun, but not the full Mechano build I was hoping for.</p>
<p>That said, opening up this laptop is lovely...</p>
<p>Every part has a QR code attached—even the USB-C cable for the power adaptor (!) and the UK 3-pin plug(!!)—screws are standardised, and the internals have printed notes/comments dotted about to identify edge connectors and core parts. It's confidence-inspiring if you don't know your way around laptop internals.</p>
<p>Mine didn't come with an OS installed. I opted for Fedora, which, having checked the forum, offers the best out-of-the-box experience. After setup, I went through the notes to install TLP and Powertop and added the arguments to Grub to enable the keyboard brightness controls. On reboot, everything was fine and worked as expected. From cold, the entire setup process took less than 15 minutes.</p>
<p>Wow. This laptop boots faster than anything else I have in the house, except maybe my Amiga. Lovely!</p>
<p>I'm only on my second charge, but the battery looks like it'll cruise past 6 hours tonight. I'd like to see how long it lasts when I'm programming/compiling frequently, but I'm confident it'll smash the XPS, which rarely broke past 3.</p>
<p>Sleep and Hibernate seem to be working, which is also something the XPS struggled with—it never missed an opportunity to cook itself in my bag, unless I switched it off—but it's still early days...</p>
<p>The screen is glossy, which I'm generally not a fan of, but it's bright, the picture quality is great, and in my usage so far, the reflections haven't been noticeable. Wayland's scaling can lead to a soft look on certain apps that don't scale themselves, but I've not found that particularly offensive or out of place. The screen has a soft-ish look, anyway.</p>
<p>I've done a few things to push it and force the fans on, and (I'm pleased to say) under heavy load, it's pretty quiet. I can't hear it over the TV. The top's remained cool, and the bottom is warm but not bollock cooking. Again, a massive improvement over the XPS.</p>
<p>The trackpad is OK but could be better. Fingers glide well, and it responds to left and right clicks better than some I've used, but if I had any grumble, it'd be that the area for right-clicking is too small. In practice, I hit it when I need it, but this feels like something that needs a tweak. Also, it'll be interesting to see how long it lasts. It's not cheap, exactly, but it feels less robust than everything else.</p>
<p>The keyboard is excellent. Possibly the closest in feel to my old X1 carbon (my favourite laptop keyboard) that I've come across. The control key is easy to reach, and home/end/page up and down are mapped as FN's on the cursor cluster, which reminds me of the Mac. Very usable and extremely comfortable. It's going to be great to program on, which I'm pleased about.</p>
<p>In terms of ports, I bought 3xUSB C, 1xMicroSD and 1xHDMI. I've yet to try hot-swapping them (in fact, I've no idea if that's even possible), but I like having an HDMI port in my bag for those occasions when I need to hook up to something.</p>
<p>Of course, the real test is whether I can upgrade this machine in the future. I held off up to now because of the &quot;will they, won't they&quot; question of parts and support, but I feel a lot more confident having seen the mainboard upgrades Framework released for i11 to i12. If they came out with an AMD option, I'd be all over it like a rash...</p>
<p>I desperately want to cut down on my e-waste, so it'd be amazing to keep this machine running for the next ten years, upgrading bits and pieces as I go. I'm still rocking a 2013 Retina MBP for DJing, so it should be possible...Right?</p>
<p>But, even if this dies on the vine, it's the cheapest laptop I've ever bought. It's light, good looking, and first impressions are very, very good.</p>
<p>Let's see how I get on...</p>
]]></content></entry><entry><title>Embedding Wren, pt2</title><link href="https://www.tdi.online/2022-12-20-Embedding-Wren,-pt2.html"/><updated>2022-12-20T00:00:00Z</updated><id>https://www.tdi.online/2022-12-20-Embedding-Wren,-pt2.html</id><content type="html"><![CDATA[<p>It's Xmas time, which, amongst other things, means I have no guilt about working on the side project for a few days...</p>
<p>So I'm back on the EH500!</p>
<p>The last time I picked this up was in the Summer, so I decided to finish embedding Wren and get the rest of the &quot;console&quot; exposed to script.</p>
<h2>Changes to Initialise and Tick</h2>
<p>When I last discussed this, I posted an example where I loaded a class of static methods and ticked those. I've changed tack since then in two fundamental ways.</p>
<p>First, a class of static methods is limited in what it can operate on (static members), so now I instantiate the class and adjust my call handles appropriately:</p>
<pre><code>{
   wrenEnsureSlots(s_pWrenVM, 1);
   wrenSetSlotHandle(s_pWrenVM, 0, s_pWH_LevelMode_ClassHandle);

   //
   // Call new()
   //
   wrenCall(s_pWrenVM, s_pWH_New);   
   
   wrenReleaseHandle(s_pWrenVM, s_pWH_LevelMode_ClassHandle);
   s_pWH_LevelMode_ClassHandle = NULL;

   if (wrenGetSlotCount(s_pWrenVM) == 0)
   {
      LOG_ERROR(&quot;-- Interpreter error, calling LevelMode-&gt;new&quot;);
      Framework_Guru(SCRIPT_ERROR);
   }
   s_pWH_LevelMode_ClassHandle = wrenGetSlotHandle(s_pWrenVM, 0);
}
</code></pre>
<p>The instantiated class is free to create other objects, hold a list of things to tick, etc. which was what I needed all along.</p>
<p>Secondly, in the Summer, the platform API -- the foreign methods that map to console &quot;registers&quot; and functions in C-land -- was on disk, in its own module, that others could import. I didn't like this. So I've stolen a trick from the Wren implementation in Tic80; it's trivial to store the API in a string, in C code, and load it into VM as the first thing that's parsed, before I do any of the above.</p>
<pre><code>static char const* s_sPlatformAPI = &quot;\n\
class EH {\n\
   construct new() {}\n\
   foreign static GetFrameCount()\n\
   foreign static GetGameDeltaSeconds()\n\
...
   static TO_RADIANS { 0.0174532925 }\n\
   static TO_DEGREES { 57.295779514 }\n\
   static PI { 3.1415926535 }\n\
   static SCREEN_WIDTH { 384 }\n\
   static SCREEN_HEIGHT { 216 }\n\
   static SCREEN_HALF_WIDTH { 192 }\n\
   static SCREEN_HALF_HEIGHT { 108 }\n\
\
}\n&quot;;```


This has the effect of adding a class full of static methods into module &quot;main&quot;, making them accessible anywhere via an import: 


```import &quot;main&quot; for EH``` 


From the scripting perspective, this makes no difference, but it removes the need for a source file on disk that could go missing or get out of sync with the EH500. 

## Kicking the Tyres

&lt;video controls autoplay loop onclick=&quot;window.open('./images/eh500_xmas.mp4', '_blank');&quot;&gt;&lt;source src=&quot;/images/eh500_xmas.mp4&quot;/&gt;&lt;/video&gt;

Bar palette manipulation, I have everything in the EH500 exposed to Wren. It's been quick to implement -- little more than a day -- and easy enough to test. The slot system is clean, simple and fits my needs perfectly. 

It's taken me a while to grok the error messages from the interpreter, but that's no different than any other language... I just need to use it in anger. 

Next steps:
* Add a math library (just the basics, with some vector stuff)
* Add easing functions (ease all the things!)
* Decide how I'm going to do the collision detection...  
* Add some audio!
</code></pre>
]]></content></entry><entry><title>Steam Deck</title><link href="https://www.tdi.online/2022-10-09-Steam-Deck.html"/><updated>2022-10-09T00:00:00Z</updated><id>https://www.tdi.online/2022-10-09-Steam-Deck.html</id><content type="html"><![CDATA[<p>I didn't intend to buy a Steam Deck. I figured my Switch would be enough for personal use, and hey, after the other Steam Machines, maybe it'd be better to sit this one out. But I was wrong.</p>
<p>A few things tipped me over. First, the initial reviews—especially from people I knew—were positive, and second, it started selling like hotcakes.</p>
<p>I knew it was worth supporting when people began sending me pictures of my games running on it, so about a month ago, when my pre-order window opened, I dropped the cash, and one week later, I was the proud owner of a Steam Deck.</p>
<h2>First Impressions</h2>
<p>This thing is enormous. Bigger than a Nintendo Switch. Bigger than you think it's going to be, and probably bigger than it should be. But I've grown to like it. Its chonky size allows for large, rounded grips and multiple well-size trigger buttons. The sticks are well placed, even for my small hands, and its face buttons &amp; d-pad feel fantastic. I think it's the most comfortable device I've used for extended play sessions.</p>
<p>The screen is large and bright, and most things look great. The only stumble is text; the 800p screen struggles to cope with AAA game's penchant for tiny fonts, which sometimes results in nasty aliasing. (I've had to change a couple of prompts in my game to suit the lower resolution.)</p>
<p>The Deck runs hot at full beans. Not uncomfortably, but you'll notice the rear fans blowing, depending on how you're sitting and which angle you're holding it. The fans aren't obnoxiously loud, which is a result, given how hard they're working, but you can hear them, and all that heat comes at a price: battery life.</p>
<h2>Performance</h2>
<p>Whoah, this thing is way more pokey than I was expecting! I stuck my current [Unreal Engine 5] build on the Deck with no tweaks, and it ran at 20-30fps across the board. That's better than my two-year-old XPS 15 laptop at 1080p! I was expecting a step up from the Switch, but this is a pocket (well) monster. Elden Ring, on the bog? What a time to be alive!</p>
<p>It's possible to tap the status bar at the top of the screen and enable the performance overlay, containing utilisation graphs for each CPU core, the GPU and the current FPS, which, from a development point of view, is mana from heaven.</p>
<p>It's also possible to tackle the battery life problem directly. For example, framerate can be limited to 15, 30 or 60fps, or v-sync can be disabled. In addition, there's a Half Rate shading mode, which in theory, should reduce the resolution of pixel shaders, a big win for pixel art games. Or, you can limit the GPU's clock speed and adjust TDP limits on the CPU side. Just don't expect miracles. I've been able to get 2 to 3 hours of battery life out of some games, but it's entirely possible to drain a full battery in an hour and a half.</p>
<p>We're talking Atari Lynx levels of battery life, most of the time.</p>
<h2>Compatibility</h2>
<p>The Deck runs a Linux-based OS under the hood, meaning most games—unless they have a Linux native SKU—are running under Proton, a Wine variant optimised by Valve.</p>
<p>Proton is stunning. I am in absolute awe at how good a job it does. Using my games as a test, I saw a 30-40% increase in FPS using Proton vs the Linux Native builds. Even basics, like loading times, were better under Proton.</p>
<p>Now, there're loads of moving parts here and multiple reasons why this could be the case, and yes, my sample size was five different executables, but Proton was better on every single one. So much so that I'm genuinely questioning whether to put out Linux Native versions of future projects. If I had to make the call today, I wouldn't.</p>
<p>This feels, in some ways, like a backward step for Linux gaming... But then, is it? If Proton unlocks so many Windows games and people have a Linux device in their bags? I'm conflicted, for sure.</p>
<p>I don't have the most extensive Steam library, just a few hundred games, but everything I've wanted to play on the Deck I've been able to get going, and if required, create an input mapping for—even Space Giraffe. Honestly, it's so much better than I was expecting. Valve is underselling.</p>
<h2>Development</h2>
<p>It's possible to drop the Deck into Developer mode and, using the SteamOS Devkit Client (freely available on Steam), side-load games (or ROMS) onto it. These reside in a particular folder on the OS and appear in your library's &quot;non-steam games&quot; section. Just be careful; removing a side-loaded game via the steam client doesn't delete it. You need to drop into Linux for that.</p>
<p>Yup, KDE is there, but it's maybe not as valuable as you'd like. The OS is read-only, so although you can install libraries and tools, you're not getting a full Linux OS in the truest sense. But it's a godsend if you want to read log files, grab stuff off your NAS or do some cheeky remote debugging.</p>
<p>I've not been able to get Unreal to see the Deck—it's supposedly possible to launch builds on it from PIE—but I'm happy enough side-loading.</p>
<p>I've connected a wireless keyboard and mouse to mine, which allows me to bring up the console, tweak CVars, do perf checks, dump ticks and record stat files. In short, I can treat it as a second development PC, albeit one I send builds to wirelessly. Then, when I need to, I drop back into Linux, tidy up, SSH files to my Dev Rig and check Mastodon...</p>
<p>It's an ideal dev kit. One you don't need a fixed IP for.</p>
<h2>Price</h2>
<p>Is it worth it?</p>
<p>Here's the thing. I'd baulk at it if I didn't get one through work. 350UKP (minimum) is a hell of a lot of money for something that's, essentially, tethered to a power source.</p>
<p>That said, it is, without a doubt, superbly crafted and well-designed. It feels premium in every way. The software stack is polished, and I enjoy using it. But it's big, it's hot, and fucking hell, did I say it's expensive?</p>
<p>If you want something to play with while your other-half watches Strictly, then yeah, maybe it's perfect. And let's be honest, having your entire Steam Library with you on the go is a hell of a selling point.</p>
<p>Personally, I think it's too rich for what it offers, but I sincerely hope Valve keeps pushing in this direction. I honestly believe this has the potential to shake up PC gaming, and I fully intend to support it. I see a smaller, lighter, longer-lasting Deck 2 as an absolute must-have.</p>
<p>Well, if they can get the price under 300 quid. Fingers crossed!</p>
]]></content></entry><entry><title>iRig Stream</title><link href="https://www.tdi.online/2022-09-26-iRig-Stream.html"/><updated>2022-09-26T00:00:00Z</updated><id>https://www.tdi.online/2022-09-26-iRig-Stream.html</id><content type="html"><![CDATA[<img src="images/irig.jpg" onclick="window.open('./images/irig.jpg', '_blank');"/>
<p>You would think, in the year 2022, that lossless audio recording, in real-time, would be a solved problem, but no, it continues to be the bane of my life.</p>
<p>I started recording my DJ Mixes in the mid-90s, and back then, I'd be sampling from the mixer's output. Even with the fastest Pentiums of the day, I'd rarely get through an hour-long recording without some dropped samples. But it was par for the course. Then, sometime around 2000, I discovered the Mac. Phew, an Operating System that prioritised low-latency audio playback and recording! Finally, I could record mixes to my heart's content, glitch-free.</p>
<p>Fast forward a few years, and several hardware/software upgrades later, and I'm now using Rekord Box 6 with a DDJ 1000. Fantastic hardware, piss-poor software. So piss-poor that regardless of CPU/GPU or Operating System -- and I've tried OS X and Windows -- it is singularly unable to record audio, in the box, at any setting, without glitches. I have spent months wasting time on this, on multiple laptops and rigs, to no avail. So I give up. (Honestly, I'd go back to Traktor if the controller wasn't locked to RekordBox.)</p>
<p>I decided I needed a way to record mixes old-school out the back of the mixer, so I started hunting around for an interface to plug into my phone or iPad. I landed on the iRig Stream, and it seems to be just the ticket.</p>
<p>It's a reasonably small device that comes bundled with adaptors for iPhones, USB-C (iPad) and various flavours of USB-A (Android). To all intent and purposes, it's plug-and-play, automatically being recognised as a microphone by iOS.</p>
<p>It has stereo RCA inputs on the bottom edge, perfect for hooking up to a mixer. A small dial on the front allows input gain adjustment, and three LEDs indicate low/ok/high input levels. You can plug in headphones for monitoring (although I doubt you'd want to) or use the same socket for mic input. It's also possible to plug in a DC power adaptor (not supplied), which will also charge the phone [or pad] to which the device is attached. Very nice.</p>
<p>The iRig's audio quality is fantastic; it's simple to use, fits in my flight case, and is quick and easy to set up in the dark. In terms of hardware, it's a hard recommendation.</p>
<p>But then there's the software. Holy shit.</p>
<p>I downloaded the stand-alone firmware updater for Windows. Unfortunately, it failed to see the device. So I downloaded the IK product manager to register it, and it also couldn't see the device before crashing.</p>
<p><em>Yoink</em>.</p>
<p>I downloaded the recommended iRig Recorder App to my iPad, and guess what? It also didn't see the device, instead choosing to record the iPad's microphone. And, to add insult to injury, it was laden with adverts and pop-ups.</p>
<p><em>Yoink</em>.</p>
<p>My experience over the last few years is that a company's software is inversely proportional to its hardware quality, and unfortunately, IK hasn't broken the trend. GoPro? 10/10 hardware, 1/10 software. Pioneer? 8/10 hardware, 2/10 software. IK are in the same ballpark.</p>
<p>Will I ever get to update its firmware?! Who knows.</p>
<p>Fortunately, an app comes with every iPhone and iPad: Voice Recorder. With a quick fettling in the settings, it can record lossless audio. It picks up the iRig; it'll back-up files to iCloud automatically, and, in my opinion, it's perfect in its simplicity. So that's where I've landed.</p>
<p>My workflow is now: record a mix using Voice Recorder. Then, copy it over to my PC and bung it into Ableton Live for a bit of mastering -- Vintage Warmer, stereo separation, a smidge of compression, all piped through a peak limiter -- before uploading to the podcast.</p>
<p>Faff? Yes, but I finally have glitch-free mixes, so I'm happy.</p>
]]></content></entry><entry><title>Embedding Wren, pt1</title><link href="https://www.tdi.online/2022-08-11-Embedding-Wren,-pt1.html"/><updated>2022-08-11T00:00:00Z</updated><id>https://www.tdi.online/2022-08-11-Embedding-Wren,-pt1.html</id><content type="html"><![CDATA[<p>It’s always been my intention to make the EH500 with some sort of scripting language behind it, else, what’s the point? And originally, I wanted to use this as an excuse to get back into Scheme. I wrote a basic MUD in Scheme, at Uni, and have fond memories of it. (Not to mention SICP, which must be one of the greatest programming books ever written...)</p>
<p>Unfortunately, this project’s not going to be the one that gets me back into Scheme...</p>
<p>I pulled down Guile, Chibi, s7 and Bigloo, and went through the examples on how to embed each and... none of them quite did it for me. Either the code base was too large for my taste/needs, or the type of glue code required was hard to grok, or just way too many lines of code. I’m after something simpler, that ideally, is consistent for various types of call.</p>
<p>It was at this point that I stumbled upon Wren, a C-based language, pretty much built for my use-case; embedding in a game engine.</p>
<h2>Compiling Wren</h2>
<p>For simplicity I want to compile the language into my VC and here Wren excels. You can drop a couple of folders containing the source – ~20 files – add a couple of GLOB_RECURSEs to CMAKE and <em>it just works</em>. Wren compiles cleanly, on Windows, just like that.</p>
<p>I don’t know why this surprised me, but it did. If you want to compile and share a .dll, there’re included VS solutions to build release and debug versions, and those also just work.</p>
<p>(Linux wasn’t <em>quite</em> as simple. Wren has a few warnings for unused-params/vars that the author wants to leave in, for whatever reason, which is fine, but I don’t want to look at them. I added COMPILE_OPTIONS &quot;-w&quot; to the Wren include folders, to turn off the warnings...)</p>
<h2>Using Wren</h2>
<p>The basic embedding example in the documentation is fine, but it’s unlikely to suit many people'ss needs. My use-case may be more typical. I want to load a specific .wren file, along with my level, and use it as a fixed entry point. I also want to Tick the scripts, once per frame.</p>
<h3>Loading Wren Scripts</h3>
<p>This is discussed in the “Modularity” section of the Wren docs. The embedding program must provide a function to load files from the resource bundle, or file system, along these lines:</p>
<pre><code>static WrenLoadModuleResult Script_LoadModule(__attribute__((unused))WrenVM* vm, const char* sModuleName) 
{ 
    char* sBuff = malloc(sizeof(char)*1024); 
    memset(sBuff,0, sizeof(char)*1024); 
    
    char* sFileBytes = NULL; 
    WrenLoadModuleResult Ret; 
    Ret.source = NULL; 

    sprintf(sBuff, &quot;%s/%s.wren&quot;, Cart_GetFilepathForLevel(), sModuleName); 
    
    if(!TDI_FileExists(sBuff)) { LOG_ERROR(&quot;Unable to find module %s for script!&quot;, sModuleName); return Ret; } 
    
    sFileBytes = TDI_FileLoad(sBuff); 
    free(sBuff); 

    if(NULL == sFileBytes) { LOG_ERROR(&quot;Unable to load module %s for script!&quot;, sModuleName); return Ret; } 

    Ret.source = sFileBytes; 
    return Ret; 
}
</code></pre>
<p>I've actually extended this to search a 'global' scripts folder, so modules can be re-used.</p>
<h3>Initialising Wren, and Ticking it...</h3>
<p>The init example in the Wren docs shows the VM parsing a string, but now we've got a file loader, we can provide the VM with an entry module and call a specific method within it.</p>
<p>To do this we have to use a Call Handle. The nice thing about call handles is that they can be re-used and stored, so we don't need to create them in the hot-path. Even better, a call handle can call any method with the same signature, in any module. Handy!</p>
<p>Here's a short example:</p>
<pre><code>s_pWH_BeginPlay = wrenMakeCallHandle(s_pWrenVM, &quot;BeginPlay()&quot;);
s_pWH_Tick = wrenMakeCallHandle(s_pWrenVM, &quot;Tick(_)&quot;);
s_pWH_EndPlay = wrenMakeCallHandle(s_pWrenVM, &quot;EndPlay()&quot;);

wrenEnsureSlots(s_pWrenVM, 1);
wrenGetVariable(s_pWrenVM, &quot;main&quot;, &quot;LevelMode&quot;, 0);
s_pWH_LevelMode_ClassHandle = wrenGetSlotHandle(s_pWrenVM, 0);

if(wrenCall(s_pWrenVM, s_pWH_BeginPlay) != WREN_RESULT_SUCCESS)
{
    ...
}
</code></pre>
<p>The full Init looks like this:</p>
<pre><code>void Init_Script()
{
    LOG_INFO(&quot;Initialising Script Engine:&quot;);

    WrenConfiguration VMConfig;
    wrenInitConfiguration(&amp;VMConfig);
    VMConfig.writeFn = &amp;Script_Print;
    VMConfig.errorFn = &amp;Script_Error;
    VMConfig.loadModuleFn = &amp;Script_LoadModule;

    s_pWrenVM = wrenNewVM(&amp;VMConfig);

    char* sFilepath = Cart_GetFilepathForEntryScript();
    if(!TDI_FileExists(Cart_GetFilepathForEntryScript())) {
        LOG_ERROR(&quot; -- Unable to find initial script file: %s&quot;, sFilepath);
        Framework_Guru(SCRIPT_ERROR);
        return;
    }

    char* sScriptBytes = TDI_FileLoad(sFilepath);
    if(NULL == sScriptBytes) {
        LOG_ERROR(&quot; -- Unable to load %s!&quot;, sFilepath);
        Framework_Guru(SCRIPT_ERROR);
        return;
    }

    WrenInterpretResult result = wrenInterpret(s_pWrenVM, &quot;main&quot;, sScriptBytes);
    switch (result)
    {
        case WREN_RESULT_COMPILE_ERROR:
        {
            LOG_ERROR(&quot; -- Script Compile Error!\n&quot;);
            Framework_Guru(SCRIPT_ERROR);
            return;
        }

        case WREN_RESULT_RUNTIME_ERROR:
        {
            LOG_ERROR(&quot; -- Script Runtime Error!&quot;);
            Framework_Guru(SCRIPT_ERROR);
            return;
        }

        case WREN_RESULT_SUCCESS: LOG_INFO(&quot; -- LevelMode loaded and compiled OK!&quot;); break;
        default: break;
    }


    s_pWH_BeginPlay = wrenMakeCallHandle(s_pWrenVM, &quot;BeginPlay()&quot;);
    s_pWH_Tick = wrenMakeCallHandle(s_pWrenVM, &quot;Tick(_)&quot;);
    s_pWH_EndPlay = wrenMakeCallHandle(s_pWrenVM, &quot;EndPlay()&quot;);

    wrenEnsureSlots(s_pWrenVM, 1);
    wrenGetVariable(s_pWrenVM, &quot;main&quot;, &quot;LevelMode&quot;, 0);
    s_pWH_LevelMode_ClassHandle = wrenGetSlotHandle(s_pWrenVM, 0);

    if(wrenCall(s_pWrenVM, s_pWH_BeginPlay) != WREN_RESULT_SUCCESS)
    {
        LOG_ERROR(&quot; -- Interpretor error, calling LevelMode-&gt;BeginPlay&quot;);
        Framework_Guru(SCRIPT_ERROR);
        return;
    }

    LOG_INFO(&quot;Script Engine Initialised!&quot;);
}
</code></pre>
<p>And yeah, I've nicked UE's style here. The idea being, I call BeginPlay on a fixed entry point, each level, and that pulls in any and all scripts it needs to setup the level, calling BeginPlay in each.</p>
<p>Once that's done the VM can sit there, waiting for <code>Tick(fDeltaSeconds)</code> to be called, once a frame. E.G:</p>
<pre><code>void Tick_Script()
{
    wrenEnsureSlots(s_pWrenVM, 2);
    wrenSetSlotHandle(s_pWrenVM, 0, s_pWH_LevelMode_ClassHandle);
    wrenSetSlotDouble(s_pWrenVM, 1, GetGameDeltaSeconds());

    WrenInterpretResult result = wrenCall(s_pWrenVM, s_pWH_Tick);
    switch (result)
    {
        case WREN_RESULT_COMPILE_ERROR:
        {
            LOG_ERROR(&quot; -- Script Compile Error!\n&quot;);
            Framework_Guru(SCRIPT_ERROR);
            return;
        }

        case WREN_RESULT_RUNTIME_ERROR:
        {
            LOG_ERROR(&quot; -- Script Runtime Error!&quot;);
            //Framework_Guru(SCRIPT_ERROR);
            return;
        }

        case WREN_RESULT_SUCCESS: break;
        default: break;
    }
}
</code></pre>
<p>You'll notice that I'm passing a float -- Delta Seconds -- into the second slot, which the Wren VM will pass as the argument to the Tick() method.</p>
<h2>Initial Thoughts</h2>
<p>I'm not a galaxy-brain coder. I like simple things. And well, this is one of the simplest things I've done in a very, very long time. What's left is the glue-code, to expose the very limited functionality of my VC to the scripts, but the documentation seems much clearer here. It's just grunt work.</p>
<p>I do need to write more Wren in anger, but it's clear, from what I've written so far, that it's designed for a C-coder who wants a simple high-level language to do some hacking about in, and well, yeah. That's exactly what I want.</p>
<p>To be honest, I'm kinda blown away by how good an experience this has been. I can't wait to get the glue-code done and start fucking about... but that'll have to wait.</p>
<p>My holiday is over, so it's back to work for me.</p>
<p>I very nearly have a virtual console, though. Which is kinda cool :)</p>
]]></content></entry><entry><title>Indexed Colour Workflow</title><link href="https://www.tdi.online/2022-07-22-Indexed-Colour-Workflow.html"/><updated>2022-07-22T00:00:00Z</updated><id>https://www.tdi.online/2022-07-22-Indexed-Colour-Workflow.html</id><content type="html"><![CDATA[<p>I've started to chase down a workflow for asset creation [for the EH500] and it's turned out to be more of a faff than I expected. Probably because I've been messing about with the Amiga lately and, er, completely forgot how the future works.</p>
<p>My ideal would be to use Aseprite to create the individual sprites/tiles and animations. Then use Texture Packer to generate the packed texture pages; one for each tilemap buffer, and one for the sprites.</p>
<p>It should, in theory, also be possible to script this, so I could run a shell-script to build a “Cartridge” – a zip file, containing all the files the game needs, in a specific layout – that I can distribute separately from the EH500. (Separate distribution's not a requirement, but it'd be nice to have. The Pico8 carts are great.)</p>
<p>It doesn't look like this'll work quite as I imagined.</p>
<p>Despite being able to output PNG8 files, Texture Packer works with 32bit-per-pixel colour internally. As you do. This means the output t-page has a re-arranged palette, that may or may not have the same number of colours in it. Joy.</p>
<p>I tried the open-source version, and it has similar problems.</p>
<p>This isn't the end of the world. I can remap the output t-page and revert it back to a fixed palette, but it's a handraulic step. Or, I can write my own sprite packer. (Tempting... Maybe... But not right now.)</p>
<p>I was also assuming that I could keep strict, 16 colour images in memory, but SDL_image promotes everything to 32bpp, and SDL_Surface assumes 8bpp [so 256 colours]. I could load the Aseprite format directly, but it's pointless additional copying of data for something I can enforce in other ways.</p>
<p>Anyway, that was slightly disappointing, but basically understandable. It's not the 90s anymore. Although I'd argue there's still a need for a texture packer that respects indexed palettes end-to-end. Either way, I do now have a process that I can live with.</p>
<p>And more importantly, progress on the EH500 has been great! I have the framework loading tilemaps and sprites from a debug “cart”, setting palettes correctly, and exposed in a way that I can later turn into “registers” for game code.</p>
<p>A fun diversion for a few days. :)</p>
<img src="images/sprites.jpg" onclick="window.open('./images/sprites.jpg', '_blank');"/>
]]></content></entry><entry><title>Virtual Console</title><link href="https://www.tdi.online/2022-07-20-Virtual-Console.html"/><updated>2022-07-20T00:00:00Z</updated><id>https://www.tdi.online/2022-07-20-Virtual-Console.html</id><content type="html"><![CDATA[<p>My recent retro coding on the Amiga got me thinking [far too much] about another idea I’ve been cogitating on for a while: what shape would a “virtual console” for my own stuff take?</p>
<h2>Why a “Virtual Console”?</h2>
<p>I’ve got a lot of ideas for simple-ish, 2D games, that I’d like to make without the overhead of a “big” engine. I could use Unreal, but that’s the definition of a sledgehammer cracking a nut. I could use Godot, but again, that feels too heavy for my needs. Unity is out because, well, I think it’s shit.
There are a lot of existing virtual consoles, but most aim for an “8bit plus” vibe; think Pico 8 / Tic 80, that kinda thing… And they’re great! But not quite what I’m after. I want something a bit more Amiga-like. Well, a fancy 16bit console, really. Something with some sane, but hard, limitations, that’s easy to maintain, and (more importantly) portable. I especially want to be able to recompile it onto whatever hardware exists, 20 years from now.</p>
<h2>Limitations</h2>
<p>Here’s my high-level, mental tick list:</p>
<ul>
<li>384x216 resolution</li>
<li>3 tile map layers (Far background, background, foreground)</li>
<li>Each tile map can have an independent palette of 16 colours</li>
<li>1 layer of collision (also built from a tile map — would automatically track the foreground layer)</li>
<li>Fixed number of sprites (256?) that can be positioned on one of two planes (Front / Back)</li>
<li>All sprites share a palette of 16 colours</li>
<li>No blending. It’s dithered Alpha, or GTFO.</li>
</ul>
<p>Any set of restrictions is arbitrary, but I’ve arrived at these for a few reasons.</p>
<ul>
<li>Tiles make sense for retro games</li>
<li>There’re a bunch of existing tools — TileD, Texture Packer — that would make a pre-compile cook simple to script together.</li>
<li>Palette restrictions force me to make simpler pixel art!</li>
<li>Doing this, the VC framework can be incredibly dumb. For each level, it needs to load an image for each tile map layer, one for the sprites, and build the collision. Everything else can be exposed as “registers” for “game code” to tweak.</li>
<li>Which means… I can embed a simple scripting language for game code.</li>
</ul>
<h2>What to build on…</h2>
<p>So, nothing too complicated, but it’d be nice to leverage an existing library for the windowing and event handling. I want to use straight C, so I had a look at SFML and SDL2.</p>
<p>SFML is modern, clean, well supported and has great platform coverage, but, it’s focused more on OpenGL &amp; HW Accelerated contexts. I want a strictly indexed colour (fixed colour palette) workflow, so SDL2 – surprisingly – suits my needs better. It’s easy to have an indexed colour, SDL_Surface based setup, that can be pushed over to accelerated SDL_Textures at runtime.
And the other plus: SDL is already 20 years old. I suspect it’ll still be around in another 20. Especially given how many other game engines use it, under the hood.</p>
<h2>Oops</h2>
<p>So, er, since I’m sliding into a couple of weeks of summer holiday, I started building it out. The EH500 is just at the stage where I need to parse and build the tilemaps. I’ll report back soon.</p>
]]></content></entry><entry><title>Fixed Point</title><link href="https://www.tdi.online/2022-07-03-Fixed-Point.html"/><updated>2022-07-03T00:00:00Z</updated><id>https://www.tdi.online/2022-07-03-Fixed-Point.html</id><content type="html"><![CDATA[<p>One thing I never tried back in the day, was 3D. I was crap at maths cos I didn’t pay attention at school. Fortunately, every day’s a school day, and since the 90s I’ve learnt enough Linear Algebra to do the basics.</p>
<p>Time to have a go on the Amiga?</p>
<p>But before all that, I need a quick way to do the maths, which is where Fixed-point comes in.</p>
<p><em>(If you grew up programming before the Pentium era then all this will be trivial to you. I needed to refresh my memory. I only ever did this once, and that was a very long time ago. I thought I’d write it up for posterity…)</em></p>
<h3>What’s Fixed-point?</h3>
<p>The 68000 processor in the Amiga and ST is a hybrid 16/32 bit CISC processor; 32bit instruction set, on a 16bit bus. Unlike modern processors, it has no Floating-Point Unit [FPU], so processing numbers with fractional values is slow in comparison to integer based math.</p>
<p>3D graphics calculates a lot of angles/positions that rely on these fractional values, so we need a way to trade mathematical precision for processing speed. Fixed-Point is a decent compromise.</p>
<p>In fixed-point, numbers are stored in standard C types (ints, short and long, etc.) but the content of the variable differs from that of a normal int type. Fixed-point implies a position within the variable where the decimal point would be, and this is kinda arbitrary. For example, a signed 16bit integer normally has the range -32768 to 32767. If we create a fixed-point type of 8.8 – 8 bits for the integer part, 8bits for the fractional part – the integer range is reduced to -128, 127, but we’ve gained 8 bits of fractional precision.</p>
<p>Where to put the decimal point depends on the use-case. The resolution of the Amiga, in PAL low res, is 320x256, meaning unsigned 8.8 fixed-point numbers would <em>nearly</em> give us enough range to cover the screen. 12.4 would be more than enough. 16.16 takes us to the moon and back (and may be faster for some operations?).</p>
<p>For trigonometry functions, like Sine, where the output is -1 to 1, we could use a 2.14 fixed-point notation, giving us 14 bits of fractional precision. More than enough for smooth rotations.</p>
<h3>Fixed-point Ops</h3>
<p>Conversion to and from a fixed-point number is simple: Shift by the number of bits in the fractional part of the number. Ie: If you’re using 8.8 fixed-point, shift by 8 bits. A set of pre-processor macros is enough to go to and from any of the fixed-point representations need, but you must be mindful of potential under or overflow.</p>
<p>Addition and Subtraction of fixed-point numbers – assuming they’re of the same notation, 8.8 or whatever -- works the same as normal integers, but multiplication and division need slightly different handling.</p>
<p>When two fixed-point numbers are multiplied, the result is shifted by the number of bits in the fractional part, so must be stored in a type large enough to hold the extra bits to avoid truncation. (Multiplying 16bit words gives results in 32bit longs.) Also, the result must be shifted back before being stored:</p>
<pre><code>(short) (((long) i * (long) j) &gt;&gt; 8);
</code></pre>
<p>Fixed-point division also shifts the result, but in the opposite direction, losing precision. To compensate, code needs to shift one of the arguments up, before the operation.</p>
<pre><code>(short) (((long) i &lt;&lt; 8) / j);
</code></pre>
<h3>Trigonometry</h3>
<p>Fast trig on a 16bit computer requires the use of pre-calculated look-up tables. And maybe some cheats.</p>
<p>Let’s take Sin/Cos. These functions take an angle as input. To pre-calculate their look-up tables, we need to decide what sort of precision is required for this input. Instead of having 360 degrees in a circle, we can say there are 256, meaning an angle can be stored within a byte and we get angular modulo for free, as the integer overflows (handy).</p>
<p>A precalculated look-up table for Sin/Cos, with this assumption would have 256 entries. The fixed-point precision of the values in the table being arbitrary; 2.14, 16.16… whatever is required of the results.</p>
<p>If you take advantage of the symmetry of Sin/Cos, it’s possible to reduce the number of entries: Only the first quadrant [“90 degrees”, or 64 entries in this example] need be calculated. The result can be mirrored/negated as appropriate, depending on the quadrant of the input [angle] passed to the function.</p>
<p>256 “degrees” in a circle would be enough to bounce a sprite up and down smoothly, but it probably wouldn’t be enough for silky vector rotations of lines and polygons. In these cases it’s worth bumping up to 4096, resulting in a 1024 entry table, with a precision of 360/4096 = 0.087890625 degrees.</p>
<p>That’s a decent trade of memory for speed!</p>
<h2>Here’s one someone else made earlier</h2>
<p>I’m writing this for sport and it doesn’t need to do much beyond clearing out the cobwebs from my old-geezer brain.
You, dear reader, don’t need to know any of this. And, since you live in the future, you don’t need to code it, either. You can get a battle-tested fixed-point library that’ll work on old computers (or tiny embedded devices, whatever) right from Git Hub:</p>
<p><a href="https://github.com/PetteriAimonen/libfixmath">PetteriAimonen/libfixmath</a></p>
<p>I hear it’s great, but it’s possibly not as much fun as working all this out [again] on a rainy Sunday after noon 😊</p>
]]></content></entry><entry><title>Tweaking Bart&apos;s VSCode Ext.</title><link href="https://www.tdi.online/2022-05-30-Tweaking-Bart's-VSCode-Ext..html"/><updated>2022-05-30T00:00:00Z</updated><id>https://www.tdi.online/2022-05-30-Tweaking-Bart's-VSCode-Ext..html</id><content type="html"><![CDATA[<p>I booked my tickets to Assembly a few days ago, and like most years, this got me thinking about doing a compo-filler. Chances are vanishingly small that I’ll get to it, but I do want to mess about with something different as a hobby project, so I thought I’d fire up VSCode and Bartman’s extension.</p>
<h2>16:9</h2>
<p>I’m a big fan of Revision’s 16:9 format for Amiga demos. I'd love to make a game in that aspect ratio, which I know is sacrilege to people that use their Amigas on actual CRTs, but for the rest of the world (especially now the Amiga Mini is out) I think it makes perfect sense. Besides, think of the extra raster time!</p>
<p>Bart’s extension comes with a customised WinUAE that has a default config file at: <code>%userprofile%/.vscode/extensions/bartmanabyss.amiga-debug-1.3.6/bin</code></p>
<p>It’s easy enough to edit this file so WinUAE always opens in a 16:9 window. There’s also a little trick (which I blogged about before) using a null-filter to scale the emulator’s output to fill the window. The results are great.</p>
<p>Here’re the extra bits you need for the UAE config file:</p>
<pre><code>gfx_width=1920
gfx_height=1080
gfx_width_windowed=1920
gfx_height_windowed=1080
gfx_center_horizontal=smart
gfx_center_vertical=smart
gfx_filter_autoscale=scale
</code></pre>
<p>Revision recommend using the following settings: <code>DIWSTRT,$5281; DIWSTOP,$06c1</code> which is a couple of lines change to the display port setup in the copper list.</p>
<h2>C11</h2>
<p>The extension uses a customised version of GCC, so it’s possible to use C11 if you fix a couple of compiler warnings in <code>/support/gcc8_c_support.h</code></p>
<p>Each of the inline asm macros should be <code>__asm__</code>, the four at the bottom are missing the underscores.</p>
<p>I looked into this as I was interested in messing about with C11’s generic functions and initialiser stuff, but there’s no real need when programming the Amiga, especially without the standard libraries.</p>
<h2>Base Project</h2>
<p>I spent a few hours pulling apart the example demo and re-building it, ground-up, into a base project that I can fork for my own stuff. Everything’s split into files and programmed in my style, which is a bit more C++’y these days. It means I can read it without thinking, and it got my head back into the Amiga includes, which ended up being a fun diversion.</p>
<p>I think the next thing to do is sort out the copperlists, and get some stuff moving about.</p>
]]></content></entry><entry><title>Desktop Backdrops</title><link href="https://www.tdi.online/2022-05-16-Desktop-Backdrops.html"/><updated>2022-05-16T00:00:00Z</updated><id>https://www.tdi.online/2022-05-16-Desktop-Backdrops.html</id><content type="html"><![CDATA[<p>I was hoping to have the had time to edit and upload the next couple of hiking videos -- the Lake District is nothing if not picturesque -- but life's got in the way. What I have started doing, though, is taking some panoramas to use as desktop backdrops. A few of these have come out really well, so I thought I'd share.</p>
<p>Beware, these are chonky-bois.</p>
<p>I dual head 4k monitors, and these are sized to match, but I'm fairly sure you'll be able to cut out a section you like, or down-rez them to taste.</p>
<img src="images/backdrop_derwentwater.jpg" onclick="window.open('./images/backdrop_derwentwater.jpg', '_blank');"/>
<img src="images/backdrop_rydal.jpg" onclick="window.open('./images/backdrop_rydal.jpg', '_blank');"/>
<img src="images/backdrop_tarn.jpg" onclick="window.open('./images/backdrop_tarn.jpg', '_blank');"/>
<p>Enjoy!</p>
]]></content></entry><entry><title>OLL 2022</title><link href="https://www.tdi.online/2022-04-12-OLL-2022.html"/><updated>2022-04-12T00:00:00Z</updated><id>https://www.tdi.online/2022-04-12-OLL-2022.html</id><content type="html"><![CDATA[<p>I found myself at the Norfolk Showground, last weekend, for OLL22. The first videogame convention setup by @oll_gaming@twitter.com</p>
<p>You never know what to expect at these things. For me, it was an opportunity to meet online friends for the first time, grab a curry, and spend a couple of nights talking Amiga, Demoscene and random garage at the bar.</p>
<p>But the event was great!</p>
<p>Some really interesting stalls, lots of hardware -- the vast majority of which was available to play on -- and most importantly, there was room to move. It wasn't over subscribed, which felt just about right, if you're covid conscious like me.</p>
<p>I didn't catch many of the panels, but from what I saw it was the usual mix of streamers and podcasters... again, what you'd expect. But a big shout out to the Norwich Amiga Group, who not only had a cracking stand, but looked after us all weekend.</p>
<p>OLL22 did a lot of things right -- impressively so for a first show -- and I'd definitely go again next year. The crowd was super interesting, and the stalls had my wallet twitching throughout.</p>
<p>Definitely one to put on your radar! I met Good People.</p>
<img src="images/OLL22_3.jpeg" onclick="window.open('./images/OLL22_3.jpeg', '_blank');"/>
<img src="images/OLL22_1.jpeg" onclick="window.open('./images/OLL22_1.jpeg', '_blank');"/>
<img src="images/OLL22_2.jpeg" onclick="window.open('./images/OLL22_2.jpeg', '_blank');"/>
<img src="images/OLL22_4.jpeg" onclick="window.open('./images/OLL22_4.jpeg', '_blank');"/>
<img src="images/OLL22_6.jpeg" onclick="window.open('./images/OLL22_4.jpeg', '_blank');"/>
]]></content></entry><entry><title>Analogue Pocket</title><link href="https://www.tdi.online/2022-02-21-Analogue-Pocket.html"/><updated>2022-02-21T00:00:00Z</updated><id>https://www.tdi.online/2022-02-21-Analogue-Pocket.html</id><content type="html"><![CDATA[<p>It’s not finished. That’s the first thing to note about the Pocket. The OS is rudimentary, but it’s a living project. Anything I write here should be taken in that context.</p>
<p>--</p>
<p>Analogue have made a name for themselves selling high-end, FPGA emulations of classic consoles — The Megadrive and SNES in particular — that are immaculately presented and pitched in a way, oxygen-free-cable-buying audiophiles would expect.</p>
<p>When the Pocket was first announced in 2019 it peaked my interest as an “all-in-one”, so I put the money down for the basic package, sans any adaptors, and then completely forgot about it. Until December, when I was told mine was about to be shipped!</p>
<h2>Hardware</h2>
<p>So first things first; yes, the screen is as good as they claim. It’s super high-resolution, pin-sharp, and as bright as the sun. As you’d expect. Modern displays are a marvel.</p>
<p>It’s designed with a 1.11:1 ratio for the Gameboy/GB Colour/Game Gear, and once the LCD emulation is turned on, does a great job of presenting games with the original grid pattern characteristics of the time. Except, you know, you can actually see the screen without a light and magnifying glass attached…</p>
<p>That said, the current screen blending options don’t come close to matching the smear of an original Gameboy when scrolling. That may be for the best, but I’d like a much more aggressive option here. The colour palettes are nice, and work well, but Tetris isn’t Tetris without that smudge.</p>
<p>The console is roughly the same height and width as an original Gameboy, but not as deep. Sorta like a big Gameboy Colour. And, like a Gameboy Colour, it’s not particularly comfortable to hold for long periods of time. Well, unless you’re a kid... I’m not, and even though I have tiny hands, an hour or so of play has my fingers aching because the device is too thin. I know that sounds fussy, but I’ve been rocking a GPi and original Gameboy during lockdown, that I can play for hours, and they're more comfortable because there’s more grab hold of.</p>
<p>I opted for the black model. It looks good in the flesh but the plastic isn’t perfect. I was a little disappointed in the materials given its positioned at the very high-end. The overlap at the join feels sharp, and the plastic has slight discolouration spots. (Moulding artefacts?) When compared to ZX Spectrum Next, which was absolutely perfect from every single angle, the Pocket is lower quality. Not much. But a bit.</p>
<p>The device is a nice weight, a little heavier than expected, but the heft is reassuring and it’s completely solid in the hand. No creaks, squeaks, or flex.</p>
<p>The cartridge port at the rear is compromised by the need to support adaptors. Rather than enveloping the majority of the cart, like the original Gameboy, it covers roughly half a centimetre. I’ve been using an Everdrive GB X7 for Gameboy ROMs, and it can be knocked out of the device far too easily. Even during play. The Everdrive GBA, being shorter, feels a bit more secure, but it’s still not great. You wouldn’t want this rattling around in a messenger bag.</p>
<p>The D-Pad and face-buttons are extremely high quality, they feel great and make a nice sound, but the two “shoulder” buttons, at the rear of the device, are spongey and imprecise. I love Streetfighter Alpha on the GBA, but I’ve found it a bit harder to play on the Pocket, which is a shame.</p>
<p>I wasn’t expecting much on the audio side — it’s impossible to get a great sound out of tiny speakers — but it’s maybe not as good as it could be. Gameboy and GBC games sound OK, but GBA games suffer from an audible hiss. Like the noise floor is elevated, or the sample bit depth is too low... I don’t know if this is a problem with the original platform, the fact I’m running off an Everdrive, or if the pocket is doing something stupid. It’s likely that I’ve just never noticed how bad GBA audio is up to now.</p>
<p>There’s a 3.5mm headphone jack, advertised as a feature, that would let me confirm if I’m hearing things, but you know, it’s 2022, and I’m way past the point of carrying wired headphones in my bag. Bluetooth would have been nice, you know?</p>
<p>I don’t have a dock, so I’ve not tried hooking it up to my TV.</p>
<p>I’ve also not timed the battery life, but I can say that it’s more than adequate. I’ve had multiple extended play sessions between re-charges, and being able to charge through USB-C means I don’t need to pack a specific cable. Shame the headphone options weren’t as forward looking.</p>
<h2>Software</h2>
<p>There’re big plans for the Pocket’s OS but right now it’s fairly rudimentary. Depending what mode it’s in — GB/GBC/GBA etc. — you can change colour palettes, display mode, sharpness, saturation and blending, and, er, that’s about it.</p>
<p>But Nano Loop is included, and that’s excellent.</p>
<p>--</p>
<p>The Pocket is, by far, the best way to play GB/GBC games that I’ve ever experienced. The screen can be setup to be <em>chef’s kiss</em> with a couple of tweaks to the settings, and unlike the GPi, there’s absolutely no discernible lag, frame drop, or jitter. The Pocket plays a perfect representation of these games, and I’ve thoroughly enjoyed the experience of going back through old favourites I've not seen in decades.</p>
<p>The GBA is less of a slam-dunk due to the aspect ratio of the screen, and the shoulder buttons. Yes, the games look better on the Pocket, far better, but I don’t think I’ll be putting my Micro away.</p>
<p>If the Pocket could only play games from Nintendo platforms then it’d be hard to recommend it. I’d say it was seriously over-priced. But, there’re adaptors planned for Neo Geo Pocket Colour, PC Engine and Atari Lynx — the first two have incredibly game libraries — and I have no doubt that the Pocket will make them sing. Can you imagine playing a Lynx game for more than 30 minutes without changing batteries? Or having Every. Single. PC Engine game in your pocket? What a time to be alive.</p>
<p>But obviously, being made by Analogue, the adaptors don't come cheap, which pushes the overall price of a fully loaded Pocket to extremely high levels.</p>
<p>Personally, I’ve no regrets at being an early adopter as the financial outlay's been split over multiple years. If you're considering buying Pocket right now, then bear in mind that it's not quite everything that it's hyped up to be. Yet.</p>
<p>Even in its unfinished state it's the best way to play a large number of games, from some of my favourite platforms. My Pocket’s going to be travelling with me for a very long time to come.</p>
]]></content></entry><entry><title>CBM 8032 AV</title><link href="https://www.tdi.online/2022-02-04-CBM-8032-AV.html"/><updated>2022-02-04T00:00:00Z</updated><id>https://www.tdi.online/2022-02-04-CBM-8032-AV.html</id><content type="html"><![CDATA[<p>I'm stunningly late to the party, with this, but it's so good I thought I'd share.</p>
<p>Robert Henke's a cracking Techno muscian you'll most often bump into under the Monolake name. He's also one of the programmers of Ableton Live. And, it seems, he's crazy bonkers enough to put on a concert with a gaggle of Commodore Pets.</p>
<p>I'd expect this at Assembly, not in a theatre, and I'm absolutely gutted that I missed it.</p>
<iframe title="vimeo-player" src="https://player.vimeo.com/video/394414592?h=cb91fbdbb1" width="640" height="360" frameborder="0" allowfullscreen></iframe>
<p>Full write up is <a href="https://monolake.de/concerts/cbm8032av.html">on his blog</a></p>
]]></content></entry><entry><title>Long Meg</title><link href="https://www.tdi.online/2022-02-01-Long-Meg.html"/><updated>2022-02-01T00:00:00Z</updated><id>https://www.tdi.online/2022-02-01-Long-Meg.html</id><content type="html"><![CDATA[<p>Local legend claims that Long Meg was a witch, who, along with her daughters, was turned to stone for profaning the Sabbath as they danced wildly on the moor.</p>
<p>Long Meg sounds like my kinda gal.</p>
<p>We walked via the River Eden, past Lacy's caves, and up to Long Meg. Even found a little church - St Michael and All Angels - on the way home. Good fun. Albeit a little (very) wet.</p>
<p>It turns out that mini-cheddars are no replacement for digestives as far as sheep are concerned. Can't say I blame them.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/rKnPZ4nneMA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
]]></content></entry><entry><title>Hiking</title><link href="https://www.tdi.online/2022-01-17-Hiking.html"/><updated>2022-01-17T00:00:00Z</updated><id>https://www.tdi.online/2022-01-17-Hiking.html</id><content type="html"><![CDATA[<p>I could feel myself flagging at the end of last year. Interminable Covid stress and the constant avoidance of idiots had started to take its toll.</p>
<p>I promised myself that this year I'd make the most of the Lake District, regardless of the weather, and so far that's been working well. One thing I've noticed about the North: it doesn't matter what the weather forecast actually says, you'll get all seasons in a day. Regardless.</p>
<p>And you know what? It's just as pretty under a stormy sky, as a sunny one.</p>
<p>I've started making some vids, to remember it by:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/dHMwxEraHAw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
]]></content></entry><entry><title>Bernie Drummond</title><link href="https://www.tdi.online/2021-12-15-Bernie-Drummond.html"/><updated>2021-12-15T00:00:00Z</updated><id>https://www.tdi.online/2021-12-15-Bernie-Drummond.html</id><content type="html"><![CDATA[<p>I’m overdue to be writing about the passing of Bernie Drummond, but I didn’t want to leave it unmarked.</p>
<p>Bernie’s work is seminal (to those of a certain vintage), defining a quality bar and eccentricity that was rarely matched on the 8bit computers. Prince Charles, on a Dalek? Yeah, that’s Bernie alright; quirky, even at a time when games were being made about Trashmen.</p>
<img src="images/batman1.jpg" onclick="window.open('./images/batman1.jpg', '_blank');"/>
<p>I first encountered his work on Batman, the 8bit isometric arcade adventure that came out when Batman was at the height of uncool... And it was glorious. To this day, Bernie’s chubby, slightly middle-aged take on Batman is my favourite; one I’d love to see in its paunched-glory, swinging through a Rocksteady Batyverse.</p>
<p>I can dream.</p>
<p>Bernie’s probably best known for his work on Head Over Heels, and it’s certainly the game that had the most profound effect on me. The four colour CPC graphics are world class and dripping with personality.</p>
<p>I love how distinctive the biomes are, how each sprite looks alive, and slightly bored. How the floors can guide or warn... And all of it in the tightest of memory constraints.</p>
<img src="images/hoh1.png" onclick="window.open('./images/hoh1.png', '_blank');"/>
<p>It's practically impossible to take a bad screenshot of his work, and there are vanishingly few artists from the 80s game industry that I can say that about. We've lost an extrodinary pixel artist.</p>
<p>I never got to meet Bernie, although I would have loved to have had the opportunity. And to my shame, I kinda lost track of where he was and what he was doing after Cranberry Source shuttered. Whtever it was, I’m sure he was doing it with flair...</p>
<p>Bernie, you were one of my game dev heroes, and your work and humour have inspired me many, many times.</p>
<p>Rest in Peace, man.</p>
]]></content></entry><entry><title>A500 Dev Tools</title><link href="https://www.tdi.online/2021-10-25-A500-Dev-Tools.html"/><updated>2021-10-25T00:00:00Z</updated><id>https://www.tdi.online/2021-10-25-A500-Dev-Tools.html</id><content type="html"><![CDATA[<p>I'm a little late posting this, but Bartman/Abyss did a seminar at Deadline a couple of weeks ago, discussing the latest updates to his Amiga Development Toolchain for VSCode:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/gQ4tKisnr7Y" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>It's quite the thing. Latest release is on <a href="https://github.com/BartmanAbyss/vscode-amiga-debug/releases">Bart's GitHub</a> so give that a follow and try it out. There're a few people I know using variants of that, and Beebo's GCC toolchain in VS Code. What a time to be alive! :D</p>
]]></content></entry><entry><title>GoPro</title><link href="https://www.tdi.online/2021-09-28-GoPro.html"/><updated>2021-09-28T00:00:00Z</updated><id>https://www.tdi.online/2021-09-28-GoPro.html</id><content type="html"><![CDATA[<h1>Hero 9</h1>
<p>I bought a GoPro before we moved up to Cumbria. I figure, of all the places I’m ever going to live, this is probably the one worth capturing on video. I was right, but the GoPro has been a real mixed bag.</p>
<h2>Hardware</h2>
<p>The recent release of the Hero 10 explains why I was able to get my bundle for such a cheap price. Every mod – GoPro’s parlance for plugins/adaptors/doodahs – was discounted, and I walked away with extra batteries, a tripod, media adaptor and wide-angle lens.</p>
<p>The camera is as good as I hoped. Super crisp, high framerate video, up to 5k and at crazy wide angles. Stabilisation is impressive and it’s handled low-light situations better than I'd expect a lens of that size.</p>
<p>Ever adaptor (mod) I’ve tried has been excellently designed. They feel robust. Really robust. It’s obvious from the tactile feel and day-to-day use that a great deal of care and attention has gone into them, and once in place – screwed in, clipped on, angled and pointed – there’ve been reassuringly secure.</p>
<p>In my opinion, GoPro’s hardware is fantastic. By far the best small form-factor video camera that I’ve ever seen or used, with a really well designed collection of bolt-ons.</p>
<h2>Software</h2>
<p>The software platform covers three parts, the device itself, the phone, and the desktop.</p>
<p>The device itself is easy to control. The touchscreen is responsive, even when wet. On-screen controls have been simplified, but you can pretty much dig-in and get at everything you need while on the road, quickly, and reasonably intuitively. It’s crashed a couple of times, which is less than ideal, but for the most part it’s been fine.</p>
<p>The mobile phone acts like a tether and gives you a few more options to play with. In theory, you can preview, wirelessly, from the camera to the phone, download recorded media and edit it, make custom profiles for resolution, lens and framerate, and quickly jump between them. In practice most of these features are a bit of a lottery. In fact, it’s from this point on that the software crumbles.</p>
<p>My phone fails to find and connect to the camera approx one in four times. Regularly enough that it’s muscle memory to hit the back arrow to try again.</p>
<p>Downloading media takes an age. It’s generally faster for me to upload, from the camera, to GoPro’s cloud and then download it to where I want it. This has completely put me off editing a video on the road. It’s also far too easy to delete recordings. The GoPro actually saves long videos as lots of shorter sections, behind the scenes. Depending on where you’re looking at these, you might see one long video, or lots of five-minute bits. And, occasionally, depending where you are, deleting a “short clip” may actually delete the entire “long video”. One of the plus points of GoPro’s cloud is that there’s no limit to the amount of video you can store, so, I’m never going to delete anything, which solves the problem...</p>
<p>The phone software’s a “pass” at best.</p>
<p>On the desktop there’s a driver to use the GoPro as a webcam, and it’s complete garbage. Stands up for minutes, if you're lucky, silently crashes, or just ends up with half the frame updating, the other locked to a static picture. I’ve had to plug my GoPro into a USB HDMI capture card, as that’s been the only reliable way to get 30fps video out of the thing. Apparently, this is quite a common solution, despite the &quot;media mod&quot; being expressly designed for this sort of use case?</p>
<p>Fusion, for desktop, appears to be an electron version of the older iOS software and was riddled with Javascript errors and crashed constantly. GoPro gave up on it entirely over the summer, meaning there’s now no sanctioned way that I’m aware of to download and edit video on the Windows desktop. I’ve not hunted about for the Mac, but I’m guessing it’s the same there.</p>
<p>This isn’t the end of the world, I’m probably happier to downloading my clips from GoPro’s cloud and editing them in Resolve, but for those people stuck in Quik, man I feel your pain.</p>
<p>It’s unfortunate, but at every point, from the device to the computer, GoPro’s software is bug-ridden and crash-prone. I honestly can’t think of another device I’ve owned, whose software-stack has so dramatically tarnished what would otherwise have been an exceptional experience. It is utter fucking garbage from top to bottom.</p>
<p>It’s a real shame, cos I love the hardware. If everything else was the same quality then I’d understand why GoPro is held in such high regard. As it is, I can’t understand why they’re not being dragged over broken glass. Have people just stopped expecting things to work?</p>
]]></content></entry><entry><title>Musings on Cumbria</title><link href="https://www.tdi.online/2021-08-16-MusingsOnCumbria.html"/><updated>2021-08-16T00:00:00Z</updated><id>https://www.tdi.online/2021-08-16-MusingsOnCumbria.html</id><content type="html"><![CDATA[<p>I've been living in Cumbria for about a month now. In most ways it was what I was hoping for, in others, surprisingly different.</p>
<h3>Green and Blue</h3>
<p>It took moving to Finland for me, a city-boy, to finally get an appreciation of the countryside. Long summer nights at the lake cabin, Saunas no matter the season, sailing to a &quot;local&quot; pub, and hikes through ever-green forests were regular events that opened my eyes. The place is magical. I felt at home there.</p>
<p>Coming back to Fareham was more of a culture shock than I realised, and worse, I'd not appreciated how much I'd detached myself from the area when I originally left it, back in 2006. It wasn't home, these weren't my people, the place was dirty, and everyone was struggling.</p>
<p>It's early days, but waking up to see rolling, rugged hills – even out of my office window – shades of green everywhere, and [occasional] blue-skies reminds me a lot of being in Finland. The scenery’s different, but the feeling of being somewhere old, beautiful, and connected to nature is the same.</p>
<p>We’ve been going out at every opportunity to appreciate it.</p>
<h3>People</h3>
<p>Cumbria is far more cosmopolitan than I expected. There’s literally every accent crammed into one place. A lot of tourists, a lot of people like us, who’ve escaped, and “locals” from all over the North East and West. And 10 minutes up the road everyone speaks Scottish.</p>
<p>People are friendly. Everyone says hello. It’s not uncommon to end up stopping to talk with a complete stranger because, well, no reason really.</p>
<p>It’s so much more relaxed, it’s almost a weight-off in itself.</p>
<h3>Local stuff for local people</h3>
<p>A lot of big brand-name shops are missing, or a few hours away. I wasn’t expecting that, but I should have. In their place are loads of local companies and smaller brands I’d not seen before. Reminds me of Scotland, in a way. Everything’s there, it’s just not what you’re used to. And in some cases you might have to hike a bit to get to it.</p>
<h3>Mental / Physical Health</h3>
<p>I wasn’t miserable in the Southeast, but I wasn’t exactly bouncing around with the joys of spring. I wasn’t enthused about much – been there done that – which was made worse by lockdown. There’ve been some dark days, which I’m sure you’ve all felt.</p>
<p>Physically, the move’s already had a dramatic effect: I’ve lost just over 1kg, my bodyfat % is on a nice downward trajectory, and I’ve not been doing much more beyond some “warm-up” hikes and indoor weights. I’ll be pushing myself a lot harder once the bike-rack arrives, but I can already feel a dramatic improvement.</p>
<p>--
We’ve made quite a few compromises to get up here, and it’s early days, but I’m already of the opinion that it was worth it. (My Saturdays are now filled with this.)[<a href="https://youtu.be/OT6ZNJgP6DA%5D">https://youtu.be/OT6ZNJgP6DA]</a></p>
]]></content></entry><entry><title>First Steps With Rust...</title><link href="https://www.tdi.online/2021-07-23-First-Steps-With-Rust....html"/><updated>2021-07-23T00:00:00Z</updated><id>https://www.tdi.online/2021-07-23-First-Steps-With-Rust....html</id><content type="html"><![CDATA[<p>My other half's become a bit of a <a href="https://www.birdspot.co.uk/bird-watching-for-beginners/what-is-a-twitcher">twitcher</a> over the last year or so, which has been a good excuse to get out, travel, and see some countryside. It's not exactly my bag, but given I've completed most of the Pokemon series I'd be lying if I said I didn't get the appeal. And, as any good trainer knows, you're going to need a Pokédex, so I offered to make one, online, so she could record her sightings.</p>
<h2>Birdydex</h2>
<p>Functionally, I thought I'd start out relatively simply and record the following:</p>
<ol>
<li>Bird name</li>
<li>Date/time</li>
<li>Rarity</li>
<li>Gender</li>
<li>Weather condition</li>
<li>Notes</li>
<li>Geolocation</li>
</ol>
<p>For the name I want to have some sort of fuzzy search, to save her from ever having to type the full name, and to allow me to key off it in the back-end. Ideally, I'd like Geolocation to use the GPS on her phone, and/or a navigable map, so she can drop a pin, when she's out, to mark the spot.</p>
<h3>Rust</h3>
<p>Rust has been bubbling up my &quot;should look at this&quot; pipe for a long time. There's been a lot of talk in gamedev circles about using it to develop tools, and in some cases, engines, and I know several 'sceners are using it for their frameworks. I really should kick the tyres...</p>
<p>My personal interest in Rust centres around using it as a &quot;proper&quot; development language for the browser, via Web Assembly. For games, mostly, but given I still pick-up contract work occasionally, it'd be nice to use it for general web-apps, as well.</p>
<h3>Rust and Rocket</h3>
<p>Birdydex is a slightly different usecase to any of that, though. Despite my natural desire to make an all-singing, all-animating, full 3D &quot;app&quot; (game) out of it, I'm going to resist. At least for now. Just a simple page, and backend. I can build reports, over time, until the cows come home.</p>
<p>So I started looking at the various libraries/frameworks that are available, and a lot didn't suit my needs, or just looked a little immature. But Rocket jumped out.</p>
<p>To quote their spiel, &quot;Rocket is a web framework for Rust that makes it simple to write fast, secure web applications without sacrificing flexibility, usability, or type safety&quot;. Flicking through the docs and examples, it looked exactly like the sort of thing I'm after.</p>
<p>What appeals even more, is the client traffic is routed directly to my Rust application, via Nginx. No need for a heavy Apache install. No need for a big Postgres/MySQL backend. Just something light weight, and nippy.</p>
<p>On my last web job I used Handlebars for page templating, and SASS for CSS compilation. Rocket uses Handlebars out of the box, and has an additional fairing for SASS, so going in, I had the warm-fuzzies that I was going to agree with the Rocket developers quite a lot.</p>
<h3>CLion</h3>
<p>JetBrains IDEs have been around for about as long as I have, and for their entire 20 year existence I've laughed at their fat, bloated, java-based asses. I've tried them many times over those years (sometimes forced), and their slow start-up times, incredibly high RAM usage, and propesity to crash have always put me off.</p>
<p>But guess what? Technology has finally caught up with them! It doesn't matter if my text editor is using 4gig of RAM, my browser is using twice as much! Start-up times improve dramatically with NVMe drives, so that's not a problem, and hey, everything crashes!</p>
<p>Oh...</p>
<p>Visual Studio is slow, resource hungry, crashy, prone to random hangs, and it takes an age to start-up. It is, quite honestly, one of the worst pieces of software that I've ever used, but it's got an amazing debugger, and with Visual Assist installed, it's kinda bearable. At least, it is on the days it's not crashing.</p>
<p>I had a brief flirtation with JetBrains Rider while teaching a Unity course, but consigned it to the bin of JetBrains in my head and forgot about it. Then I got invited onto the Rider for UE4 Alpha...</p>
<p>Rider for Unreal Engine is a delight. It's moved quickly to integrate deeply into Unreal and its funky macro-based C++. The Debugger has become extremely competent. I use it daily, and while it's resource hungry and takes an age to start-up, it is at least stable. It doesn't hang. It starts compiling the instant I CTRL-B. I missed Visual Assist at first, but I've thrown myself into Resharper for C++ and it does pretty much everything I need. It's home, for most of my days, so I was secretly hoping that Rider would have a Rust extension, but apparently, that's been reserved for CLion.</p>
<p>Clion isn't Rider. Except when it is. The lines are blurry with JetBrains stuff, but there's enough that's similar to make transitioning to it quick. There is the odd wrinkle when jumping between the two, but a dive in to the settings can make them similar enough.</p>
<p>The Rust integration is great. Good static analysis. Nice build features. Easy to navigate to fix errors. Can even hook into WSL remotely. It ticks every box. And, being JetBrains, it's a couple of plugins away from being a monster IDE that handles Moustache, CSS, Javascript, HTML and XML, all in one box. It's quite the thing.</p>
<p>Over the last 12 months I've gone from laughing at JetBrains IDEs to paying for the full suite. I am a complete convert. Even I'm surprsied by that. I'd love a specialised Rust IDE from them, or at least, Rider for Rust, but to be honest the differences between the IDEs seems to narrow every version, so whatever...</p>
<h3>Development</h3>
<p>The problem with Rust is the syntatic sugar. Rather than move away from the complicated semantics that have driven C++ into the ground, they've gone whole-hog and created some very unreadable syntax of their own. Because of this, Rust is not an easy language to pick-up and grok, and the brevity in a lot of the documentation makes it non-trivial to &quot;learn-by-doing&quot;. To be honest, I've not enjoyed it one bit.</p>
<p>Rust's setup and package management, on first use, appears to be well thought out and simple to use. The compiler's error reporting is probably some of the most useful I've ever seen. It's easy to get going, and it's easy to pull-in code, but that ease gives me pause...</p>
<p>In the end, the Rust part of my application ended up being a couple of hundred lines of well spaced code (written by me), and I-have-absolutely-no-idea how many thousand lines of code from the packages that were imported. There's so much that's hidden from me that I'm a little bothered by it... Yes, I can kinda dig down in the IDE and get to it -- and it is, of course, all open source and on GitHub if I can be boether to search for it -- but that's not how it tries to present itself.</p>
<p>Rust <em>really</em> likes its <a href="https://en.wikipedia.org/wiki/Black_box">black boxes</a> and, well, from bitter experience, I don't...</p>
<p>Hilariously, my &quot;project to learn Rust&quot; ended up with me writing as much Javascript as I did Rust. But, and this isn't to be sniffed at, the entire thing is &quot;not very much code&quot;. It is blazingly fast and it uses no resources at all. For the most part I'm serving what amounts to a static site, even if it's made up from a lot of templated parts to avoid repetition. Javascript took care of the fuzzy search on name and I used a 3rd party mapping service, along with a smidge of client-side code, to handle the geolocation. Rocket sets up the routes and I do a little bit of validation and parsing, and talk to the DB.</p>
<p>During dev, the compile/refresh/iterate times were miniscule, meaning I could bounce between the browser and the IDE, make changes, and test things quickly.</p>
<p>This has been one of the better web dev experiences that I've had.</p>
<h3>Musings...</h3>
<p>Obviously I'm not quite finished with the project. I need to finish the database integration and deploy the app to one of my servers. After that, it's a case of data-mining, making reports, and on-going maintenance.</p>
<p>It's unfair to make much of an assessment at this stage, but I wouldn't be here if I didn't have some thoughts:</p>
<ul>
<li>Rust hasn't been the slam-dunk I was hoping it would be.</li>
<li>Rust's not a fun language to learn, at least so far.</li>
<li>I'm uncomfortable with Rust on the server because of the implied &quot;black box&quot; nature of its packages. (I don't like npm and the Javascript eco-system for the same reason.)</li>
<li>Rocket, so far, is very impressive and very capable. I'd build apps with this framework all day long if I had to.</li>
<li>I still hate Javascript with a passion. I should have used TypeScript instead.</li>
</ul>
<p>I'm going to need to find something else to do to give Rust a proper chance...</p>
]]></content></entry><entry><title>Amiga OS 3.2</title><link href="https://www.tdi.online/2021-06-24-Amiga-OS-3.2.html"/><updated>2021-06-24T00:00:00Z</updated><id>https://www.tdi.online/2021-06-24-Amiga-OS-3.2.html</id><content type="html"><![CDATA[<p>The King is dead!</p>
<p>Raise a glass to OS 3.1.4. I only installed the ROMS back in December, and here we are, time to whip them out and upgrade to OS 3.2.</p>
<p>And not a minute too soon. Yesterday the machine kept booting into the Red Screen of Death, just as I was prepping it for the upgrade...</p>
<h3>Installing OS 3.2</h3>
<p>The documentation states that it's preferable to install the new ROMs before beginning the installation of Workbench, but that didn't work for me. The 1200 wouldn't boot from HD, and very weirdly, when booting from ADF none of the HDs were visible in HDToolBox.</p>
<p>After a bit of faff, and many resets to get the old 3.1.4 ROMs to actually boot, I was able to get back to my old Workbench and begin the install.</p>
<p>Unfortunately my CDRom seems to have died (maybe? Did it ever work in 3.1.4? I have no idea..) which meant that I couldn't try any of the fancy new installation methods. I was sorta looking forward to that, but, I'd already copied the ADFs to USB so I installed from the Gotek, which worked perfectly.</p>
<h3>First Impressions</h3>
<p>3.2 feels like a finished product. With both of my 3.1.4 installs I needed to do a bit of tinkering to get setup correctly; Glow Icons were missing in places, the new backgrounds didn't get installed, some default settings needed a tweak and perf wasn't as impressive as I hoped. All quickly sorted, but none of these issues appeared with 3.2.</p>
<p>The quality of life improvements are impressive. ADF mounting is one of those things that, once you use it, you can't imagine having lived without. Much like resizing windows from any corner and dragging them off-screen! WBPattern has much improved layout and dither options, and using PNGs as desktop backgrounds feels much much quicker, which I guess is due to the new datatypes.</p>
<p>But my most used feature, by far, is Auto Arrange Icons, which does exactly what it says on the tin, as well as resizing and centering the containing window. A massive time saver, especially if you've just copied over a couple of gigs of WHDLoad demos... Ahem.</p>
<p>There're a couple of other killer features: &quot;Failsafe Boot&quot; mode, and Trace Startup Sequence.</p>
<p>Failsafe Boot is essentially Safe Mode, for Workbench. It quickly boots you up to a basic WB with enough mounted for you to run commands and make changes. It is lovely.</p>
<p>Trace Startup Sequence boots as normal, but pops up a cli that lists each command in the startup-sequence, in turn, asking you if you want to execute it or not. My A1200 has taken a long time to get into workbench so I used this to step-through each line and see where the stall was occuring. The culprit was DefIcons, in the user-startup, so I booted into failsafe mode, ran the new Text Editor and deleted the offending line and... Bingo!</p>
<p>This all feels positively...modern! :D</p>
<p>--</p>
<p>As ever, politics in the Amiga scene is a complete shit-show, which I try not to think about. But, I love how cosy it feels to use Workbench these days, and I have the utmost respect for the devs that spend their time working on it. It's crazy -- even more so with all the shit that flies around -- but in a very, very good way.</p>
<p>If you've not upgraded an Amiga in a while then now is the time to do it. This is the best, fastest Workbench for none RTG Amigas that I've ever used.</p>
<p>Long live the King!</p>
]]></content></entry><entry><title>Metal Gear</title><link href="https://www.tdi.online/2021-06-09-Metal-Gear.html"/><updated>2021-06-09T00:00:00Z</updated><id>https://www.tdi.online/2021-06-09-Metal-Gear.html</id><content type="html"><![CDATA[<img src="images/metalgear.png " onclick="window.open('./images/metalgear.png ', '_blank');"/>
<p>I know Hideo Kojima's work isn't for everyone -- even I struggle with some of the non-interactive elements he puts in -- but, like it or loath it, Metal Gear Solid is seminal. What's more remarkable (in my opinion) is that it was born, practically fully-formed, on the 8 bits.</p>
<p>If you're a European then your first experience of the franchise may well have been Metal Gear Solid [PS1], a game I marvelled at technically and studied from a design perspective. Sure, the dialog can be all over the place and there're some issues with requiring the player to remember radio frequencies that I'd probably fix nowadays, but it had an ambition and scope way beyond anything I'd ever seen before. And you've got to remember, this was before GTA 3 landed. But unbeknownest to me Metal Gear Solid was actually a sequel; I'd discover much much later that &quot;Solid&quot; was just an excellent way to say &quot;now in 3D&quot;, and the roots went all the way back to the MSX*.</p>
<p>Living in europe I was more likely to bump into a PC Engine than an MSX, so I didn't get to play the original until recently, but I did have a copy of Metal Gear on the Gameboy, and that is, in all honesty, utterly brilliant. There's so much at a level-design and gameplay-mechanics level that's instantly recognisable from the 3D games that I've given it to some of my students as a coursework to break-down. It's genuinely fun to play and pull apart.</p>
<p>So yeah, I'm a bit of a fan, and I'm completely made up that in 2021 -- the year of the Amiga -- I get to see a proper version land on my fav machine! The scene's one and only H0ffman has taken it upon himself to do a line-by-line source conversion, and not only that, he's improved the music, added some missing graphics and done a load of touch-ups on the side. For free!</p>
<p>It is a thing of absolute and complete beauty that I'm genuinely in awe of. It plays fantastically, and is a great entry-point into the franchise if you've never played it before. I cannot recommend it enough.</p>
<p>This is H0ff's first game project. God only knows what the man's going to come up with next if this is his starting point. I doff my cap, sir!!</p>
<p>So yeah, give this some love:</p>
<p><a href="https://h0ffman.itch.io/metalgear-amiga"><a href="https://h0ffman.itch.io/metalgear-amiga">https://h0ffman.itch.io/metalgear-amiga</a></a></p>
<p>*I'm ignoring the NES games; the first port is modified, and as far as I know, Kojima-san had nothing to do with Snake's revenge.</p>
]]></content></entry><entry><title>Turbo Sprint</title><link href="https://www.tdi.online/2021-05-16-Turbo-Sprint.html"/><updated>2021-05-16T00:00:00Z</updated><id>https://www.tdi.online/2021-05-16-Turbo-Sprint.html</id><content type="html"><![CDATA[<img src="images/turbo_sprint.jpg" onclick="window.open('./images/turbo_sprint.jpg', '_blank');"/>
<p>If, back in 1994, you told me that I'd buy more Amiga games in 2021 than I had for most of that '90s, I'd laugh in your face. Yet here we are; I've bought my second boxed Amiga game...</p>
<p>And it's a cracker! An arcade faithful port of Super Sprint, that uses the Amiga's PAL high-res interlaced screenmode to get as pixel accurate to the original as possible. It's AGA only -- probably because of this -- but worked on my 1200 without any issues. So, KS 3.1.4 and accelerator friendly.</p>
<p>I've not played the arcade in a long, long time, but this looks great, sounds great, supports multi-player, and seems to have everything I remember from the original, and there's still as much of a knack to steering those little bastard cars around as there's always been.</p>
<p>To be honest, at first and second glance it looks like it's emulated, I'm hard pressed to spot a difference, and the FPS is rock-solid. If you have any love for Super Sprint at all, I can safely say: this is the definitive version for home computers.</p>
<p>I love that people are crazy enough to do this stuff. It's an awesome technical feat, that's really playable.</p>
<p>You can grab a copy from Itch. Boxed pre-orders are also available: <a href="https://mcgeezer.itch.io/turbo-sprint">https://mcgeezer.itch.io/turbo-sprint</a></p>
]]></content></entry><entry><title>MouSTer</title><link href="https://www.tdi.online/2021-04-26-MouSTer.html"/><updated>2021-04-26T00:00:00Z</updated><id>https://www.tdi.online/2021-04-26-MouSTer.html</id><content type="html"><![CDATA[<p>I discovered the MouSTer on Mastodon; It's a USB HID to DB9 adaptor that allows the use of USB mice and joypads on 8 &amp; 16 bit computers. At the time of writing you can <a href="https://www.ebay.co.uk/itm/324484015774?hash=item4b8cc1269e:g:GosAAOSwfhlgJYwo">still get them on ebay</a>, so I ordered one to test out.</p>
<img src="images/mouster1.jpg" onclick="window.open('./images/mouster1.jpg', '_blank');"/>
<img src="images/mouster2.jpg" onclick="window.open('./images/mouster2.jpg', '_blank');"/>
<p>By default they're setup for an Atari ST, so to use it on my Amiga I had to do a little bit of configuration, but the process is simple:</p>
<ul>
<li>Download the latest firmware from: <a href="http://jil.guru/mouSTer/"><a href="http://jil.guru/mouSTer/">http://jil.guru/mouSTer/</a></a></li>
<li>Grab a blank USB stick and create a directory called MOUSTER on it</li>
<li>Unzip the firmware and copy it into the MOUSTER directory on the USB Stick</li>
<li>Plug the MouSTer into the Amiga, and power the Amiga on</li>
<li>Insert the USB stick into the Amiga. The MouSTer will flash for a bit, but after five seconds it'll pulse out an R (.-.) in morse code.</li>
<li>Power cycle the Amiga</li>
</ul>
<p>The MouSTer's firmware has been updated, but it's not yet been configured to work on the Amiga:</p>
<ul>
<li>If you took the USB stick out of the MouSTer, reinsert it and power-cycle the Amiga again</li>
<li>Wait until the MouSTer flashes out the R and unplug the USB stick.</li>
<li>Inside the MouSTer directory, on the USB stick, is a INI file for the firmware version we've just flashed onto the device</li>
<li>Open this up, and change the default type over to Amiga (01).</li>
<li>Write the file and plug the USB stick back into the MouSTer, then power cycle the Amiga</li>
<li>The MouSTer will import the new INI file and flash out an R when it's ready to reboot.</li>
</ul>
<p>From here it's good to go.</p>
<p>Every mouse I've tried has worked with zero issues, even a cheapo wireless one with it's own wireless adaptor. I've tried a couple of USB joypads (XBox) and they work perfectly, as well! It's really quite remarkable.</p>
<img src="images/mouster3.jpg" onclick="window.open('./images/mouster3.jpg', '_blank');"/>
<p>So I guess that's the end of the road for my old tank mouse. I salute you, old mouse chum, and your fluffy mouse ball...</p>
]]></content></entry><entry><title>GOEX SD Card Floppy Emu</title><link href="https://www.tdi.online/2021-04-19-Goex.html"/><updated>2021-04-19T00:00:00Z</updated><id>https://www.tdi.online/2021-04-19-Goex.html</id><content type="html"><![CDATA[<p>The GOEX is an SD Card based, internal floppy emulator for the Amiga (and maybe ST?). I'd ordered one several months ago, but between their popularity and brexit screwing up the borders it only arrived last week.</p>
<p>I installed it into my A600 over the weekend and I'm extremely pleased with the results. The board comes on a plastic caddy with screw holes that match those of the old internal drive, meaning it's a doddle to fit in place and screw down. My A600 has the Individual trapdoor RAM expansion, which uses a riser to screw in under one of the drives' holes, which conflicted slightly with the plastic bit used to secure the bottom of the GOEX, but by chipping away slightly at the plastic I was able to get a good fit.</p>
<img src="images/goex1.jpg" onclick="window.open('./images/goex1.jpg', '_blank');"/>
<img src="images/goex2.jpg" onclick="window.open('./images/goex2.jpg', '_blank');"/>
<p>Operation is simple; load an SD Card with ADFs -- they can be organised in folders -- and pop the SD Card in. A small wheel (that pokes out of the drive bay slightly) allows selection of ADFs. A fast spin will jump quickly through a list, much like the old iPod wheels. Pressing the wheel in operates as a select/eject toggle, as well as confirming menu options.</p>
<p>As you can see, I opted for the small LCD display, which I believe is essential. This shows the currently selected ADF and any menu options that might be available.</p>
<p>Mine has a small speaker attached, which makes a little sound as the drive is accessed. It's not emulating an old floppy's audio, but it is reassuring to hear the drive in operation. You might find that annoying, though.</p>
<p>For my money this is an excellent little device, and I think I prefer having the small SD card in the drive than a larger USB stick poking out of the side of the machine. That said, if I didn't have an SD Card reader on my laptop my feelings might change...</p>
<p>While I was messing around, I tried the Trond Bluetooth audio adaptor on the A600 and it worked amazingly well. No lag. Great sound quality. I think I'm going to get one for each Amiga and have them permanently connected...</p>
<img src="images/goex3.jpg" onclick="window.open('./images/goex3.jpg', '_blank');"/>
]]></content></entry><entry><title>iPod Bluetooth Adaptor</title><link href="https://www.tdi.online/2021-04-12-iPodBluetoothAdaptor.html"/><updated>2021-04-12T00:00:00Z</updated><id>https://www.tdi.online/2021-04-12-iPodBluetoothAdaptor.html</id><content type="html"><![CDATA[<p>Pod life is still treating me well, so much so, that I started shopping around for a bluetooth adaptor.</p>
<p>Couple of reasons behind this:</p>
<ul>
<li>Now we're easing out of lockdown I'm able to drive places. I'd really like to have the Pod in the car, but the only means I have to connect it is via bluetooth.</li>
<li>Crazily enough, the only reliable cabled headphones I still have are the ones I DJ with. They're a bit bulky, so I'd like to be able to use the wireless ones that kick-around in my bag.</li>
</ul>
<p>After a bit of a hunt I settled on the Trond BT-Duo S. Not the cheapest, but it's well specced, low latency and can continue playing while charging, which is perfect for the car.</p>
<p>I'm always a little dubious about this sort of kit, but it arrived in a very nice box, with clear instructions, a 3.5m-3.5 cable, USB charge cable, 3.5mm male-to-male adaptor, and a 3.5mm to phone cable. Basically, everything you could need.</p>
<p>Pairing's been quick and rock-solid with everything I've tried, including Air Pods, so absolutely no complaints. Not quite sure on the battery life just yet, but it did a full work-day yesterday and still has some juice.</p>
<p>The included phono cable got me thinking though... I could plug this into the back of my Amiga and get audio out of my amp... Hmmm, less cables on the Amiga? No bad thing!</p>
<p>Watch this space... :D</p>
]]></content></entry><entry><title>Rockbox Thoughts</title><link href="https://www.tdi.online/2021-04-07-RockboxThoughts.html"/><updated>2021-04-07T00:00:00Z</updated><id>https://www.tdi.online/2021-04-07-RockboxThoughts.html</id><content type="html"><![CDATA[<p>I installed Rockbox on a 5th Gen iPod a few days ago, and I've been living with it as my player of choice ever since. It's an interesting piece of software, with a few hidden caveats.</p>
<p>First (I need to get this out of the way) wow! Aesthetically, Rockbox is a throw back. And not in a good way! In a, &quot;probably looked bad in 2005&quot; way. I know I shouldn't care, but, well, I do. I keep stepping through themes and I'm basically at the point of trying to find the one with the least amount on screen. Ugh. Soooo close to doing my own, it's not even funny...</p>
<p>But!</p>
<p>If I hold my nose to get past the aesthetics then it's a really capable firmware replacement, just maybe not laid out in the best possible way. It's configurable, the database works well enough, and it's played everything I've thrown at it-ish (see below), which is the most important thing.</p>
<p>But! (Again)</p>
<p>It's also had some problems.</p>
<p>The iPod takes an age to appear in explorer when attached via cable. Like, minutes in the worst case. It only seems to reliably connect over USB3. When attached to USB2 it'll disappear, randomly. (It's definitely not powering down. I've been in device manager to prevent that) And, worst of all, I found that the vast majority of the flac files I'd copied over wouldn't play to the end. They'd jump, as if corrupt. (Turns out that they were...)</p>
<p>It took me several days to work out what was going on, but eventually I stumbled on some old forum posts. It seems all my problems are related, and all of them are down to &quot;You shouldn't copy files to the iPod while Rockbox is running&quot;. This seems a little odd to me, but I can confirm, it is the fix. Once I reboot to Apple's firmware -- oh yeah, Rockbox dual boots! That's quite the thing -- I could copy several gigs of flac files over, reboot back into Rockbox, and they all played perfectly!</p>
<p>I would have preferred not to have to reboot for this, but it's not the most onerous thing in the world, and to be honest, so far, the ritual of plopping files onto it for the day ahead has been an enjoyable one. It's become part of my morning routine!</p>
<p>I'm enjoying iPod life...</p>
]]></content></entry><entry><title>Widescreen Amiga</title><link href="https://www.tdi.online/2021-04-05-WidescreenAmiga.html"/><updated>2021-04-05T00:00:00Z</updated><id>https://www.tdi.online/2021-04-05-WidescreenAmiga.html</id><content type="html"><![CDATA[<p>This weekend's been the Revision Demo Party, probably the world's largest, pure demoscene event. I didn't get to watch much of it live, but I've spent much of the morning sofa-sceneing, catching up with the competitions. The 16:9 OCS demos really sparked my interest.</p>
<p>I go to Assembly Partly regularly, and, like Revision, they show the demo entries on a Widescreen 4k projector at one end of a massive hall. The soundsystem is earth-shakingly powerful and there's really nothing quite like being huddled with a few hundred devs, oohing and ahhing as people set the hall on fire with their latest work. But, the old-school demos tend to struggle a little, as a 4:3 display loses some of the majesty.</p>
<p>Revision started to offer a 16:9 output for the Amiga compo a few years ago, and I was wondering how they did it. More importantly, I was wondering how <em>I</em> could do it, and setup WinUAE to <em>always</em> give me a 16:9 output, say, when I'm developing.</p>
<p>The screen setup turns out to be quite easy, and Revision already has this in their rules: on a standard PAL (320x256) screen, either render into the middle 320x180 pixels (vert aligned) or use DIWSTRT,$5281 / DIWSTOP,$06c1</p>
<p>The WinUAE side took me a little longer to figure out. There are a bunch of display settings you can configure, but they're mainly how to handle the WinUAE screen/window, not what the Amiga's doing internally. But, it's possible to setup a filter, and it turns out this is where the magic happens. By setting WinUAE to null filter with Automatic Scaling, it'll just &quot;do the right thing&quot;. I tested this by pulling down the ADF of Nah's Revision 2021 entry; On Fire, which is 16:9. When I hit ctrl-F12 and go to full screen, I get the demo with no borders, exactly as intended. When I set WinUAE up to open in a 16:9 window, the demo is also edge-to-edge in that window.</p>
<p>So yeah, much simpler than I was expecting. I'm going to edit my dev WinUAE config to always open in 16:9, and swap out my screen setup to move over to it. I'd much rather have larger square pixels on modern monitors, than side-borders or, even worse, a stretched out 4:3 :/</p>
]]></content></entry><entry><title>Managing An iPod</title><link href="https://www.tdi.online/2021-03-30-ManagingAnIpod.html"/><updated>2021-03-30T00:00:00Z</updated><id>https://www.tdi.online/2021-03-30-ManagingAnIpod.html</id><content type="html"><![CDATA[<p>I'm not sure what I was expecting here, maybe iPods to be a solved problem, but it seems music players are in a pretty poor state right now. Maybe that's unsurprising given Spotify and Apple Music, but I was hoping for more.</p>
<p>All I want, ideally, is something that will parse music on my NAS, and pipe it over to the iPod. On Windows, having tried everything from Winamp on, Foobar's by far the best. It easily handles a large library on a NAS, but the iPod sync leaves a lot to be desired.</p>
<p>On Kubuntu, I'm struggling to find anything that will parse a large remote library. Well, that's not true, MOC is fine, but the graphical apps are all dying, and/or super duper slow. Meh.</p>
<p>So I've put Rockbox on the iPod. That'll let me copy music from the desktop, sidestepping the middle man. Early days atm, but playing .flac on the iPod is a nice win.</p>
]]></content></entry><entry><title>Listening With Purpose</title><link href="https://www.tdi.online/2021-03-28-ListeningWithPurpose.html"/><updated>2021-03-28T00:00:00Z</updated><id>https://www.tdi.online/2021-03-28-ListeningWithPurpose.html</id><content type="html"><![CDATA[<p>Like a lot of people, my partner and I have been working from home for a year. Because of the nature of her work, her discussions with patients and co-workers must remain confidential, which means I'm pretty much forced to wear headphones, 24-7. Smol house is smol. It's not been too much of a problem. Between Spotify and various podcasts, it's easy to fill my ears with <em>something</em>, but I feel my relationship with music has subtly changed because of it, and not for the better.</p>
<p>Being a DJ -- even if only a bedroom one, of late -- I've always bought music, and I continue to spend a reasonably amount each month at Beatport, but Spotify has seriously reduced the number of artists I've supported directly through album purchases. Between lockdown and Brexit, a lot of my favourites are now publicly struggling, so I've started to make a conscious effort to cruise Bandcamp, or buy releases directly, in a bid to help. I like their work. It makes my life better. I would have bought it in the times-before-streaming, so it seems remiss not to support them now they and their crews actually need it.</p>
<p>Spotify's also changed the way I select music. Instead of carefully curating a few hours' worth to fit my mood, I'm letting playlists roll into the Spotify-magic-select-o-tron, which in turn tends to lead to me zoning out from it completely.</p>
<p>I don't like the fact that I'm paying less and less attention, and I can't remember the last time I put an album [or a mix] on, just to <em>listen</em> to it, and I think it's time for a change... So, this week I pulled out my old iPods and tried to kick them back into life.</p>
<p>I've probably not used an iPod on a daily basis since 2013. Back then I had one in my car (filled with tracks I'd bought to mix with) and one in the office (filled with a wider selection of artists and albums to cover more 'moods'). For this experiment I went a little further back and found my 5th gen, the iPod Video, from 2005.</p>
<p>The 5th gen has a reputation, rightly or wrongly, for having the best DAC of the iPod range, so I was curious to see if it still worked and how it sounded. Amazingly, not only does it all appear to be completely fine, but the battery is also holding a charge.</p>
<p>Firing up an old iPod is an interesting experience. It's a literal time-capsule. In my case, from a time before I started organising my music by playlist. In fact, back to a time where a lot of it doesn't even seem to be that well tagged.</p>
<p>There're the usual suspects -- classics that I always return to -- but also an interesting range of DJs and genres that I no longer seem to follow. It was quite a lot of fun scrolling through, trying to remember why certain things made the cut. I wonder if I would have changed the selection had I known that future me would be looking at it, more than a decade later?</p>
<p>Syncing music is an issue because I'm no longer on the Mac day-to-day. iTunes on windows is hot garbage (and wouldn't work with this iPod anyway, because it's mac formatted), and Foobars iPod sync leaves a lot to be desired. In fact, every music app Ive tried on Windows so far has been appalling! Admittedly, I have specific needs because of the size of my library, but it's shocking that this isn't a solved problem.</p>
<p>So that's the next job, decide how I'm going to get music over to this little thing, and ensure that, for the next few weeks at least, I'm listening with purpose...</p>
]]></content></entry><entry><title>Retro Tea Breaks Vol. 1</title><link href="https://www.tdi.online/2021-03-21-RetroTeaBreaksVol1.html"/><updated>2021-03-21T00:00:00Z</updated><id>https://www.tdi.online/2021-03-21-RetroTeaBreaksVol1.html</id><content type="html"><![CDATA[<p>Neil Thomas' Selected Interviews Vol.1 crept up on me. I'd seen bits and bobs of his work on You Tube, so had a passing familiarity with who he was, but I had no idea a book was in the works until right at the end of the Kickstarter. I'm glad I caught it!</p>
<p>I'm not a fan of the whole &quot;Retro Industry&quot;. There's an odd, I guess tolerable, side to it, that laser-targets people desperate to recreate their childhood bedrooms, bobbling alongside an insidious cabal that grifts under the banners of other people's work. The latter really bothers me; the black-plastic-tat-moulded-to-look-like-black-plastic-tat-you-once-asked-your-mum-to-buy... Butlins-level impersonators, wheeling out the same old faces. Frankly, I can do without all that guff. So yeah, I guess I wasn't expecting much from Neil's book.</p>
<p>If I'd watched more of his RMC episodes then I would have known better. Neil's knowledgeable, personable, and oozes a genuine love for hardware, games and magazines that's infectious. His book exemplifies this. For a start, it's not the Same. Old. Faces. (Although the Oliver Twins feature, and of course Mike Dailly is in there. Hello Mike!) For the most part these are people I can't actually remember reading about in ages; Al Lowe, George Sanger, Bill Volk, Francois Lionet, Stoo Cambridge, David Fox, Chris Sawer (the list goes on).</p>
<p>These are super interesting developers who don't pop up any-up anywhere near enough, and Neil's led them all on an interesting ramble. I ripped through 400 odd pages in a couple of sittings and wanted more. He's obviously had a load of these questions on his mind for a while, and it comes across like each interviewee was happy to be digging into the details. Honestly, after years of the same ol' Retrogamer questions, this comes across like a revelation.</p>
<p>If you have an interest in this stuff, give Neil a follow, check out the (Retro Tea Breaks podcast)[<a href="https://podcasts.apple.com/us/podcast/retro-tea-breaks/id1474670378%5D">https://podcasts.apple.com/us/podcast/retro-tea-breaks/id1474670378]</a></p>
<p>It features all these interviews and more, and from what I've heard, each has been funny, interesting and informative. Fingers crossed that the rest get transcribed, and volumes 2 and 3 land.</p>
]]></content></entry><entry><title>Simple Pleasures of Valheim</title><link href="https://www.tdi.online/2021-03-09-SimplePleasuresOfValheim.html"/><updated>2021-03-09T00:00:00Z</updated><id>https://www.tdi.online/2021-03-09-SimplePleasuresOfValheim.html</id><content type="html"><![CDATA[<p>I'm sure it's not escaped your attention, but an early access game about vikings in the afterlife is selling by the bucket-load. 5 million, last time I looked, and I doubt it'll struggle to double that number before it's done.</p>
<p>I've been playing Valheim since release, and I'm in absolute awe of it. It's been created over a couple of years, by a tiny team -- ostensibly a single developer for most of that time -- to little or no fanfare, and with hardly any coverage on Twitter or the traditional press. That just doesn't happen very often, so it's worth looking at.</p>
<p>It's Minecraft with some goals, some lore, and a scaling threat. Except it's not. It's its own thing, with just enough nods and winks to make everything instantly recognisable. More importantly, it ups-the-ante in ways anyone who grew up with Minecraft would want: threats increase in difficulty the more active players there are on the server, and when you kill bosses, the whole world levels up a bit.</p>
<p>But it's not a difficult game. You're not going to keel over and die just because you've not eaten. And when you do die, you can walk back to your grave and recover your items. When you tear-down something you've built, you get most of its components back. Simple QoL improvements, but they all make the difference.</p>
<p>Obviously, it's far from finished, can lag at the &quot;base&quot;, and it has some incredibly clunky elements if you stop and look at things in any detail. But its already ticking enough boxes that most of us on the server are playing for a couple of hours a day.</p>
<p>I honestly don't think that I've spent this much time on an unfinished game (that wasn't my own)... since... well, Minecraft!</p>
<p>If you're in the market for a cracking little time-waster, then I can't praise this initial release enough. Very excited about what the future brings!</p>
]]></content></entry><entry><title>ADF Collection</title><link href="https://www.tdi.online/2021-02-20-ADFCollection.html"/><updated>2021-02-20T00:00:00Z</updated><id>https://www.tdi.online/2021-02-20-ADFCollection.html</id><content type="html"><![CDATA[<p>I've ordered a GOEX floppy replacement for my A600, which unfortunately, is the wrong side of the border to get into Brexitania. I've heard great things about them though, so I've been looking around for ADF collections that I can bung on a few cards. One that turned up after a search was (Photon's Demo Disk Archive.)[<a href="http://coppershade.org/articles/Demos/Classics/%5D">http://coppershade.org/articles/Demos/Classics/]</a></p>
<p>Photon (of Scoopex) has done some fantastic work with this. Not only is it a pretty comprehensive collection, it's nicely organised and all on ADF, which is perfect for the GOEX.</p>
<p>Well, I hope so. I have no idea when mine will arrive :(</p>
]]></content></entry><entry><title>Monster Stick</title><link href="https://www.tdi.online/2021-02-07-MonsterStick.html"/><updated>2021-02-07T00:00:00Z</updated><id>https://www.tdi.online/2021-02-07-MonsterStick.html</id><content type="html"><![CDATA[<p>My Konix Speedking is in storage. In which box, I have no idea, nor do I have the inclination to drive over to the warehouse and dig in my storage for it. This makes an immediate mockery of my plan to do a bit games coding on my Amiga, and worse, it prevents me playing my friends newly released game: (Dodgy Rocks)[<a href="https://www.phoenixware.co.uk/product/dodgy-rocks/%5D">https://www.phoenixware.co.uk/product/dodgy-rocks/]</a></p>
<p>I can't stand the majority of joysticks from back in the day. Most have awful ergonomics and crap switches. That the Competition Pro was ever held in any sort of regard points to how god-awful the selection was, imo. And, to my surprise, the price for a 2nd hand stick on eBay is eye-watering. There's no way I'd pay that sort of money for something I've never liked...</p>
<p>So I had a hunt around, and I found the (Monster Retro Joystick.)[<a href="https://monsterjoysticks.com/retro-gaming-joystick-kits%5D">https://monsterjoysticks.com/retro-gaming-joystick-kits]</a></p>
<p>These aren't cheap either, but they're Sanwa parts, which will last for ever and obviously feel great. And more importantly, they're two-button, something my Speedkingnever was. So I ordered one, and it turned up in the middle of the week.</p>
<p>It's a kit, but not at all complicated to put together.</p>
<p>The parts weren't amazingly well cut; many were a bit rounded and one had some scorch marks. Getting the protective plastic off was an absolute ball-ache (that took me the best part of 40 minutes) but once everything had been cleaned (they were all covered in dust) the end result looks nice and tidy</p>
<img src="images/monster_stick.jpg" onclick="window.open('./images/monster_stick.jpg', '_blank');"/>
<p>I'm really pleased with it. As you'd expect from Sanwa, the stick feels fantastic, and the buttons are extremely solid. Not cheap, but with luck it'll last as long as my Speddking has; 25 years and counting.</p>
<p>And of course, because I opted for the clear case, there's a bastard cat hair in there...</p>
]]></content></entry><entry><title>Indivision Mk3 Redux</title><link href="https://www.tdi.online/2021-01-31-IndivisionMk3-Redux.html"/><updated>2021-01-31T00:00:00Z</updated><id>https://www.tdi.online/2021-01-31-IndivisionMk3-Redux.html</id><content type="html"><![CDATA[<p>Got around to the clean rebuild of the A1200, with Workbench 3.1.4. The SDCard and reader were fine, and now I have more than 2mb, the install was painless. I also cheated a bit, and copied over a load of .lha files from the laptop (I've not got the TCP/IP stack up and running yet...)</p>
<p>I did have a problem with the screenmodes, though. For the absolute life of me, I could not get the Indi to pick up any wide-screen resolutions, which is odd, as I was running the previous workbench install at 720p... It could see the resolutions the monitor provided (EDID), and it could see the Amiga's installed monitor prefs, but no matter what I tried it wouldn't latch the HighGFX 720p modes to a widescreen output.</p>
<p>In the end, I decided to manually edit a mode. After a bit of fiddling, the monitor fired up with the test image, so I saved the config, and then poof. Black screen. Forever. <em>Sigh</em></p>
<p>The manual states quite clearly that making a rescue disk is advisable. Obviously, I didn't. The good news, however, is that the rescue disk works! The better news; it has a slightly newer firmware on it... On reboot it picked up the wide-screen modes correctly, and I now have a perfect, edge to edge display on my 30&quot; monitor.</p>
<p>So, mild panic attack, there. Thought I'd bricked it.</p>
<p>I've downloaded the complete WHDLoad collection off Archive.org, so next up is some serious curation of the games and demos. Then getting the old girl back on the network.</p>
<p>I'll need a little run-up to that, though...</p>
]]></content></entry><entry><title>GWIHP - Prodeus</title><link href="https://www.tdi.online/2021-01-23-GWIHP-Prodeus.html"/><updated>2021-01-23T00:00:00Z</updated><id>https://www.tdi.online/2021-01-23-GWIHP-Prodeus.html</id><content type="html"><![CDATA[<p>I'm genuinely happy that the term retro-shooter is a thing. Many people joke about the descent of the FPS, from mazey lock and key puzzlers (Doom), to linear, fair-ground rides, focused on whisking you from one set piece to another (CoD). Both have their place, and their audience, but personally I'm the kinda guy that likes to run 90 mph, rocket jump, and frag. I was kinda surprised to end up with the best of both worlds, over Xmas: Doom Eternal and Prodeus.</p>
<p>Doom Eternal's a far better game than its reboot, and I could talk at length about it, but Prodeus was the one that stuck with me...</p>
<p>For my money, Retro-shooters often miss the point, reaching for rouge-like procedural changes (bland) and focusing on the aesthetic, rather than the weapons and level design. Nothing has hit the spot. Too much &quot;indie&quot;, not enough ID.</p>
<p>Prodeus? It absolutely knows where it's coming from, and where it's going to. Which, tbf, isn't all that far. It's resolutely, unashamedly, Doom in a Quake engine. Its two main developers have genre experience, and it shows; it's built on a custom engine, centred around a bespoke map editor and mod-tools, which were handed to the community at launch.</p>
<p>It's a super bright way to build-out the game, and it matches the ID ethos perfectly.</p>
<p>Not only that, but they also have excellent design chops. The initial batch of weapons look, sound and feel great. The first 4 ... 5 maps, are some of the best mazey level designs that I've played in the last 10 years. Arcane Dimensions level of lols.</p>
<p>The early access crowd are loving it. There are some excellent third-party maps available, already, and it's far from v1.0. I'm really enjoying watching this grow.</p>
<p>They're not getting much press atm, which surprises me, but if you like a bit of Doom (or Quake) then honestly, this is worth the money.</p>
]]></content></entry><entry><title>Indivision AGA Mk3</title><link href="https://www.tdi.online/2021-01-12-IndivisionMk3.html"/><updated>2021-01-12T00:00:00Z</updated><id>https://www.tdi.online/2021-01-12-IndivisionMk3.html</id><content type="html"><![CDATA[<p>Now that I've finished with my A600 tinkering, I've turned my attention back to my A1200. I wasn't in the market to replace my Indy Mk1, but while hunting for a solution to my A600 monitor woes (see previous post about the OSSC) I spotted the Mk3, and jumped on it. It turned up a few weeks ago, and I've finally got around to playing with it.</p>
<p>It's a different beast to the mk1, coming in two parts; one for the CIA and one for the Lisa, both of which seated with a very satisfying click. This is already an improvement over the Mk1, as mine was forever falling off, or needing a firm push to jiggle back into life.</p>
<img src="images/indimk3.jpg" onclick="window.open('./images/indimk3.jpg', '_blank');"/>
<p>The HDMI output is absolutely crystal clear. I wasn't expecting to notice much difference over the OSSC I've been using for the last couple of months, but the picture is pin-sharp, with no overscan.</p>
<p>My monitor doesn't have speakers, but it should be possible to route the Amiga's audio over the HDMI, which I'm keen to try. At some point during lockdown I'll grab the OLED downstairs and give it a go.</p>
<p>The Mk3 seems to have picked up my monitor's supported modes over EDID, with no problems. HighGFX and SuperPlus work like a charm, but I've not tried making any custom 50hz modes. Once I've bounced it up to 3.1.4 I'll dig into that a little bit more.</p>
<p>My only complaint, so far, is that the HDMI adaptor doesn't fit anywhere sensible on my tower case. It's designed to be screwed into the plastic case of a stock A1200, so I have to have it dangling out the back of my case. Far from ideal...</p>
<p>So yeah, initial impressions are extremely positive. It's not cheap, but I was able to insta-sell the Mk1 and cover 2/3s of the price, so at least it'll hold its value ;)</p>
]]></content></entry><entry><title>A Note About Notes...</title><link href="https://www.tdi.online/2021-01-02-ANoteAboutNotes.html"/><updated>2021-01-02T00:00:00Z</updated><id>https://www.tdi.online/2021-01-02-ANoteAboutNotes.html</id><content type="html"><![CDATA[<p>I've been using QOwnNotes for the last couple of years, and although it's been robust and reliable on the desktop (and more importantly, cross-platform), I've had a few niggles with it, particularly when I want to access, and update, items on iOS.</p>
<p>I'm always looking for ways to optimise my note taking, and toward the end of November I stumbled on (Foam)[<a href="https://foambubble.github.io/foam/%5D">https://foambubble.github.io/foam/]</a></p>
<p>It's loosely based on Roam -- a paid for service that I've not tried -- built on VSCode and Git. Like QOwnNotes, it's markdown based (meaning my old notes were easy to migrate), but where it excels is in the use of wiki-links for relationship mappings, which, over time, link to form a mind-map/graph that you can visualise and use to navigate.</p>
<p>Foam uses several existing VSCode plugins for a lot of its Markdown related functionality. It's fast to edit, has some niceties for lists and TODOs, is quick to navigate around and easily versioned.</p>
<p>VSCode has been lightning fast for me, so the time between having an idea and it being committed to a list somewhere has been negligible, meaning Foam's been a good fit for my workflow.</p>
<p>(iOS being iOS has meant editing on phone and iPad has been a touch more fiddly, but I have (finally) found a robust Markdown editor that'll syncronise directly from my Nextcloud instance. A marginal improvement over the QOwnNotes situation)</p>
<p>If you're not into VSCode, there's Org-Roam and Vim-Roam. I tried org, but couldn't get on with it, so YMMV.</p>
]]></content></entry><entry><title>Shaving Off The Plastic</title><link href="https://www.tdi.online/2020-12-29-ShavingOffThePlastic.html"/><updated>2020-12-29T00:00:00Z</updated><id>https://www.tdi.online/2020-12-29-ShavingOffThePlastic.html</id><content type="html"><![CDATA[<p>Over the past few years my partner and I have been taking little steps toward more sustainable living. I made the big change, dropping meat and dairy, four years ago, thanks in large part to the rabbit-hole of Netflix documentaries.</p>
<p>I don't call myself &quot;vegan&quot; as I'm not religious about it -- if I get caught short at an airport, I'll have a burger, -- but at home, I'm 100% meat free and making far more conscious choices about what I buy, and how it's made.</p>
<p>My partner (as well as going &quot;vegan&quot;) has approached sustainability from another angle; concentrating hard on plastics, chemicals, and single use items around the house. One of the interesting aspects of this is how it's affected the bathroom. We recently dropped shower gel in favour of soap. The soap is free of packaging and we can buy in bulk from a local shop. We had to try a few different bars to find one we liked -- our preference being a soap that lathers well -- but now we have, I much prefer it. I wasn't expecting to.</p>
<p>So for Xmas I asked for a shaving brush and soap. I'd not used either before, so I wasn't sure what to expect.</p>
<p>Using a brush feels a little cack-handed at first. You have to work it a little to get a good application, and unlike a gel, you need to leave the soap on your face a while for it to work. The shave also feels a little different. There's more pull on the blade initially and a much less lubricated feel on the second pass. None of this is a negative, though, it's just a slight change to to the process... Once I got the knack of the brush, and took my time over the whole thing, the end result was a really good, clean shave. And, I kinda enjoyed it more!</p>
<p>The question now, ofc, is do I go the whole-hog and get a cut-throat razor, and remove all the disposable blades from my life?</p>
<p>How many scars will I end up with? :D</p>
<p>--</p>
<p>Quick aside for regular readers: My lockdown holiday did not go well. I don't recommend taking time off, in a 2 bedroom house, when your partner is still working downstairs. By Xmas I was willing to dig my way through the walls, and certainly had no will to do anything project related... I did manage to get a couple of days away from the house before Tier 4 descended, but I'd be lying if I said I was raring to go into the New Year... Oh well.</p>
]]></content></entry><entry><title>Holidays In Lockdown</title><link href="https://www.tdi.online/2020-12-09-HolidaysInLockdown.html"/><updated>2020-12-09T00:00:00Z</updated><id>https://www.tdi.online/2020-12-09-HolidaysInLockdown.html</id><content type="html"><![CDATA[<p>We're living through strange times, and I'm sure I'm no different to any of you in having had a bit of a struggle, at points, with the restrictions. My github page tells the story; most weekends I've done some form of work, and in total, I've managed 5 actual week days off since March.</p>
<p>To be fair, I normally work a lot as I'm fortunate enough to have one of my hobbies as a career, but work's normally punctuated with trips abroad (teaching in Finland, mostly) and weekends away. That's been impossible this year. To compound things, our little 2 bed terrace house (in the south east of England) isn't designed for two people to work in. The lounge is my partner's pop-up office, the spare room, mine. Which leaves exactly no where for either of us to go and just &quot;be&quot;. Things could be worse, though.</p>
<p>I've noticed the signs of burn creeping in over the last few weeks. Motivation's waning. I'm not happy with a lot of the things I'm making, and I'm spending a little bit longer faffing about, putting things off. So... I decided to take the rest of the month off. But how the hell do you have a holiday when you're self-isolating, and your house is basically converted into tiny offices during the day?</p>
<p>I'm only a week in, but it's turned out to be a bit harder than I expected. I'm refusing to work on my main project, but I have (technically) done some work, helping out with one of the mobile ports of Lumo. I bought a load of games in the Steam sale, and I'm slowly trudging through my backlog (hey! Prodeus is A.MAZ.Ing...). I've also started learning how to play the guitar. Thanks Rocksmith!</p>
<p>I'm still in my office, hiding away while my partner works, but the change of routine seems to be helping. I can kinda feel the ideas starting to flow. I'm not quite as knackered. But a month is a long time and I'm scrabbling around for projects (that don't feel like work) that can be done in a small room.</p>
<p>Next week I'm going to rebuild my A1200 and bounce that up to 3.1.4. After that, not sure.</p>
<p>On the plus side, this year has been the final leverage we needed to start planning some serious changes in how we live and work...</p>
]]></content></entry><entry><title>Amiga Setup Part 2</title><link href="https://www.tdi.online/2020-12-01-A600_Setup_Part2.html"/><updated>2020-12-01T00:00:00Z</updated><id>https://www.tdi.online/2020-12-01-A600_Setup_Part2.html</id><content type="html"><![CDATA[<p>Tonight's job was supposed to be simple, get some tools installed on the 600. Just the basics; AsmPro, Protracker, PicCON, KinCon etc. Nothing too fancy. But I'd completely forgotten how many custom classes and extensions these old apps used. ClassAct and ReqTools tripped me up straight away, so it was back to Aminet...</p>
<p>I knew this going in, but Workbench 3.1.4 isn't really suited to a bare bones 68k Amiga. An 020 and more RAM would make the world of difference. That said, I've got mine booting up with ~700k free. ~800 if I flush the RAM disk. I was hoping to get a TCP stack squeezed into that, but even if I manage it, I can't see me being able to easily copy builds over. I think I'll stick to the CF card for anything larger than an ADF...</p>
<p>So that was a bit of fun and I now have an A600 that I can tuck under the TV, and more importantly, I have a baseline spec for any new ECS stuff I make. I just need to make something now...</p>
<p>And yes, I'm very tempted to upgrade my A1200 from 3.1 to 3.1.4 as well, now. Seems like it'll be a tidy upgrade. Hmmm...</p>
]]></content></entry><entry><title>Amiga Setup Part 1</title><link href="https://www.tdi.online/2020-11-29-A600_Setup_Part1.html"/><updated>2020-11-29T00:00:00Z</updated><id>https://www.tdi.online/2020-11-29-A600_Setup_Part1.html</id><content type="html"><![CDATA[<p>Back on the A600 today.</p>
<p>I opted for an SD Card adaptor for the HD, rather than Compact Flash, because I didn't want anything rattling around in the case. It's a nice bit of kit.</p>
<img src="images/ami_sd.jpg" onclick="window.open('./images/ami_sd.jpg', '_blank');"/>
<p>There're a few options for getting WB 3.1.4, I went straight to Hyperion. Be warned: if you buy a pre-installed CF there are two versions, so check which one you have ordered. Most default to an A1200 friendly one, which will be using a disk format that's not compatible with the A600.</p>
<img src="images/ami_rom.jpg" onclick="window.open('./images/ami_rom.jpg', '_blank');"/>
<p>I downloaded the ADF files from Hyperion and primed a stick for my Gotek. I've not had the Gotek for very long -- up to now I've been using an HxC emulator, but I want to put that in one of my 8bits -- but it's fast and super stable. I've sacrificed an old Cumana drive to use as a housing:</p>
<img src="images/ami_drive.jpg" onclick="window.open('./images/ami_drive.jpg', '_blank');"/>
<p>I know some of you might think that's sacrilege, but honestly, my luck with floppies has been atrocious over the last few years. I'm absolutely done with them.</p>
<p>The Gotek booted fine, and I was able to setup the SD card using HDTools. The adaptor was recognised immediately, but I had to set the card type manually. Going to &quot;Change Drive Type&quot; and letting it re-scan was enough.</p>
<p>One gotcha that also caught me, when partitioning and formatting, was that the default block size was too small for the A600. It was unable to verify the partition -- it does it in memory, for some reason -- so I set mine to 4096, which was enough to verify several partitions, all over 4gig in size.</p>
<p>Workbench installed itself without issue.</p>
<p>A bare workbench is no use to anyone, and I need a way to copy a lot of files over.</p>
<p>After experimenting, I found that it's possible to use ADFOpus, on Windows, to create empty ADF files and then use these as a way to copy stuff via the Gotek. That's going to be perfect for my dev stuff, but I've been scouring Aminet for useful stuff over several days, and there's a lot to get over...</p>
<p>I have a lot of old CF cards lying around (from when I used DSLRs) and a PCMCIA adaptor, but I'd clean forgotten what was required to set this up on an Amiga. After a bit of digging, it was just a case of pulling down CFD and Fat95 from Aminet, and putting them in the correct place. CFD provides the mountlist and script (with icon), so the CF can either be auto mounted, or done manually.</p>
<p>Today's first surprise was how long it takes to copy 60mb from a CF to an SD card, on an unexpanded Amiga. I have seriously taken RAM and CPU for granted on my A1200! I've run out of memory quite a few times today, and I am now very familiar with Workbench's progress bar, but, I think I'm over the hump.</p>
<p>Next step is to unpack all this stuff, get installing, and configuring.</p>
<p>And look for a nice Cli-based menu, so I don't have to load Workbench unless I need to. :D</p>
]]></content></entry><entry><title>Accidental Amiga</title><link href="https://www.tdi.online/2020-11-27-AccidentalAmiga.html"/><updated>2020-11-27T00:00:00Z</updated><id>https://www.tdi.online/2020-11-27-AccidentalAmiga.html</id><content type="html"><![CDATA[<p>Toward the tail-end of the first lockdown I speculatively bid on a boxed, Amiga 600. I wasn't expecting to win it, I'd only put on a tiny bid, but low-and-behold, I snagged it for a bargain. The idea being, to have a little side-project during lockdown, and maaaaybe get back into some Amiga Dev. I keep promising myself…</p>
<p>It arrived a few weeks back, and I’ve been tinkering ever since.</p>
<p>The first job was to give it a clean, as it was starting to yellow. One damn good wash, an hour on the windowsill, and this was back under control. It's actually a very tidy machine, so I’ve lucked in.</p>
<p>I’ve owned enough Amigas in my time that I’m past the point of trusting an O.G. Commodore PSU, so that’s going to be recycled somewhere. Fortunately, there are lots of options for replacements. I settled on a one from Amigastore.eu.</p>
<p>The motherboard looked in good condition, but I decided to re-cap it, just to be safe. Now, I’ve not done anything with a soldering iron in the last 20 years, so I’m, er, rusty (not that I was ever that handy), so this was a bit of a leap. But, I’m not gonna learn anything by watching You Tube videos, so what the hell. It looked doable, for the most part, but there was a tight little collection around the RF output that worried me.</p>
<p>I had a crack, anyway.</p>
<p>And duly failed.</p>
<p>Colour output was broken, I’d lost green, so I had to call in the help of an adult. My mistake? Too much paste on one of the caps, so an easy enough fix (apparently). And there was a wire missing off one of the chips that was meant to short it. Not clear if that was me, or it was bought like that, but again, an easy fix.</p>
<p>They also tested and aligned the floppy drive while they were in there. Woo! Guess who's taking the floppy drive out...</p>
<p>For it to be useful, it needs more RAM, and I seem to have won the only A600 on the planet that didn’t have a 512k RAM expansion rusted into its expansion port. I bought an A604n from Individual Computers, as I’d like to have a few more expansion options down the road. At 35e, it’s a steal.</p>
<p>I now have a pretty tidy A600, that’s nearly ready for me to do something useful on. Next steps: upgrade the ROM to 3.1.4, install the SD-HD, and get Workbench going…</p>
]]></content></entry><entry><title>GWIHP - Link 2004</title><link href="https://www.tdi.online/2020-08-30-GWIHP-Links2004.html"/><updated>2020-08-30T00:00:00Z</updated><id>https://www.tdi.online/2020-08-30-GWIHP-Links2004.html</id><content type="html"><![CDATA[<p>I love a bit of golf. Not the outdoor variety, that’s far too much like hard work, but digital? Yeah. I’ll happily while away a hungover Sunday morning with a seven iron.</p>
<p>I’ve always been partial, ever since Leaderboard on the 8bits. I don’t know why, exactly, there’s just something relaxing about it, sans walking; a satisfying play-loop of club selection and swing, cinematic, and the polite, psychologically re-enforcing, ripple of applause when you're done.</p>
<p>The design peaked, for me, with Everybody’s Golf on Sony’s handhelds. A delightful mix of the right game, on the right format, but there’s another that I’d put up there: Microsoft’s Links 2004, which popped up on my socials this week. It's a criminally underrated masterpiece that landed early in the life of the Xbox OG, and to this day I think it’s the best “serious” golf game I’ve ever played.</p>
<p>It suffers a little by aping the graphic design of TV — something that ages it horribly, and has no place in a videogame — but it’s remarkably restrained when compared to say, EA’s stuff. The menus are clean, simple and do what they need to. The replays are low on wank. There’s a languid, relaxed style to the whole thing, that carries through to the slightly hushed tones of the commentary. But you’re unlikely to hear much of that as the Xbox OG has a killer feature: the custom music playlist.</p>
<p>Rip a CD and play games with your own music? Can you imagine it?! What a time to be alive!</p>
<p>I'd regularly listen to <a href="https://www.youtube.com/embed/GzUB0GhoDNE">Global Underground: 025, Deep Dish, Afterclub (Dubfire Mix)</a>. My driver of choice. Smokey, after-hours prog, for my smokey, Sunday morning hangover.</p>
<p>Links took full advantage of this feature, and consequently, it's a game that respects your vibe. I love it for that.</p>
<p>Thinking about it now, it may well have been the first game I played that used the analogue sticks for swing and spin. If not, it’s the first to leave its feel in my muscle memory, as it was calibrated precisely. The perfect swing had a rhythm, a pace, that pressured you just so. The hooks and slices of early play could be mastered. The controls become reliable. You could curve long drives, left or right, wherever you wanted them, earning those slow golf claps. Played for, and got. Etc.</p>
<p>And that’s what it’s all about, isn’t it? Give the player a skill with some nuance, and the space to display it with flair, even if they’re half-comatose, horizontal on an oversized sofa, with spliff ash all over their chest…</p>
<p>I can’t tell you anything about the courses, which holes were especially challenging… Nadda. All that is long gone. What’s left are fond memories of lazy hours, sometimes playing randos online, and listening to music. Golf without exercise, or dress code.</p>
<p>Like so many Microsoft IPs, Links is no more. I heard that it was killed as part of the deal to get EA’s sports games onto Xbox, which seems likely. For me, it was superior to PGA Tour in nearly every respect and I’ve occasionally wondered what golf, as an eSport, would be like if the Sunday morning hangover demographic had been better supported.</p>
<p>And then I remember; we’d still be playing for hats and skirts in Everybody’s Golf. &lt;3</p>
]]></content></entry><entry><title>Open Source Scan Converter</title><link href="https://www.tdi.online/2020-08-02-OSSC.html"/><updated>2020-08-02T00:00:00Z</updated><id>https://www.tdi.online/2020-08-02-OSSC.html</id><content type="html"><![CDATA[<p>Much as I love running old computers through a CRT -- and I'm fortunate enough to have kept hold of my Amiga monitor -- I just don't have the space for them. I'm optimised for my Dev Rig, and not much else atm, but lockdown has given me a reason to look for other things to do in the house. Naturally, I thought I'd do some Amiga programming.</p>
<p>My A2100 is always on stand-by but it seems I'm long past the point of having a monitor with a VGA adaptor, which makes the MK1 Indivision next to useless. Since the MK2 seems to be rare as rocking horse shit, I started looking around to see what else would give me a decent HDMI connection. There're a bunch of cheap bits on eBay, handmade converters, and dodgy looking adaptors, but as I dug a little deeper I stumbled upon the Open Source Scan Converter.</p>
<p>This little black box is an FPGA based board developed by Finnish engineer Markus Hiienkari, with component, scart and VGA inputs, which are upscaled to 1080p over HDMI. It is, quite simply, amazing, and only 100quid for a pre-assembled board.</p>
<p>Pretty much everything about the OSSC is configurable, from the horizontal and vertical input scan frequencies to the way the scanlines are overlaid on the output. Because of this, I'd recommend getting a cheap, programmable remote control so you can fiddle. I've only pushed my Amiga into it over RGB Scart, so far, and while there's a smidge of noise -- hey, it's scart -- it's hands-down the best picture I've ever seen from a scart cable. I honestly can't recommend it enough. And I'm trying to figure out where I can stash my Saturn...</p>
<p>If you've got some bits of old hardware knocking about, and want to run them on your fancy new TV, then honestly, <a href="http://junkerhq.net/xrgb/index.php?title=OSSC">give this a go</a>.</p>
]]></content></entry><entry><title>BWIHR - The History Of The Future</title><link href="https://www.tdi.online/2020-06-24-BWIHR-HistoryOfTheFuture.html"/><updated>2020-06-24T00:00:00Z</updated><id>https://www.tdi.online/2020-06-24-BWIHR-HistoryOfTheFuture.html</id><content type="html"><![CDATA[<p>Or, &quot;VR Bobbins Part 2&quot;...</p>
<p>I'd entirely forgotten that I'd pre-ordered History of the Future, B.J.Harris' book on Occulus, but the timing was perfect. I've been down the Facebook rabbit-hole for a while.</p>
<p>It's a big book, filled to the brim with first-hand accounts, interviews and email snippets, and, like most tales that lift the skirt of the games industry, it uncovers a great deal of comedy. Bethesda, Valve, Carmack and Zuckerberg make for an interesting cast, but rightly, Luckey steals the show.</p>
<p>From what I can tell it's an incredibly soft-footed portrayal of Palmer Luckey that skirts a lot of his online persona. At least, what I know of his antics (which isn't much). It also doesn't fare any better when discussing Facebook, which for me, is the bigger let-down. I agree with much of the author's cynicism when discussing internal FB events, especially around the 2016 election, but I can't help but feel that there was a <em>hell</em> of a lot more to unpack. Anyway, that's just me being nosey.</p>
<p>What is in the book is the fantastic ride of a super-smart kid, with a great idea, that hit the zeitgeist in a massive way. Reading how his baby morphed from tech-for-tech's sake to a going concern is fascinating, especially when putting the current devices into context...</p>
<p>The Occulus quest is a great bit of hardware... for the money. It's by far the best VR screen that I've used (although I'm aware that super high-end kit is better), it's light, and it doesn't quite roast your face off. More like a slow bake. It's also the first untethered VR experience that I've had, which in and of itself is a killer-app. Except...</p>
<p>As detailed in the book, Facebook (Zuckerberg) want to own VR, and more specifically, tie it directly, and deeply, into their social offerings. Business is as buisness does, so no great suprises there, but the reality of this is becoming, well, shit for a lot of use cases. Which I'll get to. What jumped out at me, given the current pandemic, is the complete fucking shambles they've made of these suposed pillars. Sitting with my chums, in space hats, would have been a lift over the last 15 weeks, but instead, we're in Google hangouts, watching shit films, and complaining about the state of each other's microphones. This is such a missed opportunity for VR that it's staggering to me. I honestly don't see VR ever taking its place as that type of social hub. AR will absolutely eat its lunch for everything non-games, so well done, Facebook!</p>
<p>The book does linger on one key business decision; Facebook's pivot, away from Occulus being the developer/PC Master Race chum, toward a mobile walled garden. Time will tell if they'll succeed at this, they certainly have the numbers, but it means -- if you want the full, untethered experience -- that you're gonna have to buy games from the Occulus store. Because of course.</p>
<p>To be honest, the store isn't that bad, but what's on there is expensive. No Steam sales for you! Fortunately, the hardware isn't completely locked off. The Occulus devs managed to allow for side-loading (the discussion around this is also detailed in the book) but much like any other Android device, it's a fiddle. When I tried, I had to register as an Occulus dev, give them a name for my made-up organisation, and agreed to some other terms. Not entirely onerous, but enough steps to kill it stone-dead for someone non-technical. All is not lost, though! The Quest can be tethered to a PC...</p>
<p>Tethering is not a smooth process. The Occulus has to boot and be sat in the home screen for a little bit. It needs to be aware of its guardian, and the Occulus app also needs to be running on the PC desktop. I needed to buy a specific USB C cable, and most sessions I'll need to plug it in, two or three times, before the headset goes into Link mode. Which is in Beta. Forever.</p>
<p>Every step to slightly obfuscate the process of using the Quest outside of Facebook's garden of eden has been taken, and on top of that, the Quest's home screen, Link screen, the Occulus desktop app <em>and</em> the mobile app, are all flakey as fuck. They crash. A lot. Even more annoyingly, the headset will randomly re-assign the audio IO on my rig, taking over the mic and speaker settings, mid-game. There has never been a case where I want a piece of hardware to do this. Ever.</p>
<p>All of this is incredibly frustrating. Occulus are making excellent hardware. There's no bones about it. From build quality, to battery life, to the little glasses spacer for four-eyed-twats like me, it's Apple level. Unfortunately, the software can be awful. It's going out of its way to be every-so-slightly incompatible with what is happening on the PC, adding little bits of friction, like sand in your boxers, just to make things uncomfortable. This is exactly what VR <em>doesn't</em> need right now.</p>
<p>In a world of enforced segregation, Facebook could be pushing hard with open, fun, sharable experiences, like movies, music, or sitting in a shared living room, with hand and head tracking, comedy faces, and a massive TV. They could be piping through the concerts in Fortnite (I know) and taking the steps toward easy access of the &quot;meta-verse&quot; we always wanted, but instead they've missed the boat entirely.</p>
<p>Without radical change, Occulus isn't a History of the Future, but an interesting side-note to compare against Apple's XR eco-system. This book shows how quickly it started falling off the rails.</p>
]]></content></entry><entry><title>BWIHR - Dead Hand</title><link href="https://www.tdi.online/2020-06-07-BWIHR-DeadHand.html"/><updated>2020-06-07T00:00:00Z</updated><id>https://www.tdi.online/2020-06-07-BWIHR-DeadHand.html</id><content type="html"><![CDATA[<p>My mind’s played a trick on me over the course of the last 30 years. When I were wee I knew how things were going to pan out; I was going to die in the fireball of Nuclear Armageddon, catch Aids, and/or be run over by some BMW owning fuck, waving a wad of 50s out of his window. Everything backed this up. The comics, the films, even the music... but somewhere (probably in a field) I forgot all this.</p>
<p>If, like me, you were pre-teen during the Gorbachev/Reagan/Thatcher era, then I'd wager you'd have felt the same. And you've probably always wondered, exactly how close did we come to this fate?</p>
<p>The Dead Hand (by David E. Hoffman) goes someway to answering this, and it's fascinating. Ostensibly covering the last decade of the cold war (but actually providing a history lesson as to how things got to where they did) it interviews many of the main protagonists, and takes a deep-dive through previously classified documents. The implications are fucking terrifying.</p>
<p>I don’t want to spoil it for you, it’s proper John Le Carré stuff, but I knew very little about large sections of what this book covers, despite idly reading around the subject for years. But the one thing that stuck with me, that I just can’t shake out of my head, is that it all could have ended so much <em>earlier</em>, but Reagan and his advisers missed it. Completely. Absolutely fucked it.</p>
<p>I wonder what the world would be like now, if they hadn't?</p>
<p>When I think back on most of these people I see the cartoon villans of Spitting Image. It turns out that's closer to the truth than I'm comfortable with. So if you have even the slightest interest in any of this history, slap on Frankie Goes to Hollywood, and settle in for a jaw-drop per chapter. You’re not going to look at any of this in the same way again.</p>
]]></content></entry><entry><title>GWIHP - Streets Of Rage 4</title><link href="https://www.tdi.online/2020-05-29-GWIHP-SoR4.html"/><updated>2020-05-29T00:00:00Z</updated><id>https://www.tdi.online/2020-05-29-GWIHP-SoR4.html</id><content type="html"><![CDATA[<p>I’ve never understood all this talk about there being more than one Streets of Rage game. There's only SoR2, in a perfect little bubble, smoking a doob, trying to work out the melody from Move Any Mountain on a cheap Yamaha keyboard it cadged from Argos. It's a gnat’s ball short of Final Fight, for my money, but it’s far-and-away the best co-op brawler on the MD, and has, easily, the best soundtrack. (At least, until Final Fight on the MegaCD came along…)</p>
<p>I was sniffy about the SoR4 announcement. I’m not a massive fan of the whole “16bit reboot” thing. Flipping chunky pixel art over to flat-shaded, cartoon-style stuff is also an insta-nope, for me. Doesn’t matter how well drawn, I’m out. Usually...</p>
<p>I’m on Gamepass now, which means things arrive from the internet at the press of a button, so I it costs me nothing(ish) to try things. And I'm very very glad I tried this. Lizardcube have produced a love-letter of a game, that's polished to a shine.</p>
<p>The graphics, that I hated in the stills, look pin-sharp, jump off the screen and are nicely animated, with just enough frames missing to keep the flick-book nature of the originals intact. The faux comic halftones don’t actually annoy. In fact, after an hour or two with it, I can’t imagine it looking any other way.</p>
<p>The soundtrack may not be ripping off Boss Drum, but it does manage to catch the vibe without drifting balls-deep into Synthwave/Outrun. SoR needs to be resolutely 90s and Yuzo Koshiro fucking <em>gets</em> that. Cheesy Organs. Monobass. Crunched 8bit samples. Each of his tracks is a perfect little throw-back banger, even when he’s ripping off himself. The other musicians also deliver, with nods to garage, house, early acid, even a bit of dub nestled in among the modern, grimier, wubbier influences. There’re a lot of tracks to choose from: <a href="https://www.youtube.com/embed/9zVWzjCCM54">check out this video of the sound track!</a></p>
<p>Even with all this, the gameplay could have been a let down. There's not a rich vein of gold to mine here, but Lizardcube have been savvy. Rather than a heavy-handed re-imagining, they’ve sprinkled in tweaks. Timing windows are fairer. Grabs feel reliable. Energy, otherwise lost to supers, is regained by hitting enemies. Tells are more overt. Back fists and jump kicks, maybe more essential. It all results in a modified, smother cadence of play, a dance of attack, setup and recharge, that’s not SoR as it was, but more how I remember it to be. The 12 stages are short, doing their thing, quickly moving the player along, sprinkling in the odd cut-scene here and there, while giving a constant feeling of progression that matches the pace of the fighting.</p>
<p>It is definitely <em>not</em> what I was expecting. It's much, much better.</p>
<p>It’s not a hard game to complete – a friend and I got to the end in our first sitting – but it doesn’t give everything away quickly. The difference between properly rinsing a level and just scraping through is large enough to make a good run pretty satisfying. And you know what? That’s actually made me come back for more. Considering the genre is paper-thin to begin with, that’s quite something. The more I think about it, the more well pitched it seems.</p>
<p>The amount of discipline on display, from a development point of view, is impressive. I can’t imagine what the stupider execs at Sega would have been saying during this, (actually, I can) so seriously, well done to everyone at LC. I've pre-ordered the Switch physical version because I want this in my collection.</p>
<p>Now, if you'd like to have a crack at Golden Axe, that'd be great :)</p>
]]></content></entry><entry><title>BWIHR - Facebook: The Inside Story</title><link href="https://www.tdi.online/2020-05-25-BWIHR-Facebook.html"/><updated>2020-05-25T00:00:00Z</updated><id>https://www.tdi.online/2020-05-25-BWIHR-Facebook.html</id><content type="html"><![CDATA[<p>I've set myself a challenge to get through a few more books over the course of this year, so I thought I'd write about anything good that bubbles up.</p>
<p>So let's start with Steven Levy's all access account about the history of Facebook, cos it's a doozy.</p>
<p>Facebook's creation is a well-trod story, and there's very little in this book that's going to paint any of it in a better light. MZ is clearly bright, arrogant and possibly on the spectrum. None of which are, in and of themselves, a bad thing. In fact, they can be a super-powers, as MZ demonstrates, doing more than most of us managed at that age by not only getting others to follow his singular vision, but delivering working software that attracts funding.</p>
<p>When I had a house with friends, and we attempted to make a game, we spent the entire time getting stoned and taking acid, so you know, I'm willing to doff my cap at that. In fact, I'd be willing to write off a lot of things that MZ has said and done, because holy-shit I was a twat at that age... But as each chapter unfolds my inclination dwindles.</p>
<p>Companies take on the personality traits of their founders. In Facebook's case it's gone further, taking the worst a cis, white, gifted, over confident young man can offer, and then wrapping it up in the predatory thinking of VCs. The adults in the room are either blind to the technology implications of what they're doing, greedy, or both and from the second the advertising as revenue-model decision is made, all pretence at social consciousness (as scribbled in MZ's notebooks) ring hollow. In reality the company charges toward growth at all costs, and then watches -- seemingly dumb-founded - as their shiny toy is abused by Russian bots, the far right, and -- with their express fucking permission -- Cambridge Analytica.</p>
<p>It's the paralysis and confusion within the company, from the 2016 election on, that I have the least amount of sympathy for. Many of the former employees interviewed are contrite, but the closing chapters aren't painting a picture of a company struggling to turn the oil tanker, just of a leader ducking questions, and doubling down, so it's odd that when the book stops short of concluding the obvious:</p>
<p>Delete Facebook.</p>
<p>If you don't know much about the company then this is definitely a book worth reading. Ignoring its failures to come to any form of conclusion, it manages to present FB's carefree ascendance and chaotic &quot;fall&quot; in a clinical, &quot;just the facts&quot; kind of way, which is probably about the best you can ask for right now. Personally, I can't help thinking that it's a bit of a missed opportunity. Or maybe MZ really is just that aloof..</p>
]]></content></entry><entry><title>GWIHP - No Man&apos;s Sky</title><link href="https://www.tdi.online/2016-09-12-NoMansSky.html"/><updated>2016-09-12T00:00:00Z</updated><id>https://www.tdi.online/2016-09-12-NoMansSky.html</id><content type="html"><![CDATA[<p>No Man's Sky does a lot of things right.</p>
<p>It's an amazing, jaw-dropping - in places - universe to look at, with an art style that shakes up AAA. It will no doubt be responsible for many, many games remembering that they're, well, computer games. That we have access to ALL the colours, not just browns, greys and cube mapped metal. Purples! Oranges! Misty yellows! Sega Blue Skies on fire off the shoulder of Orion...</p>
<p>It goes an incredibly long way to making its universe accessible. There're no complex flight mechanics to fail at, no wikipedia page of intricate crafting tricks to memorise. Space Station enforced auto-pilot sucks you into glowing orifices and spits you back out through a Battlestar Galactica infused blotter.  For that it should be applauded. Young or old, you're safe to explore, to name things, and to scoop up the carbon rich turds of the - every so slightly broken - aliens you decide to feed. Despite the odd scuffle, this is largely a Safe Space.</p>
<p>The writing, what there is of it, is also to the side of what I've grown to expect from a big budget game. Sure, it's a little aloof in its attempt to convey whatever mystery lurks behind all that psychedelia, but what's there is better than the usual fare. I actually read some of it. The audio is also fantastic. From the sentinels - with their Pink Floyd, Welcome to the Machine powered engines - to the jibber-jabber of the quite obviously bored aliens that you meet, it's a soundscape that matches the visuals in every sense.</p>
<p>If I worked on this I'd be immensely proud of it.</p>
<p><em>Imagine image of the team here. Thanks Wordpress for being shit</em></p>
<p>Some of those beards aren't fashion items. They're the untended <a href="http://www.duffelblog.com/wp-content/uploads/2012/04/1373499.jpeg">combat beards</a> of a veteran who's been away from home for months, missing loved ones, eating unidentifiable brown goop from polystyrene cartons a bored delivery person passed them at 9pm at night.  Fucking right they're smiling. They coerced one of the largest corporations in the world to back them, leveraged the muscle of mega-marketing and got their trippy little universe squeezed into blue boxes and shipped all over the world. Hello Games, I stand and salute you all. Well done. Well done. Well done!</p>
<p>No Man's Sky does a lot of things wrong. On the PC, at least.</p>
<p>I'm not going to do these chaps the disservice of listing all the little UI/UX oddities that the PC displays. It's a port of a console game. PS4 was the lead platform. I get that. I'm fine with the casual nature of the crafting, and the flying, and, er, everything. But those limitations... That ever so frustrating lack of slots, the fact that all that crafting leads to, basically, nothing.</p>
<p>I'm also in that ever-so-tiny minority that spawned on a shit planet. What I can only describe as hell. Aggressive sentinels, radiation. That Heridium I needed just far enough over the horizon that I couldn't make it there and back without dying. Although I found out later that I probably could have scavenged some carbon to charge my life support, if only I knew that I could charge my life support...</p>
<p>40 minutes of swearing and frustration as an on-boarding experience, only to find out there's no &quot;New Game&quot; button. (Off I go to delete my saves and force Steam to have a cloud-save conflict in order to progress...) But I stuck with it. For about 10 hours. And now I'm done.</p>
<p>If I'd not put a thousand hours into Minecraft (and several hundred more into Elite Dangerous) I'd still be bumbling around No Man's Sky, fat Magic Marker in hand, making it G. N.'s Sky. Space trucking through Roger Dean's head with an advanced DSLR should have no end of appeal to me. But I'm not. I'm pining for the detail and intricacy of Notch's crafting system, and the glorious, slow-motion, Kubrick-scale  exploration that the experts of delivery at Frontier are producing.</p>
<p>No Man's Sky isn't a game made of lies. It's an expansive game, catapulted forward by the elastic of hype, that delivered much of what it set out to achieve. It was crafted with-love at the hands of a small, and probably exhausted team. It's just a bit unfortunate that it landed at a time when computer game player's imaginations are want to run wild and their fingers are free to vent unrestrained frustration all over the internet. I spent my money, I didn't gel with the game, but I feel bad for Hello Games in all this. I know how it feels, having spent much of my own career delivering Marmite to players, and I can promise you, it's fucking horrible to see this sort of reaction. Even a negative Steam review can burn. This thing will live on in the mind of the developer far far longer than the angry player making NeoGaf posts.</p>
<p>No Man's Sky wasn't the game I had in my head, but then, no game ever has been. It's not a game I've had hundreds of hours of play out of, but my Steam library is full of those.  But if, as I hope, Hello Games keep working on it - if it really is a platform for them to deliver more content on - then I'll be more than happy to go back to it.</p>
<p>No Man's Sky is a wonderful piece of art. Just one that I prefer to look at, rather than play.</p>
]]></content></entry><entry><title>Kodi Box</title><link href="https://www.tdi.online/2016-08-12-KodiBox.html"/><updated>2016-08-12T00:00:00Z</updated><id>https://www.tdi.online/2016-08-12-KodiBox.html</id><content type="html"><![CDATA[<p><em>Imagine an image of a newly built PC here</em></p>
<p>Just wanted to give a shout out to the fine chaps at <a href="https://www.pcspecialist.co.uk">PC Specialist</a>, who put together this lounge PC for me. Since dropping the AppleTV I've been running various little Chinese ARM based boxes. None of them were great, and all of them were under powered, so I promised myself that I'd just sort it out properly and build a mini-PC.</p>
<p>I spent quite a while searching around for the parts to build it myself, but PC Specialist ended up being cheaper. Boggles the mind... But this is a lovely machine: Asus Mini-ITX, strapped to an i5, GTX730 &amp; SSD, housed in a Fractal Design Node 202 and it's <em>completely</em> silent, so perfect for the lounge.</p>
<p>The <em>only</em> slight niggle is that PC Specialist logo they glued to the case, which kinda ruins the black lines. It's also a degree or two wonky, which trips my OCD every time I look at it. Ggngng :D</p>
<p>As for the machine itself: I've installed Ubuntu (of course) and it's running the latest Kodi, so I'm finally getting DTS-HD pass through to the amp, which none of my streamers (even the AppleTV) have ever really managed properly. Apologies to next door!</p>
<p>Anyway, hat tip to PC Specialist. That's a quality build for a stupidly low price, go check them out.</p>
]]></content></entry><entry><title>Storage</title><link href="https://www.tdi.online/2016-08-05-Storage.html"/><updated>2016-08-05T00:00:00Z</updated><id>https://www.tdi.online/2016-08-05-Storage.html</id><content type="html"><![CDATA[<p><em>Imagine there's an image here. I wasn't able to retrieve it from the old Wordpress Database back-up that I pulled these posts from...</em></p>
<p>This little fella is my first own-rolled NAS. It doesn't look like much, I'll give you that, but this was back in 2004-ish. We'd moved into our Gosport-based James Bond villa over looking the shit-hole that is Portsmouth, wired up the whole place with Cat-5 and were on our first Gigabit LAN. This was around the time that the first version of XBMC came out and my previous GF had been lovely enough to buy me a chipped Xbox to run it, so I was in the process of cable-cutting. I needed some storage.</p>
<p>The eMac was a disgustingly cheap Mac built for education, but it ran Panther, so had that lovely Unix underbelly. Attached were a stack load of Lacie Firewire drives, probably totaling 250GB - maybe 500GB, I can't remember - and the machine acted as a server for the whole apartment. I could mount the drives automatically over NFS or SMB and the two Windows abusers I lived with could hop-on as well.</p>
<p>I spent more than a month ripping my entire CD and DVD collections - to a compressed format rather than lossless, stupidly, so it wasn't for the last time - and filled those little drives up. It was a cool setup and I've carried a version of this with me for the last 12 years. Those Lacie drives were always horribly unreliable but for the better part of 6 or 7 years I managed to run out of space just as HD sizes jumped up, and narrowly missed data-loss. 500G drives were replaced with 1TB, then 3TB. The eMac was replaced with a G5 Mac Pro, and then later with external housing hooked up to a Asus notebook running Debian, which I've been running for the last 3 years.</p>
<p>But there's always been a big problem with this setup. Offsite backup.</p>
<p>Bear in mind, when I started this the cloud was just an ever present fact of British summertime, not some shit name for the internet. Amazon weren't in the storage business and Dropbox was something the Chuckle Brothers did. Offsite backup meant leaving drives at my Mum's, and there was no way to keep stuff in sync. At least not easily.</p>
<p><em>Imagine another image here. Of a Synology</em></p>
<p>Say hello to my little friend.</p>
<p>I've been looking around for a big, multi-bay NAS for several years, but for the sorts of data-storage I need - currently 10TB - most solutions are designed for business and have the price tag to match. I need something silent that doesn't take up too much power and is as stable as my Debian-based solution. Fortunately Synology's prices have dropped and now Lumo's released, I have a little cash to hand.</p>
<p>Seriously, I've been absolutely shitting myself that the drives I've been using for the last 3 years might die. In fact, there was a real scare about 6 months ago when my music drive was unmountable, but fortunately I was able to save it (was just some EXT4 related corruption, nothing too serious). And worse, for the last 12 years I've been flying by the seat of my pants and not had any of this data in a RAID setup. Just straight drives. How the fuck I've got away with this I do not know...</p>
<p>So yeah, the Synology. It wasn't cheap, but fuck me, it's good. Totally silent. Drives switched off aggressively, so power usage isn't too bad. 4xGB network interfaces, so it can flood the whole house. And best of all RAID1+0. I've got it stocked with 40TB of drives, so 20TB of RAID1 drives, mirrored. Touch wood, cross fingies and toes, but I think my data is as safe as it's ever been.</p>
<p>So what about the offsite backup then?</p>
<p>Well, I've been shopping around. Amazon Glacier looked like the safest bet for a long time, but in the end I've gone with Backblaze B2. It's dirt cheap ($0.005/GB per month) and having used their service on my old Macs for years, they're good people. Even better, the Synology Cloud Sync supports the service, so as I speak my internet connection is flooded uploading to them.</p>
<p>It's taken 12 years to get here, partly through laziness, partly by being skint, but I think I can finally cross this one off the todo list.</p>
]]></content></entry><entry><title>How I Learned To Stop Worrying And Love the EU</title><link href="https://www.tdi.online/2016-06-17-Brexit.html"/><updated>2016-06-17T00:00:00Z</updated><id>https://www.tdi.online/2016-06-17-Brexit.html</id><content type="html"><![CDATA[<p>Ok, facetious title, but it's hard to live in Europe and explain what the fuck is going on in the UK right now. But the UK is nothing if not contradictory.</p>
<p>London, that most amazing melting-pot of cultures, where people of every nation, colour and religion live and move shoulder to shoulder <a href="http://indy100.independent.co.uk/article/you-aint-no-muslim-bruv-is-the-most-london-response-to-the-leytonstone-tube-attack--b1T_01685x">largely in good humour</a> - has become the most financially <a href="https://www.theguardian.com/uk/2010/apr/21/wealth-social-divide-health-inequality">unequal city in the country</a>, vast <a href="http://www.private-eye.co.uk/registry">swathes of which</a> are bought-up with dirty money, knowingly laundered through British-owned off-shore tax havens, making it close to impossible for these communities to remain there - together - for very much longer.</p>
<p>The vaunted wellfare state and NHS - the &quot;pride of the country&quot; - is slowly sold off as neoliberal <a href="http://www.nuffieldtrust.org.uk/sites/files/nuffield/121203_a_decade_of_austerity_full_report.pdf">austerity</a> economic policies cut funding, privatise through the backdoor, and attempt to force <a href="http://www.bbc.com/news/health-34775980">unsafe and unfair working practices</a> on the people whose passion and skill the nation's health relies on.</p>
<p>Even the higher education system, one of the oldest and most respected in the world - and something I personally benefited from - is now so costly that I couldn't afford to put my own children through it, instead they'd be saddled with <a href="http://www.thecompleteuniversityguide.co.uk/preparing-to-go/money/students-and-debt/">monstrous debt</a> and questionably improved prospects.</p>
<p>An Englishman's home is his castle? Well, not anymore, these days it's a pyramid of landlords and letting agents, fees and hidden taxes, the cost of which is so far out of reach for the young, or average earner, that anyone that missed the lowest rung in the '90s can only look on as others profit. <a href="http://www.bbc.com/news/uk-14380936">Right to buy</a> put social housing in the hands of my parent's generation, houses that were never replaced.  The UK is the fifth largest economy in the world, but could only build <a href="http://www.bbc.com/news/magazine-30776306">104k</a> houses in 2014, in a country where a mere <a href="http://www.bbc.com/news/uk-18623096">10% of the land</a> is considered urban, but holds a population of 64 million.</p>
<p>The UK once considered itself the centre of the world, the hub of the largest empire in history, and yet it's never shy of showing its fear of the foreign. Unregulated newspapers, owned by billionaires, are free to write <a href="https://blogs.ec.europa.eu/ECintheUK/">lies and falsehoods</a>, stoking the fire of racism, blaming everything from depressed wages and the lack of &quot;jobs for nationals&quot; on &quot;out of control&quot; immigration. And it's been writing this rhetoric, unchecked, for most of my lifetime. And it is rhetoric. Carefully crafted to serve the corporate aims of a few.</p>
<p>In reality the British have been tolerant of diverse religions since the Tudors. Our language absorbs words from French, or German - any language - on a whim. Our (<a href="https://www.google.co.uk/search?q=uk%20national%20dish">https://www.google.co.uk/search?q=uk%20national%20dish</a>)national dish is Indian. Jamaican music is at the root of Jungle. Black American music at the root of The Beatles, or &quot;Britpop&quot; [spit]. The royal family is German! Some of our finest athletes are of African, or Asian descent. So, in my opinion, immigration has been a net-positive for the UK my entire lifetime, and it's exposed me to much that I wouldn't have otherwise seen unless I'd traveled the world. We're even seen by others - anecdotal from the majority of Americans and certainly Finns that I've met - as a model of integration, something to be envious of.</p>
<p>At its best the UK devours culture, remixes it, extends it and spices it with invention, to give back something new. We can be funny, self deprecating and <a href="https://www.bpi.co.uk/home/british-artists-score-highest-recorded-share-of-global-music-sales.aspx">popular across the world</a> - even <a href="http://www.theguardian.com/media/2015/mar/11/top-gear-bbc-jeremy-clarkson">Jeremy Clarkson</a>.  We're the nation of stiff upper lips, pride, politeness and sportsmanship, but these are virtues that some English people use to cover up an undercurrent of arrogance.  Be it the echoes of lost empire, or the wars we supposedly &quot;won&quot; - the Russians are always written out - or hell, even the constant reminders of that fucking World Cup, some English love to feel superior. How quickly we've forgotten the <a href="https://en.wikipedia.org/wiki/Sick_man_of_Europe">sick man of Europe</a> moniker we had for nigh on a decade. We paint the <a href="http://www.liverpoolecho.co.uk/news/liverpool-news/17-things-european-funding-done-10925208">support of others</a> as our <a href="http://www.dailymail.co.uk/news/article-183524/Liverpools-delight-culture-award.html">nation's success</a>. No, we're English! Our language? Dominant in business. Our legal system, copied across the world (or was it left, like a shit-stain of imperialism?). It's by feeding this attitude that right-wing media can thrive.</p>
<p>The timing of Brexit couldn't be worse if, like me, you want to Remain. And not just for the obvious economic reasons... England isn't really a nation of flag wavers, there's an England sticker on the door of the pub that shows the football, and you might see the bedraggled strings of a St George's cross on the aerial of a car, but they've been hanging on since the last world cup and are looking worse for wear. Compared to the U.S. it's flag free until the Queen shows up, and even then it'll be the Union Flag.If anything, the English are mostly brought up to be British (or at least I was, and the irony of that in the context of this rant doesn't escape me). Scotland, Ireland and Wales certainly show pride in their flags, and for good reason - but every two years, be it a World Cup or the Euro's, Little Britain remembers that it's <a href="https://home.bt.com/images/tony-baddans-house-covered-in-england-flags-140081798503302601-140612103351.jpg">not actually British</a> after all. To hold the deciding vote on whether to leave the European Union against the bi-annual outpouring of national pride is nothing short of upper-class, political ignorance on behalf of David Cameron.</p>
<p>The whole thing is a complete and utter mess.</p>
<p>I know <a href="https://en.wikipedia.org/wiki/Democratic_deficit_in_the_European_Union">Europe is undemocratic</a>. But here's the thing, the <a href="https://en.wikipedia.org/wiki/House_of_Lords">House Of Lords is undemocratic</a>. So is the Civil Service. And so are British <a href="http://news.bbc.co.uk/2/hi/8644480.stm">voting systems</a>.  Its the most <a href="http://www.dailymail.co.uk/news/article-444819/UK-1-worlds-population-20-CCTV-cameras.html">surveilled nation</a> on earth. Its security forces and much of its police work in secret or remain <a href="https://www.theguardian.com/football/2016/apr/26/hillsborough-disaster-deadly-mistakes-and-lies-that-lasted-decades">unaccountable</a> for a <a href="https://www.theguardian.com/football/2012/apr/12/hillsborough-battle-orgreave">generation</a>.  I can understand and sympathise with the view that the European commision's lack of elections is a driver for people to vote Leave, and yet, I can't think of many institutions you can improve by not being a member. Nor can I remember a time when the commission was able to pass a law onto member states. <a href="https://en.wikipedia.org/wiki/Transatlantic_Trade_and_Investment_Partnership">TTIP</a> - and <a href="https://en.wikipedia.org/wiki/Comprehensive_Economic_and_Trade_Agreement">CETA</a>, the Canadian equivalent - scare the shit out of me, but do people really expect the UK, a country that regularly <a href="https://www.theguardian.com/technology/2013/jun/07/uk-gathering-secret-intelligence-nsa-prism">works in secret</a> on it's &quot;special relationship&quot; with the U.S. to say &quot;Nah...&quot; to it? I don't, and I wouldn't expect the UK to be doing much to reform its own lack of democracy, especially while it's &quot;busy&quot; trying to work out its legal status, post European-divorce.</p>
<p>I know Europe is likely to expand. I think this is a good thing. I'm not scared of brown people. Or LGBT people. Or even religious people. Humans have a long history of supporting one another. We coalesce, we work together. Many brains are smarter than one. Society requires a group of people, after all.</p>
<p>I know Europe is struggling, but then, most of the western world is. Why would a nation of 64 million people have more political sway, or nous, than a continent? Because of London's financial institutions? Because of the pound? I very much doubt it, although the <a href="https://en.wikipedia.org/wiki/Panama_Papers">level of corruption</a> endemic in the former will take it a very long way. Would the UK really form stronger trade deals acting in isolation? Well, I have no doubt that deals would be made, but I find the idea that the UK hasn't already played a massive - if not leading - role in the shaping of current trade negotiations to be laughable. It maintained one of the least regulated
business and employment sectors in Europe, while gaining access to a massive single market and traderoutes to the rest of the world. The job's been done, and pretty bloody well for all sides, unless you used to work in a state owned industry.</p>
<p>Personally, I think the 'better for business' argument boils down to the corporate desire for more deregulation. More zero hours contracts. More downward pressure on the minimum wage. Lowering of barriers to hire and fire. But this would only lead to less security and more poverty. Higher crime, less social mobility. Sure, and increased profits for corporations, but at the expense of the rights of the people. That's sociopathic.  The British are better than that.</p>
<p>I know some find the thought of a European Army distasteful - that we'd get sucked into other people's wars - but it was the Allies that created NATO and the UK is legally bound to fight for any member state as it is. NATO is in need of an overhaul, and Europe's smaller members deserve a level of security outside of the requirement of NATO membership. Maybe the UK would lose its Nukes? Good. I fucking hope so! It'd <a href="http://www.independent.co.uk/news/uk/politics/cost-of-replacing-trident-is-167bn-double-previous-estimates-calculations-suggest-a6708126.html">go a long way</a> to building some houses...</p>
<p>&quot;We can define what it is to be British, without <a href="https://blogs.ec.europa.eu/ECintheUK/ec-to-ban-prawn-cocktail-crips/">Europe banning our crisps</a>. What the fuck is British, really? I find the very idea that somehow the location of my birth either defines my character or outlook to be as laughable as the thought that my starsign might. Grow the fuck up. Last I looked, I was human. So was every other man, woman and child on this planet. I've been fortunate to grow-up in a multi-cultural society, and I'm thankful for that. Now, as an adult, I'd like to be a part of the larger world, not the smaller village. Our grandparents defined what it was to be <a href="https://en.wikipedia.org/wiki/European_Convention_on_Human_Rights">Human</a>. I think we're past the point of worrying what it means to be British.</p>
<p>To be honest though, I've already made my choice. I left the UK and I do not miss it. Looking at Brexit from afar blinkers me. I see all that I hate about that narrow-minded, vitriolic, right-wing, jingoistic shit that England often excels at (but that I recognise every country has). I live in Europe. I get to see first hand what state ownership, social conscious, collective bargaining and a semblance of regulation can provide. I'm fortunate. Others aren't, so I'm happy to pay my way because the rising tide lifts all boats.</p>
]]></content></entry><entry><title>New Wheels</title><link href="https://www.tdi.online/2016-06-04-NewWheels.html"/><updated>2016-06-04T00:00:00Z</updated><id>https://www.tdi.online/2016-06-04-NewWheels.html</id><content type="html"><![CDATA[<p>There're many plus sides to living in Finland, one of which is the insanely great public transport. As a life-long car owner and general hater of UK public transport, or at least, UK trains - busses were fun in the 90s, when I last used them - it's taken me a little while to get over the fact that sharing a journey <em>with other peopl</em> might not be utterly shite. The commuter trains where I live can whisk me into Helsinki's downtown in 13 minutes, all for the princely sum of sweet-fuck-all a month. With the exception of the L [ol] Train at night, which stops at every bush between Helsinki and Espoo, it's quick, clean and zero fuss. Exactly as it should be.</p>
<p>'Proper' trains are also pretty sweet. Mostly double decker carriages, with assigned seating (unless you're in a rush and hop on) and WiFi that actually works! In the two years I've been commuting to Tampere they've been late 3 or 4 times and the worst thing I have to say about them is that most of Finland seems to be incapable of reading the number on their ticket, so keeps sitting in my place. And get this, the price of a fare actually <em>dropped</em> this year. By 50 fucking percent! The 110 mile journey from Helsinki to Tampere now costs me £14.</p>
<p>FOURTEEN FUCKING EARTH POUNDS.</p>
<p>I've never lived in a world where the price of public transport actually falls, until now.</p>
<p>Tampere and Helsinki have another little travel-trick up their sleeves, and that's the cycle path. They're fucking everywhere. And they go to places some of the roads don't. You wanna see that bit of forest, or head to a lake? There's probably a little cycle path that'll get you there a bit quicker, and via a more scenic route. I've been scoping these out on the map for a while  but have been too skint to actually buy a bike, cos here's the downside; bikes are stupid money over here. I'm used to the £100 quid, Halford's special, and that'd be what I consider to be 'expensive'. One with disc brakes and spokey dokeys - the fucking lot. I've seen mountain bikes over here that cost 800e, for, well, I have no idea why. Import tax? Anyway, a bit of local knowledge (thanks Teemu) pointed me in the direction of Biltema and I'm now the proud owner of a little trail bike. It's by far the most expensive bike that I've ever bought, but it's the cheapest bike I've seen here (go figure), so I reckon I'm winning.</p>
<p>I've been out and about this week, making little brake and seat tweaks so me and bike can become one. I even found a lake (like, the easiest thing you could possibly do in a country with 187,888 lakes)...</p>
<p>I've been trying to work out how long its been since I had a bike and I think it's about 22 years, so I can confirm that you never forget how to ride one. Your legs - apparently - forget how fucking hard it is to keep peddling though...</p>
<p>So yeah, finally, I have some wheels. I've been here for 3 years and the only time I ever want a car is when we travel to the in-laws. Maybe we'll get something someday, but right now it's looking good for a summer of pedal power. We've had 3-4 weeks of non-stop sunshine, so fingers crossed it stays this nice...</p>
]]></content></entry><entry><title>PlayStation 4k</title><link href="https://www.tdi.online/2016-05-14-PlayStation4k.html"/><updated>2016-05-14T00:00:00Z</updated><id>https://www.tdi.online/2016-05-14-PlayStation4k.html</id><content type="html"><![CDATA[<p>There's been a lot of news about the new Playstation 4k lately and at first I was a bit surprised and worried that Sony would do this, but thinking about it, it makes perfect sense.</p>
<p>I'm a big Playstation fan, the PS4's had a fair amount of use since it landed in our house (not as much as the WiiU, natch) so it's been a good investment (we got it for free). But I look at how many games I've actually bought and it's sod all. No where near enough for me to consider buying an updated version.  I'm probably not the only person that feels this way, so why the hell would Sony do it?</p>
<p>(I'm quite likely to put the money down for PS VR, but that's only for Rez and Jeff's new 'thing', which I've had a sneak peak at.)</p>
<p>I reckon they're extremely confident that they can sell a new console to the 'core'. (I used to think I was in that demographic, but clearly not anymore.) I also reckon that they'll heavily discount the original PS4 just to get it out to a wider audience. I also think they're hedging against MS making a strong push for the Universal App platform, that'll 'allegedly' run games on Windows 10 and XBone. All good - and they're probably right on all points - as long as the games don't stratify into two distinct levels, and I don't have to break my balls making more skus for the games that I make...</p>
<p>The bigger problem with this strategy is that it'll have to become the norm. Consoles compete against PCs, Phones and Tablets, whose technological march never stops. Consoles are static. There's no way a fixed spec can compete for four or five years against the amazing leaps phones and tablets are making. Kids are much more likely to grow up lusting after an iPad, so what else is there to do? You have to keep bumping the spec. Every 3 years a new Playstation? Ugh.</p>
<p>But what if MS do the same, and what if MS really do make some headway with the Win10 universal play? For me, this basically screams, &quot;buy a gaming rig&quot;. Spec up a decent PC. Bask in the glow of the Steam sale. Play your games at higher res, with higher refresh rates and just hop on the PC upgrade cycle. I know, it's a ball ache. It's not as simple as a console. It's not as small, or as silent. But for the price of a new Playstation, I could buy a GTX970. Every few years I can bump up the CPU. I've been rocking 16gig of RAM for years, so no big expense there.</p>
<p>I've had consoles for years, but I started as a gamer on home computers and it looks increasingly likely that the most cost effective way for me to rock the high-end of games is to just stick with PC Gaming.</p>
<p>I'm looking forward to the PS4k, but unless the price is amazing, I think this is the point where I hop off the Playstation wagon. I'll save my money for Nintendo.</p>
]]></content></entry><entry><title>Respect The Pixel</title><link href="https://www.tdi.online/2016-01-16.html"/><updated>2016-01-16T00:00:00Z</updated><id>https://www.tdi.online/2016-01-16.html</id><content type="html"><![CDATA[<p>So this is very much &quot;old man shouts at cloud&quot; territory, but I'm waiting for Match of the Day to download and no one's seeding. Feel free to move along, you can ignore me.</p>
<p>Still here? No?</p>
<p>I've been playing a few 2D games lately. Stuff some of my students have made and stuff that's been clogging up my pile of shame for a while. One thing that's jumped out and slapped me in the face through all this is the number of games that use low resolution pixel art as 'a thing' but then go on to ruin the effect by completely ignoring the pixels they're basing the game on.</p>
<p>Things like: elements of the game, drawn at the same resolution in Photoshop, then scaled in-game - either through designer placement, or via gameplay -  so the pixel unit size varies between objects on the same plane. Or worse, graphic elements pushed forward or backward in to parallax layers, then scaled in-engine rather than being redrawn for their placement on screen. Limbs on characters rotating from a pivot point, rather than having drawn animation frames? That's a common one. Or, arrgh, particle based explosions with rotating particles...</p>
<p>Anything that takes a square pixel, rotates it <em>by any amount</em> and leaves it looking like a stretched Diamond on-screen is a bookable offence. 10-15 stretch. No parole.</p>
<p>Often the developer is clearly aware of what they're doing, so to stay true to the aesthetic will use <a href="https://en.wikipedia.org/wiki/Texture_filtering#Nearest-neighbor_interpolation">nearest neighbour filtering</a> when scaling, to keep the pixel edges clean. Ok, fair enough, but this tends to make the problem worse. Instead of square pixels, there'll be a bunch of rectangles moving around the screen. They might flip between being square and rectangular as they crawl their way across my field of vision due to sub-pixel precision. Those nice circular embossed bits, drawn on the wall? They'll look like utter shite as well... It'll even affect the scrolling. The shimmering. The crawling. Ugh.</p>
<p>All of this makes me sad. All of this is easily avoidable. And nearly all of this is down to people doing it in Unity, which couldn't care less about your pixels without a bit of leg work first.</p>
<p>Respect the pixel people!</p>
<p>Don't put a <a href="https://en.wikipedia.org/wiki/Image_scaling#Super_2.C3.97SaI_and_Super_Eagle">Super Sal</a> filter over it. Don't stretch it, bend it, rotate it and leave it lying on screen in a heap. If you're going to put scanlines all over it, then at least do it with some care. Make sure everything's bright enough. If you're not old enough to have grown up with the pixel, then go and have a look at something that properly respects it. Shovel Knight's a good place to start. See how good something looks when it's consistent. See how smooth movement can be without ghostly shimmer. You don't have to make an NES game to look this good! Go wild, add as many colours as you like! Just spare a thought for grumpy old sods like me that have spent 20 years studying the pixel, worshiping at the alter of this magic dot of light that's breathed life into so many great games and art styles, don't wade in there with your size 9 game engine, like a bull in a china shop!</p>
<p>Pixels are our friends. Do right by them and they'll do right by you!</p>
]]></content></entry><entry><title>GWIHP - Chaos Reborn</title><link href="https://www.tdi.online/2015-12-15-ChaosReborn.html"/><updated>2015-12-15T00:00:00Z</updated><id>https://www.tdi.online/2015-12-15-ChaosReborn.html</id><content type="html"><![CDATA[<p>There's a small cadre of game developers that, for me, have such a commanding body of work that it's impossible not to admire them. They demand respect. The Jeff Minters of their fields. And when you stop to look at it, the UK's produced more than its fair share of them (and obviously I'm not talking about Peter Fucking Molyneux, although he's employed more than a few).</p>
<p>Since I seem to be working my way through them on this blog - hey 2015 has been a great 1995, and, well, a great 1985 - it'd be rude not to pay a large amount of homage at the feet of Julian Gollop. If anyone could lay claim to owning a genre, it has to be this man.</p>
<p>Imagine having this for a CV:</p>
<ul>
<li>Chaos</li>
<li>Rebelstar I and II</li>
<li>Laser Squad</li>
<li>Lords of Chaos</li>
<li>X-Com I &amp; II</li>
<li>Rebelstar: Tactical Command</li>
<li>Ghost Recon: Shadow Wars</li>
</ul>
<p>I'm only ignoring some of the others because I've not played them, they're probably amazing as well. Personally, I'd have dropped the mic and changed career after Laser Squad. If I'd hung on long enough to do X-Com I'd still be appearing on chat shows and doing TED talks about AI. Or whatever it is famous devs from 20 years ago still do.</p>
<p>So yeah, wow. One of those guys I'd love to meet and buy a pint. Or, failing that, one of those developers that only has to post a logo on Kickstarter and I'm all in. Hello Chaos Reborn!</p>
<p>For those under 30 - and/or outside the UK - the original Chaos was <em>the</em> Spectrum turn-based strategy game. Until Rebelstar. And then Lasersquad. Released in 1985 it would have cult status by the 90s, be featured on at least one Your Sinclair cover-tape that I can remember, and end up being listed as one of the greatest Spectrum games of all time by pretty much every Speccy mag that ever existed, and later, GamesTM.</p>
<p>(For me it's probably a coin toss between Chaos and Deathchase 3D for the actual crown, but lets not forget Head Over Heels, Rex and that port of R-Type while we're here...)</p>
<p>Chaos' Gameplay sees you taking control over one of four wizards, locked in a magical arena, with a limited number of spells. Each wizard takes turns casting spells and moving about, with the aim to be the last one standing. All fairly obvious so far, but there're two neat touches that lift Chaos above a simple boardgame.</p>
<p>The first is that your spells are placed somewhere on the scale of lawful to chaotic and as spells of each type are cast, the arena itself shifts toward that end of the spectrum. At the beginning of the game spells that are at the either extreme will be difficult to cast as the arena will be neutral, however, successfully casting a few chaotic spells (for example) will quickly shift the arena in that direction, which in turn makes it easier to cast those more difficult, extreme chaos spells. This can be a massive ballache if you're dealt a handful of lawful spells, which is where the second neat touch comes in: at any point you can decide to cast an illusion, which has a 100% chance of working regardless of the tilt of the arena. The only downside? Opposing wizards can 'disbelieve' these illusions, instantly destroying them. The bluf...</p>
<p>The range of spells is itself pretty funky, from the Undead to Golden Dragons, Shadow Woods to Goey Blobs, the latter of which is probably single handedly responsible for a lot of Chaos' cult status.</p>
<p>The Goey Blob is a snot-green, slightly pulsating bogey splat of a sprite, that grows to consume the arena like a cancer. You can't control it, it goes where it goes, but normally with hilarious consequences as you or a chum find yourself trapped by it. Nothing is more humiliating (at least in my circle of friends) than getting done by the blob, so obviously that's the main kill to go for... There're a few other mechanics but that, in a nutshell, is the gist of it.</p>
<p>On paper Chaos is a fairly simple looking spin on a board game, but one that's captivating, often very funny, and still dear to my heart. It may be 30 years old but it still <a href="http://torinak.com/qaop#!chaos">plays well</a>.</p>
<p>Much like Elite Dangerous Julian had my Kickstarter backing the morning it was announced - instapledge -  and much like Elite, despite having early access privileges I avoided playing it until it was finished. Why? Well, maybe it's just a personal thing, but I honestly don't want to play unfinished games unless I'm doing QA for a mate. I spend 8 hours a day playing my own unfinished stuff, so I really don't want to look behind the curtain of someone else's WIP.  It's nice to have some mystique about games, just now and again. But anyway...</p>
<p>I've spent a few hours with Chaos Reborn and am happy to report that it's lovely. Not in the way your Nan would say, but properly, <em>ooo, where ya been</em>? lovely.</p>
<p>I'm immediately struck by how 'Chaos' it is despite being 30 years younger and looking completely different. The new-fangled shaped arenas are a welcome add to the gameplay, particularly the addition of height - immediately recognisable from Ghost Recon: Shadow Warriors, which used it to similar effect - that becomes an essential escape in crowded arenas, as well as giving you a powerful advantage over would be attackers below.</p>
<p>Spells have seen a bit of a change and I was worried about the new cards / deck metaphor, but needlessly, as it turns out. It's not hipster, but a completely commonsense update of what the original provided. You're given a handful of cards, each containing a spell, with a stack of additional ones, unseen, off to the side. These come in to replace the spells that you've used until the stack runs out - much like other deck based games - and you can also burn unused cards for mana: when you have enough, a new card is handed over. This is often something more powerful than your standard hand, so burning cards in the hope of a Brucey Bonus has a nice risk / reward feel, despite me constantly forgetting about it and doing a last-minute-Larry dispel of things, because I've run out of cards to burn. Idiot.</p>
<p>Games can be quite short, almost painfully so when starting out. A few Tangle Vines, or Shadow Woods can quickly limit movement, and given that your Wizard's barely able to beat his way out of a paper bag without a sword, shield and mount, quick pastings await if you're not careful.</p>
<p>Like the original, Chaos Reborn hides a dice rolling engine, albeit one that's incredibly finely tuned. Saving up that 90% chance spell for when you need it is no guarantee of success, and as infuriating as that is, you do at least get to watch it happen to your opponents. Its definitely one of the game's strengths, keeping things tense and forcing a careful, tactical approach, particularly around movement and the use of height. At least, it does before the blob is let loose.</p>
<p>It's all very familiar, in a good way, and like all of Julian's games there's no mistaking who crafted it. It's great to see a master at work, you know? I like being schooled.</p>
<p>Now, I've not tried the single player campaign yet, that's next, but on the strength of the multi-player alone this is a game entirely worthy of your steam collection. I'd like to think it'll capture the hearts of a new generation - like the Speccy original grabbed me - but I fear it'll just be swamped under Hearthstone. In my opinion that'd be a crying shame, because Julian and his tiny team have made something polished and oh so pretty. I just wish it had more people shouting about it.</p>
<p>But anyway, go get it. There's a Steam sale approaching.</p>
<p>--</p>
<p>Who's next for the 30 year make over?</p>
<p>No, Dizzy, you can fuck off.</p>
]]></content></entry><entry><title>GWIHP - Elite Dangerous</title><link href="https://www.tdi.online/2015-12-05-EliteDangerous.html"/><updated>2015-12-05T00:00:00Z</updated><id>https://www.tdi.online/2015-12-05-EliteDangerous.html</id><content type="html"><![CDATA[<p>For once I can talk about something and say, &quot;I'm not old enough&quot;. That's pretty rare, but when it comes to Elite - released in 1984 - I was nine years old and two years away from owning my first computer. I played it eventually, on several formats - it even came mounted on a copy of Amstrad Action, way back when - but it wasn't the space game that gave me the shock and awe feeling that some of my older chums reminisce about. I did stare wistfully at its screenshots, and have vivid memories of Your Sinclair's monster Hackathon in issue 10, but it was the sequel, Frontier, that got me into the life of the Cobra pilot. Space grinding, gloriously rendered in chunk-o-vision-filled-3D on my A1200, sucked away hours of my life. Just the fantasy of piloting a spacecraft was enough back then, and I'd cruise my way through its galaxy watching re-runs of Lost in Space and Star Trek, as I dumped drugs and slaves at dodgy star ports. Frontier was one of the first games that made me think that digital universes could be massive. It was mind bogglingly cool. For a summer, at least.</p>
<p>Frontier was also one of the few games that was genuinely improved by jumping from the Amiga to PC - Syndicate, X-Com and Grand Prix being the others of note - and I remember falling back in love with it after warezing a copy at Uni. Another summer lost, re-exploring the galaxy. It was always a game where the stories were self-made, almost hard to share.</p>
<p>One of the admirable things about those two original games, at least to the developer side of my brain, is how little they provided, mechanically, for the player. Elite brought the first Open World, and Frontier, basically, expanded it. Sure, there was an economy, and sure, you had the feeling of exploration, but when you pull them apart, they really have very little meat on their gameplay bones. Perversely, that's probably what got me hooked. For me, Frontier was almost a private thing. Despite knowing a few people that were also playing, we barely shared notes and rarely talked trade routes, there was just an acknowledgement that yeah, this was either something you were into, or something you hated. I didn't need much meat, because it was the closest I'd ever get to living the life of an astronaut.</p>
<p>Frontier's galaxy was as much in my imagination as it was in the code Braben and co. compiled. The planets I discovered were <em>mine</em>, no one else had seen them. There's was just something cool, for a space nerd, about hopping into that cockpit with 100cr in your pocket and seeing what would happen. When I think about it Frontier has a lot in common with real life, really. Most of it's in your head, there's a lot of grind, and if you're lucky you have a company and feel like a slave trader.</p>
<p>So yeah, when Frontier - the company - put up that Elite Dangerous logo on Kickstarter, I backed it without a seconds hesitation. There was a lot of scepticism but I knew that if they only delivered a version of Frontier - the game - on modern hardware, that'd be enough for me. I'd lose another summer to exploring the galaxy. That was 40 quid well spent as far as I was concerned. Obviously I knew that wouldn't be what they'd aim for, and they didn't. Eve Online - basically the Elite MMO that Frontier were unable to sell for 15 years - had carved such a path of what was possible that it would be irresistible for any team not to look at it and aim past it. I would. In that context a 3million kickstarter doesn't look like much, but what I constantly find remarkable is how well Frontier are doing at delivering it. The pragmatism to engineer and deliver a much larger platform - a true MMO - in such a careful, stepwise fashion is difficult to maintain. For anyone.</p>
<p>Elite Dangerous, in its initially released form, was basically what I wanted: Frontier on modern hardware, but my god had the galaxy become a character this time around. The size of the game-world is still mind boggling, 30 years on, and everything I remember is there, only more refined, and a little bit more fun. As I say, that would have been enough for me for a month and I would have had my money's worth, but Open Play - the MMOness - is the cherry on top. Having a galaxy populated by other players is simultaneously marvelous and awful, and I can't shut them out. For every griefer, there's someone to bump into and flash your lights at. Miners to protect. Groups to jump into combat with. Suddenly it's not so private. It's reassuring and scary. You're never quite sure if you should stick around in a system when you're carrying a cargo of rare goods, or to leg it as fast as possible out of there. My close calls with death may be saved at the last minute by someone jumping in for a bit of a ruck. I've lost count of the number of times I've seen some laser fire and jumped in to save someone from a pirate. In part, this exposes the incomplete nature of the game: comms are limited and party play is still bare bones, but it's coming along, step by step and it's been fun along the way.</p>
<p>My time with Elite Dangerous has already been more varied than my life in Frontier. I've had a good career as a miner, racking up enough cash for my first fully outfitted Cobra MkIII. I've had an aborted run to Sagittarius A, clocking up 500 systems on my way before a cracked canopy forced a very slow and careful crawl back to civilisation. I've done the boring Rares routes. I've lost four ships. Right now I'm flitting from community event to community event, hopping into combat zones for a bit of bounty hunting as I go. Once Horizons comes out, it'll be time to decide on the next career path. Should I kit out for exploration? Or pack another refinery so I can mine all those lovely asteroids and planets? Maybe I could just take screenshots and start a newspaper, or drive around a planet in the buggy?</p>
<p>In all honesty, Elite is still a mind numbingly grindy, almost boring game, at heart. The Galaxy is, well, fucking massive. Frameshift drives may shorten the distance, but there's plenty of scope to watch a film as you fly about doing trade routes. Unless you get deep into PVP or a more manual profession (like mining) you could probably read a book whilst playing, and I can see why that puts people off. It should. Hell, it kinda puts me off. Even at the best of times I find undirected games - the whole 'open world'/'sandbox' thing - to be utterly, utterly shite, and I've worked on two of them. Elite saves itself by at least having enough variety, even in its initial forms, to let you chop and change as you see fit. Providing you have the Cr to do a robust generic outfit for your ship you can pretty much sample whatever each system offers. Your play style can change each night. It's doubling down on that initial vision of Braben and Bell; space is &lt;em&gt;your&lt;/em&gt; oyster.</p>
<p>All that being said, I'm not sure I would recommend Elite Dangerous to people that weren't space nutty to start with, or hadn't sampled one of the previous games. It's easy to get lost out there. It can be hard to find the fun, just like every other Open World game. Other players can be cunts. The economy takes a while to work around. The scripted missions are very samey and you can sample them all in a couple of evenings play.</p>
<p>Regardless, I do want to doff my cap to all those guys at Frontier for the quality of their work and for how they're going about making Elite Dangerous into a much more engaging idea than its predecessors ever were. It's been nothing but stable for me. It looks and sounds lovely. It's brought a slice of gameplay from my teens back, and I it turns out that I still enjoy wasting a couple of hours flying about for a million credits. And a couple of years down the road, it'll have enough variety and options to be a truly compelling MMO for anyone with even a slight Sci-Fi bent.</p>
<p>Love it or hate it, I'm really fucking happy that a UK studio is not only succeeding in the MMO space, but is doing it with such aplomb. Frontier are really executing to a vision and I'm happy to be in the cockpit for the ride. Now give me my fucking space buggy.</p>
]]></content></entry><entry><title>Death Ray Manta:SE</title><link href="https://www.tdi.online/2015-12-03-Death-Ray-Manta-SE.html"/><updated>2015-12-03T00:00:00Z</updated><id>https://www.tdi.online/2015-12-03-Death-Ray-Manta-SE.html</id><content type="html"><![CDATA[<p>I’ve been meaning to jot down a few words about Rob Fearon's <a href="http://store.steampowered.com/app/338760%22">Death Ray Manta: SE</a> since I picked it up. It does a few things that I'm a sucker for, and it does them <em>extremely</em> well: It flashes lights. Big purple, red, yellow, blue, colour-cycling, pulsing, throbbing, <em>relentless lights</em>. It treats Alpha Blending like it owns it, while being ever-so-careful not to give you an on-screen whitey. And it’s an Arena Shooter. Colour was invented for Arena Shooters. Flashing lights were invented for Arena Shooters. Lives were invented for Arena Shooters. More people should make Arena Shooters. Especially Arena Shooters with puns in.</p>
<p>DRM gives you one life, and this is the most important bit, in my opinion. One Life Gaming is where Pringle-level addiction comes in. One life that, preferably, you're sweating over for 5 seconds before the expletives come out. One life, balls-out.</p>
<p>No one can go up against Robotron, obvs, but that's not to say it's not worth <em>trying</em>. Geometry Wars ups the ante with the particle count, and increases the arena's size to cope with the physical scale and number of enemies that modern hardware can spawn. Llamatron might not have as many baddies, but it makes up for it with those cunty little laser things, along with a bunch of neat tricks to help you farm a power-up. The trademark Minter saw-tooth difficulty, doing its thing. </p>
<p>DRM takes all these things on-board, liberally applies the overdraw, and smooshes it all into 5 seconds of mayhem. It's like having an eye-test while skydiving, the yellow afterglow on your retina doing a damn good job of hiding the fact that you're about to hit something. Hard. You've barely enough time to clock what gag the text is throwing at you - let alone wait for your eyes to clear - before the next round; BRIGHT LIGHT! GOOOOOOOOOO! </p>
<p>25 minutes is a long time to play a game that can keep you hopping about on the edge like this. It's tiring. I <em>love</em> it.</p>
<p>And let's be honest, games <em>should</em> be physical affairs. Playing Robotron is an act of wrestling with the machine. It actually makes a change to feel knackered after concentrating on, you know, beating a score in 2015.</p>
<p>Rob gets all this. By making his levels fixed - getting rid of the random spawning element of Geo Wars and Robotron - he's balancing things to his liking. He's telling a very exact story to the player. Not through narrative, but by controlling the ride. This makes it accessible. It's possible to memorise the path to the gem for the first 20+ levels, which means it's you’ll recognise your fuck-ups within minutes of playing. And with fuck-ups comes the desire to improve. One more go. Once you pop, you can't stop, and all that. Let's reinforce the point by only giving you that <em>one, stressful life</em>...</p>
<p>Made it to level 26? Whoah, don't fuck up! Sweaty palms yet?! <em>Gngn, no, yes, arrgh, whoops, close, eee... FUCK!</em> All the things the arcade game-developer is looking for, DRM:SE does with zero friction. Rinse, repeat, rinse, repeat, rinse, repeat.</p>
<p>A while back I knocked up a little 'endless runner' prototype on Android for a programming course that I was giving. Day's work. With only one threat to the player, and one life, it was surprisingly addictive. No graphics. No audio. Just risk and very little reward. Throw in a coin to collect, and bing! You can lead the player into all sorts of shit. Stupidly difficult, unrefined and raw, but I played that prototype for ages. DRM makes me want to go back and finish it off, or at least, play around in the one-life-space. Meanwhile, it's great that Rob's mining what it means to be an arcade game, and doing it with so much style.</p>
<p><strong>Death Ray Manta:SE:</strong> 10/10 fish-with-lasers.</p>
]]></content></entry><entry><title>Life outside the RDF</title><link href="https://www.tdi.online/2015-11-07-Life-outside-the-RDF.html"/><updated>2015-11-07T00:00:00Z</updated><id>https://www.tdi.online/2015-11-07-Life-outside-the-RDF.html</id><content type="html"><![CDATA[<p>I got my first Mac back around 2000. A cheap-as-chips iMac (Bondi Blue), that was just about fast enough to run the beta of OS X 10. Once I'd got past licking the screen and watching all those lovely dock icons zoom in and out, I was pretty much sold. OS X was the exact combination of things that I'd been looking for since being forced away from my Amiga: a Unix-a-like, that could run Photoshop.</p>
<p>Before that, I'd been running NT4, dual-booted with various flavours of Linux - primarily Red Hat, from what I remember -  although the Linux side wasn't getting much use professionally. Just for the open-source stuff I was contributing to (Civil and Pygame). Work, back then, was a combination of design and coding, some bespoke, but mostly for the web, so NT was the best option. Stable, fast, but without much in the way of games. OS X, in comparison, was like a dream come true.</p>
<p>By the time I had my Titanium MacBook (the best laptop ever) I was working in a predominantly Solaris environment, which OS X lapped up. It would detect the network I was on, auto-mount the servers over NFS, and I'd have everything I needed at my fingertips. No more Putty SSH. No more Cygwin. Sure, Photoshop was running in Classic mode (only vaguely worse than the eventual Carbon port), but it was there. Darwin Ports was starting, so any missing Unix tools were normally easy enough to obtain, or failing that, I could compile them from source. The only significant problem to being a Mac owner back then was the lack of media codecs. DivX videos being notoriously fickle.</p>
<p>I've such fond memories of that early Mac ecosystem that it's close to how I feel about my Amiga. When I got Bluetooth on my phone, the Mac was there to sync my contacts and give me a GPRS internet connection. I abused this in every way imaginable. 100mph down the M4, with Rik at the wheel and me on #llamasoft springs to mind. As do the numerous War Driving sessions me and Wayne took. Stuff 'just worked'. ADSL had landed, and it seemed like the Mac was born for this life of high-speed internet. As long as you didn't want to play games. Or download DivX files. I even set up an eMac to act as a roll-your-own NAS, which we filled to the brim with my ripped DVD collection and whatever hooky stuff we had loitering on our HDs. All well ahead of Xbox Media Centre's arrival.</p>
<p>Much of how I have myself setup today, from a technical standpoint, is down to those years of messing about with OS X. So I'm kinda sad that the Mac really doesn't fit in with how I work, or much of what I do, day-to-day, since I've moved to Finland. It feels like a chapter's closed. There are a few reasons why this has happened. I used Unity for Lumo, which is fine on the Mac, except I was rocking a Retina MacBook Pro when I got here. The machine's fast, but it's not made for games, and it's definitely not made for Unity. Retina support has been on Unity's roadmap for the better part of 2.5 years, and it's still not landed. It's currently scheduled for Unity 5.4, which is March 2016! (My Unity rant will be along shortly…) This meant that either, I couldn't see a fucking thing in the Inspector, or I had to run it in chunky-pixel-o-vision. The latter is OK, but it didn't fix the Mac's lack of grunt for moving stuff about on a Retina screen. Final builds are ok, in-editor is definitely not. Even worse, after 30 mins of use, the machine was ROASTING. TBH, summers in Finland are hot enough without resting your hands on a 35deg piece of aluminium for 10 hours a day. So I ended up moving Unity over to the PC.</p>
<p>I'd built a gaming PC for Battlefield the year before, which was nicely specced, and it’s been my Dev Rig for the last 2.5 years. Despite Windows 8 ,it's been stable and just about fast enough. It's also meant that I can use 3DS Max (which I vaguely knew from years back) and Visual Studio. The latter has been such a massive productivity improvement that it's now the sole reason that I wouldn't want to use Unity on a Mac again. You just can't beat UnityVS, Visual Studio and Visual Assist. I don't know how much time this has saved vs Mono Develop, but for debugging alone, I'd say it was considerable. When you're living on a budget, these things matter.</p>
<p>After moving to Finland, I've primarily been living on my savings, and I've made those stretch to 2 years. The biggest hit, after losing much of my social life, is how much I spend on software. Some licenses I can't avoid, some stuff I just can't upgrade. Being price conscious about software and hardware makes most things that Apple make seem unreachable. The first thing I did when I got here was to pick up a cheap Android phone, and not only has it been good enough, it's actually been a great experience for the money. Obviously, I'd love to have the iPhone 6's camera in my pocket, but not enough to spend that amount of cash on an iPhone again. The thing wouldn't even fit in my fucking pocket, for a start.</p>
<p>I still think the MacBook Pro laptops are hard to beat from a price/performance ratio - build quality is easily the best you can buy - but until Metal is being used across the board and the Mac catches up with the PC in some way (for what I do), then I can't see me buying another. The first thing I'd do is install Windows on it.</p>
<p>Various people have written about the state of OS X, and I have to agree with them. OS X has never been perfectly stable - the early versions all had some random issues - but we have been blessed with some truly rock-solid, fast releases over the years. Since Snow Leopard, for me, it's been a steady downward slope. And I'm not just talking about the Finder. Aside from the bugs, OS X seems to have forgotten what it means to be a connected operating system.</p>
<p>I still run a roll-it-yourself NAS. It's a Debian install with 16TB that's up and running 24/7. Rock solid. Every machine in the house is connected to it via Gigabit Ethernet, except for my consoles. Every machine can find and browse its contents with zero problems, except for the Mac. The NAS <em>never</em> appears in Finder. I have to manually connect whenever I start the machine - gone are the days of auto-mounting NFS drives, it's SSHFS or bust, as far as my machines are concerned - which takes forever. For example: my music folder contains 765 directories. My Windows machine brings up this directory in less than a second. Unbuntu (in a VM on the same machine) mounts, and lists, in around 1.5 seconds. I've just timed the Retina Macbook Pro: 38 seconds. 38 Earth seconds, just to show the directories. In 2015. My Amiga 1200, on the same network, takes 14. That's a machine from 1993, and the majority of that time is Workbench <em>drawing 700 icons</em>. This isn't because it's a first run and the Mac is caching it all. If only. This is every time I open the folder.</p>
<p>I find this unacceptable. I've run this sort of setup for the last 15 years and the Mac has never struggled so much. Sure, I could mount the drives as iSCSI, and it might speed things up. But really? Do I have to</p>
<p>The AppleTV was, essentially, my 'actual TV' from the day I bought it. Right now, the AppleTV can't see NAS. I have no idea why. It crashes. It can't rewind through anything it's playing – you have to go back to the start – and Airplay drops out at random, making it next to useless. The iPad can't share its screen, no matter what.  Essentially, it's a Netflix box, and not much else.</p>
<p>The upgrade to iWork fucked up the 2 things I used Pages for. iCloud deleted all of my Keynote presentations; every lecture I've written for the two classes I've been giving. Aperture is now dead, and I have various iPhoto libraries stretching back to 2003, which I was forced to export to loose files, stored on the NAS, because the upgrade to Photos failed.</p>
<p>And then there's iTunes...</p>
<p>I'm 100% for software evolving and improving, but right now, I can't trust my data to Apple, and more importantly, I need to access it from more than just the Apple eco-system. Which brings me to... That Walled Garden...</p>
<p>To be fair to Apple, everyone seems intent on moving in this direction. We had a few years when things were getting standardised and computing devices were communicating more freely with each other. Apple actually drove a lot of this - while they were struggling to become relevant to the market again - but since the App Store arrived, we're all steadily moving back to the bad old days of proprietary formats, and stupid lock-in. Not to mention the state of DRM. Apple did a good job getting rid of this for music, but would Jobs have been likely to remove DRM from Pixar movies? Would he fuck.</p>
<p>I've bought over 100 movies through iTunes and God knows how many TV box-sets over the years. Can I play these on my Android phone? Or Windows? Or PS4? Can I fuck. Fortunately, I grabbed Requiem via Tor, and was able to manually remove all the DRM, but it took weeks <em>and it shouldn’t be necessary</em></p>
<p>And my iPad? I have to install a file manager just to be able to copy a PDF off the NAS to read in bed. All those Magazine subscriptions? Stuck on iDevices. And like I say, it's not just Apple. Kindle purchases get shoved through Calibre within seconds of landing, <em>because Amazon</em>. And this is really my whole problem with OS X and iOS right now. I'm old enough to know that I'm likely to move between machines and OSes, again, <em>at some point</em>. I still carry data from my original Amiga HD, from 1995. I don't want to have to go through a long and lengthy export / sorting process, just to make sure something as important as my photo collection isn't glued to a certain vendor, or piece of hardware, or worse, locked out entirely because of an OS or Software Update.</p>
<p>I need my machines to talk to each other, including my phones.</p>
<p>So, after all of this, where have I ended up? Right back at the beginning. Windows for development. Linux for everything else. After 15 years, I'm basically back where I was, albeit with more data, and more applications.</p>
<p>There're a bunch of things I miss from the Mac. It's a lovely machine to do dev on, but the negatives all out-weigh the positives, at least for me. I like having a mix of Android and Linux, so I'm much more careful that my data isn't tied up in proprietary formats, and I'm wary that what I buy will need to last and potentially move machines / operating systems with me sometime in the future.</p>
<p>I'll probably never drop OS X entirely - I've invested too much in soft-synths and DJing stuff for that to be the case - but it's increasingly likely that I'll be doing this in a VM in a couple of years, rather than on the latest, shiny Apple hardware. And that makes me sad.</p>
<p>OS X gave me some great years of computing. I salute you, and all that sail with you, but you just can't be my daily driver any more.</p>
]]></content></entry><entry><title>Open Sourcing Games</title><link href="https://www.tdi.online/2015-11-01-OpenSourcingGames.html"/><updated>2015-11-01T00:00:00Z</updated><id>https://www.tdi.online/2015-11-01-OpenSourcingGames.html</id><content type="html"><![CDATA[<p>I think it's possibly the whole hitting 40 thing, but conversations about software increasingly make me feel like I'm antiquated. I'm not quite the generation of the stereotypical Unix beard, but I've lived long enough to see the home computing and Internet revolution take their course, and with that, quite a few changes to how people feel about source code.</p>
<p>My first forays into computer programming were much like any other child of the '80s, the magazine type-in. Imagine a page of densely packed hex numbers, typeset in some flakey mono-spaced font, the result of which was pushed through the cheapest mass-duplication printer available, onto toilet paper. If you were lucky, you'd only have 30 minutes of debugging per 100 lines of code. If it was the late 80s, you'd be shit out of luck, you were basically hunting for the typo in a 400 line hex-dump of assembly.</p>
<p>Have fun with that.</p>
<p>Magazine type-ins were the start of Extreme Programming. Teenagers around the globe paired up, one shouting out Hex, the other mashing the rubber keys, both hoping to get some shit Pacman clone working. Or, some monstrous hack for Elite (yes, Your Sinclair. I'm looking at you).</p>
<p>It didn't stop me, or most of my friends, though. I remember every programming book from the local public library. Big chunky tomes with brightly coloured cartoons of kids having fun on the front cover, each promising to unlock the secrets of your computer if you could only pour enough hours into the keyboard. In reality, if you were lucky, they might contain 15 &quot;games&quot; the author had phoned-in, while writing a serious book about &quot;operating systems&quot; on the side. If you weren't, they'd contain 15 type-ins for the fucking Acorn Electron. As if anyone ever owned one of those...</p>
<p>And once you'd flicked through the 4 books available in your village library? Well. I don't know. I never got past that bit. I was 12.</p>
<p>So it seems crazy to me - now that I'm living in the future - that we really have very little in the way of source code available for the thing nearest and dearest to me, the computer game. And by that, I don't mean Unreal 4, because we do have the source code to that, but Mario 3. And X-Com. And Llamatron. And... Lumo.</p>
<p>Why is this?</p>
<p>I think it's worth a detour into what 'Software Freedom' means and we can't do that without quoting Richard Stallman, who defines it as:</p>
<pre><code>- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).
- The freedom to redistribute copies so you can help your neighbour (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3).
</code></pre>
<p>Which sounds fair enough. It's hard to argue against any of this as a technically literate person. It is, unfortunately, very easy to argue against this as a capitalist. Software is power. Software is control. Software is, increasingly, one of the best ways to make money in the modern world. Software allows you to deliver advertisements, which is basically all our future holds for us before the AI singularity arrives. Software. IS.</p>
<p>But despite this, so much of the software we use in the modern world is built upon open libraries, the work of people who've willingly given access to their code, that it's hard to imagine a world without it. TCP-IP stacks, anyone?</p>
<p>So why do I think this is important? Well, my entry into programming (the type-in's I jokingly referred to above) are a large part of it. But also, because I'm seeing many more junior game developers, now that I'm doing a bit of teaching. I'm all for the de-skilling that middleware provides -- without it Lumo would have taken much longer to make, and it more than likely wouldn't have looked as good -- and I'm really happy that the barriers to entry for wannabe game developers is much, much lower. But there's so much more we could do.</p>
<p>Another reason I think this is imortant, is preservation. We're utterly shit at this in the games industry. Unless there's a tidy sum to be made repackaging a game, or doing an HD remaster, then the likelihood that you're going to be able to play that game in the future is left almost entirely the hands of the emulator makers. Assuming Nintendo don't sue them out of existence.</p>
<p>Of course, there have been quite a few games that have been open sourced. Wikipedia has a <a href="https://en.wikipedia.org/wiki/List_of_commercial_video_games_with_available_source_code">list</a>, although it's far from complete... but it's interesting to see how infrequently games have made their source code available, and how <em>old</em> most of the ones that did actually are.</p>
<p>Why aren't more games opened up? Why do the junior game developers I see every year have nothing like the access to <em>working</em> game code that I had? Ignoring the typos.</p>
<p>Tutorials don't cut it, especially on YouTube. I see the same mistakes, time and again. Of course, if you're not using middleware then you have some good things to look through. We've all flicked through John Carmack's Doom source, for instance. I just wish there was more out there for Unity and Unreal.</p>
<p>We did talk, semi-seriously, about opening up the Crackdown 2 codebase, as well as seeing if there was anything we could do with the assets. Stuff like this litters every studio I've ever worked at, and it's often used in one project and never touched again. Sometimes, the engine will progress and receive more internal funding - ie: it'll be used on more than one game - so there's a concern about giving away the &quot;Crown Jewels&quot;, but we kinda knew that wasn't going to be the case with CD2, and we still couldn't make it happen.</p>
<p>Tbh, I've heard the conversation come up in a few studios, but the cost of &quot;cleaning up&quot; the code base (removing the swears), or, getting the bugs out of an editor, so it's fit for public consumption - you'll be shocked at the number of bugs people put up with in bespoke toolchains - has always been a blocker. I've never been anywhere that's gone past the, &quot;this would be nice&quot;, stage.</p>
<p>So I had a look at what would be involved in making an Open Source version of Lumo. And this is where I hit the same problems:</p>
<ul>
<li><p>I don't have a license to distribute the props, textures and code that I've purchased from the Asset Store. There isn't a lot of this, but the two code bits that I do use are fairly fundamental: UI and Input. That's a reasonably big job to work around. On the graphics side, removing the props is trivial, and the textures could just have a picture of my face slapped on them. People will quickly update them to something else. But the prefab system doesn't save me here (for reasons I'll save for another rant)</p>
</li>
<li><p>Bit Rot: Lumo's been through 4 major updates of Unity (it started on 4.0.1 iirc), and every upgrade has broken something. I have absolutely no way of ensuring an open version of the project will even build in 6 months.</p>
</li>
<li><p>Hosting: turns out it's non-trivial to find good, cheap (ie: free) hosting when you're living on a shoe-string. Lumo's a few gig without Git history, although removing a lot of 2048x2048 textures would definitely help.</p>
</li>
<li><p>I should be worried about people rifling through 2 years of code that was never thought through (ie: designed) but tbh, at this point in life, the state of my code is really of little concern to me. It works. Some of it could be better. Some of it's perfectly fine, thank you very much.</p>
</li>
</ul>
<p>I'm not worried about the commercial aspect. I'm pretty sure the secret sauce in Lumo isn't it's code or assets, but that I've basically entertained myself for 2 years, trying to make myself laugh. I've also used commercially available middleware, so there's none of the &quot;proprietary tool / chain crown jewels&quot; stuff to get in the way.</p>
<p>So, in my case, it's re-working the game to remove the elements that I can't distribute that's stopping it, and I'm not sure I can work around that without <em>a lot</em> of work. I can't afford to, nor am I likely to in the future. :-/</p>
<p>But I do want to do this. I do want to open up my games, and I do want to encourage other people to open up theirs. The Gamemaker source bundle was an excellent move, but it shouldn't just be independant developers doing this. I just can't see any easy way to persuade larger companies, especially when they can wait 5 years and sell the same games again, but in 4k.</p>
<p>So I'm going to keep Open Lumo on the backburner. If I do get into a position where I can afford to spend the time on it, then I'll go back to it. Tbh, I should have thought of this earlier.</p>
]]></content></entry><entry><title>The Beautiful Game: Pro Evo Soccer 2016</title><link href="https://www.tdi.online/2015-10-28-TheBeautifulGame.html"/><updated>2015-10-28T00:00:00Z</updated><id>https://www.tdi.online/2015-10-28-TheBeautifulGame.html</id><content type="html"><![CDATA[<p>I love football. I'm not exactly the greatest of players - my more fleet-of-foot Scottish chums summed up my play style with &quot;his second touch's a tackle&quot; - and it could be argued that as a Southampton supporter I've not lived a life basking in the glory of the world's greatest team, either. But, growing up watching Le God from the Milton did at least teach me about the magic this sport can conjure, even from the bottom of the table.</p>
<p>Unfortunately, my football credentials are only getting worse now that I live in Finland. Shonky 5-a-side matches are no more, and quick trips to St Mary's are off the table. My Saturdays are punctuated by text updates from the BBC Sport app, and furtive glances through Twitter to grab a Vine and reactions from chums at the match. Sunday morning's main activity is the long wait for a torrent of MotD to appear, before finding a time to sneak it onto the TV in the lounge... &quot;I'm doing the ironing, love!&quot;)</p>
<p>I'm OK with this, though. When I moved to Scotland, and was forced to watch Southampton's perilous decline and financial destruction, I was taught another lesson in football: it's the emotional equivalent of Highlander... There can be only one. You might like a second team, but only one captures your heart. Fortunately for Southampton (and for me), We March On, but the same can probably be said for football's digital equivalents: there can be only one... game a season.</p>
<p>Which brings us to the age old argument: Kick Off vs Sensible Soccer. No. Wait. I mean the other ones.</p>
<p>I'll be honest, I skipped Fifa for many, many years. I was one of <em>those</em> people that stuck with Sensi for longer than was, er, sensible. By the time I was ready to move from the top down view to full 3D (let's pretend isometric football pitches never happened), university was in full flow, the PS1 was the weapon of choice, and everyone in their right mind had not only chipped it, but were raiding the import grey-market for anything worth playing. So in all honesty I've forgotten which dingey student flat I was in when I first saw Winning Eleven, or who owned it -- my own  Playstation library consisted of Metal Gear and Gran Turismo almost exclusively for 3 years -- but I do have fond memories of smokey evenings punting crazy crosses into pixelated 18 yard boxes.</p>
<p>So yeah, I've been on the PES train for a while. As have the members of every house I've lived in. PES (particularly 4,5 &amp; 6) were defacto Friday evening games for me and my housemates, no matter what time we crawled in, or how drunk we were. But lots has been written about PES's fall from grace on the 360 and PS3, so we can safely skip that. I, like everyone else last gen, was forced to learn Fifa, and for a while I quite enjoyed it. Playing with the Scot's up at Ruffian knocked the edges off, and I started to learn to appreciate its Sky Sports glitz and glam. But it always felt a little slow and I was never quite at home with it. When I left Scotland, I didn't buy another version, despite checking the demos each year. Meh. Fallow times. Until PES 2015.</p>
<p>To say PES 2015 was a marked return to form is an understatement. I was back on the train, baby! But that's not why I'm writing. It's PES 2016 that's been the revelation. Why? What's 2016 got so right? Well, like 2015 before it, passing in PES requires a touch more accuracy than Fifa. It actually took me a while to transition, I was so used to vaguely waggling the stick in the right direction and hitting the button. It's only slight, but it was enough for me to spend the first match watching most of my passes go astray. The same applies to the weighting of passes, lofted through-balls and crosses. It's very easy to under shoot and leave yourself open to a counter, or over shoot and waste a well worked position. Obviously you get used to this quickly, but it's never too far away.</p>
<p>Both versions also require frequent (and deft) use of the Pass and Move modifier to successfully break apart more sturdy opposition. This is similar to the one-two, except the passing player will run forward much, much further. A couple of quick uses of this - especially in a packed midfield - can send 2 or more players on a charge, creating space and harrying the back four. Depending on your setup this can easily convince your frontline to run into a rapid counter. It's sublime, when it works, and can lead to some wonderfully fast tiki-taka-esque moments. When it doesn't, you've gutted your midfield.</p>
<p>Risk vs reward fundamentals. Pass and move. Pass and move...</p>
<p>So, PES basics feel different to Fifa, and that there's some mastery involved that isn't centred on right-stick trickery can only be a good thing. Shooting, also, feels like it requires a bit more thought from the player. Smashing the ball still works a lot of the time, especially if you're playing with a superstar front line. Expect a worldy once a game if you can work the space and happen to be playing with any Champions League winning outfit... But play with a mid-table team, like, er, Hampshire Red for instance, and you're going to find this a much more difficult proposition on the harder difficulty levels.</p>
<p>No, the best way to score is by getting the ball onto the player's best side and then using the Finesse Shot. A little dink to get a yard, and a curler into the corner not only feels better, but it can give you that most wonderful of replays: David De Gea's little polygon face, swearing up at the sky. Are those tears, David? Or did the dynamic weather just kick in?</p>
<p>Once you understand the finesse shot it's a wonderful way to work a goal. Jay Rod has broken through into a one-on-one situation? Put him to the left of the keeper and hit that Finesse Shot into the bottom right-hand corner once you've opened up the angle. On lower difficulty levels this would be a cheesey, 100% goal. But at Pro, or above, he deserves every inch of the resulting knee slide. You worked hard to put him into that position and may only get one of these a match.</p>
<p>Speaking of difficulty... Playing with a mid-tier team at Pro level in the master league (I've not been brave enough to try Superstar yet) is a wonderful experience. Meet any of the Premier League top four and you're going to be under immediate and constant pressure. You're going to be out run. Passes longer than 5yards will be intercepted. Your team will flag, considerably, past the 60 minute mark due to the amount of sprinting. And, as Alan Shearer is so keen to remind us, you have to take the goal opportunities that come to you. A wasted shot can cost you dearly.</p>
<p>This <em>feels</em> like football, something I find myself thinking quite often. Much more so than 2015 because, on top of these changes - and this is where we get into much more hand-wavey territory - 2016 has imbued more 'personality' into its teams. What do I mean? It took me a season and a fairly good champions league run to notice this, but each of the top tier teams has a favoured setup and way of playing. For most, this differs slightly in tone between home and away matches, depending on the competition. Some examples: Manchester United, in their somewhat odd PES line-up, tend to play with one up front, and they're not afraid of a long ball from any point on the pitch. This makes close-pressing a waste of energy. It's better to stand off a bit and entice them to run. Arsenal play with the ball on the deck, and they pass it so quickly that the chances of a tackle are slim. You can rack up the yellows. Instead, move to intercept a mid range pass, and they'll most likely go one back and attempt to play through the midfield again. A bit of patience and you can catch them out. Chelsea are deadly on the counter but resolute without the ball. Fortunately, their back four are slow as fuck. Early crosses, dinked, lofted passes, one-two play, backed by aggressive front line pressing when you lose the ball, work wonders when applied over the course of a match. Pelle - Hampshire Red's Fox In The Box - can make mincemeat out of Terry, but only if you isolate him. Manchester City are my current bogey team, with pace and flair all over the pitch that I've yet been able to counter reliably. My League winning ambitions are constantly scuppered by their greedy dominance, but I'd rather have City at the top than United...</p>
<p>But it's not just the opposition, both teams &amp;seem&amp; to react to how the match progresses. The more pressure you apply, the more runs you can see your midfielders make. The more goals a side score, the more they're likely to score... I've seen my own back four absolutely crumble after the first goal has been conceded, leading to a sloppy 15 minutes where we're leaking like a sieve. A late goal, on the other hand, can have my players scurrying up field to level the play of their own accord. I also had a situation during my second season where I faced Chelsea in the FA Cup, Champions League Final and second to last game of the season, all within the space of a 'month'. The first and last matches were tough, 1-1 draws, where I was on the back foot for 2/3 of the game, but that Champions League final? Because we were both away it was much faster and open. Both sides were aggressive, the passing was crisp and fast. For the first 45 minutes I couldn't quite find the breakthrough, but 2 minutes into the second half, Pelle held up the ball, waiting for Jay Rod to run, before gifting a gentle pass to feet. Jay broke past Cahill, to leave an inch perfect through-ball return for Pelle to run onto and smash into the top-right corner. In the next 10 minutes of game time I put another 3 past them in quick succession, and <em>everything</em> I did just worked. For the rest of the game Chelsea offered nothing, barely breaking forward or even trying a direct loft to Costa. It honestly felt like they'd given up, so I finished the match with a soft curler from Jay Rod, and won 5-0.I've never put that many past Chelsea since.</p>
<p>So, ok, I may be reading into this, Konami's team may not have worked any psychological aspects into the AI, but it doesn't matter. This <em>feels</em> like football, and I'm 100% sure that there's some hidden buff when playing at home.</p>
<p>So what else? Well, let me come clean. I've only played the Master League. I've not been online, I've not played an exhibition match and I've not tried My Club. But there are plenty of significant changes in this iteration of the ML. One of the most notable is transfers. Instead of being able to set your price, you merely control the tone of the negotiation. For me, this is a positive change. You can't just drop 200 million on Gareth Bale and force a sale like in 2015. You need to target the right players, and only go in for those that you have a solid chance of getting. And since you ask, yes, after 2 or 3 seasons in the ML it's entirely possible to rack up massive sums of cash. Unfortunately, PES apes the modern game when it comes to transfer fees, so it's not hard to make a 10-15 million profit on some players <em>if</em> you happen to have them at the right time. By the end of my second season's Champions League run, and after a clear out of Hampshire Red's peak-level players, I had 143 million in the bank. Which, to be honest, is still game breaking.</p>
<p>Another instantly felt change is how the stats work when setting up a team. In 2015, pick the high overall stat value, preferably with a red up-arrow and off you go. In 2016 this has been completely negated. Each player's style of play needs to match your tactics, and having an off day (a &quot;Blue Arrow&quot; day - Hello, Pompey fans!) is no longer a reason to drop someone. Active members of your team earn XP for playing, so you're subtly encouraged to play the &quot;Still Developing&quot; youth members as much as possible, even through these little dips. Doing so leads to the &quot;breakthrough&quot; moments, and these are pure gold. Lloyd Isgrove and Sam Gallagher both hit this point in the middle of the same season, which meant I had a RWF and Second Striker that went from low 60's to high 70's over the course of 15-ish games, with nearly every combination of play between them leading to an assist or goal attempt.</p>
<p>It's insanely addictive stuff, because the more you can give the ball to players going through this period, and the more successful plays (passes, tackles, intercepts etc) you can have with them, the better they do. The run these two had is solely responsible for my Champions League place, so I was fucking gutted when Lloyd informed me that he was off. I'd not noticed his contract had run out. Sam stayed (&quot;take my money!&quot;) and gave me 22 goals last season, despite an overall rating of 77 and a very low price tag. Stats can be deceiving.</p>
<p>To further enforce this aspect, tags are given to certain team members, &quot;Youth Prospect&quot;, &quot;Maestro&quot; etc. These players being on the pitch give a bonus to the hidden XP earnings of those around them, so again, sticking with the peak-level &quot;old guns&quot; isn't the best way forward. Admittedly, tagged &quot;Superstars&quot; in your team do become popular with the fans, and can sell merchandise, but this only seems to be a short-lived part of the game and certainly doesn't earn enough to really move the needle as far as picking them is concerned. The only two positions where I've found experience and overall stat rating really count are CF and GK. And even then, I'll regularly switch out the experienced players for the youth prospects when facing bottom of the table opposition.</p>
<p>Injuries have also made an unwelcome return. During a year of playing ML in 2015 my team remained injury free. After a month of 2016 ML I've had 3 injuries. Two from my over use of key players. I've since spent a season trying to have cover for every position with a promising Youth Prospect, and the 32 player squad limit has started to feel quite constricting, once loan transfers are taken into account.</p>
<p>In general, team setup is a much more subtle prospect. Play the same tactics over the course of a season and your players will adapt to them. Decide that you want to switch to a fluid formation halfway through the season, or move to all out defence, having never played it before, and you can expect to lose a match or two. This can be felt most keenly at the start of a season, after a summer of transfers. Those new players take a few matches to become useful, which isn't a lot of fun when you have Barcelona in the group stages of the Champions League. But, this <em>feels</em> like football...</p>
<p>It's not all perfect though. As ever, PES out-of-the-box doesn't have all the correct strips and names. This never normally bothers me (although this year the datafile is back, at least for PS4) except for some reason the artists at Konami have been fucking about with the colour chart and decided that Orange is the new Red. This leads to some very strange home and away combinations, one of which makes it nearly impossible to tell the two teams apart. There's also a green strip that's basically the same colour as a wet pitch, which fortunately doesn't crop up too often, but can be a fucking nightmare to play against if you're sat any distance away from the screen. Because of this I'll eventually get around to the data update, just to improve visibility.</p>
<p>My only other real negative is that the music is a little more tiresome than last year's offering. But on the plus side, it must have been quite cheap. I've heard 2 of the tracks in every shopping mall and gym I've been into over the last month, so  I'm thankful that they're not wasting any cash on big-room EDM licenses. I remember how much music licensing costs and it's really not worth it.</p>
<p>Despite these two niggles, this has to be my favourite iteration of the franchise in years, possibly ever. My ML team, the mighty Hampshire Red (who disappointingly only wear orange) have ended up being very much like my real-life love, Southampton FC. I've recently signed 6 youth team members, most of which are out on loan. Two of them are currently going through their breakthrough patch, and will be in my first team next season. 1 performed so well before I could find him a loan deal that he's my regular CB, despite being 17yo. The others I'll give a couple more years to, probably on loan, before moving them on for a tidy profit. I'm out of the habit of buying the top tier and focusing on grabbing the bright young sparks from my scouting report... As you can tell, for once I've become just as deeply addicted to the management side of the ML as I have the on-pitch action. And I've still got online and My Club to check out. Maybe. After I finish this season of the ML. And see if Jake Hesketh improves.</p>
<p>So thank you, Konami. This <em>feels</em> like football. And I love football.</p>
<p>--</p>
<p>I sincerely hope this isn't the peak of PES, but with Hideo leaving (along with most of the Fox Engine team) and Konami's management walking around in dazed circles counting their mobile F2P earnings, I very much fear that the tech will slowly wither and die, and with it, what has to be the greatest ever football game, will be no more.</p>
]]></content></entry></feed>