Introducing Mastodon comments!

I’ve been planning to add comments to my blog for a long time. For the longest time now, I’ve just been posting to the void, not knowing if I missed anyone.

I didn’t like Disqus and storing comments in GitHub issues didn’t make sense to me. However, a recent wave of Hackernews articles about online discussions and a post about using Mastodon for comments have inspired me to explore that approach. I like the idea of using a social media platform as a comments section because it feels like a place where discussions would organically take place.

TentaTwo Devlog #1

Having used the TentaOne for almost half a year now, I have come to believe that a new design would be more appropriate than a revision. With that, I decided to mark the start of development on the TentaTwo.

Learning points fron the TentaOne

To understand the design choices made with the TentaTwo, it is important to understand the pain points from the TentaOne which motivated them.

Keymap is difficult to remember

A macropad allows the collection of highly varied actions onto a single device. When designing the TentaOne, I figured that the most important thing was to provide enough keys such that there would be room to add as many macros one desired. I believed that the layout could be improved over time and learnt with practice.

My experience building a split keyboard in Ergogen

Having dipped my toes in PCB design and manufacturing with the TentaOne, I figured it was time to tackle a project that I had my eyes on for a couple of years now.

Ever since I first saw the Dactyl in 2022, I’ve wanted to own a split keyboard. Not so much for the supposed ergonomic benefits, but more so because of the uniqueness and maker bragging rights.

The Goldilocks board

Split keyboards come in many flavours, with popular designs like the Sofle, Corne, etc. The common boards can be bought from some sellers and even prebuilt, but they’re quite costly.

Redis Persistence in Kubernetes

Some time ago fwmcbaubau.com experienced data loss multiple times in a short time span due to the lack of persistent storage.

The data was stored in a self-hosted Redis server because it was cheaper to provision a Redis server with extra resources rather than utilize the SaaS version. When I first developed the feature I didn’t provision any storage for the pod because of the added complexity and cost. When the first data loss incident occurred, I looked into the costs of provisioning storage and concluded that it was reasonable. However, restoring the data wasn’t a big deal and enough time had passed that I didn’t feel like modifying the deployment. The recent incidents finally got me to take action because it took me a while to notice the first and the second one happened really soon after the first.

iPhone Standby Mode Dock

My brother shared this iPhone Standby Mode Dock with me and asked me to print it. My printer, however, is seldom used and poorly maintained so I wanted to modify the model to increase the chances of it printing successfully.

Design

Scott kindly shared the models for non-commercial use. Because the files were not in an easily editable format, I created a new editable CAD document.

The main thing I wanted to change was the amount of plastic required for the print. While this detracted completely from the point of the original build, the original design didn’t really appeal to me anyway. To do so I shortened the dock and removed the enclosure, removing the need for all the infill.

Little Miners Poc

Last Friday, I thought up a grand plan on how I could challenge the current state of mobile anime games. The idea was that instead of gambling for pngs, you could pay to contribute to commissioning new character art. This way, you’re guaranteed something for the money you put in, it benefits the entire player base and artists. In a sense, I was hoping to centralize the exchange of money and services through an anime game I developed.

fwmcbaubau.com

Before we begin, check out the site at fwmcbaubau.com!

In case you didn’t visit the site or came from a future where the site is no longer live, here’s a brief description.

fwmcbaubau.com is a website where users contribute to a global click count by clicking on a button which also plays an animation and audio.

Architecture

Now that we’re on the same page, I’ll share the architecture of the site. The site itself is statically hosted, with the assets coming from a CDN.

Developing Mobile Pages With Pillow

This is a follow up post to the one I made about the TTGO T5 v2.2. The aim was to prepare images and make them available for display.

Background

At this point I had a Lambda function for converting image data to binary data directly usable by the epdiy Arduino library using Pillow.

I also explored taking screenshots of webpages using Puppeteer, uploading them to S3 and passing them through the Lambda function. However, I had a few concerns about this approach:

SQLite3 and Go

The issue

Using SQLite with go using using the mattn/go-sqlite3 module requires cgo which in turn requires gcc and complicates cross-compliation.

If developing on Windows, gcc needs to be installed which can be quite the ordeal.

If using multistage builds in Docker, care needs to be taken to ensure that the architecture matches the final stage. I encounted an issue when using the default golang image which is a Debian image to build for a final Alpine image.

Ttgo T5 V2 3

Motivation

I found a new toy after being inspired by a post I saw about image generation AI model being run on a Raspberry Pi. One of the suggestions was to hook up the output to an eInk display because of the slow generation rate, with a link to some Raspberry Pi eInk display combos for ~100 pounds.

After a bit of searching and I found an esp32 connected 4.7" 540x960 eInk display for about 50SGD plus shipping.