Some random numbers

If I run a split screen on my 23” at a usable font size, I arrive at approx 119×52 characters of display.

Comparably, if I SSH into my machine with a font size easy on the peepers for the 11” screen, the results are a very respectable 109×32 characters display. Which is probably the Shelly app’s default, or a notch or two above.

Running iVim locally, with a default font that’s hard on the peepers unless using the external monitor: 149×47 characters.

Generally, I aim for about 80×35~45 characters as a terminal. Going around 160 is when I start consider :vsplit windows viable instead of relying on regular :split windows. Maybe I’m weird but I tend to like having a source file | header file combo in my vim session, when I’m afforded a big ass editing surface.

Thinking about these numbers, I kind of hope that Apple fixes the brokeness for keyboard/mouse support. I can use my keyboard, or I can use my mouse, but the moment that both are connected, iPadOS 13.2.3 decides that keyboard I/O should become like packet flow over a smoke signals modem. Which makes me less thrilled to dock my iPad until OS 13.2.4 or 13.3 happens, and cross my fingers that I won’t be stuck waiting until iPadOS 14.

I suppose that I could try pairing another Bluetooth mouse to see if for some reason, it simply hates my Logitech mouse, but I don’t imagine that I’d be that lucky with how much of a buggy mess iOS 13 has been.

RETRO TECH: OFFICIAL TRAILER

Not sure how I should feel, when I find myself thinking that much of my childhood will probably end up in a museum before I die from advanced age, but this series might be worth watching.

10 Must-Watch Anime Turning 10 In 2020

Not sure if the ratio between on my watch later list for years versus yeah, I’d say watch that; is a good or bad ratio.

Also, this reminds me that I never watched the finale of Maid-sama. That was a surprisingly good comedy.

Captain’s log, stardate 2019.334

Misc thoughts from the holiday.

Despite how depressing my life might appear to some outsiders, I’m actually pretty happy. Thankful for the good things in my life, and hopeful that they stay that way. As the old prayer goes, “Grant me dexterity for things I cannot kill, Crit for things I can, And enough points in wisdom to know the difference”

Making reuben sandwiches reminded me just how damned delicious a good sandwich is. Didn’t find any cuban or rye bread when I went shopping, so I grabbed a loaf of Texas Toast in the hopes that it would at least hold up to the frying. Experiments in eating leftovers make me think, getting this again might be a good plan. It’s thick enough that I can actually pack a sandwich well, the kind my momma would make; without being as cost and space ineffective as a hoggy roll.

I might be a terrible human being if I’m inclined to share my sandwich with the doggos, and then threaten them with hugs as the price of giving me a “Hey, where’s the follow up treats?”. Or just a weirdo.  Yeah, I’m going with that last one.

Willow and Misty are definitely smarter than me when it comes to being comfortable.

Revising one of my old projects, I’ve come to two conclusions, well three but that’s another paragraph. First is when I do stuff at home: the working conditions are kind of brutal. A positive side of working on work stuff at work, is there is more encouragement to take micro breaks. You know, like drinking a cup of coffee or taking a piss. It’s very draining to code at home, and I’m not a seventeen year old kid no more.

The suffering of CMake while reviving one of my own projects, finally crossed the “Just live with it” point, and I spent my day making a really good start on a simple json -> build.ninja generator. It probably helps that C++ and I are long time companions, and that I’ve a high tendency of hand writing build.ninja files rather than using a tool to generate them.

And whoever the hell decided to wake the neighborhood up at 0400, better knock that shit off. My first thought was neighbor taking the family on a their own Vacation ’83, my second thought was wondering if they’re skipping town before rent’s due. In any case Corky and I didn’t enjoy the sleep disruption.

In spending the past week abusing myself with CMake, I think two things are fundamentally true and unlikely to ever change:

  1. CMake 3.16 beats the crap(!) out of 2.x.
  2. I will never, ever love CMake. Period.
On the positive side, in the years since it last pissed me off, they’ve added support for generating the build for Ninja—a tool which I do love very much. So at least, I get to solve my problem, and I don’t have to deal with MSBuild, NMake Makefiles, or Unix Makefiles. Although, I might have gained a few new grey hairs along the way. I very much would prefer the generated build did more actions in ninja than in cmake, for a multitude of reasons.
My hate for CMake 2.x mostly stems from its tendency to complicate my cross platform efforts rather than aid them. Quotes I’ve made over the years about autotools, often stem from dealing with either CMake or SCons.
My hate for CMake 3.x mostly stems from the nature of what it is: configure, generate, build shit; and consistency issues that follow that. Actually, it makes me remember the compile versus runtime stuff in Perl 5, and recall the times I’ve muttered: “Yeah, please just don’t !@#$ with that, pal.”
The difference there, is perl and I are old friends. CMake and I are old enemies. That, and I suppose these days the number of people that like the former outweigh the latter.

Musing from an E6430S

The things I’d actually change about my Latitude:

  1. Not weigh 3~4 lbs.
  2. Have more than 16GB of RAM.
  3. Have USB-C where the USB2 + ESATA is.
  4. Swap the rear USB3 and side VGA cables.
  5. Have internal Bluetooth instead of dongle in my rear USB3 port.

Notice, these are pretty much in the order of impossible, lol.

Newer machines offer faster processors and better capabilities for USB-C than Stark does, but not by much. I think the hardest to solve is the weight problem. The closest thing to a lightweight laptop in Stark’s formfactor is the X1 Carbon, and I say that’s lightweight relative to its peers rather than my tastes.

And there in lays why when I reach for my laptop at home, it usually has more to do with an x-terminal than a keyboard. Because my tablet’s weight is < 0.5 kg and my laptop’s weight is < 4 kg.

On the flipside, one of these days I should probably dig up one of the old E-series docks and see how well that works with Linux. I seem to recall the D-series docks worked pretty good with FreeBSD if you followed polite undocking procedures, and I don’t think Linux gives as many farts about the hotplugging.

Sometimes it’s hard to decide whether the room I’m in is defined by what I’m trying to do, or by the comfort of dogs.

Willow’s well versed in finding the most comfortable spot she can, and in where the food eating happens.  Mostly she chooses her spot based around where I’ve chosen mine: but she doesn’t hesitate to influence this ad the requirements for comfort and such change.

The amount of times I end up changing between living room and bedroom to suit Willow’s preference, is probably balanced by how often my drifting around doing stuff causes her to follow me around and wonder if I’ve lost my mind or started sleep walking.

Have I ever mentioned that Willow is a lot smarter than I am?

And far more comfortable, lol.

How Much of a Genius-Level Move Was Using Binary Space Partitioning in Doom?

I still remember the first time that I played Wolfenstein 3D. It was on a contemporary hardware, as a minigame in a far more recent Wolfenstein game. My first thought was how rudimentary simple it was; my second was “Holy crap, you could do this on a 286?”.

By modern definitions, I don’t think anyone would be thrilled by the limitations Id’s early engines had for map geometry. But I think for their times, it was a small price to pay given the hardware. And to be fair, as a kid, when I first played DooM ’93 on a Sega 32X^, I certainly didn’t notice. Years later when I would play it on a PC, I didn’t care—because it was still fun. All these years later, I still find DooM ’93 to be a lot of fun. That’s the real success of a video game, I’d say :P.

For the time, even the console ports were pretty impressive games. I mean, most of the games we had looked like this:

Meanwhile if you popped in DooM, this was what you got:

That just didn’t happen, lol.

Many times that I’ve read about porting PC games to the Super Nintendo, and other consoles, they’ve usually been stories that I would describe as “Lossy” or “Brutal” depending on the complexity gap. Such as when an arcade machine was far more powerful than a console, or a PC simply had more oompth than a console.

Id’s games were kind of revolutionary: both in their visual technology, and in their portability. Wolf 3D, DooM, and Quake were pretty widely ported during their era of commercial viability. Post open sourcing of their code, they have come to run on virtually everything, and anything. As technology has advanced, we’ve probably reached the point where it is no longer a surprise if your wrist watch is more powerful than many of the things DooM ’93 was ported to in the ’90s.

Today, I think that DooM’s use of BSP is somewhat novel. You should think of that today, or your hardware is probably so powerful compared to your goal: that you just don’t care. Given a decent computer science education, the concept isn’t the leap into rocket science. Today though, I imagine most people aren’t tasked with solving such a problem, because they live in the world John Carmack helped create: one where we have this thing called a Game Engine.

When Carmack programmed these games, I don’t think it was so obvious a technique. People were still struggling to make PCs do this kind of thing at all. Resources for learning these things have also changed a lot over time. Many of us have the advantage of knowledge built on the minds of geniuses, if we have any education at all—and the code.

Two of my favourite engines to read: are modern source ports of the Quake III: Arena and DooM engines. By releasing the code into the wild, I think it helped all of us learn better how to solve these problems. Both the things you can go off and learn, and the code you can get ahold of have evolved since these games were written. But thanks to games like DooM: it’s easier for us to do that today. Because technology is built upon what came before, by extending the ideas of others in new directions and taking advantage of improved hardware.

Genius isn’t in using a rock to smash something, it is in realizing you can smash things with a rock far better than your thick head.

^ Being around 25 years later, my brain cells are foggy. But DooM was one of my brother’s games, so the first thing we had that played that would probably have been the Sega Genesis, which AFAIK means 32X release. We also had the PlayStation versions of DooM, Final DooM, and Quake II but those were later in our childhood.

Damn it, fruit co!

Reasons to look forward to a knew iPadOS version: if I connect my keyboard or my mouse individually, they work excellently. If I have both connected: the keyboard lags at a rate of 5+ seconds per character with frequent drops and repretitions.

So basically, Apple seems to have broken the ability to use a keyboard and a mouse at the same time in 13.2.3. Nevermind that that mouse support and productivity are cornerstone goals for iPad OS 13 o/.

On the positive side, disconnecting the mouse fixes the keyboard distruption about as instant as the connection terminates. And restores it as fast as the mouse reconnects.  So unlike most issues I’ve experienced with iOS 13 bugs, reboots aren’t required.

I find this less amusing when you take both the fact that I am more inclined to use my tablets with mouse/monitor/keyboard than most people, and that the touchscreen keyboard vs the physical keyboard is a delta of about 40~50 words per minute in my typing speed. And Apple’s floatly keyboard with the pen input is one of the buggist mother fuckers ever shipped.