3D Prints January 2026

January 31, 2026 10:03 pm

I wrote about more about why I wanted this in the post about the ePhotoFrame. The short version is I wanted to hang something over this old telephone switch plate so I designed this hook which can slip behind the cover and be threaded through by the screw to be held in place. Works great (so far anyway, but I think it’s sturdy enough).

Since the game group I got together chose to play Kinfire Chronicles I decided I needed to redesign the card holder boxes. Especially since, after resetting the game to start fresh, one section of cards didn’t fit at all anymore in my original design. I know a deck of cards will take up more space once it’s been handled for a bit as the cards take on a little warping, but I wouldn’t have thought it would be as pronounced as it was.

Anyway, with my greatly improved skills with SolveSpace I whipped together this version which has movable dividers and should work much more effectively as the game progresses and cards need to move around.

Games January 2026

9:29 pm

I may have completed only one book, but I did get some game playing in during the month.

Played a game of Everdell at a meetup. I lost.

A friend is restarting a pre-COVID tradition of weekly dinner & game nights on Fridays. We played The Crew: Mission Deep Sea at the first event. It’s a cooperative, trick-taking game of restricted communication. Not my personal favorite of game mechanics, but it was still a good time. We played several missions with a mix of defeats and victories (they get harder as you succeed).

I finally made the effort to corral a group to play some of the many campaign games I’ve purchased over the years. By “campaign game” I mean any game with continuing state from session to session, but focusing on off-the-shelf experiences which don’t require a game master (so not something like Dungeons and Dragons).

I got a group of 4 of us willing to make a reasonable effort to meet approximately every other week. We’ve met twice now and the first rule is to always schedule the next session before we start playing. I figure that gives us the highest likelihood that we actually keep it running.

The group selected Kinfire Chronicles: Night’s Fall as our first game and we’ve played through 3 quests so far. Victorious in all 3–though by the absolute barest of margins in the third. The monster we were fighting died just as it was about to land the killing blow on our revenant.

At another meetup I played Critter Kitchen. It’s a lighthearted game of gathering ingredients to prepare dishes for a set of food critics. It can be rather frustrating as ingredient gathering depends heavily on what the other players try to collect. So it can commonly happen that you end up with very little while other players collect copious bounties. But it was decent overall. Has enough going on that it would take a few plays to get the full hang of it and has a lot of variability built in to which shops/critics are in each play through. I lost.

The couple who host the regular meetup occasionally hosts all-day events at their home. I was able to stop in for a few hours in the afternoon after the Mathcounts tournament. Lots of turn out this time around. I jumped in to a group that included a 6 year old so we played a couple of simple games. First was Moose Quest. You need to lead your herd of moose on their annual migration. Grow your herd, limit your casualties, cross lands to earn points. To me, the game would have been stronger with a more serious take on the theme. But it’s designed to be more whimsical and goofy. Probably a better design for a target audience of <10. I lost.

Next up we played Taco vs Burrito. This game lands in the same vein as “Exploding Kittens” in that it’s extremely simple, short, with little strategy. Draw a card, play a card, antagonize the other players. I lost.

Next the groups rearranged and I moved onto a more serious game, rather misleadingly so given the art and theme. Fort is a game of improving your play fort to be the best while recruiting kids from the other players to help you. It has a lot more going on that it seems like there should be. We decided that was intentional to play on the idea of kids making up new rules as they go about whatever they’re doing when playing “fort.” I won.

Books January 2026

8:19 pm

The Lady of the Lake by Andrzej Sapkowski

This is book 7 in the overall Witcher series and book 4 in the subset called “The Witcher Saga.” It’s the culmination of the storyline centered on Cirilla.

I think the story got away from the author. I think the Witcher was strongest when he was doing retellings of classic fairy tales. The “Saga” story line starts out strong, but I feel like the author didn’t figure out how to bring it all together into a satisfying ending. So things get a bit absurd and then it just kind of ends.

Perhaps I just didn’t “get it.” I think he was clearly trying to do something in the vein of stories of the knights of the round table which have elements of mysticism. Perhaps someone with a better background in that literature would “get it.”

Somehow that was the only book I finished reading in January though I’m in the middle of a few others.

ePhotoFrame Project

January 19, 2026 8:31 pm

Curious about the current state of consumer-available, color-eInk screens I found that WaveShare is selling this device: RPi-Zero2W-PhotoPainter. It’s not quite a product by itself, but it’s a considerable step towards “product” from when I used a 3-color display to build my “Home Board” back in 2018. The “PhotoPainter” is a 7.3-inch, 6-color, 800×480 pixel, ePaper screen which can be ordered with a pre-installed RPi Zero2 W (with microSD card). It’s connected to a custom PCB with battery leads, power switch, and a UART serial lead. The screen is mounted in a wood frame with integrated table stand. I say “product” because it doesn’t _do_ anything out of the box. You need to bring some programming capability to the table and make it do something useful. But, unlike when I built the Home Board, I don’t have to do all the physical assembly and can focus on the software.

I wiped the provided SD card and loaded a fresh install of Raspbian which allowed me to pre-configure the device for my Wi-Fi network and enable SSH access.

From there I dissected the provided example code and wrote a custom script to drive the display. My code is available on GitHub: https://github.com/kdickerson/ePhotoFrame.

My set up uses nextcloudcmd to synchronize photos from the family NextCloud instance to the frame. Every 10 minutes the frame selects an image randomly and displays it. But, images need some processing before going to the display. When an image is prepared we save the prepared version and when selecting an image we check if we’ve prepared it previously and use that instead of duplicating the work.

The preparation resizes and crops the image to fill the display. To target where to crop it runs a face-detection neural network and targets the location of the weighted average of the detected, high-confidence faces. If no faces are detected, it instead calculates the location of highest “saliency” (a measure intended to identify “interesting” parts of an image based on information density).

Once the image is resized and cropped it needs to be dithered into the 6 colors displayable by the screen. This is the prepared version stored for future re-use. There’s still one more step of processing before sending the image to the screen, but I store this version because it’s still human viewable as a regular image file. The final step is to repack the bits. The display uses 4 bits per pixel to select which of the 6 colors to use and then packs each pair of pixels into one byte.

The final bit buffer is pushed to the display using WaveShare’s provided driver package.

The final effect of the dithering can vary quite a bit depending on the specific scene and colors involved, but generally it looks decent from >4 feet (closer than that and the dithering is incredibly obvious). The colors are fairly muted, which is common in ePaper displays currently. But the ePaper display is critical for my biggest criteria: no glowing screen.

I decided to hang it up in the kitchen to cover an old telephone jack. But I needed a hook somehow. So I quickly designed and printed a hook to slip behind the wall plate and held in place by the screw. 3D printers are super handy for those little things that otherwise don’t exist.

The Danger is Immense

January 10, 2026 2:37 pm

Since the end of World War II the United States has attempted to establish a world order based on common consent, economic interdependence, and democratic rule. Yes, our fidelity to these aims has often fallen woefully short. That’s undeniable. We’ve been hypocritical on many egregious occasions. But even so, there was generally a shared thread amongst those we elected that these were the right ideals even when we failed to live up to them.

After September 11, we brought together a “coalition of the willing” to take military action around the world. Poorly thought through and supported by lies–but, a coalition nonetheless. We asked our allies to send their children to die for our cause in a desert on the other side of the planet. And they answered our call. Action taken by common consent–not unilateral declaration.

In the aftermath of WWII the United States engaged Japan and Western Europe in aggressive stabilization and rebuilding campaigns. We wanted to thwart the perceived dangers of communism and believed that this was the solution. The theoretical basis of these efforts was that democratic nations with interconnected economies don’t start wars and don’t become desperate enough to heed the calls of communist revolution.

Nations were to air their grievances in the United Nations, rally others to their cause, and exert social and economic pressure rather than take military action. Through this venue the Cuban Missile Crisis was resolved without bloodshed. Through humanitarian programs the United States exerted soft power throughout the world showing the benefits of being our friend while using economic sanctions to warn of the danger of being our enemy.

Again, we failed many times to meet these ideals, but they were a shared sentiment even so.

This is no longer true.

The United States has now placed in charge a group of people for whom the saying “might makes right” is the furthest extent of their moral reasoning.

They assassinated a general of an adversary’s army because they could. They kidnapped a foreign head of state because they could. They are threatening to conquer Greenland because “no one’s going to fight us over it”. They use missiles to blow up civilian boats in the ocean because they can.

They act unilaterally, insult our allies, and spit in the faces of common consent, economic interdependence, and democratic rule. This matters possibly more deeply than the rest of the abhorrent, degenerate, destructive behaviors they engage in.

If the foundational principles of the world order we’ve existed in for the past 50+ years fall then the world will enter a spiral of destruction. “Might makes right,” so the US takes Greenland and goes to war with Europe. “Might makes right”, so, while the US is distracted, China takes Taiwan. “Might makes right”, so with Europe distracted, Russia finally succeeds conquering Ukraine and moves on to the Baltics. Every country with the means begins a crash program to build, buy, or steal nuclear or biological weapons because it’s the only language still understood in a “might makes right” world. And we will leave the world in ashes.

We know how this plays out because WWII was heavily documented and has been studied for decades. When demagogues seize power and believe themselves above consequence they endlessly grasp for more. After all, until someone stops them, they have the right to take more. That’s the way the world works–that’s the way the world they want to live in works.

Common consent is gone as far as the United States’ international actions are concerned. We’ve withdrawn from dozens of cooperative international agencies and taken unilateral action whenever it pleases us–enemies or allies be damned. Our new policy on international relations is, “Who’s going to stop us?”.

Economic interdependence is under assault from isolationist tariffs and trade wars. If we no longer buy anything from Mexico, then it won’t hurt our economy to bomb Mexico into oblivion.

Democratic rule is hanging by a thread. The president already incited a violent coup once, was impeached for it, and for some insane reason this country elected him again. He and his cabal have been laying the groundwork for months to normalize the idea of violating the Constitution so he can remain in power when his term ends.

The danger is immense. And I don’t know what to do about it.