Reasons it’s hard to abandon a smartphone

Reasons (excuses?) that I cannot downgrade to a dumbphone:

  • 2FA apps. You can set up a generic TOTP program on your computer, but that’s not very convenient, and some organizations explicitly require you to use Microsoft or Google Authenticator. (I don’t know how they enforce this given that the algorithm for generating TOTP codes from the secret is an open standard.)
  • My apartment building used to require an app to unlock the package room. The app is proprietary and probably not secure. The only alternative to the app is to bother the staff to open the package room for you.
  • During the pandemic, Korea adopted a contact tracing system that involved scanning a QR code in an app on your phone at every business you entered. Many businesses would let you just write your phone number on a clipboard as an alternative, but some (Starbucks) required the app. Was the app secure? Has the database ever been breached? I sure hope not.
  • Concert tickets from dice.fm. They have an exclusive deal with many venues that makes them the only place you can buy tickets, and their system requires you to store your tickets in their app, for anti-fraud reasons or whatever. (At smaller venues, if you don’t have the app, they can manually verify your name on the guest list.)

I don’t like that a smartphone has become a de facto requirement participation in society. Smartphones have only existed for a few years. The main purpose of the “prove you own a (smart)phone” tests that most commercial and government services put you through these days seems to be to combat spam: Acquiring and maintaining a non-VOIP phone number that can receive SMS messages is too expensive for most spammers to do at scale. But again, I resent that the burden of proof is on me to prove I’m not a spammer instead of on the service to prove I am.

Circular regression when you already know the period

This Stack Exchange answer reminded me of a useful data science trick. In short, if you try to model yy as a sinusoidal function of xx, you obtain a regression formula that is nonlinear in the parameters. However, if you know the period, you can use a trig identity to linearize the formula and compute an exact least-squares fit.

Read more →

pipx install topgrade

Many Rust projects, such as Topgrade, also publish themselves on PyPI. This means you can install them using pip or pipx as follows:

pipx install topgrade
pipx install zizmor

This pulls a binary (wheel) directly from PyPI, which obviates the need to compile from source—handy on low-powered machines where cargo install can take a while to run or exhaust the memory (ask me how I know).

If you maintain a Rust project, it looks pretty easy to enable this installation method using Maturin.

Speaking of Topgrade: Topgrade is a helpful command-line tool that automatically updates everything it can on your system (think sudo apt update && sudo apt upgrade && flatpak update && ...). I recently got a PR accepted that enables Topgrade to run conda clean, which can free up gigabytes of space on a well-used conda installation. I also have an open PR (perhaps merged or rejected by the time you read this) that lets you configure additional conda environments to upgrade besides base.

Authenticity and the Illusion Slopes AI policy

I attached my real name to this site. That means that above all, this site must represent me authentically.

Authenticity is why I don’t use any generative AI tools in authoring or editing my posts. Heck, I barely even use spellcheck. The 2006 Adam Sandler movie Click pretty clearly spelled out the risks of letting an AI autopilot your life: Such technology promises to augment the self, but dilutes it instead. I would rather document my ideas, even if they aren’t very good, than some weird average of my thoughts and every Reddit comment GPT has ingested.

Authenticity also requires that I abandon any pretenses about what happens after I inject my thoughts into the world. I don’t use AI, but I don’t use any countermeasures against AI scrapers either, such as blocking OpenAI’s domains in robots.txt. If the scrapers don’t get the text from here, they’ll get it from GitHub, or from someone quoting me on another blog. Although I do not welcome plagiarism, it’s a risk I accept as the price of participating in an interconnected society. (If you want to reuse text from Illusion Slopes, LICENSE.txt gives the terms.)

Finally, on the internet, it appears difficult to combine authenticity with marketing. So, I don’t use Illusion Slopes to try to sell anything, nor do I employ any marketing cookies or user fingerprinting tech to collect statistics about the people who visit the site. Back when I used Blogger, I used to get some “dumb” analytics about post views by IP geolocation, but now that I use a static site generator, I don’t even know which posts are more or less popular. I like it that way; it ensures I am writing for myself.

Putting this all together, I realize that the Illusion Slopes AI policy is really a non-policy. I’m neither for nor against AI; it’s just “there,” a technology that doesn’t have much to do with what this site is about. That could change in the future, as the technology becomes more pervasive and harder to opt out of (and hopefully more useful). But for now, I am happy with the incidental benefits of failing to reposition my website for the AI era:

  • Without AI-generated filler images or heavy JavaScript analytics, the site loads quickly (I hope?).
  • Everyone who wants to read the site, can. I don’t have to worry about an aggressive anti-scraping filter that accidentally blocks legitimate users.
  • If I write something wrong, then won’t have to issue shallow excuses about how “the model told me so.” For better or worse, I own my errors.

Check this box to prove you are a human

Why is the burden on me to prove that I’m not a robot instead of on the server to prove I am? This is a vain question if you reflect on the adversarial nature of internet spam, but I am asking anyway. Here’s a fun game: Prove you are a human.