Opting out of Google’s FLoC

News has been moving fast about Google’s FLoC system. If you don’t know what it is, look at where it’s coming from and you can probably guess. Last Thursday blog posts were recommending the addition of this line to your web server software, which I did:

Permissions-Policy: interest-cohort=()

Rohan Kumar elaborated that while this is technically correct, it’s not always necessary, nor the best way to do it:

If your website does not include JS that calls document.interestCohort(), it will not leverage Google’s FLoC. Explicitly opting out will not change this.

He recommends not using third-party scripts, and implementing a Content Security Policy header to block execution. I’ve been doing this for years; it’s good advice in general.

FreeBSD 13.0-RELEASE sources via Git

Being able to easily recompile the entire OS is one of the supreme benefits of FreeBSD (and the other BSDs) over others like Linux. You can trust and verify that binary releases haven’t been tampered with, and optimise your system with exactly what you need.

Previously one would have used my beloved Subversion to get system sources similar to this:

# svnlite checkout https://svn.freebsd.org/base/releng/12.2 /usr/src

Since the switch to Git, you can specify which branch you want which corresponds to a release:

# cd /usr
# git clone -b releng/13.0 --depth 1 https://git.freebsd.org/git src

There’s no Git client in base that I can tell, but you can install the net/gitup tool which was written for the express purpose of downloading such sources on FreeBSD. The alternative is the full git client, or git-lite if you don’t need as many dependencies.

Now, back to upgrading this Panasonic Let’s Note CF-RZ6!

A mysterious LibreOffice Calc £

Australia eschewed (gesundheit) the pound for the decimal dollar back in 1966, but LibreOffice Calc on my FreeBSD 13 laptop started putting pounds everywhere in my Australian budget workbook. It took me far too long to figure out why.

I went through my Ansible deployment scripts and realised that I’d changed the LibreOffice install to the British localisation for its dictionary:

- name: Install package foo
    name: en_GB-libreoffice
    state: present

I checked a few of the cells, and the Number Format under the Properties sidebar showed the “Format as Currency” as “£ Default”. Changing this to “AUD $ English (Australia)” put the expected symbol back.

I really should donate more to the Document Foundation. Their software has done more for my financial security and well-being than anything else.

DOS-friendly bootable ISOs with mkisofs

I’ve used WinImage and WinISO in a Windows 2000 virtual machine for years to create and modify ISO images, but I decided in the spirit of the occasion to learn how to do the same thing on FreeBSD. The experience also taught me a few things about how bootable CDs actually work.

My biggest surprise was realising that ISO 9660 makes no provision for bootable media. This makes sense given earlier machines couldn’t boot from CDs, but I had long assumed this was only a BIOS limitation. Bootable CD support came with the El-Torito extension, so named for the restaurant where the developers first conceived of its design. It can even include multiple boot records for various architectures.

Jörg Schilling’s excellent cdrecord tools includes mkisofs, which can be used to create bootable ISOs that support this. The FreeBSD Handbook’s storage chapter includes a section on creating CDs with it, but I wanted to be able to boot on legacy x86 machines like 486s and early Pentiums. I scoured the mkisofs manpage(8) and came up with these options:

mkisofs                             \
    -eltorito-boot "BOOTFLOPPY.IMG" \
    -input-charset "cp437"          \
    -iso-level 1                    \
    -joliet                         \
    -output "OUTPUT.ISO"            \
    -rational-rock                  \
    -volume-set "DISKNAME"          \
    "$_source file"

The options are:

  • -eltorito-boot is the floppy image you want to boot from
  • -input-charset "cp437" for DOS-based systems
  • -iso-level 1 enforces DOS-style 8.3 filenames
  • -joliet isn’t ISO standard, but is useful for 95/NT
  • -output is the exported ISO image
  • -rational-rock adds Rock Ridge extensions
  • -volume-set is the CD volume name the OS displays

Rock Ridge extensions aren’t used on DOS or 16-bit Windows as far as I can tell, but doesn’t impact its use and is valuate when attached to other systems, so I still include anyway.

From my experience with WinISO, I knew that bootable CDs for early machines used floppy disk images, which would be emulated by the optical drive on boot. One common trick was to embed a Windows 98 boot disk with CD-ROM drivers into an otherwise-unbootable CD, like those for Windows 95 or earlier OS/2. In an age where blank CDs are easier to find than blank floppy disks, I’ve even been know to create bootable DOS installers.

I’ve wrapped this in a shell script on my lunchbox if you want to use.

FreeBSD 13.0-RELEASE available!

The BSD Daemon

As I said in February, I haven’t been this stoked for a FreeBSD release in a while. The announcement page, release notes, and errata list all the details. Thanks to everyone on the release engineering team.

You can download from the official mirrors, or John-Mark Gurney has also made magnet links for torrents.

I’ll be working at getting OrionVM’s FreeBSD 13 template finalised in the next couple of weeks.

Perceptions of remote work

I was about to pipe some unsolicited marketing spam to the bin, but a shockingly-insightful tidbit caught my eye:

In the hybrid workplace, technology can be a double-edged sword, enabling a sense of belonging and human connection while also creating overwhelm and fatigue. Getting the balance right is critical.

That’s… true. They summarised what I’ve written for paragraphs here over the last year into two sentences.

Independent research revealed that while 78% of HR managers believe they have done a good job of keeping in touch with home workers about their Health & Safety, just 28% of remote workers agreed.

I’d be interested to see what that independent research was, but it definitely wouldn’t surprise me based on anecdotal evidence among people I know.

A 740-page Tennant Schrobmachine

My silly blog here has reached seven hundred and forty pages, which sounds much longer when you write the numbers out in English in lieu of digits. At ten posts per page, that means we have… wait, let me check.

$ bc 740 * 10
==> File 740*10 is unavailable

I always make that mistake!

I used to mark such milestones with a Tennant floor cleaning device with a similar model number or feature, like this silly post from 2009. Here’s the Tennant 7400, which has the same model number as this blog has posts:

Photo of a small, ride-on floor sweeping machine.

This Dutch Industrial cleaning site mentions:

Tennant 7400 Schrobmachine Verhuur machine: De Tennant 7400 opzit-schrobzuigmachine is een eenvoudig te bedienen machine dit mede dankzij de gemakkelijke besturing is deze machine zeer geschikt voor magazijn, parkeergarages en bouwopleveringen.

I tried running this through babelfish.altavista.com, but the site no longer exists.

The XTree Fan Page

XTreeGold for DOS was one of the first programs I ever used as a kid, and it left a lasting impression. Text-based tools like Norton Commander couldn’t touch it at the time, and thirty years later we’re still using inferior GUI file managers. The ability to “tag” files across multiple directories and perform an action against them (say, copying) was a stroke of genius, as was its intuitive UI and hotkeys.

The bundled XTreeGold icon for Windows

I’ve got a longer post about XTree in the works, but for now I was so happy to find this fansite by Mathias Winkler. The web design is even reminiscent of the software’s splash screen and UI.

My favourite page was on hidden hotkeys. I love finding easter eggs and hidden tricks in old software.

MediaWiki toasts the sunflower logo

The MediaWiki software that powers Wikipedia among thousands of other sites has a new logo. It was announced on the MediaWiki news page on April Fools, so I initially thought it was a well-executed prank.

The old (left) and new (right) logo.

Erik Möller’s cheerful sunflower logo cleverly incorporated wiki syntax as a frame. Isarra Anthere even did a classy, simplified version in 2018 for smaller sizes and textile prints, while preserving the original pallete and shape.

By comparison, you know how they say the opposite of love isn’t hate, it’s indifference? This new logo is inoffensive, indistinct, bland, and forgettable. The worst I can say about its design is meh. For a branding exercise, it doesn’t invoke anything about wiki software whatsoever; it looks like a gas company.

I’m glad the Wikimedia Foundation updated Paul Stansifer’s whimsical spherical puzzle for Wikipedia in 2010, instead of replacing it with a dull mark. The rush to make the web look corporate is, to use a Marie Kondo analogy, not the stuff of joy. 🌻

Feedback about a slow CF card

Yesterday I wrote about a new CF card with better specifications performing worse as a boot disk on my Pentium 1 tower. I didn’t have hard figures, but the machine was noticeably sluggish when performing writes compared to the slower 16 GiB card it replaced. I got more than a dozen comments from people like you who read this, thank you!

Turns out that among the electrical engineers and developers among you, my theory that there’s a protocol mismatch is almost certainly false. To recap, I thought maybe its use of UDMA7 somehow confused the VIA firmware on this 1998 motherboard, but that’s not how this hardware works. Hales and Jonathan Belford even sent me photos showing the discrete controller next to the flash memory, which makes sense. CF cards are designed to be backwards compatible, and to implement all prior specifications.

I’m still leaving open the remote possibility that’s an incompatibility, if only based on the fact that this motherboard has surprised me before. My favourite was the MIDI not working on my Sound Blaster AWE32 card when I had a PCI Adaptec SCSI card installed, but not a PCI Jaz Jet SCSI accelerator card. It also stubbornly refuses to recognise more than 64 MiB of memory, regardless of the density, layout or voltage of the DIMMs I buy for it, and the board’s supposed support for up to 288 MiB [sic].

But by far the most likely issue in this case is either a faulty card, or a ripoff. We’ve all seen the photos of SSDs being sold that are merely a SD card and some glue in a case. I bought this from a (supposedly!) reputable seller in Australia, so I’d hope it wasn’t the latter. But I’d be interested to see!

Now I’m motivated to do some proper tests. I’ll boot it into NT4 and NetBSD next weekend and run it through its paces. I also remembered I have a PCI ATA controller card that I originally bought for an ISA machine; I might try that too to isolate if the controller on the motherboard is flaky.