Jenny’s Daily Drivers: RiscOS 5.28

On a mundane day at some point in late 1987, though I didn’t grasp exactly what it would become at the time, I sat in front of the future. My school had a lab full of BBC Micros which I’d spent the previous few years getting to know, but on that day there was a new machine in one corner. It was a brand-new Acorn Archimedes, probably an A300, and it was the first time I had used an operating system with a desktop GUI. The computer was the first consumer application of the ARM processor architecture which has since gone on to conquer the world, and the operating system was called Arthur, which hasn’t. That’s not to say that Arthur is forgotten though, because it was soon renamed as RiscOS, managed to outlive both Acorn and the Archimedes, and still survives as a maintained though admittedly niche operating system to this day. So my Daily Driver this month is the current generation of RiscOS, version 5.28, and the machine I’m running it on is a Raspberry Pi 4. For a computer with an ARM core that’s designed and sold by a company based in Cambridge just like the original Acorn, it’s the most appropriate pairing I can think of.

Probably the Smallest OS In This Series

A beige desktop with no monitor, keyboard and mouse in front. It shows signs of yellowing with age.
The first ARM product, an Acorn Archimedes A310. mikkohoo, CC BY-SA 4.0.

At one point the Raspberry Pi folks even featured the Pi version of RiscOS on their website, but for those missing it there it’s freely downloadable as a disk image from the RiscOS Open site. Having spent most of its life as a closed-source product it’s been opened up over the last decade, and you can grab the source if you’re interested. When it’s normal for an OS download to run into the many gigabytes, it’s a bit of a shock to grab one that’s a shade under 140 megabytes and can be written to a 2 gigabyte SD card. This makes it probably one of the quickest operating system installs I have ever done, with all steps completed in a very short time. Sticking the SD card into the Pi it boots to a desktop in about 32 seconds which is only 5 seconds less than the latest Raspberry Pi OS image, so sadly that compactness doesn’t net you any extra speed. Continue reading “Jenny’s Daily Drivers: RiscOS 5.28”

Tiny Forth Could Be The Smallest

When you think of a programming language, you probably think of a hefty compiler or interpreter. Maybe its on a bunch of floppies, a CD, or even an EEPROM. But what about a language that fits in a single disk sector? A language like that would — in theory — be used to help bootstrap a computer system and that was the idea behind Sector Forth and, later, Sector Lisp. However, there’s a new game in town: milliForth, which claims to be the smallest ever at 422 380 bytes.

Why would you want such a thing? Well, first of all, why not? Even as a form of code golf, packing a functioning language into a tiny space seems interesting. However, you could also presumably use something like this to boot a small system or on a system with limited storage.

Continue reading “Tiny Forth Could Be The Smallest”

Raspberry Pi OS In-Place Upgrades, Not For The Faint Hearted

The Raspberry Pi series of boards are noted for their good software support, with a continuous flow of operating system upgrades such that an original Pi from 2012 will still boot the latest Pi OS. But these upgrades are best done by writing a fresh SD card, so oddly, the Pi remains surprisingly difficult in many cases to upgrade in place. [Iustin Pop] has taken a look at the problem, and finds that though it’s not always easy it remains possible with a bit or work.

An upgrade in place of a Raspberry Pi OS install that’s running on a headless device is probably the simplest of the lot, with a relatively small set of issues. Do it on a machine using the GUI though, and the switch from x.org to Wayland makes for a whole world of pain.

Perhaps most interesting for the insight it gives us into the way Raspberry Pi OS is derived from Debian, is the crossgrade process from the ARMhf build for earlier machines to the ARM64 one for the more recent ones. Here aside from a headache of differing paths and versions, he encounters the Pi-specific compilation tweaks put in place by the developers of Raspberry Pi OS, leading to the ARMhf version being a different branch from the original Debian than the ARM64 one.

Having read his examination of in-place upgrades we have to say that simply writing a new SD card remains the most attractive option. But sometimes along comes a remote system where that’s simply not possible, and this guide might just be very useful sometime.

Only One Hacker At The Keyboard? Amateurs!

We imagine many of you have seen the ridiculous scene from the TV series NCIS in which a network intrusion is combated by two people working at the same keyboard at once. It’s become a meme in our community, and it’s certainly quite funny.  But could there be a little truth behind the unintentional joke? [Tedu] presents some possibilities, and they’re not all either far-fetched or without application.

The first is called Duelmon, and it’s a split-screen process and network monitor worthy of two players, while the second is Mirrorkeys, a keyboard splitter which uses the Windows keys as modifiers to supply the missing half. As they say, the ability to use both at once would be the mark of the truly 1337.

Meanwhile here at Hackaday we’re evidently closer to 1336.5, as our pieces are written by single writers alone at the keyboard. We would be fascinated to see whether readers could name any other potential weapons in the dual-hacker arsenal though, and we’d like to remind you that as always, the comments are open below.

The intense hacking scene from NCIS can be found below the break. Be warned though, it contains the trauma of seeing a computer unplugged without shutting down first.

Continue reading “Only One Hacker At The Keyboard? Amateurs!”

Jenny’s Daily Drivers: SerenityOS, And In Particular, Ladybird

As we continue on with the series in which I take a different OS for a spin every month I am afraid, dear reader, that this month I have a confession to make. Our subject here isn’t a Daily Driver at all, and it’s not the fault of the operating system in question. Instead I’m taking a look at a subject that’s not quite ready for the big time but is interesting for another reason. The OS is SerenityOS, which describes itself as “a love letter to ’90s user interfaces with a custom Unix-like core“, and the reason I’m interested in it comes from its web browser. I know that the OS is very much a work in progress and I’ll have to forgo my usual real hardware and run it in QEMU, but I’ve heard good things about it and I want to try it. The browser in question is called Ladybird, and it’s interesting because it has the aim of creating a modern fully capable cross-platform browser from scratch, rather than being yet another WebKit-based appliance.

A Pleasant Trip Into The 1990s

Part of a Linux desktop with the SerenityOS build instructions in the background, a terminal having built the OS, and the OS itself in a QEMU window.
My first look at SerenityOS after building it.

SerenityOS isn’t ready to be installed on real hardware, and there’s no handy ISO to download. Instead I had to clone the repository to my Linux machine and run the build script to compile the whole thing, something I was very pleased to observe only took about 40 minutes. It creates a hard disk image and opens QEMU for you, and you’re straight into a desktop.

When they mention ’90s user interfaces they definitely weren’t hiding anything, because what I found myself in could have easily been a Windows 9x desktop from the middle of that decade. There are  a bunch of themes including some Mac-like ones, but should you select the “Redmond” one, you’re on very familiar ground if you had a Microsoft environment back then. It’s only skin-deep though, because as soon as you venture into a command line shell there’s no DOS to be found. This is a UNIX-like operating system, so backslashes are not allowed and it’s familiarly similar to an equivalent on my Linux box. The purpose of this review is not to dive too far into the workings of the OS, but suffice it to say that both the underpinnings and the desktop feel stable and as polished as a Windows 95 lookalike can be. The various bundled utilities and other small programs seem to work well, and without any hint of the instabilities I’ve become used to when I’ve experimented with other esoteric operating systems. Continue reading “Jenny’s Daily Drivers: SerenityOS, And In Particular, Ladybird”

Decoding The 8088

There is a lot to like about open software, and in some areas, a well-thought-out piece of software can really make a huge impact. A great example of this is the Sigrok project. Creating simple devices that act like a logic analyzer is relatively easy. What’s hard is writing nice software for such a setup including protocol decoders. Sigrok has done it and since it is open, you can add your device and decode your protocol. [GloriousCow] had done the hardware part of interfacing to the 8088 in an IBM PC using an off-the-shelf logic analyzer that uses a customized version of Sigrok. But the output was a CSV file you had to process in a spreadsheet program. The next step: write a decoder for Sigrok to understand 8088 bus cycles.

The post covers the details of writing such a plug-in for Pulseview, the Sigrok GUI. It will also work for the command line interface if you prefer that. The code is in Python.

Continue reading “Decoding The 8088”

Ordering Pizza While Racing

As [Matt Stele] prepared to bike a local 300-mile (~480km) race in addition to training, he had to prepare for food. A full day of riding was ahead on gravel trails, and one of the best options for him was Casey’s General Store pizza. However, as it was a race, other riders were much faster than him. So, all the hot slices were gone when he arrived. With the help of a serverless GPS tracker, some cloud lambdas, and some good old-fashioned web scraping, [Matt] had a system that could order him a fresh pizza at the precise moment he needed. Continue reading “Ordering Pizza While Racing”