The Uber files

Internet

The Guardian investigated and dropped this incredible story yesterday:

A leaked trove of confidential files has revealed the inside story of how the tech giant Uber flouted laws, duped police, exploited violence against drivers and secretly lobbied governments during its aggressive global expansion.

The unprecedented leak to the Guardian of more than 124,000 documents – known as the Uber files – lays bare the ethically questionable practices that fuelled the company’s transformation into one of Silicon Valley’s most famous exports.

Uber undercut established taxi and cab markets and put pressure on governments to rewrite laws to help pave the way for an app-based, gig-economy model of work that has since proliferated across the world.

The cynic in me isn’t surprised, and I’m sure I’m not alone in this. If anything, I expected it to be far scummier. But cynicism provides cover. This is jaw-dropping behaviour, and they shouldn’t be let off the hook for any of it. This is our industry at its unfettered worst.

This is also independent of what one thinks of the taxi industry or other software companies as well, in case that inevitable whataboutery comes up.


How we run Minecraft

Software

I’m a decade late to Minecraft, but it’s now my favourite game ever. It’s the procedurally-generated, open-world block game that captures that sense of joy and enthusiasm I had with LEGO as a kid, and I get to play it with Clara.

I’ve been asked about how we run it every time I post on social media, so I’m finally addressing what I’ve learned here. There’s nothing especially exotic about our setup, but maybe you might find something useful.

But first, do you need a server?

Once you buy and launch Java Minecraft, you already have a local server available to use. If you start a world as Singleplayer on one machine, you can connect to it from another by typing the machine’s IP address in Multiplayer.

This is a great way to start, because no further configuration is required. You can also export the world onto a dedicated server if you want, and go back to it if you want to travel.

Running Minecraft on a separate server

Running a Minecraft server is useful because it remains active when you’re offline, can potentially perform better, and it’s easier to automatically backup. It takes a bit of sysadmin knowledge, but I think it’s well worth it.

Clara and I run Minecraft on our home FreeBSD server in a jail, which keeps Java and other dependencies contained in one isolated place. Theoretically you can run the server anywhere that supports Java, including Linux and possibly even NetBSD, though I haven’t tested the latter.

(Update: I’ve tested on NetBSD, and it works! I wrote a separate post about).

Once you’ve installed an OpenJDK or equivalent to run Java software, you download the official Minecraft server. I have a script to run it in a screen session so it persists after logging off. I also give it more RAM than the official guide suggests.

#!/bin/sh
screen java -X8192M -Xms8192M \
	-jar minecraft_server.1.19.jar nogui

Once that’s running, you can connect to your server’s IP address from your desktop Minecraft client.

Backing up

Because we run FreeBSD for the server, we use OpenZFS snapshots to regularly backup our world. Klara Inc has a great introduction on how they work. Thus far we haven’t had to, but if an update breaks things we can also use a rollback. We also send our world to a server sitting at my dad’s place for a remote copy.

Back. Up. Your. World. Make a tarball, rsyncing elsewhere, or even do a manual copy every week; anything is valuable.

Upgrading from the standard Minecraft server

Thesedays we run PaperMC instead. It’s a high-performance fork with frequent updates and plugin support. Most importantly for me, you can also take your world back to vanilla Minecraft if you want.

It’s a drop-in replacement, so you can download it and run using the same script as I had above, substituting the jar file for vanilla Minecraft with the paper version.

Note that once you start using third-party tools like this, official Minecraft updates might take a few more days to come through. Make note of the version on the download page, so you don’t get a mismatch between the official client and what your server is running.

Extras

The Minecraft universe has thousands of plugins and extensions, though I tend to prefer to keep things simple.

Until recently we ran the Multiverse 2 plugins, which let us import and build portals between multiple worlds on the same server. We have a peaceful primary world, and a world with mobs we go to when we need training or drops. As of 1.19 people are recommending a migration to MyWorlds. I haven’t done that yet, it’s probably worth a post itself. Worlds you import still reside in separate folders, so you can always pull them back out and run vanilla if you want.

Plugins and mods in servers are installed by downloading their jar file into the plugin folder of your Spigot, PaperMC, or similar install. More extensions are beginning to depend on the BKCommonLib library as well, so I’d have that installed.

Another very popular mod is WorldEdit, that lets you do things like generate structures and change biomes. We’ve used it to import buildings from other worlds into our primary one using schematics.

Client-side improvements

Installing Optifine (or a similar tool) is the best thing you can do on the client side to make Minecraft perform and look better. Once you have that, our favourite shaders are still the Complementary Shaders by EminGTR, and not just because we’re Takodachi.

There are plenty of third-party launchers as well, though I haven’t ever used them.

Supporting developers

This is the final step people usually overlook. If you like using those third-party tools, plugins, and shaders, support their work with a donation. Each one of their landing pages has a support button of some description. Even $5 would be $5 more than what almost anyone gives them.

It can be a thankless job maintaining such tooling, especially when a Minecraft update drops and comment fields are full of angry, entitled people insisting they “hurry up”. Money doesn’t just help them financially, it’s a clear signal that people value them and their work. Which we do, or we wouldn’t use their stuff!


She Came In Through the Bathroom Window

Media

It’s Music Monday time! Each and every Monday, except when I forget, I discuss music to help make the start of the work week a bit nicer. It has absolutely nothing to do with the fact that Music and Monday start with the same consonant, or that I ripped the idea off my university’s anime club.

Today’s Music Monday post, which comes each Monday, is an embarrassing admission about a misheard lyric, however its easily eclipsed by the relief and joy I feel having now learned the truth.

On side B of Abbey Road we’re treated to a medley of Beatles music, one of the tunes being the title of the post. The chorus ends with:

Some day’s on the phone to Monday;
Tuesday’s on the phone to me.

Except, it’s not some day, it’s Sunday. That makes so much more sense. Well, as much sense as Beatles lyrics make.

I joke that it took me until I was 15 to realise they were called the Beatles because it had the word beat in it. Tack on another two decades, and I now know the lyrics to one of their most iconic songs. Joe Cocker would be proud.


Dennis Moore, Dennis Moore

Media

… isn’t in this post!


Installing stable Perl with Perlbrew

Software

Today I learned you can install the most recent stable version of Perl in Perlbrew, and switch to it from one line:

$ perlbrew install --switch stable

Perl is still my favourite programming language, and Perlbrew is still my preferred method to install it (with pkgsrc coming a close second, depending on the environment). And not just because Perlbrew, like other Perl tools, uses the TLD for a country I wish to visit one day!

As an aside, if you’re in Sydney, Alchemy in Surry Hills has the best Polish food in Australia. The owner is also lovely.


Why I tend to avoid reading social news comments

Internet

I was told my latest Walkman post made it to Hacker News again, which tracks again with a spike in traffic! I avoided reading it, along with other sites like Reddit.

Most comments on the site are insightful, useful, entertaining, and constructive in their criticism. People might not be friendly, but they’re at least cordial and assume good intentions. In other words, I can respect their opinions even if we may disagree.

But there’s a growing number that aren’t, and I have little motivation to separate the wheat from the proverbial chaff anymore. They’re deliberately obtuse, make comments in bad faith, assume things about the author that are hilariously and transparently false, conflate subjective opinions with fact, or are pedantic in a way that isn’t constructive. Among the minority who read the article, most demonstrate an alarming lack of basic comprehension skills; wilfully or otherwise. The rest are just dicks.

Maybe the web, BBSs, forums, mailing lists, and chat rooms were always like this. Maybe it’s just me getting older and running out of fucks to give.

But I think I’ve also figured out a big part of the reason why people are so prickly, regardless of topic. People assume that any review or discussion must target them or their interests, preferences, requirements, or circumstances; therefore anything else is an affront. It’s not sufficient for someone to like, use, or recommend something else, they must be wrong!

You can spend your time writing point-by-point rebuttals, but life’s too short. Instead, I propose such commentators grow up… but not too much.


The Brussels Effect

Media

I watched this video by TLDR News Europe over lunch, and they discuss an interesting idea Anu Bradford put forward in her 2012 book The Brussels Effect:

The EU is unique in its ability to unilaterally transform global markets, be it through its ability to set the standards in competition policy, food safety or the protection of data privacy. So, in today’s video we will be looking at how the EU rules the world through regulation

It’s the latter impact I have most visibility and knowledge of, but it hadn’t occurred to me their impacts were just as far reaching in other areas.


Uses for tangled earbud cables

Hardware

Have you ever pulled earbuds out of your pocket, or headphones from your desk, and marvelled at how ridiculous the coiled mess of cables is? Here are some things I thought we could use them for:

  • An impromptu puzzle. Bonus points for needing to solve it in a hurry, especially if you’re supposed to be on a conference call!

  • An entropy source for a random-number generator. Take a photo of the headphones right out of your pocket every day, and watch with glee at all the failed attempts to crack your hashes with your non-deterministic goodness.

  • A source of inspiration for new and undiscovered kinds of rope knots. They may not be useful, or even functional, but that’s what they said about this site. Hey, wait.

  • A way for people to say you should use a device to wrap your cables around or wireless earbud people to say doesn’t happen to me!

  • A prompt to start a Bob Dylan karaoke session. Don’t worry, he couldn’t sing either.


A decade without blog comments

Internet

This anniversary completely slipped me by, if one can call it that. I was still on WordPress in June 2012, and I made the decision to turn off web comments permanently.

I wrote that it was due to spam, which certainly was escalating on my tiny self-hosted site at the time. But trolls were the real reason. I was tiring of cleaning up the mess they defaced my pages with, and didn’t want to deal with moderation queues.

This worked well: no more spam comments! And wouldn’t you know it, when trolls have to put effort into emailing stuff as opposed to filling out a web form for instant gratification, most lose interest. I feel like there’s a larger lesson there.

I suppose over time I’ve engineered a new problem. People now routinely email me with interesting, useful, fun, and friendly comments; and now I have a backlog to reply to and quote here. I apologise if that includes yours. I do read every email I receive, unless Fastmail’s aggressive filters block it and I fish it out of spam a month later.

Still though, is a phrase with two words. I kinda miss inline blog comments, but nowhere near enough to turn such a feature back on, however that may be implemented.


Headaches are (almost) invisible

Thoughts

Headaches and migraines are a pain in the arse. Well, pain in the head to be more specific. It’s as if they’re called that for a reason. There’s a joke about Boris Johnson in there somewhere.

This is true for a host of obvious reasons. They hurt! But just as bad, they rob us of the ability to think. A broken ankle is horrifying, but at least we can prop them up while we distract ourselves. Headaches reduce sufferers to irritable mush.

I don’t care about garnering sympathy during a headache, and especially during a migraine. The universe could collapse for all I care. I need to be left alone in a dark, quiet place where I can sit upright and meditate; my forehead smothered with Tiger Balm while I try and keep a couple of strong pills down long enough to dissolve. People could think I’m “putting it on”; it couldn’t matter less to me.

But it does suck a little after the fact, I’ll admit! My ankle had a CAM boot on it, and I needed crutches to walk around. There are no outwardly visible signs of a headache or migraine to others. Worse are the people who say you can “deal with it”, because it’s all in one’s head, right?

I’m lucky that I don’t have anyone like that in my life. My work hears I have a migraine, and they take the load while I disappear for a day. Clara gives me a hug and leaves me to recover.

All that said though, I have a working theory that bad headache and migraine sufferers can see it in other people. I could tell when my mum had one; ditto when my brother-in-law has one of his regular episodes. It was all in their eyes.