More Private

I’ve struggled more and more with the idea of posting things on the internet as of late. I’ve kept a reasonably high bar on personal stuff (thank you gifs for your terrible quality), but the reality is that it’s not high enough. Beyond privacy, I’m questioning why even toss nicely curated & authentic pieces of information into the sewer, I enjoy doing so less and less. Algorithms seem to gain new exploitative dimensions every few years, making everything you posted before a retroactive liability. The advent of AI clearly is one such evolution. Where social media fed off our attention, the fuel for AI is authenticity. Just as I absconded from social media early on when its extractive nature became clear, I seek to avoid fueling models, nor do I want them used against my family.

I don’t think I want fractions of our lives to be digested and regurgitated, this is especially true as my kids are getting older. I do realize the same was said about nascent photography, and I know it’s a funny thing for me to criticize generative models given my work with markov chains. That is how I feel nonetheless, and don’t get me wrong I love AI, just with someone else’s data in it :).

This blog has definitely turned into a bit of a personal journal over the years, and I don’t want to lose this as I often refer back to it. But in reality, there’s a lot I refrain from journaling here because it’s too public, and now more than ever it also feels dirty for a myriad of reasons all stemming from the current state of the internet.

I’m in a pickle, how does one filter for reasonable humans? Well, on this imperfect internet, the least bad solution I can find is to password protect some posts. And so I’ll do this from now on, and I’ll have to be better at segregating personal content from what is meant for public consumption. It’s unfortunate really, the projects I work on are deeply intertwined with our life, and will be more dry separated from it.

If you’re a reasonable human and you know me, the password when used is where I worked from 2003 to 2004.

Disabling Cell Connectivity on an F150

I’ll do my best not to rant here, I got a new car, of course it’s connected, of course it defaults to sharing your location and everything else with Ford and its dumb affiliates, of course I diligently went through all the settings off the lot to disable all the data sharing, of course these settings found themselves back to enabled magically after a few days. And now Ford knows where I live, work, shop, eat, and everything in between. ~16 years ago society still cared about privacy, but multiple “scandals” quickly showed corporations there were no real repercussions legally or reputationally for privacy abuses. Since then it’s been a free for all, and a new generation of people has assimilated these practices as a norm. Let’s beat the piñatas for all they’ve got!

I’ve been trying to disable the cell modem in this car. Even if the car had a no-tricks UI for privacy settings (it doesn’t), I don’t trust software to truly report nothing back to the mothership. And so for definitive results, I want to pull the plug. Today I can, tomorrow, I’m sure cars will absolutely require a fresh slice of your private life before they deign take you anywhere.

Take a look at your car’s manual to find the fuse box and a mapping of what they control. In my case the box is by the passenger side’s right foot. It’s work to move the panels it’s behind out of the way. The manual points to a likely candidate:

Yup, sounds like the sort of shit I want to nuke

So I removed it and hoped for the best.

Next thing you know, gone is all the worthless bullshit Ford reimplemented worse than Apple so they too could suck up your data.

It brings me pleasure to see incapacitated corporate malpractice, but I know things will only get harder with time. At least I got me a 10 year respite.

Fake Time in Docker

What if you need a container to have a different time than its host? Well, LD_PRELOAD has a solution for you. While this solution generally works outside of Docker, I rarely find myself outside of a container these days. I like that it works in one without requiring special privileges.

Dockerfile:

FROM ubuntu:latest

RUN apt-get update --fix-missing
RUN DEBIAN_FRONTEND=noninteractive apt-get install git build-essential -y
RUN git clone https://github.com/wolfcw/libfaketime.git
WORKDIR /libfaketime/src
RUN make install
RUN echo "/usr/local/lib/faketime/libfaketime.so.1" > /etc/ld.so.preload

ENTRYPOINT bash

Build with:

docker build -t faketime .

Run with:

docker run -ti --rm -e FAKETIME="1970-01-01 00:00:00" --name faketime faketime

Of course you can run the “date” command to confirm, but this fake time percolates to all processes in the container. I was reminded of the existence of LD_PRELOAD to hijack system calls recently, and remembered this old trick I had stashed in my notes.

And just in case it goes away, I mirrored the excellent repo this is based on here.