I don’t watch much TV these days. I used to watch more and have found that good intro/title sequences hold as many memories for me as the show. I remember dozens of fun (Friends), catchy (The Jeffersons), cool (Knight Rider, Airwolf, Hawaii Five O) themes from earlier, but the best intros are a bit more recent and manage to capture the vibe of a whole show in under two minutes.
Alice in Chains’ Jar of Flies is one of my all time favorites! It reliably teleports me back the mid-90s, living in Lübeck, Germany. A completely different life.
The AI hype is real, and so are the AI benefits. I started using AI coding tools during the early days of GitHub Copilot and haven’t looked back. They’ve only gotten better in all respects. In 2024, there was a big surge in interest in Cursor, and I, too, used it up until recently. The functionality truly is amazing—almost creepily so. Only a year ago, you’d have to explicitly ask the AI what you…
The article below is NOT my creation. I’ve been searching for an abridged watch/rewatch guide for “Battlestar Galactica” without much success finding one. Months after I started a discussion on Reddit, someone replied with a link to a real gem of a guide from Choire Sicha on the now-defunct The Awl. The page lives on in the Internet Archive, but I wanted to make it a bit more…
The SQLite docs steer you away from AUTOINCREMENT: The AUTOINCREMENT keyword imposes extra CPU, memory, disk space, and disk I/O overhead and should be avoided if not strictly needed. It is usually not needed. The short version of not using AUTOINCREMENT is that primary keys can be reused following their deletion. And the problems with not properly accounting for this just bit me. In my case, a…
Behold the Thunderbolt 1000 siren: Midwesterners of a certain age will feel their blood run cold when its blower motor winds up and the siren starts blaring. I grew up in the 90s in Naperville, IL, less than 300’ from one of these. Here’s exactly where it was perched, now featuring a different siren: Google Streeview I don’t know what the new one sounds like. The sound really was…
I’ve been intrigued by Fossil SCM and have written about it a couple of times (2016, 2015). The idea of a bundled solution for source control, ticketing, UI, etc., is appealing, so I’ve wanted to find a good opportunity to use Fossil in earnest. Plus, I’m a big SQLite fan, and that is inextricably linked to Fossil both as the storage subsystem, and that they’re from the same team. Late…
A few months ago, I started learning Flutter to build an app I’d been thinking about for a while. I joined the various Flutter-centric communities and followed developers who were active in the space. Overall, I’ve thoroughly enjoyed both the framework and the community dialog. But one element jumped out right away: a tremendous amount of material put out in social media and spammy…
This email request is headed right to the Spam bin, but it was nonetheless interesting to see how the flattening of the world continues to take place, how rates level out, how folks work around regional imbalances, etc.: I’m XXX from China and I found you on GitHub. As a full-stack web developer, I have worked in my local company for a long time. But I want to work as a freelancer on Upwork…
Most of the online places I visit are politically left-leaning. But I’m usually there for the content quality instead of the political persuasion. For example, the NYT is undeniably left-biased, but they do have news with extensive reporting and a lot of data and supporting references. When I visit Fox News, it is mostly just ads for catheters and testosterone therapy, plus some salacious…
I don’t write much SQL and I rarely have to do performance optimization since systems are so fast relative to my data sizes. But I have a homegrown logging system that using SQLite files in the hundreds of MBs that started slowing down noticeably on queries. This wasn’t a big deal for usage, but it bugged me as to why things were slower so I went digging into the offending query:
Today, I was leaving the store and what drove by neatly captured America’s attitude towards pedestrians. It was an F350 outfitted with a heavily customized “Iron Cross” front bumper with actual spikes. The above isn’t the actual truck, which I didn’t catch a photo of in time, but it looked similar (Reddit source). Why is he allowed to drive this thing in public? Easy:…
I’ve used both AWS S3 and Cloudflare for a long time, often to deliver simple static hosting with a TLS posture. 99.9% of the time I’m just updating the content, but every few years I need to set up a brand new domain, and this gives me angst. The issue is that I always recall there being a hangup with root domains, and there are too many articles out there that make this more…
Boogie Boards are pretty handy for the kids. They’re durable and the batteries last forever. Well, almost forever. We just had one die and I was dismayed to see “Battery not user replacable“ on the back. Throw this whole thing away?!? But there were four screws… Small, but Philips head, so I opened it up. A CR2025 battery was propped up, in a holder, ready to be replaced. I had a replacement on…
I’m one of those people who gets really irritated when even the potential of a movie/TV spoiler arises, and consuming media is becoming very difficult. I just don’t get it. For a long time, reviewers, ranging from professionals to some random author in a forum, respected the rule that the viewer should be able to experience the production fully, with little to no foreshadowing of the…
I just discovered that my kalafut.net domain had a birthday yesterday! It is now 21 years old, first registered by me on 2002-11-02. That’s a long time ago! Owning a domain has been incredibly useful over the years. I’ve changed email providers multiple times and moved blogs all over the place, but the little piece of internet property that I staked out during the George W Bush administration…
This is a close cousin to the renewal BS I wrote about previously. In this case we’re cutting back and ending a subscription outright: I Just Want To Cancel. I don’t want call anyone, and I don’t want to chat with anyone. Amazing that this dark pattern continues to legally survive. Fortunately privacy.com has my back, so having pulled the card now I’ll see these emails…
Flossing is important, as your dental hygienist has no doubt reminded you continuously. I really don’t mind the ritual of flossing, but the actual process used to really annoy me for many years until I found this One Weird Trick. The problem is that my teeth are quite tight, which means it takes a bit of tension to get the floss between them. Using normal floss this means that I have to have the…
I’ve finally imported all of the previous blog posts (from the other blogs) into the main index. This turned out to be not too painful, since all of the blogs were WordPress so the title and date were consistently placed in the HTML. The goal here was only to bring over those elements and surface them on the main page, with a little stub post that redirects to the original, statically…
Tinted car windows aren’t all bad. Our Highlander has them on the rear side windows, improving comfort and privacy. But tinted front windows are a real annoyance for me as someone not in that car. I don’t recall them being as common as they are now. The specific problems this causes: I can’t see hand signals. It is common for folks to try to be courteous and signal to convey…
Today, I pumped my own gas. In Oregon. It’s about damn time! After the better part of a century, Oregon has finally eliminated its silly no-self-serve law. I needn’t explain why I’m happy about this, because I already have.
It’s that time of year when a few of my news subscriptions come due. That means doing a little dance that saves me hundreds of dollars annually. That I have to go through this routine is borderline immoral, in my opinion. That periodicals will quietly renew for sometimes 5x the “promotional” rate does and should make people’s blood boil. And let’s name these rates for…
It is summer break, so it is time to figure out how to keep the kids busy. This challenge has changed over the years. When they were younger, we’d rely on the summer programs offered by local daycare providers, and that would usually cover us for most of the day. Now it is a complicated, expensive patchwork work of camps. These schedules are all over the place, which usually means there are…
Despite my recent critique of Things, it is still my main task organization tool. One of the main views in the app is the “Today” view. This should be my driver throughout the day, but because of how disorganized I am, it can sometimes become cluttered with a large number of aspirational tasks that I wanted to get to, but never did. What happens then is that instead of being an useful…
Last month I released/announced Sherwood Sports. This was one of those simple ideas I’d thought about for a while, finally got going with assuming it would take hours or a few days, and ended up spending at least a couple of weeks on. It took some deliberate effort to actually ship it and not continue fiddling indefinitely. In this case “shipping” meant announcing the existence…
Things is one of the best designed apps for iOS and Mac, and it has been my task management app of choice for many years. I’ve been happy with it, and really enjoy its ergonomics vs. Todoist, which I was coming from. Yet my patience is running low. Things has clearly been actively developed, as shown in their excellent release notes. Yet I also feel it has stagnated in the areas I care…
My name is Jim and I’ve liked technology for as long as I can remember. I’ve had hobbies and formal education in electronics, but software is my real passion and I’ve been working with it for a long time. There once was a time when I pored over QuickBasic manuals (back when manuals had heft), wrote BBS tools and watched the x86 platform evolve. Today I follow and participate in…
While it may look the same, everything to build and deliver this site has changed. Here’s a look at what and why. I wrote about my blogging setup roughly a year ago, and in that post a couple of key motivations for the move to GitHub were: Get away from relying on building on Mac and pushing to S3 Leverage the GitHub UI for small edits There were benefits from the change, but not to the…
A Go/Fiber side project I’m working on needs some interactive elements. I started making some additions using AlpineJS and HTMX, but things grew to the point that I decided a dedicated JS view library would be worthwhile. Usually I reach for the awesome and under-mentioned Mithril.js, but I’ve not visited the world of React in many years, so I decided to start there instead. I was…
I’m a happy user of Bun and like the work being done at Uptrace. The following is a guest post by them about their monitoring projects. Enjoy! What is tracing? Link to heading Distributed tracing allows to observe requests as they propagate through distributed systems, especially those built using a microservices architecture. Tracing provides insights into your app performance along with…
A much complained about issue with the otherwise pretty decent Plex app for Samsung TVs is that despite giving you the impression that you’re choosing the audio track, the app actually only ever plays the first track. This is very annoying, and not that uncommon with my collection which has a lot of foreign films where the English track isn’t the first item. I played with some of the…
I recently gave the restic backup tool a try and was impressed. To date I’ve just relied on Apple’s Time Machine, but it seems to almost always be backing or cleaning for no clear reason. I found that restic’s scans of the things I wanted to back up completed within a minute. Sold on using it in earnest, I decided to automate it by adding a cron job. This was met with… no…
I’ve been [using Anki a lot more recently]({% post_url 2022-01-02-anki %}). Previously I was using it with very small decks, and I viewed the scheduling only from the lense of how well I remembered stuff. But as I use it with the kids at high volume, I’m seeing to power of it to manage a workload. One of the decks we use has over 4000 cards in it. How does one tackle that, and how do…
A couple of years ago I published a WWV simulator. On average it gets about 40 hits a day. I only occasionally review the traffic stats, but did so tonight and noticed an interesting pattern over the past week: The two taller spikes concide nicely with New Years Eve in UTC (left peak), and then a few hour later with the US east coast (right peak). I like the idea that a few folks decided to use my…
I’m delighted to see. folks. discussing. the sad state of search. I have little to add beyond Amen, 💯, yes the current state is complete shit. Searching for anything will inevitably have me trudging through pages of blogspam and repackaged content. Looking for that Postgres function syntax? Be prepared for paragraphs of: As the world stores ever more information, technologies such as the…
I’ve been aware of and have occasionally used Anki since it came out 15 years ago. Some folks are put off by the bare/crude design, but I never cared too much about that. What did put me off was the enormous number of settings, and frustration with it wanting to delay cards to far into the future. But really, I was just lazy to learn the program, which is why I gave up so many times.
Welcome to 2022! A long-ish holiday break and the start of a new year always has me thinking about my current setups. Hardware, software, schedule, habits, obligations, etc. Today I’m thinking a bit about the productivity tools I use and how well they’re working for me. Let’s run through them. Mail and Calendar Link to heading This a pretty boring category because it is well…
I don’t write much here, but I occasionally write something and have done so for over 15 years in various forms. For many years I used a self-hosted Wordpress installation. At the time it was certainly fun to set up, comments were novel, and the interface was easy to use. But once comments basically became a never ending spam magnet, there was little point in having a VPS with PHP and MySQL…
I won’t even bother to recollect anything about 2020 on this last day of year. On to something more interesting: sqlc! Usually my data persistence needs in Go end up being one of: Raw SQL with the help of sqlx GORM BoltDB and wrappers such as Storm just write out JSON Of these, the I’m always most drawn to SQL. Once I get past the most basic prototype, I find I almost always want the…
I just released my WWV Simulator to the wild. This is something I’ve toyed with making for a long time, but the threat of WWV and WWH being shut down really spurred me into action. It was a fun project that had a number of unexpected chances to learn stuff: I learned more about Javascript audio than I ever expected. I thought I could simply play some clips using HTML 5 APIs, and that’s…
The search for an acceptable digital photo management solution is neverending. Sometime I’ll write about that whole process, but for now I want to capture one very annoying and important gotcha with the current system. My current process has photos flowing through Apple Photos since they’re automatically uploaded from my iPhone. Apple Photos is acting as a convenient queue, since the…
I’ve often come across comparisons between JSON, MessagePack and Protocol Buffers (protobuf) for transfer and/or storage. The conclusion usually ends up being: after compression, it doesn’t matter. But when faced with the choice on my own project recently, I couldn’t help thinking that reduced verbosity on the input could only be a benefit. Plus is just seems only proper to…
I started working at Garmin shortly after Google announced the introduction of Google Maps on Android with free turn-by-turn directions. The effect on Garmin’s stock price was severe. Pundits quickly predicted the death of personal GPS navigation devices (PNDs) as smartphones offered a free, superior solution. The introduction of these apps did permanently resize and refocus the PND market,…
I’ve never benefitted from Django’s multi-app architecture and find the hijacking of a precious project name pretty annoying. The details and a remedy are described well in Single-App Django Project Anatomy. I’ve referred to this simple but easily-forgotten process of flattening the Django structure so many times that I’ve finally automated the process described therein in…
One thing I’ve learned from many years of using different task management approaches is to keep expectations in check. It is unlikely that any system or software is going to bring meaningful change to core problems of disorganization, lack of motivation, or just plain laziness. But that shouldn’t discourage one from trying different tools as part of the quest to get organized, get more…
I’m very happy to have just ticked off a really old to-do. I converted three old WordPress blogs to static sites: NZ Life (2005–2007) Peoria Dispatch (2008–2010) Peoria Dispatch (Garden) (2009–2010) These sites aren’t just old, they’re in read-only mode and are virtually never visited by me nor anyone else. They are also precious. They capture their respective…
It’s that time of year again: I start thinking about how inefficient the tax preparation process is. And this is not targeted at the IRS (though it deserves it), but rather tax prep software. Every year I think, “Why, when there are so few bits of actual data that I need to feed in, does this take so damn long?” I think the answer is that I don’t fit the TurboTax/TaxAct…