Yes! Yet more DALL-E spam!
A Giant Duck Menacing 1950s London

The top left duck appears to be constipated. The bottom right appears to be nesting within the product of its destruction.
Continue reading “More DALL-E”A Little More Web Kipple
Yes! Yet more DALL-E spam!

The top left duck appears to be constipated. The bottom right appears to be nesting within the product of its destruction.
Continue reading “More DALL-E”***NEW: Building QEMU 10.0 on Raspberry Pi OS***
***NEW: Building QEMU 8.0 on Raspberry Pi OS***
And spring 2022 brings us another major release of QEMU – in this case, QEMU 7.0, available in all of its tar.xz’d loveliness directly from qemu.org.
Whilst the Raspberry Pi OS‘s package repository remains the fastest, simplest way to get QEMU onto your Pi, Pi OS’s Debian lineage often leaves it trailing the cutting edge – in the case of QEMU, the packaged release for Raspberry Pi OS (version 2022-04-04) is version 5.2 from way back in December 2020.

Fortunately, QEMU is fairly easy to download and compile ourselves.
Continue reading “Building QEMU 7.0 on Raspberry Pi OS”And, shortly after my last DALL-E related post, I finally got access to the full product!
And what better way to start off with the full-fat version than by running the same requests as my last post and comparing the outputs.

Some DALL·E Mini spam. It’s a little late but… meh.

Observed with MacOS 12.4/Xcode 13.4.1/Swift 5
There are quite a lot of tutorials out there covering the basics of running external executables from within Swift and, with very little effort, it’s quite easy to throw together something like this…
import Foundation
let wrappedUname = Process()
wrappedUname.executableURL = URL(fileURLWithPath: "/usr/bin/uname")
wrappedUname.arguments = ["-v"]
let unameOutputPipe = Pipe()
let unameErrorPipe = Pipe()
wrappedUname.standardOutput = unameOutputPipe
wrappedUname.standardError = unameErrorPipe
do{
try wrappedUname.run()
} catch {
print("Unexpected error: \(error).")
}
wrappedUname.waitUntilExit()
let unameOutput = String(decoding: unameOutputPipe.fileHandleForReading.readDataToEndOfFile(), as: UTF8.self)
let unameError = String(decoding: unameOutputPipe.fileHandleForReading.readDataToEndOfFile(), as: UTF8.self)
print("Output: " + unameOutput)
print("Error: " + unameError)
Continue reading “Leaking Pipes with Swift and External Executables” 
With 30 minutes to prepare and another 25 minutes to actually perform this mere point update (12.3 > 12.4), what – exactly – is a relatively modern Macbook Pro that’s capable of of writing to it’s boot disk at 2.2GB/s+ doing when it upgrades?
This is a pretty good set of instructions for setting up VMware Tools for Debian 10/Ubuntu 20.04 arm64 on ESXi-Arm.
sunsite.icm.edu.pl looks to be an old mirror of the pre-Oracle Sunsites. It’s quite useful for patches for older Solaris releases.
To get Internet Explorer 5.0 for Unix (Sparc) running on the Sparc release of Solaris 7 I ended up using:
108376-46: OpenWindows 3.6.1: Xsun Patch (Patch File)
106327-23: SunOS 5.7: 32-Bit Shared library patch for C++ (Patch File)
106950-24: SunOS 5.7: Linker Patch (Patch File)
And voila! Internet Explorer 5.0 for Unix running on the Sparc release of Solaris 7.0

So, I’ve built a new toy. It’s called PSPB (Period Sites in Period Browsers) and it pulls pages out of the Wayback Machine and renders them in various period specific browsers and operating systems (stripping off all the Archive.org rubbish as it does so).

As of launch it only has a half-dozen Operating System/Browsers combinations and around a dozen source sites – and the site that it posts them too is rather austere – but that’s likely to change as I poke around with it and get things up and running.

While I have no real idea how long it’ll last, PSPB can currently be found here.
Ooooo, QEMU 5.0.0 is out. And here’s a guide to building it on Raspbian Buster.