Now That’s a Good Dino!

Some movies really stick with my kids more than others. They didn’t seem to get into The Emperor’s New Groove or If, but they absolutely loved The Good Dinosaur and How to Train Your Dragon.

I’ve started printing little figurines of the characters they love. There’s nothing more heartwarming than seeing your kid’s eyes light up when they get a real-life, physical version of a character they care so much about.

Good Dinosaur

This one’s from The Good Dinosaur, while Toothless and a bee from that terrible Minecraft movie are hiding in the background. This won’t be a weekly thing. Each one took over 10 hours to print, mostly due to constant filament changes.

My son needed a place to store all these, so he was encouraged to design something to solve his problem. No more than 30-45 minutes later, he had created a basic shelf in Tinkercad using a micrometer, Tinkercad, and his figurines for reference. We walked through the best way to print it, and now his new shelf is sitting proudly on his desk, showing off all his favorite characters.

He’s also very protective of his new shelf. He might need to add an intellectual property badge to his portfolio. Thankfully, we can have our lawyer family members walk him through a CC BY-NC-ND license.

3D Printer Upgrades

The Bambu AMS serves double duty by feeding the printer the right color at the right time and keeping all the filament dry and away from the outside air. Quite a bit of solutions have been designed by the community to prevent moisture damage to 3D printing filament, but ultimately having a sealed container with desiccant is the best first step. The following projects can be found on MakerWorld to address this issue:

So I printed some up, filled them with desiccant, and will hopefully watch how the moisture levels slowly decrease. Whether or not they have a significant effect over time remains to be seen.

Desiccant

Why Moisture Matters

If you’ve ever used old filament and have it easily snap apart on you, you’ll understand the pain of moisture damage. Filament, especially “hygroscopic” ones like PETG, can absorb water from the air. Not only does this cause filament to become brittle, but water can also boil in the hotend, leading to failed prints and potential clogs.

The desiccant spool holder above allows for lots of air circulation in a design that isn’t difficult to install or print. The AMS is designed to be airtight and spool-friendly, so these designs fit our needs without too much fartin' around. If you want to print some of these yourself, grab the following from Amazon to complete the project:

We’ll find out how much effect this has in time, but at least we have two quick and easy solutions to play around with.

Tell me what I need to know

Updated: 20250508 - Added crypto to the morning digest.

This week I wrote a bot that scrapes a popular stock news aggregating site, filters for stocks in my portfolio, then dumps the results into an RSS feed and a text file that maintains the last seven days worth of news.

Another script grabs the news entries, compares it to my current portfolio, and pings a self-hosted LLM (Llama3.3). The AI will churn on it for a bit, then spit a formatted message into Slack on what I should be concerned about for the day.

StockBot

As you can see by the picture, it gives me a personalized “morning digest” when I have a cup of coffee in hand and am ready to look at market stuff.

Eventually this’ll get honed into a personalized stock trading bot. All that’s needed is a connection to a broker API (with guardrails). The messages from that point will be less news-focused, and more “I traded {ticker} and have earned/lost {value}.”

Automation is not about shoving more data in your face, but instead having the work done for you and seeing results.

I’d post the Python, but the news site doesn’t exactly know I’m scraping their site. However, if you would like to know how to utilize a self-hosted LLM like this, I’d be more than happy to chat. No n8n here. Just straight Python.

Communication is Critical

Until recently, I was relying on a combination of Joplin, TickTick, and internal company tools to organize my work. Joplin allows me to self-host markdown notes and syncs my thoughts across all devices. However, since TickTick is in someone else’s cloud, I keep sensitive data away from there. Thankfully, most of what I track in TickTick - like obfuscated links and generic numbers - ain’t gonna hurt nobody if it leaks.

I often spend more time thinking about automation and efficiency than the basics like eating or exercising. It’s not unusual for me to be in the middle of a workout when my brain suddenly shifts to a new automation idea, completely klling my focus.

Work Notes

For today’s accomplishment, I built some Python automation that pulls current project and bug status and sends them out weekly. Rather than maintaining running notes in both Joplin and TickTick, I now track high-level tasks exclusively in TickTick. This Python script now grabs my tasks and emails them to my manager and team every Friday afternoon. Joplin is still where long-term notes are stored. It just won’t be used in parallel with task management.

Working with TickTick’s official API wasn’t easy. It’s very rough around the edges and doesn’t work out of the box. After a couple of days deep-diving into the problem, I found success using ticktick-py (along with some forked fixes not yet merged into main). I briefly considered switching back to Todoist for its better maintained API, but TickTick is just built better for my needs.

Building small automations like this keeps me excited for tech and programming. If you’re working on similar workflow automation challenges, I’d love to hear them!

(Next) Halloween Decor

While working through some skills badges with my son, he came across an old project of mine - one I’d started but never finished. It caught his interest right away, and he asked if we could build it together.

I originally started it around Halloween, hoping to go all-out for the holidays and make them extra memorable for the kids. Unfortunately, I got really sick (again) and couldn’t even manage the basics, so many of these projects just sat on my workbench collecting dust.

The idea was to 3D print a bunch of fun, spooky-themed decorations - complete with lights, sound, and maybe even a bit of smoke. One of the pieces is this bubbling cauldron, designed with flickering LEDs to make it look like it’s brewing some crazy magic spells. Everything had been printed. All it needed was electronics and software. That’s where my son stepped in and helped finish the job.

Cauldron

There are a few more projects like this that had been put on hold, but now that there’s another little electrical engineer in the house, we’re ready to knock the rest out.

For the Coffee Addicted Wife

I’ve been busy building a lot of stuff lately, and this latest project is pretty cool. It’s a night light with a latte heart design. Still needs some coffee beans around the edges to finish it off, but it’s already looking solid. If you want to print one yourself, check out the great design on MakerWorld.

The blue lighting in the photo is just from ambient light around my workbench - nothing to do with the cup itself.

In the background, you might notice a Pac-Man ghost getting some repairs. Mr. Pac and two of his ghost friends had to be retired this week after years of loyal service. The heat from the 12V RGB rope lights finally caused them to warp and break in unrepairable ways.

However, the “green ghost” got an upgrade with a 5V RGB strip attached to a Sparkle Motion mini. This will make the colors match the original game better. Once Pac-Man is re-printed and the scripting is sorted out, I’ll update the Neon Signs post. The new setup should look even better than before.

Coffee Night Light

Parenting Automation

We’ve had the kids on a point system for years now. They earn points by completing daily responsibilities, which they can use to “buy” rewards. So far, it’s mostly been Nintendo Switch games and PC accessories.

This all started with the Wake Up Light, originally designed to keep our oldest in bed while the rest of the house was asleep. He’d often wake up in the middle of the night and end up in the living room, scared of the dark and the silence. Later on, I modified the light to also function at bedtime. It turns red at 20:30, and if they’re not in bed by then, they don’t earn their point.

The system worked well, but they were constantly asking, “How many points do we have now?” Instead of keeping track in my head, I built a points site where they could check their status. The problem was that every morning, I had to remember whether they earned a point the night before and manually update the HTML. It was incredibly tedious, but at least I could answer their questions with a simple, “Go check the site.”

Now that they’re older and have more responsibilities - homework, cleaning their rooms, etc. - it was time for an upgrade. And ideally, one that removes me from the equation.

Choreboard

So, I built a site that tracks their tasks dynamically. Every day includes the usual chores like brushing teeth and changing for ninite, but there are also tasks that only show up on specific days. Bedtime is the most crucial. If they don’t check in by 20:31, no point for that day.

Choreboard

We also introduced a special star they can earn by going above and beyond. Right now, we’re focusing on areas they each need to improve - trying new foods for her, and reading more for him. Once they rack up enough special points, they get a much bigger reward than what the daily points provide.

Choreboard

As a bonus, we created a personalized bookmark page that gives them easy access to everything they use daily. They’ve set it as the homepage on their laptops and tablets, so they’re never far from the stuff they need!

The machine with a million uses

I’m in love with quick and easy solutions that make the little things in life easier.

For example, my GameBoy - with basically every game ever made on it - sits in a perfectly designed stand right between my desk and the bathroom. So when it’s time to take care of business, I’ve always got games handy. The problem is, I recently added an ebook reader to the rotation, and its current location of “wherever I last used it” just slows down my bathroom game plan.

Thankfully, I’ve learned enough to fix that.

The reader is a Kobo Clara BW (black & white), and it came with one of their cases. Neither Thingiverse nor MakerWorld had a stand that worked with a case on, so I tooled around in CAD and made my own. Now there’s a real, physical thing that used to only exist in my head.

Neat stuff, that.

Book Stand

Here’s the 3mf if you want to print one too.

Book STL

White backgrounds are far too bright

That’s why my browser, phone, and even this site have dark mode on. I’ve had a significant floater issue with my eyes for as long as I can remember. Everywhere I look, it’s like viewing everything through pond water. When looking left or right, the floaters shift in a sloshy manner but eventually return to center. It’s always been difficult to read text since the edges of the letters are blurred, with bright lights also being a challenge. Snowy days, clear skies, beaches, and white paper suck - they just remind me how terrible my vision is. Thankfully, this dark mode trend has helped out quite a bit. It’s much easier to ignore these issues when there’s not so much brightness everywhere.

Floaters

I’ve struggled to use an eReader, like the Kindle, with any long-term success. It turns out there is a better dark mode-enabled eReader on the market, called the Kobo. This device is capable of converting black text to white and the white background to black, while the Kindle inverts the entire screen - including images. The Kindle makes reading in this way much more difficult.

All is not well in the Kobo universe, though. Many books include their own formatting that forces the text to be black or a specific color for emphasis or notes. Text like this won’t convert to dark mode. To fix this, we need to unpack the epub with the Calibre editor and modify the CSS.

epub_example.css

/*  Comment out color formatting for all #000 */

ul.sq li p.bull
{
	margin-top: 0.5em;
	margin-left: 0.5em;
	margin-bottom: 0.5em;
/*  color: #000000; */
}

/* If your reader supports this */
@media (prefers-color-scheme: dark) {
  ul.sq li p.bull,
  ol.number li p.number,
  ul.n-sq li p.bull {
  color: white;
  }
}

Once all the color formatting has been commented out of your CSS file(s), save the epub, transfer it to your Kobo, and turn on dark mode. This should allow all the text to work as expected. With this fix in place, I’m able to read books again without constantly dreaming about ripping my eyes out of their sockets! Yay me!

Dark Mode

I’m so glad I built a calorie tracker

Sitting here, watching my fatness slowly increase, it has become obvious that something needs to change. The problem is that I have a wife who loves to bake. Every opportunity that comes up, there are a few plates of themed cakes or cookies on the table. Given my regularly scheduled extra-curricular activities, I get crazy hungry around dinner time. That’s clearly the worst time to bring out a plate of sweets.

Weight

One night a few weeks back, I smoked up and finished dinner. My wife messaged me, “I’m making an ice cream cake and cut the top of it off to make it even. You want some?” So after finishing that entire third of a freshly baked red velvet cake, I found my hand dug deep into a family-sized bag of pretzels. What’s wrong with me? That’s ridiculous.

So, this is what the plan is now. My calorie tracker is easy to modify and scale. The Remaining Calories section is a running average of my BMR over the last eight days. All that’s needed here is to subtract 500 calories from the daily total (3,500 cals [1 lb.] / 7 days) and go about my life as normal - just a bit hungrier.

Deficit

Add the calorie deficit to my increasingly less painful ability to exercise, and we’ll be back under 155 in no time. One month - tops. I’ll check back in two weeks on progress.

Updates

  • 20250421: It’s been a month and weight / fat is stable. Think I’m trading fat for muscle as I’m much more fit in comparison. I’ll come back in another few weeks with measurements / progress.

Calories

  • 20250515: Jobs done. Back to a more appropriate weight. Bumblebee tuna! 🥳

Weigh In