The Insane Engineering of the Gameboy

Nice video giving an overview of the classic handheld’s architecture. The opening may be a little bit harsh IMHO, but also not unwarranted. At least, the way that I look at it the hardware is closer to what a microcomputer could have passed for just over a decade prior, and devices like the Apple II or TRS-80 were hardly portable and battery friendly devices.

That’s a trend that I think largely tends to continue with really portable devices. I remember looking at data about the first Raspberry Pi, and decided it would likely be on par with a ten year old PC — except closer in size to a credit card than a microwave oven, and pretty darn cheap. Likewise, while I find the Steam Deck’s graphics very unimpressive, I find it amazing that someone crammed an Xbox One level of horse power into such a portable package.

It’s pretty darn cool how that sort of evolution plays out, even if my wrist watch literally has an order of magnitude more computing power than my first Personal Computer….

A Rough Network Plan

Now that the great network migration phase two is pretty stable, where I have the new Eero providing the backbone and a pair of name servers providing DNS with a hand managed zone, it’s time for planning the next phase of the operation. That is to say, DHCP services.

For the most part, I stick to IPv6 addresses now with an IPv6 Unique-Local providing the internal definition of my home.arpa environment. Eero seems to let clients SLAAC away but at some point, I need to snoop closer on its IPv6 support to see if it is doing any kind of goodness like RDNSS/DNSS, but it mostly does DHCPv4.

So, I’m seeing two points of interest here for my DNS arrangements.

Option A.) Ignore the IPv4 world totally and setup DHCPv6 services for my dynamic updates needs. After all, I mostly want AAAA-records not A-records.

Option B.) Set Eero to the good ol’ you’re on your own pal mode and setup both DHCPv4 and DHCPv6 services.

Perhaps I will start with option A, since it is closer to DWIW and should get me what I want; which is IPv6 with dynamic updates to my local domain. But here’s a little thought for option B using Eeero’s default /22 network as a point of reference for the addressing scheme.

192.168.4.0/22      -> 192.168.4.1 - 192.168.7.254
192.168.4.1/22 -> gateway.home.arpa
192.168.7.255/22 -> broadcast
192.168.4.1-16 -> range for routing services; e.g. eero/ap.
192.168.4.17-254 -> deprecated, reserved for fallback to eero.
192.168.5.0-254 -> range for network services; e.g., dns, dhcp
192.168.6.0-255 -> DHCPv4 pool
192.168.7.0-254 -> | ~512 addresses, half the space.

This would effectively give a static space equal to the first /24 worth of the network that’s intended to be hands of for the oh-shit plan. While the DHCPv4 leasing is pretty aggressive on the Eero, I don’t think I’ve see any devices allocated higher than the first octet. The idea being nothing that’s not a router, an access point, or something getting a lease from switching from my server back to the Eero’s DHCP server should land in this portion of the network.

Following that would be a static space equal to the second /24 worth of the network, intended to be allocated for services. Either by static allocation or just making a static reservation. Let’s just say, as much as I like technology, I’ve managed long enough with a lone /24 for my entire household that I’m sure I’m not going to pull 254 static IPv4 addresses out of my ass anytime soon.

Meanwhile the portion of the network roughly equal to the last /23 of the network, effectively the back half of the network and least likely to be interfered with if the Eero ever happens to ‘forget’ its in static mode, would be client addresses. Which are very much intended to be “Don’t give a fuck about” addresses in the sense that the only IPv4 addresses I use are cases like using dig to poke one of my name servers and not wanting to type its IPv6.

One of the food for thought items on my plate is whether or not I want to ‘unretire’ my old file server, Cream, and turn it into a replacement for ns2. Right now, ns2 is running off a Raspberry Pi Zero W that was originally intended to be a RaSCSI drive for my PowerBook.

Ahh, well, I’ve got other things to do for the moment.

Menus, someday menus

Finally taking sometime to go poking around with the system, I’ve finally figured out the process for converting my top bar into a proper set of menus. Which is in large, why my current website design has fewer pages than my old environment did.

But of course this raises the larger question, of just how I want these to be ordered. I suspect that the current two, will become part of a larger “About” and some semblance of order will follow for other things. Since this place serves as my journal, it is mostly blog posts; but there are other pieces of content that I tend to have an interest in maintaining, where it’s undesirable for it to be lost behind the great ‘when the heck did I post that?’ factor :P.

Ah, well, other things to get done.

Dreams and Ironies

One of the staple backdrops that often appear in my dreams, is a derivative of the apartment where I lived from about age eleven or twelve into my early twenties. It’s actually been kind of an oddity, that I never, or almost never dreamt of the apartments that I lived in after that. I’ve wondered whether or not that would remain true for this house.

The other day, I had a dream involving my garage and an issue of garage door that kept trying to open itself, followed by chasing a box that literally ran off, until a cap leapt out of it. Ironically, this morning I was dreaming of discussing both this trend, and how much nightmare fuel the utility room had provided where it’s often been enlarged to like three times the size. And mentioned yesterday’s dream, get this? All while at that old apartment, and right outside of said utility room 😅

Aside from that old apartment’s style being a bit dated, since it had a fairly distinctive T-junction design, it’s a relatively easy to identify place. Especially when you lived there for like thirteen years of your life, and memorized things well enough to navigate in the dark well enough to find candles and flashlights, lol.

Scaling Done Right

Before I undocked Shion, I had a desktop full of stuff, roughly in the form of three windows across the top of the display, two across the bottom, with a mini-player of music in the corner.

While I was undocked, I was mostly doing other things.

Coming upstairs and re-docking, I’m pleasantly happy that everything is effectively where I left it before transitioning from a 32″/2160p screen to my laptop’s 13.6″/1664p screen.

If anything, this is one of the reasons I’ve come to prefer one big-ass monitor over two proper sized monitors, and have come to appreciate macOS’s scaling methods being sane. That is to say, it’s not like going a dinner platter to a postage stamp, so much as roomy to cozy and back again. A far cry, from for example, eons ago having the problems of shifting a PC between 600p, 768p, and 1200p screens causing tons of ruckus and disorder.

Laptops > Desktops

Working on a screen full of files, listening to music, yada, yada when I remember I should’ve started cooking half an hour previously, I’m reminded of one of the reasons I prefer laptops for things that aren’t rack mount friendly.

The big juicy monitor ™ provides a nice 32″ workspace, the thunderbolt docking station nets me my keyboard/mouse/etc and a gigabit link straight to my file server within two hops. Heck, I even like the speakers 😀.

Yet just the same, it’s rather convienant to be able to undock, grab my laptop and bring it downstairs. Since the speaker’s and battery life aren’t shit, it’s an easy matter to have my music continue in the background while I’m cooking, and then pick up where I left off for a bit while I’m waiting for the oven to finish it’s share of cooking duty.

Increasingly, I’m inclined to believe that owning a desktop will fade by the wade side. The big honking GPU is the key reason that I still own one, since the need for expansion cards and reconfigurable internal drives have become less necessary as more compact form factors have become more capable and external connectivity have become faster. Plus, despite my early interest in diskless virtualized workstations and remote desktops, nothing really beats a good client machine for doing client machine tasks just like nothing really beats a terminal for doing terminal oriented tasks.

Maybe I’m just getting old 😛

Apparently, one of the reasons Steam Deck’s underlaying technology owes to Nier Automata if the itnerviewlets at Proton and Tier: Automata – the unique story behind what makes Steam Deck tick, are to be believed. Which really doesn’t surprise me.

Steam Deck’s graphics and battery life in my opinion aren’t as impressive as achieving them in such a small, portable package. You get roughly Xbox One grade graphics from roughly Xbox One grade hardware, and x86 will never offer great battery life under heavy load. But it’s got one thing I love most of all.

Video games work on it. There’s a fair bit of video games on Steam that actually have a native Linux version, and unlike the support for macOS, it’s not quite a joke. But the vast majority of games are Direct3D based games for Windows that require DirectX. That’s how video games are written in this world.

Yet, Steam Deck runs them well as the hardware is capable. In ways that I was never able to achieve back in the day, now more than a decade in the past, using purely Wine and derivative solutions. So I find myself very glad now that folks made a video game with 2B and 9S 🙂

Actually, that reminds me: I’ve been debating picking up a copy of the game on Steam one of these sales. Haven’t played it since I was active on console, and I haven’t even bothered to hook up Deathstar One since moving thanks to getting Rimuru operational and Steam Deck largely taking over for both the ol’ Steam Link and Deathstar One.

TLS all the things

Passing thought, if I’m willing to go through the bollocks of setting up a bunch of name servers and probably rolling a DHCP host or two, I should investigate how possible it would be to run an ACME based setup on a private network; Ala auto renew your own self signed certificates.

Yes, yes, I know I’m a pain in the ass 😝