Category Archives: Tech

The PS5 saga

Peanut standing guard
Peanut standing guard

I’ve been buying most consoles at launch since the N64, when Nintendo brought its console to these shores with an initial shipment of only 20,000 machines, and I was able to walk into an independent retailer (remember those?) on a random Saturday a couple of months before launch and put my name down.

An optimist can take the current absurd difficulties in getting hold of a PS5, now three months after launch, as evidence of how the industry has grown since then, but I’ve never seen anything like this. Even the absurdities of the PS2 hype cycle didn’t feel this bad.

The truth is almost certainly a perfect storm of factors causing shortages and supercharging demand. It’s a pandemic, so people are stuck at home and looking for new toys. Also, it’s a pandemic, so manufacturing and logistics have been severely affected. Furthermore, it’s a pandemic, and chip shortages are affecting everything from GPUs to in-car entertainment systems, and no doubt consoles as well.

And, notoriously, this particularly high demand means scalpers abound, and this time more than ever they’re packing bots that can seemingly order dozens of machines while mere humans are still loading the page.

I actually skipped out on the launches of the new consoles this generation, mainly due to being in the middle of moving house and so occasionally having less than no money. I rather naively expected to be able to waltz onto Amazon come February or March and be able to grab one whenever.

This proved optimistic.

I’d followed a number of Twitter accounts and Discord servers that shared intelligence on incoming shipments, and eventually managed to purchase one from Game. I missed out in the initial wave, but grabbed one in the third of the day, after they’ve filtered out the bots and repeat buyers.

But then, an hour and a half later, this same system filtered me out and they cancelled my order. That or, I suspect, they simply oversold their stock.

A couple of days later I managed to get an order in with Very. Unlike Game, Very charged me, so I thought I was safe. But then, like Game, Very cancelled my order. They held onto my money for an expensive PS5 bundle for almost a week after that so yeah, I’ll be avoiding Very in future.

At this point, I was increasingly despondent and even chanced a couple of eBay bids as the average selling price – currently about £200 above RRP – approached what I was willing to pay.

But then, last week, I happened to be looking at my phone when this tweet pinged a notification.

https://twitter.com/ps5instant/status/1362674495161573377

Some of the prominent alert services missed this one, so on the off chance, I checked Smyths’ disc consoles as well. They were in stock and I ordered one without trouble. It was such a low-key drop that people on Discord were questioning whether it even happened.

In other words, I love Smyths now. I’ve always liked them in the absence of Toys R Us and for their convenient location in Bournemouth, but my feelings are now more romantic in nature.

The PS5 is lovely. Not to look at – it’s an ugly abomination – but in its performance and the visuals it can put out. My launch PS4 has not kept pace with the ambitions of developers nor modern TVs, meaning anything recent on my 65″ OLED runs like a PowerPoint presentation on a hazy day, with the audio accompaniment of a jet engine.

This one, though? I’ve never seen such pristine image quality. Close-ups in Spider-Man: Miles Morales look absolutely flawless, with no aliasing, shimmering or any undesirable artefacts like that, and all in 4K, HDR, 60 frames per second. With ray-traced reflections in people’s eyes.

It’s astonishing – certainly the most impressive generational leap in a while, assuming you have the TV to get the most out of it.

Those screenshots are 15MB each in full quality PNG, incidentally 😬

It’s early days on this generation, though, and it’s looking like COVID-related developments will have taken a belated toll on numerous 2021 releases – Gran Turismo 7 has slipped in the last few days and rumours are swirling around Horizon: Forbidden West – so that post-launch lean period could be longer than usual.

At least I’ve got all those PS4 games that I’ve stopped playing in the last couple of years because they ran like arse. Like Shenmue III… 🤔

Teaching myself programming under lockdown

As with many of us, COVID-19 has given me an abundance of free time, and I’ve been using it to do something I’ve tried and failed to do numerous times over the years: to teach myself to code.

I can remember going straight from devouring HTML For Dummies and using it to build the Shenmue Fan Site, circa 1998, to C For Dummies – how different could they be? The realisation of those surefire smash hit game ideas I’d sent to my favourite developers as a kid was imminent.

That plan lasted all of an evening. HTML and C are quite different, as it turns out.

Since then JavaScript, PHP, more attempts at C, Python and Swift have fallen by the wayside. Books, PDFs, online tutorials, and even children’s learning resources clutter my hard drive. I’d done enough to understand the fundamentals but have always failed to find the time or impetus to make it stick.

So, in the early days of lockdown, when I was climbing the walls with boredom, I had a go with Swift Playgrounds, which has recently made its way to macOS from the iPad. It’s designed for kids, but I found myself sitting up late, replaying levels and trying to craft more efficient solutions or get my head around the logic.

At a certain point, though, it seemed like a waste to be putting so much effort into a kids’ game, when I could be learning the real thing. I had time with a three-week furlough coming up, so I set a lockdown resolution: I will learn to code.

Python Crash Course cover
Python Crash Course by Eric Matthes

The book that finally cracked it for me was Python Crash Course by Eric Matthes, which I got in a Humble Bundle and, at the time of writing, is once again available there. Python is a popular choice as a first programming language and it gets a thumbs-up from me – it’s quite straightforward, and an interpreted language is more friendly when you’re making those beginner’s mistakes.

What’s more, Python is the de facto programming language of the Raspberry Pi if you want to get into hardware projects and is a big player in proper fields like machine learning too.

Anyway, like most coding books, it takes you through the principles of programming chapter-by-chapter, then into several larger projects that apply your new knowledge into crafting actual useful software. Get that far and the sense of achievement when hours of work takes you from a blank text file to an actual playable game – the first I’ve written in 30-odd years of merely playing them – is something else.

I wrote that! So will anyone else who works through that book, admittedly, but I’ve carried on working on it until my version has music and sound effects, and I replaced the single, ephemeral high score with a persistent top 10 leaderboard. Even writing the lion’s share of the game’s functionality parrot-fashion has taught me so much about the inner workings of how a game is structured.

A project like this, which will give you a useful skill and a sense of achievement, is what everyone needs in these strange times. I’m now confident enough to try putting together a few software ideas that have been rattling around in my head for a while, I’m dabbling in more applied Python books, and I’ve got my eye on finally cracking C this time.

Stay safe, and take advantage of lockdown while you’ve got it.

iPhone 11 Pro night mode

For the first time, the iPhone 11 Pro is a phone that I feel entirely comfortable using as my sole snapshot camera. Literally, the only thing it doesn’t do better than my point-and-shoot (which is no slouch) is zoom, which may be an insurmountable problem for the smartphone form factor… or it may not.

I’ve been away twice since I’ve had it, to Berlin and Paris, and it’s been phenomenal, but here I want to showcase its night mode in particular with a few samples. Some of the following shots are lit by little more than a few candles.

It’s uncanny and impressively naturalistic – it almost always looks like a properly exposed night shot rather than an artificial day shot.

My Nikon DSLR will always remain the king, but when I don’t want to carry around a few kilos of camera and lenses, this will do.

Running with the Apple Watch

Apple Watch Workout appI’ve been running for a couple of years now, having started with a C25K programme and working my way up to regular 10Ks, 10 miles, obstacle runs, and several 5Ks a week. I’m doing my first half marathon in April and, assuming that goes well, might do a full one in October. Rain (sometimes) or shine, on a weekday evening I’m a regular somewhere along Bournemouth seafront, where you’ll find me somewhere between Boscombe and Sandbanks.

Until now I’d been tracking my runs with my phone strapped to my arm with Strava, but waking up on Christmas morning to a brand new Apple Watch provided an opportunity to improve my fitness tracking.

Integrating Apple’s Workout app with Strava

Apple Workout run in progressApple’s Workout app is excellent, offering support for tons of different activities and providing lots of lovely stats afterwards. It can track my heart rate during and after a run, syncs with numerous other devices without needing to pay a premium subscription, and doesn’t provide the bafflingly inflated calorie estimates that Strava is known to do.

My problem was that I had several years of runs and a handful of similarly inclined friends on Strava, and I didn’t fancy losing that social aspect, not to mention my PBs on the numerous Strava segments I regularly run.

Strava has its own Apple Watch app, of course, and it’s perfectly functional and capable of depositing its runs into the Activity app alongside any Apple-tracked workouts. In fact, my first run with an Apple Watch, on Boxing Day, was tracked with the Strava app. But it lacks some of the stats, including heart rate recovery (being a native app, Apple’s Workout can keep tracking your heart rate after the run has ended) and those all-important GPS-tagged route maps. And since I was going to be using Activity for tracking weight training and other workouts anyway (Strava is limited to running and cycling), I was keen to streamline things by using one app for all my exercise.

The solution, then, would appear to be liberating my Apple-tracked data and dropping it into Strava. But that’s not always an easy thing to do with Apple.

HealthFit solves the problem

Trying a failing with a few apps, I came across HealthFit, which, wonderfully, does exactly what I need it to and nothing else – the last thing I wanted was to bring a third fitness-tracking service into this. All it does is export your workouts from Apple’s Activity app in the widely supported Garmin .FIT file format, where they can be saved to your iCloud Drive, emailed or automatically uploaded to a number of different services, Strava among them (the others are TrainingPeaks, SportTracks, Final Surge, Selfloops and Dropbox).

Exporting an Apple Watch Workout run to Strava in HealthFit
Exporting an Apple Watch Workout run to Strava

A few taps and my run is exported, and it’s a matter of moments before Strava pops up a notification that it’s ready to view in its app, indistinguishable from a Strava-tracked run. Better, in fact, since my exported runs feature heart rate charts – a Strava Premium feature if I used their Apple Watch app.

The only niggle was that, since Strava was installed on my phone and allowed to write its workouts to the Health and Workout apps, anything exported into Strava through HealthFit was appearing twice. That was solved by simply revoking that permission in the Health app (in the Sources menu), giving Strava read-only access.

Conclusion

Were I not into fitness, I’m not sure I’d find the Apple Watch worth it. A timekeeping and notification machine is cool, but a questionable value proposition. However, if you throw in comparable fitness-tracking to the high-end offerings from Fitbit – at the time of writing the only Fitbit with built-in GPS is the Ionic watch, which starts at £299, or only £30 less than the much more flexible Apple Watch Series 3 – and it becomes much more justifiable. The fitness-tracking focus of watchOS 4 suggests that a couple of years on the market has led Apple to a similar conclusion.

The Apple Watch is the absolute definition of a technological luxury item, completely unnecessary but kind of cool when you have one. It’s a fantastic fitness-tracker, though, particularly for outdoor activities, and the sheer omnipresence of iOS means, by proximity, any fitness-focused online service is likely to have some level of support. This comprehensiveness, coupled with the constant nudges to close my rings, is often enough to get me out when the cold weather and post-work fatigue might otherwise tempt me to take an evening off.

See you in Southampton!

Building a £200 HTPC with OpenELEC

Zbox NanoTiny PCs like the Intel NUC are limited as replacements for the desktop, but they’ve come into their own in harnessing the media-decoding prowess of new chipsets to drive an HTPC. Coupled with free media centre software, it’s become possible to put together a powerful little set-top box that can compete with the behemoths of only a few years ago.

It’s actually feasible to do it even cheaper than that if you use a Raspberry Pi flavour of your chosen software, or even adapt an older PC that’s set for retirement, but my desired integration with my existing setup and a handful of esoteric requirements made this an appealing route.

  • Lossless HD audio over HDMI was a must, and many motherboards are finicky about this
  • Built-in wi-fi, SD card reader and IR saves a lot of messing with peripherals and USB hubs
  • I aim to rip Blu-rays to this thing without recompression, and I don’t fancy a £30 computer to handle those
The hardware

I spent £170 on a Zotac Zbox Nano AQ01, which nets you the box without RAM or internal storage. I recycled a 2GB RAM stick from when I upgraded my laptop – somewhat anaemic, but fine if media playback is all you’re planning – and dug out the old 60GB HDD that used to inhabit my PS3, which is more than capacious enough for the OS if you’re using external media storage. The box has seven USB ports (2x USB 3.0 and 5x 2.0), so you have plenty of scope to add capacity later.

If you don’t have the skeletons of various computers around to raid, you could plump for the more expensive Plus model, which includes 4GB RAM and a 500GB HDD. An even cheaper storage option if you’re relying on external or network storage and want a pure XBMC machine is a low-profile USB flash drive like a SanDisk Cruzer Fit, which can slot into the back and never have to be seen again. You’ll want at least 8GB as even though XBMC isn’t very large, the library of high-quality artwork it caches for your movies can be.

The Zbox AQ01 runs on AMD’s A4-5000 platform. That’s based on the same Jaguar architecture found inside the PS4 and Xbox One and has GPU-accelerated video decoding, ensuring smooth playback of high-quality video. It’s more than capable of general computing tasks if you install a full OS like Windows or Linux on it, but I’m not interested in that.

It has HDMI (also DisplayPort), optical audio, Wi-Fi (802.11ac), Bluetooth, gigabit Ethernet, a 7-in-1 memory card reader and, pleasingly, a built-in IR receiver. In short, it’s incredibly well-equipped considering the compromises I was looking at making in building my own, much physically bigger and more expensive, HTPC.

The software

For this project I’m sticking with what I know, which is XBMC. I first used it circa 2004 when it was Xbox Media Center, a staple of the modded Xbox scene, and since then it’s expanded to other platforms. I’ve opted for its OpenELEC form, a stripped down version of Linux bearing only what it needs to run XBMC. It’s fast, light on resources, and takes up very little space. A similar option is XBMCbuntu, which leans slightly more towards flexibility at the expense of hardware requirements.

XBMC also runs atop Windows and the Zbox will happily run it, but a licence costs almost half as much as the machine, so forget that.

The process of ripping DVDs and Blu-rays is handled on my main computer, using MakeMKV to generate a lossless rip and HandBrake to compress the DVDs. Using this, I can get a DVD movie into around 1.5GB with little quality loss. BDs are staying in all their 30GB+ glory, HD audio and all. I started with a 1TB USB drive that didn’t last me through a tenth of my collection before I had to move to bigger, more expensive network storage (a Synology DS214se with 2x 4TB HDDs), but it should suit most users.

Installation

With the Zbox all working and the OpenELEC installer on a flash drive, all that needs doing is popping that into a USB slot, turning it on, and running through the five-minute installation. I couldn’t get the Mac script to correctly create a bootable USB drive, but I ran the Windows version instead without issue. That’s really all there was to the setup, as things are basically ready to go from the start; run through the settings to get things configured how you want them, point XBMC at where your movies and TV shows are stored, and you’re off.

Skins and add-ons

I’ve frequently found that UI design isn’t a strong point of open source software, and the majority of XBMC skins I tried did indeed look like they were designed by teenage boys. The default skin, Confluence, is a solid choice, though. My only major complaint was that it lacked a library view that fulfilled my dual aims of putting the lovely artwork and metadata to good use and being usable with my large library. The ‘fanart’ view wastes a lot of space.

XBMC Confluence skin

I eventually settled on Aeon Nox. The more granular control over the main menu is nice, allowing me to drop options like sets, which I’m never likely to use, and create my own shortcuts to unwatched movies and similar filtered lists. A classy set of background images reins in the main menu − that open source design again − and the ‘infoview’ option allows me to see more movies at once without sacrificing the poster art and metadata:

XBMC Aeon Nox skin

An honourable mention goes to Quartz, which convincingly imitates the Apple TV interface. Very slick and would have been a contender for my skin of choice were it not for the lack of anything as good as the above view.

Issues

A niggle more than anything would be that programming my Harmony remote to perform anything but the most basic functions – anything not on a generic Windows Media Center remote – is a world of XML files and key listings that I frankly can’t be bothered to get into. I also can’t turn on the Zbox with the remote, though I sense that’s going to be a common limitation unless I fancy leaving the thing in hibernation 24/7. Shutting down that way works fine.

I’d also suggest Intel or Nvidia graphics hardware if bitstreaming HD audio is your intention. AMD’s Linux drivers are a bit naff, and although it’s not impossible to get it working, it’s a daunting process. For now I’m letting XBMC handle TrueHD and converting DTS-HD to FLAC during the ripping process. If a future OpenELEC update enables proper HD audio support, brilliant; if not, no big deal.

Should you be less finicky about such things, though, you’ll have no problems with this setup. It’s going to take me a good while to get everything ripped – 284 down, approximately 500 to go at the time of writing, not counting TV shows – but when it’s done I look forward to reclaiming some shelf space and having an on-demand box that, unlike Netflix and friends, actually has a library I’m interested in.

Converting Blu-ray HD audio to FLAC

As I mentioned in my first look at ripping Blu-rays, converting uncompressed PCM and lossless Dolby TrueHD and DTS-HD Master Audio to FLAC for use in XBMC carries a number of benefits.

  • It’s also lossless, so no quality difference.
  • FLAC is an open, well-documented format and so you’re not reliant on reverse-engineered implementations.
  • XBMC can decode FLAC to PCM and output it over HDMI, whereas it currently can’t for DTS-HD.
  • Hard drive space savings can be significant, especially for PCM soundtracks.

There’s little penalty in terms of the time taken to rip the disc either, as it’s unlikely that your BD drive can copy data from the disc fast enough for the conversion process to become a bottleneck.

What you need

This process still uses MakeMKV, with the feature enabled in by checking the advanced options box in the settings. TrueHD decoding is built in, but you’ll need to find a separate DTS module and point MakeMKV to that.

MakeMKV

All you then need to do it choose the ‘FLAC’ preset when ripping a disc. Otherwise the process is identical.

File sizes

I picked three movies representing the three HD audio formats supported on BD. All were ripped to an MKV file containing only the main video, the lossless main audio track, and no subtitles; file size recorded; then passed through MakeMKV again to convert the audio to FLAC. After conversion, MediaInfo was used to verify that the number of channels, sampling rate and bit depth (some versions of the DTS decoder have a bug that will change 24-bit audio to 16-bit, hence the use of 24-bit audio tracks below) were unaffected.

Movie Audio Original size New size Delta
2001: A Space Odyssey PCM 5.1 (48kHz, 24-bit) 20.10GB 16.38GB 3.72GB (18.5%)
Blade Runner Dolby TrueHD 5.1 (48kHz, 24-bit) 18.22GB 18.08GB 0.14GB (0.8%)
The Bourne Identity DTS-HD Master Audio 5.1 (48kHz, 24-bit) 25.96GB 25.42GB 0.54GB (2.1%)

I noted a few more, with all the data recorded in this spreadsheet. The range of formats reflects the predominance of DTS-HD on Blu-ray these days, but there’s a clear 2-3% gain on substituting FLAC there. It doesn’t sound like much, but it’s half a gig when you’re talking about files of 20GB and up.

Conclusion

According to my unscientific tests, then, converting to FLAC delivers a saving in file size over the untouched original track across the board, with a minimal reduction for TrueHD and a handy half-gig saved on DTS-HD. Obviously, since the others are already losslessly compressed, the biggest gains come over PCM, where FLAC can shave 3.72GB off the size of the 2001 MKV – enough for another couple of DVD rips on my HTPC’s hard drive.