Feed on

ikeacluster turns 10

I think the actual birthday is in a few weeks but I’ll forget by then. I started building ikeacluster in 2012 as a home lab project, I wanted something nearly silent, low wattage, and real hardware. Motherboards and hard drives have come and gone, and had one switch die. I don’t tinker with it as much as I used to, but it keeps plugging along.


Apple and eGPU adventures

TL;DR Apple + eGPU + 27″ Thunderbolt display probably needs a dummy HDMI dongle in the GPU and performance sucks.

Early in the pandemic I got hooked on Minecraft. My daily driver is a MacBook laptop which doesn’t have a lot of graphical horsepower for fancy shaders. A friend suggested using an eGPU, so I bought a Razer Core X enclosure and an XFX GPU card, a long-ass Thunderbolt cable to my laptop and life was grand. I could run the Sildur shaders with volumetric lighting like a champ and it really made MC pop.

(Yes I chose to tether my laptop to the eGPU, but the 12′ long cable gave me some movement options)

Then the eGPU enclosure stopped working. It took forever to get a response from Razer coz covid and they wanted a lot of details. Eventually I RMA’d it and they apparently replaced the PSU. Life was grand again.

Then I upgraded to either High Sierra or Mojave (or maybe it was to my 13″ MacBook, I forget) and life got a little sad. If I gracefully disconnected the eGPU and re-connected it, Minecraft stopped working. The Launcher would launch, I’d get a white screen, and the game was clearly running because I heard the music. Rebooting fixed it.

When the M1 14″ MacBook Pro came out, I bought one immediately because the 13″ MB was pretty long in the tooth and the battery was shot, and I despised the Touch Bar. Unfortunately this sunk my eGPU plans, the M1 just did not support them at all. Even with an upgraded model with the fancy integrated Apple GPUs it could not handle fancy Minecraft shaders at all. The system was fast as hell but the Sildur “enhanced default” shader was the best I could do.


Fast forward to this week. I have a Mac Mini with a 27″ Apple Thunderbolt display as a desktop computer, so I thought ah ha I’ll just move the eGPU to it and get some use out of it. Nope. The Mini was too old and only had Thunderbolt. The Mini also was a dog at running X-Plane and Lightroom anyways so I said screw it and eBay’d a 2013 Mac Pro trashcan.

(Also the first time I fired up the eGPU after several months there was an electrical pop when I hit the power switch. Dead PSU. I had to track down a replacement. Me and the Razer Core X just aren’t getting along.)

After buying a Thunderbolt 2 -> 3 adapter, cable, hooking it all up, installing the Kryptonite boot loader to enable the eGPU, fired up Minecraft and white screen in the launcher.  Game was running, utilizing the XFX GPU, music going but white screen in the launcher. Fired up X-Plane, process was running, on the XFX GPU but there was no X-Plane window at all. Note this was with the Thunderbolt display plugged into the Mac Pro and not the GPU.

I plugged a shitty monitor into the GPU with a DVI->HDMI dongle, MacOS instantly recognized it and put a desktop on it. I fired up Minecraft expecting it to show up on the shitty monitor, lo and behold the launcher launched and the game screen appeared on the Thunderbolt display, using the XFX GPU. Interesting! It would seem you need something plugged into the GPU like another monitor or a dummy HDMI dongle for it to haul the video back to the eGPU and back over Thunderbolt.

Unfortunately this takes a performance hit. With the high end Sildur shader the best I could do was around 30 FPS in MC. So I’m back to using slightly less fancy until I can buy a new monitor that has HDMI or DisplayPort on it so I can plug directly into the eGPU.

Update: I bought a Dell 4k display and plugged it directly into the eGPU. Life is grand again, and the display is way more sharp than the trusty old Thunderbolt display.

Admittedly it’s been a few months since I’ve taken a walk around the neighborhood, but I noticed for the first time people around here don’t go out of their way to avoid each other on the sidewalk. Ever since covid started people on their daily walks would brutally social distance outside, either darting off into the bike lane, walk off into the grass, or even onto the side of the street to avoid oncoming pedestrians or overtake somebody else. This happened well into 2021, both in the neighborhood sidewalks but also the park here. I haven’t noticed it so much in downtown areas like San Jose or Santana Row, everyone has been quite happy to congregate for quite a while.

Down 25 pounds

Last summer after peak covid, I ballooned up to 224 pounds. I saw a photo of me at a cookout and I had a definite belly which really motivated me to do something. It was starting to affect my sleep as I’d have to start rolling over to sleep on my sides, because laying on my back was uncomfortable. A couple of my buddies had just started either a keto or paleo diet and after hearing what they were doing it didn’t sound so terrible. I love me some meat and cheese so I started trying to do a keto diet in July.

I quickly realized unless I cooked at home I couldn’t get in enough protein to go completely zero carb. At the end of the first week I felt so hungry no matter how many cheese sticks, beef jerky, or pork cracklins I ate it didn’t help, I had to run to In n Out for a burger. I improvised a bit and cut out all the carbs I could, no pasta, no pizza, no fries, virtually no bread, no candy, no beer, no breaded meats, and went for BBQ brisket, steak, pulled chicken, hot links, and drank only Diet Coke / coffee / tea. Instead of beer my drink of choice was rum and diet soda which had surprisingly few calories, yet very tasty. I lived on In-n-Out 3 x 3s and Flying Dutchmans on the weekends which certainly got me protein and fat. Eventually the hunger calmed down and while sometimes I felt hunger it was easier to ignore, much unless the first week. Admittedly I was very lazy and did not hit the gym at all so I probably could have lost it a lot quicker if I was active.

A pound here, a pound there the weight started coming off. I plateaued at 201-203 around the holidays, but finally hit 199 this weekend. I’ve now basically gotten rid of my covid weight and back at the weight I was at when I was going rucking in the summer of 2020 to originally lose weight. I’d love to get back to 180 again, we’ll see.

It was rather amazing to realize just how much carbohydrates we eat out of convenience. Hit the convenience store, potato chips and a soda? carbs. candy? carbs. Fast food, burger bun? carbs. french fries? carbs. Breakfast? pancakes, toast, biscuits, waffles, potatoes, oatmeal, cereal, juice? all carbs. It also turns out carbs are really cheap compared to only eating proteins, my cost per meal went up a good amount during all of this.

Weird recurring dreams

Dreams are weird and so personal that they’re useless to try to describe to somebody else. I seem to have three recurring dreams that happen occasionally and they’re kind of fascinating to me.

One is where I imagine my iPhone bending and breaking up. Like it starts off as a couple of hairline cracks through the front/back glass, maybe a defined bend where I carried it in my back pocket and sat on it. As time goes on more cracks appear and the shell starts to come completely apart and feels like a melted candy bar, to a point it looks like it got ran over by a car, and have to gently press bits of the phone together where it still works. Most interesting about this dream is that I’ve realized when my phone starts coming apart (I’ve never sat on my phone and bent it IRL) I know I’m in a dream and can either try to wake myself up or play with some lucid dreaming.

A second related one is that while trying to use a phone/computer/tablet I can’t type and/or the UI gets messed up. Most commonly I’m trying to type in something and the output isn’t what I want, like I’m hitting the wrong keys repeatedly or the auto-correct has gone way crazy. I’ll try over and over and think I wind up waking up from frustration. Or, I try to wake up my phone and there’s constant ads I have to click through even to get to the home screen. Or, I try to take a photo and the phone decides to auto-crop on a particular subject instead of the entire scene like I want. Those are the frustrating ones.

Lastly is a dream of this posh apartment. It has wooden roman columns out on the front porch, brick exterior walls, and a nice interior. The kitchen has a bunch of boxes piled up around it because I don’t cook much and haven’t gotten around to unpacking my cookware (this is something I’d do IRL). Nothing of particular interest happens here. Occasionally I’ve moved to another apartment and a month later remember I haven’t cleaned this unit out of all my property so I have to go pack it up. This dream apartment feels so strongly familiar I’ve actually woken up in the middle of the night and seriously had to think about every address I’ve lived at to try to remember where this place was, and finally realize I have in fact never lived anywhere remotely like this.

Booster blowup

Finally got around to getting my covid booster. Holy crap, the side effects were even worse than the 2nd dose. Hours of chills and shaking, inability to sleep, then a fever all day where I soaked anything I was wearing or laying on, then body aches and stomach cramps. Today I feel like I got hit by a truck, but much better than yesterday. This better last me a while!

TL;DR it’s SHA1 with no newline

We wanted to create off-line templates for our Netgear SmartManaged switches (which runs a blatant IOS CLI ripoff), but needed a way to generate the encrypted password hash from a given plaintext password:

username test password test
username test password encrypted a94a8fe5ccb19ba61c4c0873d391e987982fbbd3

For the life of me I couldn’t figure out what algorithm they used, it wasn’t an obvious salted hash (lack of $x$saltsalt$ prefix) nor was it the old style Cisco MD5 mechanism. Wasn’t SHA256 either.  It’s 40 characters long, consisting of [a-z0-9] which looked like a hex representation of something. Frantic googling wasn’t helping me, nor the myriad of various password generators.

I was at my wits end and was about to post on r/networking (yay talking to rubber duckies) about it when I decided to go back at the list of algorithms I tried and wondered if we tried SHA1 with no line return like I had seen in some examples. That worked:

bwann@basic76:~$ echo -n "test" | openssl sha1
(stdin)= a94a8fe5ccb19ba61c4c0873d391e987982fbbd3

Fully vaccinated

Got both doses of the tracking chips in and my 5G coverage is increasing!

(I forget how this is supposed to work, do the tracking chips provide 5G and GPS, or do the 5G towers attract bats that infect people with covid? or do the 5G towers cause covid and the vaccination will kill my 5G service? Do I need to buy a bat? What about my GPS service while I’m in a tunnel or underground garage or the shower?  Is there a data cap? Will my 5G shed RF matter on other non-vaccinated people? So many questions!)

The mass vaccination site I went to in Oakland was something straight out of a CERA setup in Division 2 with all the cones and barriers and National Guard and pop up tents.

The first dose (Pfizer) was a no-op but the second dose kicked my ass. At first was headaches, then some wicked chills. I got up to use the bathroom at 3 AM and started shaking so bad by the time I made it back to bed I buried myself in all the covers and had to catch my breath. A couple hours later I was sitting in front of my space heater on full blast. Then I was just dead tired for the rest of the day, couldn’t even be bothered to use a laptop while laying down.

Tossed and turned all night, practically didn’t sleep at all.  Finally a bit better yesterday evening, a bit headachy and groggy.

I wonder what the booster shots will be like?

2021 coming in hot

Welp, it didn’t take long for 2021 to get crazy

Jan 3  Washington Post has audio of Trump pressuring GA to find votes
Jan 4  UK declines to extradite Assange to the US
Jan 5  Dr. Dre in ICU due to brain aneurysm
Jan 6  Protestors storm the US Capitol, Senate chambers and offices
Jan 7  Congress confirms Biden vote in early morning
       People I know get COVID vaccines
Jan 10 Everyone bails on Parler, site taken offline;  all data archived
Jan 20 Biden sworn in, Q people freakout at lack of mass arrests and martial law
Jan 28 Gamestop GME hits $500 high, reddit rejoices
Feb 11 Oklahoma, Texas, most of central US get hit by blizzard
       water/gas/electricity shit hits fan
Feb 21 777 engine explodes over Denver
Feb 22 Daft Punk breaks up
       US hits 500,000 covid deaths


Working in a Ubuntu world now, I really miss the Anaconda installer that CentOS/Fedora used. Every time I find myself having a problem with the d-i installer when doing network PXE installs, I find myself grepping and tracing through the source code.

While doing a Ubuntu 18 network install with a preseed file (all of which had previously worked just fine, no changes) we hit this error after the installer brought up the network: Downloading a file failed: The installer failed to access the mirror. This may be a problem with your network, blah blah blah.

Getting on the machine and diving into syslog, this is where things were going south:

Oct  6 23:10:48 anna[4786]: 2020-10-06 23:10:48 \
  URL:http://mirror.example.com/repository/ubuntu/dists/bionic/main/binary-amd64/Release \
  [109/109] -> "-" [1]
Oct  6 23:10:48 anna[4786]: WARNING **: bad d-i Packages file
Oct  6 23:10:48 anna[4786]: 2020-10-06 23:10:48 
  URL:http://mirror.example.com/repository/ubuntu/dists/bionic/Release \
  [22243/22243] -> "/tmp/_fetch-url_net-retriever-4838-Release.4839" [1]
Oct  6 23:10:48 net-retriever: Not verifying Release signature: unauthenticated mode enabled
Oct  6 23:12:34 anna[4786]: WARNING **: bad d-i Packages file

This was very confusing because watching the logs on the mirror server, Packages was never even attempted to be downloaded, so how could it complain about a bad Packages file?  The Releases file seemed sane, downloading it with wget on another machine, size, checksum all lined up.

(Also for the love of god, why are there no pagers in the install environment?  no less, no more, not even vim, which makes it agonizing to look at logs. There’s just nano.)

Further, going onto another machine at the same site, doing an apt clean and blowing away all of the apt cache directories, then doing an apt update, everything was fine. I was able to download the packages indexes and install a package just fine.


So what gives?  The Internets didn’t have any good leads, everyone seems to hit this bad d-i Packages file error while installing from CD-ROMs in 2009.

I went directly to the anna source code to see exactly what it was doing to generate that error. It’s written in C and I couldn’t see any obvious things that were going wrong.  I didn’t find any other way to generate some debug logs for what d-i was doing. The closest thing I could find was doing dconf debugging by putting DEBCONF_DEBUG=developer on the kernel command line and re-trying the network install. This didn’t give me any logging for what anna and other commands were doing, but I did notice around my error it was setting a retriever/net/error value.

Googling around for what might set retriever/net/error lead me to the source for /usr/lib/debian-installer/retriever/net-retriever.

(have I mentioned how much I hate all the janky shell scripts that this installer calls out to?)

Inside the net-retriever script it’s doing some things with Package files which caught my interest. On my trouble system, I shoved an echo $* >> /tmp/blah-cmds to get it to record all of the arguments that the script was getting and tell me its secrets.

I hit retry on the installer, got the same error, but got this output of things fed to net-retriever:

# cat /tmp/blah-cmds
packages /var/cache/anna/Packages
packages_one mirror.example.com /repository/ubuntu /var/cache/anna/Packages bionic
error packages
packages /var/cache/anna/Packages
packages_one mirror.example.com /repository/ubuntu /var/cache/anna/Packages bionic
error packages

hmmm. I went back and added a set -x at the top of the file and ran the script with the packages_one line.  (The installer environment uses Busybox, so can’t just say bash -x of course)

Looking at the trace output I saw things like this:

+ pkgfile=restricted/debian-installer/binary-amd64/Packages
+ grep restricted/debian-installer/binary-amd64/Packages$ /tmp/net-retriever-5295-Release
+ line=
+ [ 1 != 0 ]
+ continue
+ exit 1

What’s this debian-installer business?

We didn’t have that directory available on our repos, and it finally dawned on me that it’s looking through the Releases file for various debian-installer/.../Packages paths. Because our Releases file didn’t have entries for them, this is what was causing anna to throw the bad d-i Packages file error. My other system worked just fine because it wasn’t trying to fetch installer packages.  blah!

My understanding of the problem was that in our Aptly mirrors we weren’t mirroring udeb for our various components. Once we fixed that, debian-installer became available and everything was happy.

Older Posts »