Willow: “I am a furry hobbit, therefore I deserve three times this many treats.”

Corky: “Does human shower in gravy? I must find out!”

Misty: “You should have food in hand when rounding the corner.”

Also the suggestion that dog food be eaten instead of yet another treat may be considered very insulting…

:find – where have you been all my life?

Over the last fourteen years of using vim, the rate at which I discover features and commands probably slowed a lot after the first six to eight years. As knowledge of awesomeness expanded, and business reasons limit my lurking in #vim irc, the the intake has been kinda slow. It didn’t really take long to learn enough vi to be highly editing effective, and some years of using vim all the fricken time, will probably teach anyone most of the important stuff.

Today, I discovered a new-old thing. Or had one of those “Where have you been all my life?” moments.

I often find myself copying a path; usually done via tmux’s copy/paste features, as I’m a keyboard whore, and not every terminal I rely on lets you use a mouse so readily for that. And then pasting it into a vim command to open a file, be it :e[dit], :tabe[dit], :sp[lit], or :vsp[lit], or even just to go do `vim somefile’.

Today, I was doing a fair bit of find commands to go look up a file, because when you have a solid state drive and some people like dozens of folders in nesting, sometimes that’s faster than remembering enough for tab completion.

Then I had a thought, “Hey, isn’t there a :find for looking up files? There’s gotta be a way to open those results in a buffer.” And of course there is!

Much to my disappointment, :find foo doesn’t really search many places. The default path on *nix is something like ., /usr/include, and the heck a trailing coma means (path=.,/usr/include,,). Which is great for something like :find sysexits.h but not so much for crawling a directory structure. But there’s a solution!

    :set path+=**
:find foo
-> suddenly qux/ham/spam/eggs/and/yippee/ki/yay/foo opens in the current buffer.

There’s a fair number of vim things that I’ve learned over the years, and don’t often need. On an occasion they teach me good things when I am smart enough to go look for them again.

I’d like to think that two of these should be enough to fill most people up for dinner. Eat all four and you’d need a nap.

While I don’t usually make tacos like this, I can’t help but think if I had made a large batch of rice, I could have  basically packed three large lunch containers with rice, beans, and a folded taco on top and call that dinner for the week. And then ate the rest, lol. As it is, I still have leftovers but not at that scale.

But those containers are already full of beans and macaroni, and not available. The other containers aren’t big enough to include the taco on top, so they’d end up needing separate packing for the fridge.

Willow just wishes tacos were for doggies.

Smart doggos:

Willow’s comfy in the foreground, Corky has claimed my pillow, and I’m not even sure if Misty’s snoot sticking out from the blankets in the middle can be seen in the photo, lol.

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.