Technology

Bibliobunny: A Tool for Extracting eBook Highlights From Kindle and Play Books

A bunny holding an e-ink tablet while sitting in a library

I like to keep backups of things other people just leave “in the cloud,” (which is really just some private corporation’s computer). In the past, I’ve used eReader software on tablets or phones. I wanted to create a book quote bot that would post random highlights from novels I’ve read. In order to do so, I first had to write tools to convert book highlights into usable formats. Bibliobunny is a Python application I wrote to parse notes from Amazon Kindle and Google Play note formats into JSON. It can also load those JSON files into a sqlite database, which can be used to post book quotes to a Pleroma server.

Read More Right Chevron

Adventures and Custom Repositories in Void Linux

neofetch Void Linux
neofetch Void Linux

I’ve been using Void Linux on several of my servers and my work laptop. I’ve found it to be a stable Linux distribution, with many of the tools I commonly use in its package repository. It is not derived off of another distribution, and is built around its own xbps package manager. Some of the commands for xbps are a bit difficult to remember, and it doesn’t have the best command line interface. Void also uses runit for service management, which also has some non-traditional ways of handling services. In this article, I’ll go over some valuable tools, such as vpm and vsv, which greatly improve the Void Linux command line experience. I’ll also go over voidup, a tool I built for creating custom package repositories on Void Linux.

Read More Right Chevron

Sony Xperia 1 V

Sony Xperia 10 and Sony V 1
Sony Xperia 10 and Sony V 1

I’ve had my current phone since 2019. I’ve gone through a lot of mobile devices over my life, and it’s been nice to have a single phone that’s lasted this long. Although most of the phone seems to work fine, the LTE connectivity issues I had to deal with previously have only gotten worse. Phone calls, both over my normal carrier and via jmp.chat have been incredibly unreliable for over a year. I suspect that some of the hardware (possibly the cell modem and the microphone) has physically degraded. So after nearly five years, I got a new device. I’ll go over the steps I take to de-Google my device, as well as some of my favorite mobile applications, both open source and proprietary.

Read More Right Chevron

The Disappearing Videos of YouTube

YouTube Phone

The Network Neighborhood icon, appearing in Windows 95 and NT4, allowed people to share files between computers connected on a home network. At universities and LAN parties, people used to make copies of the videos they watched, long before the growth of large video sharing websites. YouTube did so well during the video hosting wars that it was purchased by Google. Being a massive monolith of a video sharing website, it’s also rife with censorship. I archive videos that I find interesting, which are also at high risk of disappearing. I wrote a program called Youboot to scan my collection of downloaded videos, and tell me which ones are no longer available and the reason they were removed. The best offense, in the war against thought-crime, is to watch the videos the powerful want to burn.

Read More Right Chevron

WRX Wheels: Enkei PF05 18x8.5

This year, I updated the headlights and fog lights on my 2006 Subaru WRX. These were quality of life updates, as the old light enclosures were yellowed and dulled. I had planned to do wheel updates as well, but the rims I purchased were on backorder. The wheels were more essential as the previous rims have taken a beating over the seven years I’ve owned this vehicle. Searching for aftermarket rims was an involved process. In this article, I’ll cover the replacements and how they turned out, but also the process I went through and the tools I’ve found that helped narrow down the right size and fitment for my vehicle.

Read More Right Chevron

Adventures in Hyprland

Hyprland Chan
Hyprland Chan

Every once in a while, I’ll give Wayland another try. I’ve been using the i3 window manager for years, so my last attempt was another crack at using Sway as my Wayland Composer. I had put weeks of effort into getting Sway working for my general development workflow, but it was eventually frustrating and broken enough that I went back to using i3/X11. This year, I’ve decided to try Hyprland. With its pretty animations and visuals, I heard good things about this tiling window composer. A few months in and there are still some Wayland things that frustrate me, but Hyprland is far beyond my Sway experience. I’ve had to, once again, try to reconstruct my workflows and default applications, but overall I’ve made a lot more headway this time. Hyprland is usable enough that I want to try to continue using it for the foreseeable future.

Read More Right Chevron

I Rarely Do a Fresh Install of Linux: Copying Linux Between Machines

Two Tux Penguins with Hard Drive Cloning

When going from Windows 3.1 to Windows 95, I favored installing things from scratch rather than trying to upgrade things in place. In my university days, it wasn’t uncommon for many of the other students I knew to reformat and re-install their machines regularly. Windows has become more stable long term, although copying a Windows install to a new device sometimes requires 3rd party tools. In the Linux world, it’s much easier to simply copy an entire existing installation to a brand-new system using tools that are often part of the base system in any distribution or USB installation media. The following post is a reference document I often use when imaging new machines.

Read More Right Chevron

Updating the Lighting on my 2006 Subaru WRX

2006 Subaru Impreza WRX
2006 Subaru Impreza WRX

I bought my 2006 Subaru WRX in the fall of 2017. I’ve traveled over half the country with Nicole (that’s her name). Last year, I started looking at newer Imprezas, but I was concerned with the tracking that’s now being built into all vehicles. General Motors was found selling detailed driver information to third-party data brokers, allowing insurance companies to increase rates and deny coverage based on data car owners didn’t know was being reported. I take my data privacy seriously, going as far as removing Google services from my phone and deleting my mainstream social media. There are guides for bypassing or disabling the permanent cell modem on modern Subaru vehicles, but I decided not to go down that route. I know I’m still being tracked in other ways, but I like to lower my footprint whenever possible.

So I decided I wasn’t going to replace Nicole. After all, she is a Subaru WRX. She’s well maintained, and her interior is in excellent condition. Although not the most high-end sports car for her era, she is fun, fast and occupies a special place in the hearts of many car enthusiasts. So I decided to do some repairs and updates to keep her on the road for years to come.

Read More Right Chevron

Replacing a Dell Inspiron with a Framework Laptop

Framework Laptop running Void Linux
Framework Laptop running Void Linux

I had been using a Dell Inspiron 16” with an Intel i7-1260P as my work laptop for a year and 11 months. One Sunday evening, I went to look up information I needed for a Monday meeting and found the laptop had shutdown. I was unable to turn it back on. I tried multiple chargers and high-powered USB-C cables. The power light simply turned amber for a few seconds whenever I pressed the power button. With the laptop completely dead, I pulled the storage (an M.2 NVMe solid state drive) and moved it to a Lenovo. After setting up the GRUB bootloader, I was back up and ready for work on a horribly slow laptop. With the Dell out of warranty (only one year from the factory), I decided to replace it with a Framework Laptop. Even though Framework is slightly more expensive than most major brands, everything on it is user-serviceable. All the options from major brands had RAM soldered onto the motherboard that could not be upgraded. That growing trend was the breaking point that turned me away from the big brands in the laptop market.

Read More Right Chevron

Archiving Locals Content

A.I image generated from the prompt: A robot scraping and archiving content into an old steam punk looking filing cabinet

I subscribe to two channels on Locals, a creator funding platform that was bought by Rumble. Both of the people I subscribe to produce a lot of content, and there’s no way to consume all of it, especially with Local’s abysmal web interface. In the past, I’ve archived content from The Blaze. The Blaze had a well-designed frontend interface and easy to handle JSON response. This made it almost trivial to archive content. Locals renders most of their HTML on their servers. A considerable amount of scraping and parsing is required, in order to archive their content. I created a tool called arclocals; a Python application anyone should be able to use if they want to archive the content of people they subscribe to on Locals.

Read More Right Chevron