Previously I wrote about getting a new version of the Linux kernel booting on my favorite phone of all time, the Palm PVG100 (pepito). This blog post is about my (enormous) effort of porting Lineage 23.2 (Android 16) to the phone, running version 4.19 of the Linux Kernel. I'll upgrade your phone Did you stumble onto this post just because you own a Palm PVG100, and you’re not into all this…
I’ve been bringing up my Palm PVG100 to run on Android 16 using a custom ROM. In doing so, I’ve been wondering how good I could get its tiny tiny tiny battery to last. Also, I wanted to make sure my new ROM didn’t have any serious battery life regressions compared to the stock Android 8 OS. So I decided to be scientific about it and actually measure. Phone Coulomb Counters All…
I’ve blogged about my favorite phone of all time, the Palm PVG100, before: And while I successfully upgraded it to Android 11, that still is pretty old (and with the stock kernel). The phone came out in 2018 with Android 8.1. Android 11 came out in 2020. I just love this phone so much. I wondered, what would it take to upgrade this thing to the latest Android 16 (2026)?
I’ve been debugging computers for my whole life. One of my earliest computer debugging memories was splicing my own null modem (serial) cable connecting two 386s to play DOOM with my brother. With no internet or manuals, I somehow figured out how to run dm.exe and get it working over 100’ for lots of summer fun. [Picture of my brother and me stringing a 100-foot-long,…
I’ve written before about getting custom motorized blinds for all my windows at my new house. They are great. So for my new Dream Office, I wanted to also have blinds, but I wanted them to be “perfect”. Perfect here means: I never want to have to adjust them, they should do exactly what I would have done, as if they were reading my mind. Here are my rules: Default to open,…
I have a first gen Silhouette Portrait hobby cutter that I’ve had for over a decade. It is great! It can cut heavy cardstock up to 8.5" wide. I’ve used it to cut many different projects over the years: Jellyfish Wall Art Etched Metal Straws Sutro Tower Vinyl Art 3d Paper Homes And here I’m cutting custom mini mats for an eInk display in a frame: But I’ve always resorted to…
Bloom’s Taxonomy is one of my favorite models for how we learn. The big idea here is that, as we learn, we build on each lower layer of the pyramid towards higher order functions. It is a pretty standard way of teaching things. First through repetition, we remember concepts. Eventually we can apply our understanding and answer questions. Finally we can create, building upon all the lower…
I remember when I was young watching “Star Trek: The Next Generation” (TNG), and thinking about how cool it would be to talk to Data (the android). I particularly remember thinking hard about the episode where a kid admires and looks up to Data so much, that he pretends to be like him in every way (including being emotionless). I also really remember “Data’s Day”,…
I recently have had the pleasure to use a TUXEDO Stellaris 16 - Gen 7 laptop. The main reason I’m using this laptop is for the Linux support, which is superb. Another reason is because it is just super cool! Literally! One of its accessories is the Aquaris water cooler. Let’s look at it under a thermal camera, for fun. The Aquaris Unit The Stellaris 16 is a Clevo laptop. It goes by a…
It is a generational thing (probably?), but I just don’t really like all the emojis we use all the time. I want to say it started back, before LLMs. I want to say in dating profiles? And for some reason I associate its popularity with Notion. Somehow it gained popularity as bullet points in more technical writing and company communication: (From https://www.emojibulletlist.com/) 😄 Bring joy…
I really love E Ink (or epaper, eInk, etc) dashboards. I love the low power, the contrast, and just the future yet low-tech look. This post is on another dashboard I made to show the solar production of the array in my home. This is the same 10" upcycled Kindle display as before: The positive Y axis represents production by the array, and the negative Y axis represents consumption. I previously…
For the longest time I’ve thought that we were doing container images “wrong”1. Container images always felt so unnecessarily BIG. Yes, there are lots and lots of ways to make images smaller, but still fundamentally they are shipping a root filesystem around. “Works on my machine!” Let’s ship the machine then. Multi-stage builds came around and solved one class…
High Performance Computing (HPC) has always been interesting to me, ever since the first time I read a Beowulf cluster joke on slashdot. High performance interconnects, huge storage, hundreds of nodes all working as one, the Top 500 list, what is not to love? I’ve only dabbled with the HPC world a little bit in my career, so this blog post is NOT written from the perspective of an HPC…
This blog post falls into the “I hope it is useful to someone” category. I recently had the pleasure of figuring out how to restore a Cru RTX800-TR RAID array that was suspected to be inoperable. This thing is a beast, and worth saving. This was a personal favor for a friend, not related to work. This is a technical write-up of what I did. Specs Product: RTX800-TR Interface:…
Stealing a poker metaphor, there is an important lesson that senior engineers exercise when working in tech: Knowing when to Hold ’em, Fold ’em, or when to walk (or run!) away. > You've got to know when to hold 'em, > know when to fold 'em, > Know when to walk away, > know when to run. > You never count your money > when you're sittin' at the table. > There'll be time enough for…
I had previously blogged about an Eink dashboard for tracking baby stuff (see more in the eink series at the end of the page). I’ve now repurposed that original baby dashboard (since I no longer need to track poopy diapers) into a weather station, and I would like to share some technical details about how it works. An Eink Weather Display This weather display also uses the 9.7 e-paper and…
I had previously blogged about an Eink dashboard for tracking baby stuff. I’ve since added a new display for our family calendar, and I would like to share some technical details about how it works. An Eink Family Calendar This uses an Inkplate 10 display. It is a 9.7-inch e-paper with an embedded ESP32 to control it. You might think that this is powered with some sort of headless javascript…
I don’t normally write blog posts that regurgitate information from normal documentation, but this particular subject irks me. If you are running an internal Kubernetes (k8s) platform, you owe it to yourself to make sure there is nothing external to your platform determining your reliability. You could ask yourself: How many internet dependencies do you have to start a pod? Should be zero,…
Five years ago I wrote a blog post against Kubernetes sidecars. I wrote that in response to the early days of sidecar containers becoming in vogue, and in response to Airbnb’s talk demonstrating the 7 containers they need for service discovery. At Yelp, we held off on running sidecars at all, and stuck to the single-container model on k8s for a long time, relying on host daemons for almost…
In part 1 I talked about why I don’t like sidecars generally. In this part 2, I want to look at why we don’t use good ole libraries instead. I Wish Libraries Were Easier to Make and More In Vogue Perhaps remind yourself: Why do we have sidecars in the first place again? There are usually a couple of answers: Separation of concerns: keep the app small and externalize functionality to…
I recently bought some motorized blinds from SmartWings. I’m working towards my dream home setup, with really good thermal qualities and a sane amount of automation. In this case, I want every window to have a really good motorized blind, and I never want to have to think about when to open and close them. Those blinds should have the type of honeycomb thing so that they keep the heat in…
There are a couple of infographics out there for “Latency Numbers Every Programmer Should Know”: 1, 2, 3. These are great, but I wondered: how up to date are they? Sure, they are meant to be general ballpark numbers, but there can be a huge difference between my five year old overheating laptop and a cutting edge server. What are the latency numbers for my computer in front of me?
In this blog post, I’m going to look at some init systems, but not very thoroughly: nitro tini dumb-init pid1 supervisord runit s6 daemontools systemd What Makes it a “Container” Init System? A tool can be considered “container” (PID1) ready if it can do two things: Handle signals as PID1: In Linux, any PID1 process won’t automatically get signal handlers it…
I want to share a capability that we have at $WORK that is not industry standard, but I think is underrated. Netflix’s container platform Titus has the capability of sharing folders between two containers in a kubernetes (k8s) pod. You might be asking, “can’t k8s already do that”? No. You are probably thinking of emptyDir, which is a way of setting up an empty folder that…
You may be familiar with the essay “Choose Boring Technology”. In that essay, McKinley makes the case that choosing boring technology and wisely spending your company’s “three innovation tokens” is a global optimization for the company, ensuring that solving a problem doesn’t come with the additional burden of supporting a shiny piece of unstable tech too. In…
When it comes to the state of the art of AI-Assisted Coding (perhaps not exactly “Software Engineering”) in August 2025, you may be confused. You will find examples of engineers who think it is all crap. You will also find examples where it has “considerably changed my relationship to writing and maintaining code at scale”. The Recurse Center’s blog post has even more…
I think that “modern” shrink-wrapped software (Helm Charts) is like fast food. It takes only a couple of seconds to eat (deploy), but isn’t a long-term healthy thing to do. Not all Helm Charts are like this. I’m specifically talking about any Helm Chart that’s big enough to include other Helm Charts. I’m going to pick on Wordpress as the example in this blog…
Imagine you are working on developing a new product for your customers. Your customers have some feature requirements, so you write them down in a chart: Customer Foo Feature plugh Support quux Frobulator xyzzy Viewer Customer A ☑️ Customer B ☑️ ☑️ ☑️ Customer C ☑️ ☑️ ☑️ Customer D ☑️ ☑️ Awesome! You certainly want to know what your customers actually need before working on your product! Which…
Normally when searching for a new home, one picks a city & budget, and then a real estate agent would find some homes for you to look at. But what if instead, you could make a computer program do the home searching for you? What if you could stretch out your home search across space and time? Instead of focusing on one area your real estate agent knows about for a month or so, what if you could…
Inspired by comments of a “forever desktop” here, analogous to a “forever home”, I wanted to share some thoughts on my “forever desktop”. (What year is it again?) The exact software that powers my desktop will inevitably change, but my principles won’t. (But if you are asking, it is Regolith, which is an opinionated i3 setup combined with gnome desktop…
I’ve previously written an ode to the Palm PVG-100 as my favorite phone of all time. It still is, but recently Google decided to end support for Android Auto for older phones (Android 8). Android Auto is a personal requirement of mine, and I couldn’t find any way to stick to an old version. So I embarked on the difficult journey of upgrading Android on this tiny phone from Android 8.
I love watching my favorite channels on Youtube. There is such great content out there, and with Patreon, there can be niche channels that I love where the content creators can just do what they love, and I can watch! I’m happy to pay them money directly. But I don’t really like Youtube.com (the platform) exactly. They have other priorities (ads, engagement, enshitification). In the…
Intro Ever since Microsoft acquired Github in 2018, I’ve been thinking of migrating away from Github. It’s not about Microsoft being more or less evil than Github; it’s just the way things go sometimes where a parent company must use an acquired company for leverage. But to where? Where could I move my code to that also isn’t another company waiting to enshitify its…
Mainframes In the beginning was the mainframe and time-sharing systems: IT’s job was to protect the sacred mainframe. Time was money. Users could humbly submit their stack of punch cards and wait for a response. Would I have asked for time on one of these mainframes? Absolutely. PCs The PC revolutionized computing in the enterprise: Computing became more accessible. You could have your own…
I love my PVG100 Android Phone. I’m afraid that another phone like this might never exist, so I’m paying homage to it in blog post form. Some stock photos: The photos are real. This phone is real. There really isn’t anything like it, and you have to actually hold it in your hand to understand what a marvel it is. You can still buy it new on Amazon right now, although I…
Want to make this blog post more fun to read? Replace the placeholder system names with ones you are familiar with. Then share the updated URL with your friends, and it will retain those replacements—a personalized blog post just for you! Word for your old legacy system: Word for your new shiny system: Replace Reset TL;DR: Whenever doing a big migration from system to system2, front-load as much…
I love my little OneNetbook 4: I love its capabilities and size. For the nerds: .-/+oossssoo+/-. kyle@netbook4 `:+ssssssssssssssssss+:` ------------- -+ssssssssssssssssssyyssss+- OS: Ubuntu 24.04.1 LTS x86_64 .ossssssssssssssssssdMMMNysssso. Host: SYSTEM_PRODUCT_NAME /ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 6.8.0-45-generic +ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 23 hours, 2 mins…
I want to share a tool I’ve been using to help track baby activities, an ESPHome-powered 10" eInk dashboard: (Snapshot taken after opening up the windows right after a long nap. Click for a full size image.) This dashboard is an Inkplate10, which is an upcycled Kindle DX display, retrofitted with an ESP32 for easy hackability. There is a lot going on with this dashboard, let’s review…
When I first bought this wifi-connected Roomba, I knew that someday it might have to join the Internet of Shit. The iRobot corporation has a pretty good track record for supporting their products, but at some point those servers are going to come down, or the app will break, or the SSL certificates will expire, etc. These products need continuous support from their companies in order to operate,…
This is the first post from the new blog! I’ll be archiving my old blog, xkyle.com and its … 168 posts and starting fresh here. Feel free to subscribe via the method of your choice.
You can subscribe to my blog in the following ways: Good old RSS You can get email updates via MailChimp You can follow me on LinkedIn where I cross-post