Nobody told me

Last summer, I bought a 21-year-old Honda Ruckus. For those unfamiliar, the Ruckus is a scooter. Its design is utilitarian, lacking fairings and storage. The tube frame is exposed, with the only somewhat decorative part being the battery box on the front. I’ve seen it described as a cult classic. You can still buy them new, for the 2025 model year (yes, it’s still on 2025, because it hasn’t changed), for less than $3000; the design hasn’t changed, and the parts are all interchangeable.

My original intention was to use it at Woodhaven. It’s a scooter with a 49cc engine and a low max speed, so riding it on roads seemed like an alien idea to me. I weigh more than the Ruckus, so I wasn’t doing the already-slow acceleration any favors. But all of the pictures on Honda’s website show people riding it on streets, so clearly it was meant to be ridden around town.

Being a cult classic, the Ruckus has an extensive aftermarket. And I mean extensive. Everything from wheels to engine can be modified or upgraded. Some parts of the previous generation of Honda Metropolitan can also be swapped in; however, the current version is fuel-injected, while the Ruckus still has a carburetor, so that’s no longer the case. I got curious, so I started poking and prodding.

I believe every model year has had an all-black color scheme and one other, including the current model year. For 2025 the non-black scheme is actually pretty nice: the battery box is beige, the rear frame is green, the wheels are bronze (I’m a sucker for bronze wheels), and the seat is brown. The one I bought was black with red “RUCKUS” lettering along the rear frame, so I figured adding some red would be cool. First modifications, then, involved some red: I swapped out the battery box, installed a lowered seat frame, added a cargo rack, installed foot pegs for more comfortable seating position, and installed some fancy bolts with red anodized washers. I also got a classy seat cover with red stitching, and added storage beneath the seat in the form of an open-top plastic bin.

Next up: lighting. I like LEDs, and the Ruckus is not so equipped. Swapping LEDs into the existing turn signals and brake light didn’t do the trick, though, so I swapped out the assemblies entirely. That was alright for the time being … and that turned out to be the last modification for summer of 2025.

Over the winter I got the urge to modify it some more. There was no way to get it from Woodhaven to the house in a reasonable amount of time without loading it into a truck or something, so in late April I grabbed a U-Haul and loaded a bunch of stuff into it, including the Ruckus. Shortly after I got it home, the real work began. Since the first week of May, I’ve done:

  • Removed rev limiter
  • Removed airbox and replaced with short air intake
  • Replaced exhaust pipe with free-flowing carbon fiber exhaust
  • Replaced coolant tank with something that just looks cooler
  • Re-jet carburetor for improved fuel-air mixture
  • Install Honda Metropolitan fuel sending unit (shows fuel level instead of just lighting up when it’s near empty)
  • Replace taillight with Yamaha R6-style taillight assembly
  • Relocate license plate to former airbox location
  • Install lightweight variator to improve acceleration
  • Install stiffer rear shock because I weigh more than the vehicle

The next two modifications, which are currently in transit, will be a GPS-linked digital dashboard and front turn signals. The current turn signals are vertically-oriented and are easily blocked by the barrel-shaped front cargo bag I use, so I’m replacing them with horizontal ones.

So where does the title of this post come into play? Well, I rode the Ruckus to work once last week. It was my first time riding a two-wheeled vehicle on public roads. Nobody told me how much fun that would be. Yes, with a 49cc engine the Ruckus is slow; no, that doesn’t detract from my enjoyment of the experience. Nobody told me how much fun it would be to work on the vehicle. The feedback with each modification feels immediate, so you know if you messed up with no delay.

I want to get the M endorsement for my license now so I can ride something with an engine larger than 49cc.

It’s just a hobby.

It’s just a hobby. It’s just a hobby. It’s just a hobby. It’s just a hobby.

This month, I have run three live streams. They were all for my daughter’s school, so there wasn’t all that much variety in the scenery, but I can’t say they went badly.

As per the tagline of this site, I’m just this guy, you know? I’m an IT guy. I work in with switches, routers, firewalls, servers, air conditioners, battery backups, automatic transfer switches, and generators. So, what business do I have running live streams? I use the word “business” in a figurative sense, of course, since I volunteered to do this. What the hell do I know about videography or live broadcasting? Honestly, not all that much.

I had a huge section of “what the heck is this guy rambling about” written out, but the short version is that, after converting some VHS tapes to digital, I didn’t want videos of my kids’ school sporting events to look terrible in the future, so I grabbed some used mirrorless DSLRs off eBay and B&H. Other families wanted copies of some of the sport videos I shot, so I guess I started being seen as someone who was mildly competent at that sort of thing.

My daughter’s school has its own Youtube channel specifically for live streaming, but it wasn’t really being used that often. Sure, some of the sports were being streamed using some Logitech Mevo stuff, but the guy running the streams was not going to be with the school anymore once his kid graduated. Because I was the guy who seemed to know camera stuff, live streaming was going to come to me. I’ve used OBS before, so one way or another, I was going to use that.

Some of the gear I’ve acquired includes a recording monitor, for which I’ve acquired a broadcast switcher add-on, which was much cheaper than buying a dedicated broadcast switcher. The first stream used three cameras directly connected to the recording monitor and it was … alright. The second stream, though, was probably the most fun one to do, as it used one directly-connected camera and two connected via wireless HDMI — which is actually a thing, and it works shockingly well. That one ran over 9 and a half hours. The stream dropped a single-digit number of frames over its duration, which is nuts. The last one was a single-camera one with text overlays and such.

Thing is, there are actual companies that do this. Anyone can rent a streaming setup and hire some folks to do this all for ’em, but here I am, sitting on a folding chair in front of a table, or on the top row of the bleachers, making it happen. I’m not complaining about it — far from it, as I just got done saying, it was fun. But this is quite literally just a hobby, something I don’t do professionally. There’s obviously a way to monetize it, but is that something I really want to do? My fear is that if I do, it’ll suck all the fun out of it, which leaves … what for fun, exactly? Games? There’s only so much of that I can handle.

So … it’s just a hobby. It’ll remain just a hobby.

New File Server

It’s been a few months since my last update. Lots of things can happen over four months, and a lot of things did happen over four months, so I’m going to talk about some of it.

The file server in my living room has been decommissioned. I still have the hardware and intend to use it somewhere because I don’t like the idea of contributing to e-waste, even if it’s Ivy Bridge-EP with DDR3 memory. I’ve also decommissioned the Synology DS418 I’ve been running for several years; however, as I still needed file storage, I built a new-ish file server My goals with the new device were pretty simple: build a NAS that combines the capacities of the old ones, provides faster write performance than either old one, provides room for expansion, and is efficient enough to run in the basement without tripping a breaker, while maintaining a price point at or below that of an 8-bay Synology NAS. From a software perspective, I needed an operating system that let me a mix of hard disk capacities without having to sacrifice spare capacity provided by the larger disks in the set.

With these goals in mind, I settled on a SuperMicro X11SSH-GF-1585L mainboard. This is alphabet soup: it’s a Micro-ATX board with one PCIe x16 slot, one PCIe x8 slot, and one PCIe x4 slot (in x8 form factor); one PCIe M.2 socket; six SATA3 ports; four DDR4 SODIMM slots; and, crucially, an Intel Xeon E3-1585L v5 CPU. The one I grabbed on eBay had those four SODIMM slots populated with a total of 64GB of RAM, which is simultaneously the maximum the board supports, and the amount I wanted to use. The CPU is a 4c/8t part, contrasting with the 10c/20t CPU I had in my old TrueNAS server. Realistically, this is plenty as the server will primarily serve files and won’t need the extra compute horsepower. Additionally, the E3-1585L v5 is a 45W part, whereas the E5-2690 v2 it replaced was 130W, so the drop in core count contributes heavily to my efficiency goal.

The PCIe x16 slot is occupied by a 16-port SAS HBA, increasing the total drive capacity to 23 (including the M.2 slot). The x8 slot holds a PCIe M.2 card, pushing that count to 24. Finally, the x4 slot has an Intel 226-V, which increases the network speed from the 1Gbps provided by the integrated I350 chip to 2.5Gbps. All of this means that the GeForce GTX 1650 in the TrueNAS box isn’t being reused, further contributing to the power efficiency of the new box.

The case I chose for this application is an odd one: the Jonsbo N5. It’s a big black cube with a pair of backplanes yielding a total of 12 3.5″ hot-swap drive bays. The bays themselves are trayless: Jonsbo provides a set of HDD screws with rubber grommets and rubber handles that must be attached to each drive in order to slot it in properly. The one ding I had against this case was that the fans didn’t generate enough airflow to cool the CPU effectively, as it came equipped with a 1U passive heatsink. Even attaching a 92mm fan to a 4 duct didn’t push enough cool air to the CPU. I did manage to find an active copper heatsink for the CPU, which brought its temps into a sane range, so I swapped the passive heatsink for that one and kept the 4″ duct for good measure.

While TrueNAS Scale does support the use of mixed hard disk capacities, it will limit the usable capacity of each drive in the array to the smallest disk’s capacity. So, if I throw two 6TB, two 8TB, two 10TB, and two 12TB disks in a single array, the larger disks will all be treated like 6TB drives. I really liked the Synology Hybrid RAID feature, which allowed me to use all of the capacities of each drive. For example, RAID 5 (or RAIDZ 1) would yield a total of 38.2TB of usable capacity with these drives, but SHR would yield 54.5TB — a huge difference that effectively rules TrueNAS Scale out. There are ways to run Synology’s DSM operating system on non-Synology hardware, but apart from being against their license terms there’s no guarantee the methods will support future DSM versions, so that’s out as well. Ultimately, I decided on Unraid as the operating system for this build.

Let me tell you, it’s a good thing Unraid has a 30-day trial. I had never used it before and didn’t want to pay for a license if it wasn’t going to suit my needs. However, within the first 5 days, I knew it was the perfect fit, so I sprung for a Lifetime license. Within the first 10 days I had half the drives fail (the 6 and 12 TB ones), so I replaced them with 8TB ones. I also added a pair of 64GB SATA DOMs (basically tiny SSDs that plug directly into the SATA ports on the mainboard), and a pair of 512GB M.2 drives as mirrored write cache. Unraid is strange in that you have to boot it off a USB drive, and most USB consumer drives are poor quality, so I put it on a USB 2.0 thumb drive with SLC memory specifically designed for industrial use called the ATP Nanodura. It’s slow, but speed ultimately doesn’t matter because the OS mainly runs out of system memory.

Three months on from that adventure, the system is completely solid. The two 10TB drives act as the parity pool, ensuring that the array can survive drive failure. The ten 8TB drives give me 80TB of usable capacity, and the mirrored 512GB SSDs let me saturate the 2.5Gbps link when taking backups or copying large amounts of data. A fantastic feature is the system’s ability to spin down the mechanical disks when they’re not needed, meaning the system should be using a minimal amount of power when the disks are not being accessed. There are a couple Docker containers running, yielding additional functionality on top of serving files that I originally didn’t intend to use, but even with everything running the system is using less than 10% of its available RAM and, after all backups have been completed (both my main system and Proxmox), only 23% of available disk space is being used.

Overall, I’m quite happy with this new box. However, I have no idea how much power it’s consuming, so I’ll have to get my hands on something to let me log that information.

But, did I meet my pricing requirement? Well, let’s see … the closest thing to what I built is a Synology RackStation RS3618xs, which costs $2799.99 bare (i.e. no drives) at B&H Photo & Video, which is where I buy most of my stuff now. If I fill all 12 drive bays with new 8TB WD Red disks at $179.99 each, it’d be $2159.88 on top of that, it comes out to $4959.87 (which also happens to be the cost of B&H’s RS3618xs + disks bundle). Adding a pair of 512GB NVMe drives ($49.99 each) and a Synology M2D20 dual-M.2 card ($169.99) yields a final price of $5229.84.

In reality, I got most of my stuff on eBay. That’s the mainboard, I/O shield, SATA DOMs, and 8TB disks. The Jonsbo N5, power supply, 92mm to 4″ fan adapter, 4″ hose coupler 4″ 90-degree elbow, and Dynatron copper heatsink came from Amazon. The 8GB ATP Nanodura USB drive came from DigiKey. The Unraid license came from Unraid, appropriately enough. All in, that’s $2362.07 — less than half the cost of the Synology solution. So, yes, the pricing requirement is more than met.

Is this the approach for everyone? No, absolutely not. However, it’s the approach for me, so I took it and am happy with the result.

Uncharacteristic

Yep, it’s another Shiba Inu post.

The American Kennel Club describes the Shiba Inu as “the most popular companion dog in Japan.” I’ve never been to Asia, much less Japan, but from what I understand the urban areas are quite densely-populated, leading to very tight living spaces; Shibas are pretty small, so they can fit into small spaces well.

The AKC also says that Shibas are “lovey-dovey” with their families. Until Kasha, I have never experienced this. Lilo and Daisy’s idea of affection was “I’m allowing you to be within six feet of me, what else do you want?” Kasha, on the other hand, will walk right up to you, stare you in the face, unleash a bark to get your attention, and not leave you alone until she receives pets. Sometimes she demands headpats or bellyrubs, but you absolutely have to give pets or you will be barked at until you do.

Is this what the AKC means, and what makes Shibas the most popular companion dogs in Japan? Is this how they normally behave, or is Kasha a weirdo among the breed? I’ve only ever heard of them described as “aloof” but this is something else.

A Year On

One year ago today, almost to the minute (since I started writing this post, at at least), since Daisy crossed the Rainbow Bridge. We still miss her every day; we keep pictures of her up on shelves and as backgrounds on our phones. We went so far as to get a plush replica of Daisy made that we keep on the counter near the front door.

With all of this you’d think we haven’t moved on. And to some extent, you’d be right: Daisy was with us for 14 and a half years, and it takes more than a year to get over a loss like that. My son is still younger than that as I write this — imagine the magnitude of a loss like that. Some people never get over that.

Before Christmas of last year, Kasha joined the family. I stand by what I said — that she is not a replacement for Daisy. It would be unfair to put that expectation on any dog, and it would be stupid for us to think of her in that way. Indeed, when we brought her home, she hid in a corner and generally kept her distance from the family. She refused to wear a collar or harness, had no clue what to do with stairs, and didn’t even want to eat. The “not eating” thing ended pretty quickly as she realized pretty quickly that it’s necessary for life. She also warmed up to the collar and harness, making walks a lot easier, and eventually figured out stairs too.

Kasha still has her moments. She occasionally forgets that she can go outside to poop and lets loose on the family room floor, at which point her more traumatic puppy mill memories take over and she cleans up after herself — meaning she eats the poop. It’ll take longer to train that out of her, but we’re making progress as that doesn’t happen all that often anymore.

She still has this one weird habit: she jumps up on the top of the sofa and licks the top of my head. But while she is 100% distinct, her own dog as it were, she has filled Daisy’s shoes in a very unique way — a way that only another Shiba Inu can. Yes, we still miss Daisy terribly, and we love Luna because she’s been here for us the whole time, but Kasha has found her place in this family and we love her just as much.

It’s still a Yes.

LGA 3647 was for Skylake and Cascade Lake, and the Xeon Gold 6254 was part of the latter generation. Make no mistake, 18 cores is nothing to shake a stick at, but who’d turn down more? Cascade Lake went up to 56 cores per socket, but those are 400W parts, which is a bit spicy for my taste and I didn’t have access to any. I did, however, have access to Xeon Platinum 8280, so I pulled the 6254 out and slapped the 8280 in. There’s not much of a tradeoff when used in a single-socket board: both parts have the same number of UPI links and the same amount of cache per core; but you take a 400 MHz base frequency hit; TDP increases by 5 W; and core count also increases by 10. In the end, VM/desktop/container performance is roughly the same because 400 MHz is really not all that significant these days, but it feels smoother overall.

It also helps that there was another decommissioned server with larger DIMMs, which allowed me to upgrade to 512GB. The main drawback of this whole thing, though, is that it takes a long time for the machine to boot. That’s the case with proper servers in general, though. I also swapped the Noctua air cooler for an Alphacool 360mm AIO, as it has a huge cold plate that can cover the Xeon’s IHS.

Speaking of long boot times, on Memorial Day I picked up a Gigabyte B650 mainboard, 32GB of DDR5-6000 RAM, and a Ryzen 7 7800X3D. Yes, I’ve upgraded from Zen 3 to Zen 4. According to the reviews, Zen 4 takes a long time to start up due to RAM training or something along those lines, but it actually boots faster than the 5900X did, even with the EXPO profile enabled. I also put a DeepCool Mystique 360 on the CPU, which I’ve taken to calling the “Mistake 360” instead as they’ve been banned from operating in the US. Also, despite connecting to the RGB header on the mainboard, and running a node.js application on Windows to configure the screen, there is no way to configure the thing in Linux — and DeepCool’s support was not willing to provide any manner of assistance.

Not gonna touch the Crowdstrike thing, as it didn’t really impact us at work all that much; also not gonna touch the Intel 13th- and 14th-gen issues since there’s no definitive answer to that question yet.

Bitten Again

Every now and then I get an idea. It’s typically not an original idea, in that commercial products to do what I’m trying to do already exist, but it’s an idea nonetheless. I like to think that knowing how those commercial products are built may come in handy for one reason or another.

The physical computing bug has bitten me once again, but this time I want to do more than just capture and log environmental data; I want to control things.

The idea stems from a vacation my parents took this year. Don’t get me wrong, I have no problem heading over to their house and checking on/watering their plants, but wouldn’t it be pretty cool if there was a “set and forget” system that would just do the work for them? To that end, I have started collecting components to build a self-refilling irrigation bucket. It’s an interesting sequence of words to be sure, and it’s not completely automated, but it’d be pretty cool if I can build a working device.

I had a couple of design ideas in mind, but settled on a microcontroller in a weather-resistant project box on top of a 3 to 5 gallon bucket with a lid. There are several sensors involved:

  • The most obvious sensor is for soil moisture. It doesn’t make sense to water a plant that’s already been watered, does it? I don’t recall which one I ordered, but I believe it’s the one that senses temperature and humidity.
  • A slightly less-obvious sensor is for water level. I’m not measuring the amount of water entering or leaving the bucket, so the best way to determine when to refill — and how much water to let in — is by sensing how high the water is inside the bucket.
  • The least-obvious sensor is for ambient light. I’ve always been told that it’s advisable to water plants toward the end of the day, and as it tends to get dark around that time, sensing how much light is around is reasonable.

So, that’s all input. If I’m going to control things, it’ll need output as well — and not just a screen or a blinking light or a speaker. No, it’s going to be water this time.

  • The supply of water into the bucket is provided by a garden hose connected to a solenoid valve. When the water level sensor detects that the water reaches a certain height, the microcontroller opens the valve, allowing water into the bucket; once the water reaches the “full” level, the microcontroller closes the valve.
  • Water is supplied to the plant by a tube that is submerged in the water, in the bucket. The tube behaves like a soaker hose: it is positioned on (or slightly above) the soil around the plant. The pump isn’t controlled directly by the microcontroller; rather, it activates a relay to start the pump.
  • A monochrome OLED screen shows current readings/status: water level, ambient light level, temperature, pump/solenoid state, and soil moisture level.

I need to observe how the soil moisture sensor behaves in order to determine how to stop the pump. If the sensor reacts quickly enough, I can deactivate the pump when the soil reaches a certain moisture threshold; if not, I can tell the pump to run for, say, 30 seconds at a time.

There is no internet connectivity required here. It doesn’t report stats, download updates, or anything like that — configuration must be done directly via USB cable. This is not a hard and fast requirement, but I like the idea of not having yet another thing connected to the internet.

Also, while this is a standalone device, only minor modifications would be required to make this “chainable.” This would introduce the requirement for multiple solenoids, which may also create the need for inter-microcontroller communication. That doesn’t necessitate Wi-Fi or cabled Ethernet either — but it’s something that would need to be considered later on.

So … can’t wait for the parts to get in.

Yes.

Some time ago I asked if a server could be my workstation and, shortly after that, I answered “no.” My opinion has recently changed.

My previous experiment involved an Ivy Bridge EP part with DDR3 memory. Numerous computers have spoiled me over the years when it comes to performance, even the low-power laptop parts, but despite being a 130W 10-core/20-thread CPU with a 3 GHz base frequency, it just didn’t cut it as a daily-use workstation, even with 128GB of memory behind it. Disheartening, really, especially given that even marginally newer desktop rigs with that amount of RAM are absolute monsters.

Long story short, I’m now running a Xeon Gold 6254 in a single-socket workstation board. It’s air-cooled, sitting under a Noctua NH-U14S DX-4677 with an extra fan attached, wrapped up inside a Fractal Design Torrent case with its two 180mm front fans and three 140mm bottom fans. I know how the 6254 behaves in a server, but as it turns out, it’s frightening as a workstation. It’s roughly equivalent to the i9-10980XE in spec, with a 100MHz higher base frequency and a 600MHz lower max turbo, same amount of cache, and 35W higher TDP, but ridiculously smooth. Runs desktop workloads, virtual machines, ZFS, and containers concurrently with no discernible latency.

The cool thing, though? This thing supports up to 1TB of RAM. It’s currently running 256GB, which probably helps quite a bit with that latency, but the fact that I can multiply that by four if I can get my hands on enough DIMMs is insane.

So … yes. I can use a decommissioned server as a workstation. Thing is, it needs to be powerful enough.

Speaking of powerful enough, I’m posting this from the most expensive laptop I purchased since 2005. Still under $400, of course. It’s an HP Dev One, which was only sold in one spec: Ryzen 7 5850u, 16GB DDR4, 1TB NVMe, 1920×1080 display, but the previous owner upgraded this one to 64GB of RAM. So, I’ve got the same amount of RAM on my lap as I do on top of my desk in the home office, which is pretty remarkable now that I think about it. The only thing I’d change about it is the wifi card, which is already happening: an 802.11ax Intel card is already on the way.

Whole Again?

There’s a question mark at the end of the title because it’s still early days, but the family is whole again.

In early 2017 I stumbled upon a Shiba rescue website while I was looking for a friend for Daisy. I figured she’d want another Shiba friend, having lost Lilo in December. The site was for Midwest Shiba Inu Rescue (MSIR), and the URL is, appropriately enough, www.shibarescue.org. I checked every month, but at the time we didn’t really have the extra time to dedicate to another dog, especially one needs as unique as a Shiba Inu.

The “extra time” item was resolved in early 2020 by complete chance. A certain global event occurred that ended up forcing us to stay at home a lot more than ever before, and in July of 2020, Daisy was joined by the polar opposite of a Shiba Inu, who we named Luna. Based on her genetic test results, she’s a Poodle/Labrador mix, but looks mostly Lab. Frankly the only thing Poodle about her is the length of her legs and, maybe, the shape of her snout. I’ve mentioned before that this invigorated Daisy like nobody’s business; it was clear that a friend was was exactly what she needed.

Daisy was an integral part of our family and the house truly felt empty without her. Luna enjoyed the extra attention, but it was clear that she was lonely. I looked at the camera in the living room every now and then, and she just sat on the sofa staring out the window the way Daisy did in her younger days. So, it was back to the Shiba Rescue website. Julie had the same idea, and when she saw a picture on MSIR’s Facebook page, she knew Luna wouldn’t be lonely for long.

Every rescue organization has their own vetting process, and passing Chicagoland Lab Rescue’s for Luna didn’t guarantee we’d make it through MSIR’s. However, given the 14 years of experience with Daisy and the additional years with Lilo, we passed theirs too. One thing led to another and, earlier this week, we headed up to Minneapolis to pay this Shiba a visit in her foster home. By “we” I mean the five of us: Julie, the kids, Luna, and me. I think things went well — I don’t usually have a feel for these things — but given the first line of this post you can probably put two and two together.

We returned from Minneapolis with a sixth passenger in the Honda of Fury: a small, young female Shiba named Kasha. She’s not puppy young, coming in at 1.5 to 2 years old, but she’s much smaller than one would expect of a Shiba this age. She’s quite timid, preferring to stay in a corner amongst her toys rather than run jump up on the furniture and gnaw at shoes. However, she and Luna get along quite well, with Luna occasionally lying down in front of her as if to protect her from some threat across the room.

From what we understand she was rescued from a breeder that was “getting rid of dogs they couldn’t use anymore.” The phrasing of that sentence kind of makes the hairs on the back of my neck stand on end. What does “getting rid of” mean? MSIR doesn’t buy Shibas from breeders or at auction, and I have evidence to back that up for Kasha’s specific case, so “getting rid of” clearly doesn’t mean “selling.” Does that mean they were killing the dogs they couldn’t use anymore? Abandoning them on the side of the road? Putting them in a box and leaving them behind a Home Depot or something? Honestly, I don’t want to speculate. It actually makes me angry to think that someone would do something like that to an animal, especially one like this.

Kasha’s coat is best described as “saddleback,” which doesn’t conform to the breed standard. Is that why they “couldn’t use” her? That’s not what a responsible Shiba Inu breeder would do. Quite honestly, she looks like someone took a double-exposure photo of Lilo and Daisy. That doesn’t mean she deserves to be gotten rid of, though; she still deserves to live with a family that loves her for what she is, and that is a Shiba Inu. Cat software running on dog hardware. A squirmy escape artist that will love you, but be extremely subtle about it so you don’t notice because being obvious doesn’t look cool.

So now, Kasha’s lying on the rug, biting her crinkly toys every now and then. She’s still getting used to her new surroundings, and it’ll take a while for her to fully open up. But, she’s a part of the family now, and we’ll help her however we can. We wouldn’t have submitted the application if we weren’t ready for it.

Red to Green

I’ve been an AMD GPU user for a decent amount of time. Back in the day I used an ATI All-In-Wonder card in my Windows XP MCE PC, and kept with that pattern until it stopped being supported. There were some GeForce cards in there, but I was on Team Red for the most part. Then, I started editing video.

I’m not en expert at editing video by any stretch of the imagination. I go to my kids’ sporting events, point my camera at ’em, hit the record button, and just … keep the lens on my kid. At first I shot video with my phone like any other parent, but I grew to dislike the video quality: the image stabilization on my regular iPhone 12 was lacking. So, I pulled my OnePlus 7T out of the drawer, factory reset it, and used its nice optical image stabilization feature to get some steadier footage. The mic in that phone was marginal at best, though, as the right channel liked dropping out at random. That’s when I started recording video on both phones simultaneously and combining the video from the OnePlus with the audio from the iPhone, but that’s exactly as dumb as it sounds.

It was time to upgrade. I put the iPhone into a cage, mounted an external mic to it, and sat it all on a gimbal. That made a huge difference in audio quality and picture smoothness, but it still wasn’t what I was looking for. eBay held my answer: a Sony a6400 mirrorless camera. B&H held the other part of the answer: a zoom lens that was good enough to get me close to the action (so to speak) but light enough to sit on the gimbal. The external mic worked just fine with the camera too, so I was pretty much all set.

I started noticing the roughness around the edges of kdenlive, so I installed DaVinci Resolve. This is where the drama began. See, I was on Pop!_OS at the time, and for the life of me I couldn’t get Resolve to play nicely with my Radeon RX 6750 XT, so I hopped over to EndeavourOS and … magic. Resolve worked beautifully, but there were so many workarounds I had to employ in order to get it to work it was nuts. The free version of the software didn’t support the CODEC the camera used, so I had to transcode before editing. Then, once I finished, I had to transcode after exporting, since the files that came out of Resolve were enormous.

I simultaneously got sick of it and wanted more, so I hit B&H again and bought a bundle containing the DaVinci Resolve Speed Editor and a Studio license. That solved the pre-edit transcode problem right away, and gave me access to a whole bunch of additional goodies. The files that were coming out of Resolve were still huge, though, but it wasn’t anything Handbrake couldn’t handle.

As the sports seasons progressed, my recording techniques got more refined, and the resulting videos started looking better. I did something that I should have done ages ago and disabled automatic white balance, setting it to 5500K and using a Datacolor Spyder Checkr 24 to calibrate instead. I also started shooting in S-Log3/S-Gamut3.Cine, which gave me a lot more control over what the finished product looked like, as DaVinci Resolve is really good for color grading. That, of course, meant that I had to learn how to color grade … which I kind of did, but nowhere near professional capacity.

I’ve been alright with the result, but it took a while to get there. The last video I edited turned out to be about 13 minutes long, but took over half an hour to render to DNxHR using the 6750 XT, and nearly 90 minutes to transcode to H.265. Additionally, as new versions of Resolve Studio were released, the number of hours spent troubleshooting OpenCL-related issues increased. I knew something was missing, but there was no way I was going to crawl back into Redmond’s cold, unfeeling arms to see what it was. So, I crawled back into NVIDIA’s cold, unfeeling arms instead by replacing the 6750 XT with a 4070.

Instantly, 80% of my games broke. That was my fault, though, as I’d set a bunch of command line arguments in Steam to force certain operating modes; as soon as I removed them, everything worked. Cyberpunk 2077 runs at 2560×1440 with RT High settings, between 50 and 60 fps at all times. The fans on the GPU simply don’t spin most of the time, which makes the machine sip power when it’s idle. The real test, though, was Resolve Studio: what would happen on first launch?

As I had already replaced all AMD OpenCL packages with their NVIDIA counterparts, first launch was completely unremarkable. The software started, which is a low bar to clear but one that I couldn’t necessarily pass with the 6750. Second test: open the last video I edited and see how long it took to render. Recall that the total process took two steps (render + Handbrake) and around 2 hours before. With the 4070, it took less than 10 minutes and a single step. With the NVIDIA drivers installed, Resolve can export directly to H.265 without any intermediate steps, offloading completely onto the GPU, and the resulting file is half the size on disk with identical quality. I was at a loss for words. What was I doing before?

Why did I subject myself to the excessively long rendering and transcoding times I experienced with the AMD GPU when I knew full well that the NVIDIA performed better with such projects due to the feedback from the creative team at work? It couldn’t have been in the name of open source. I try to be a bit more pragmatic than that when it comes to the software I run on top of the OS, as evidenced by the fact that I use DaVinci Resolve Studio and hardware built specifically for it, and despite the famous video clip of Linus Torvalds’s legendary opinion on NVIDIA, I’ve used their stuff before and didn’t hate it. So … why did I waste hours of my life waiting for these operations?

The question is somewhat open-ended as I haven’t really found a satisfactory answer. I knew Zen3 was a multimedia powerhouse, especially in its Ryzen 9 and Threadripper forms, but I am also conscious of the fact that GPUs are vastly different architectures and don’t have the same core competencies as general-purpose CPUs. I knew NVIDIA performed better than AMD in general and in creative workloads, but I didn’t know the performance delta was this wide. This has triggered somewhat of an existential crisis, and I don’t like it. However, what I do like is the performance — can’t argue with results after all.