Today’s newspapers offer a feast of anxiety. A quick overview:

  • Russia/Ukraine war – many, many countries are proposing to stop purchasing petroleum exports from Russia. The US is proposing to start buying oil from Venezuela to replace the Russian oil they’d been buying, to try to avoid an energy price shock.
  • The bits of tires that get worn away as vehicles drive around are “micro plastics” or even “nano plastics” and when that sticky black dust gets washed off the streets and sidewalks and buildings and trees, it goes into rivers and lakes and the oceans and then the creatures that live in the water get sick and die.
  • Shell — the petroleum company — today apologized for saying, yesterday, that money was important and so they were going to keep buying Russian oil.
  • Russia, since a bunch of big tech companies are refusing to do business with them, are thinking of legalizing software piracy.

This is a kind of radical idea. It’s impractical. Consider it an aspirational stretch goal. What if we didn’t burn fossil fuel? What if, instead of traveling around in vehicles with tires, we more or less stayed put? What if stuff moved by rail and the last mile was janky carts with wooden wheels? What if, instead of subscribing to software as a service, you just paid your money up front and then you owned it, like a book? What if it was obnoxious to go online, so you only did it once a day?

Capitalist corporations are garbage. They are anti-life. They are embodiments of neural nets with selection criteria that do not include human welfare. What if all the humans said, “It’s actually okay for a corporation to die, if it means a human gets to live.”

What if, when faced with the option to do something horrible for ourselves or for others, we just…didn’t?

Characteristic: Overkill

So, we’re refugees. Also, I’ve been thinking about store-and-forward, intermittently-connected networks for a good long while. Looking at where life is going and how we plan to navigate it, I’m only going to be more intermittently-connected, with longer periods of isolation, not less/shorter. So, I want to start solving problems now, before I’m cut off from the wider Internet’s resources.

Email: pretty much a solved problem. It’s already store-and-forward. Compose an email, queue it up for delivery, and the next time my mail client can actually reach my SMTP server, it’ll get sent.

Documentation: Dash is great. It already pulls in updated documentation packages when my computer is connected, and it doesn’t need to be connected to the Internet in order to display already-downloaded documentation packages.

Development: If I use Docker and SPM and am careful about only referencing images that I’ve cached locally, and make sure that my package files refer to dependencies that I’ve got locally, then it should be okay. This is the most problematic bit. When I was doing all my development in Java, I ran a local archiva server and that way I could even blow away my maven cache and still have access to artifacts without the Internet. I really wish there were some kind of caching proxy for git repos. A superficial look around has found some bits and pieces, but nothing so fully-developed as archiva. Goblet comes close, but would require more work to make it usable at all, and still doesn’t solve the problem of, “the Internet is on time-out.”

Really? You Have Opinions?

“I see that you are wearing a garment decorated with shapes that are obviously linked to a widely-appreciated cultural artifact. I assume, therefore, that you would like to have a conversation about that with me, a stranger on the street, rather than go about your business in the shops, one of which I just witnessed you leaving and another which I see you are about to enter.”

How about, instead, you just nod and smile, maybe mutter, “Cool shirt, man,” and go about your own business?

T-shirts are great for several reasons, which I shall now enumerate.

  • They are easily cleaned. Throw in the washer, run through the dryer, no ironing and no hanging required.
  • They provide a small amount of insulation, so that they’re comfortable to wear under a wide range of temperatures. Walking down the street, sitting in a room, walking down the refrigerated section of the grocery store — it’s all good.
  • They are close-fitting, so they don’t generally flop into whatever mess one is dealing with. Sleeve in the dish water? Tail dragging along the counter? Nope. And, even when it does happen, see above re: cleaning.

However, t-shirts are also lousy, because humans are garbage. If I wear a plain white t-shirt, it feels a lot like underwear. Some folks have no problem walking around in their underwear while doing their errands; I am not one of them. I have internalized social norms from another age, one which held that there are standards of dress for going out in public, and visible underwear is Not On.

Colored t-shirts are widely available — so long as one is happy to have words and pictures on them. And honestly, the words and pictures are often attractive or interesting and therefore not a negative. But, and this is the part that sours me on living among humans, there’s a small but significant percent of the population that thinks, “Hey, I recognize those words/pictures! I Have Thoughts That I Must Express!”

You know who else thinks like that? My dog. And, just to be clear, when he’s out there expressing his thoughts, everyone within audible range is aware that my dog is an asshole.

Speed Is Relative

When Apple announced their custom CPU machines, part of the hype was how fast they are. I saw a bit of buzz like, “Oh man, my compile times are so amazingly fast,” from people who went ahead and got the Mac Mini with the M1 chip. I waited for the 16″ MacBook Pro, and I was expecting…well, you know, speed. That’s what everyone said, right?

In 1995, I worked at a startup in San Jose and we used PowerPC based Macs to build our software. We used CodeWarrior, because its compiler was way faster than MPW (and its UI was less user-abusive…some things don’t change; Apple’s developer tools still hate developers). Even so, when we kicked off a build, we had time for two (sometimes three) programmers to play a couple rounds of darts.

Today, I’m working on a project that builds in a Docker container. Because of this, every single time I rebuild, *everything* gets recompiled. When it’s two files, who cares? But when it’s hundreds…well, I don’t care what CPU you’re using because the process is not CPU bound. Compile times are I/O bound, once you’re not allowed to cache intermediate artifacts.

During this rebuild, I wrote a blog post. Next one, I’m gonna go to the bathroom. After that…practice the bagpipes?

Software Release!

I’m pleased to announce the release of an updated version of Stumpy. Mostly, the differences from the previous version will be invisible; the one user-facing difference being that, since I’m only supporting macOS 12+, I can wrap the list of servers in a ScrollView, so you don’t have to resize the window if you’re running a bunch of servers. (Like I do.)

Of course, I always get nervous when I get close to releasing software to production. There’s this tension between, “get it solid so you can ship,” and, “make it perfect so you are proud.” Part of being a professional is accepting solid over perfect, so now I’m busy filing bugs against my own software so that I can remember how I’m supposed to make it better. Honestly, I would love for all three of my readers to do likewise.

I’m only sort of kidding — I know that I’m the only one who cares about this particular project; after all, if more people cared, they’d have been feeding back to dumbster or to the previous version of Stumpy. Still, having more people makes it easier, a little bit. But, the fact that my email inboxes are full of so much malformed marketing bullshit suggests that the people who would really benefit from Stumpy don’t actually care.

Anyway. The (to me) interesting part is that I’ve rewritten the networking layer to use SwiftNIO. This has already simplified some of the architecture of the application, and it’s given me some really valuable experience with NIO. This will come in extremely handy with my future projects.

Vacation Nerdsnipe

We bought into Disney Vacation Club some years ago, because having a timeshare would mean we’d have this incentive to take vacations. We are bad at taking vacations. There’s always stuff to be doing, after all.

But if you don’t use your timeshare, that’s effectively money you just gave away to be burned. So…take a vacation! Awesome. We’re doing that. And our lives are better. But now, having booked one, I couldn’t stop clicking around on the DVC website. Oh, they’re partnering up with National Geographic to offer different vacations? That sounds cool. What are they…oh, check it out, walk the Camino de Santiago and learn all about the stuff there. Neat! I totally want to do that! And ask someone how it is that the Spanish for “James” is “Iago” because that makes no sense at all. Some language is having some fun, is what I’m saying.

And I totally do want to do that…wait a second. Walking. Yes, that would be rad. I totally want to…sure, sure, I have arthritis and can’t actually be walking all day for two days in a row, let alone 11, but I…no, I don’t know whether Lise would want to or not, but it would be pretty cool still, and…yeah, okay, no, probably not actually realistic. And there’s a half hour I’m not getting back, but still.

National Geographic. Spain. Churches, museums, architecture, and exercise: how can you not be interested?

Tabloids, All The Way Down

So, in “The Avengers,” there’s a scene where Tony Stark and Pepper Potts are having 12% of a moment when they’re interrupted by Agent Phil Coulson. Pepper addresses him as, “Phil,” and Tony says, “…His first name is ‘Agent’.” This is funny because that’s not his name, and it points out how narcissistic Tony is, that he doesn’t even care about another human being enough to learn his name.

Some time ago, I enjoyed supermarket tabloids, and the part I enjoyed most was the part where they didn’t pretend to be anything other than entertainment and heavy-handed satire. Because I was a young idiot and I liked the feeling of being in on the joke. Anyway. One of the tactics there was to attach a signifying tag to a person’s name. Maybe to tell us how we’re supposed to feel about them, or maybe just to remind us why we’re nominally supposed to be interested in a story about them. Whatever, the tag always appears next to the name, so the tag becomes part of the name.

So now, I’m thinking that isn’t funny, it’s just disrespectful and manipulative, and it’s appropriating someone’s identity. It’s kind of violent, really, and gross. Anyway, I stopped being entertained by the tabloids several years before The Weekly World News went under. Occasionally, I think about Ed Anger or Bat Boy with a little nostalgia, but I also suspect that if I were to go back and read any of those articles I’d be less entertained than I remember.

And the only reason I’m thinking about all this right now, today, is that I’m suddenly struck by a pattern in the headlines of nominally serious news outlets. From yesterday’s Washington Post: “Brazil’s Bolsonaro hospitalized with abdominal pain, floats possibility of surgery.” Prefixing the president’s name not with his title but with his country seems a little strange, but maybe, if he hasn’t been in the news lately, people don’t know what country he’s from? But why would we care especially if some otherwise unremarkable Brazilian were hospitalized and possibly going to have surgery? I’m sure there are thousands of people in exactly that situation. Oh, it’s because the Washington Post has tagged Mr. Bolsonaro with “Brazil’s” and not with “President”.

Sort of like how the American news media en masse decided that it would be, “President Bush,” “Chancellor Merkel,” and, “Saddam.” You know, high school sucked, and not least because it was full of unsophisticated teenagers. But it turns out that that is actually excellent practice for American society at large. No wonder I just want to stay in my room and not talk to anyone.

So, I’m Out

It’s already been well over a year since I looked at Facebook or Instagram, and at the beginning of the month I stopped looking at Twitter. After two weeks, I checked back in and nope, I hadn’t missed anything amazing, but I sure had missed out on a bunch of anxiety and whatever we’re calling the Twitter equivalent of vaguebooking. So, being essentially drama-averse, I’ve actually gone and deleted my Facebook, Instagram, and Twitter accounts. Here’s to a better 2022!