RSSAmplifier

Blog

Kevin Cox's Blog

kevincox.caRSS feed ↗7 posts

Latest posts

Lost Inputs

A UI shouldn’t lose your inputs. If you are typing, each and every key should result in a letter in order. No characters should e mssig or rerodeerd. If I switch windows with Alt+Tab and then type, the events must always go to the newly focused window. If I close a tab with Ctrl+w and then type, the events must go to the newly focused tab. This may seem obvious, but I often see applications that…

Digdoku

I randomly had the idea that it would be interesting to “dig into” all possible Sudoku puzzles. So I created Digdoku . The landing page is an “empty” puzzle, each link leads to a puzzle with one additional square filled. Values that are not possible are excluded. So you can never get an invalid puzzle by clicking links (but you can by editing the URL). The concept is simple. Basically for every…

NixOS PostgreSQL Major Version Upgrade

PostgreSQL major version upgrades are something that NixOS currently doesn’t handle for you. This is my process, documented mostly so that I can remember it next time I want to upgrade. Warning I highly recommend that you read the PostgreSQL Upgrading documentation . It is well written and gives important caveats. It would be risky to follow through these steps without understanding the process.…

Losslessly Changing Video Framerate

I’ve been taking a few timelapse videos recently and as an amateur I’ve just been using the default phone camera apps. Google Camera defaults to “Auto” for the speedup, which keeps the resulting video between 15 and 30s no matter how long you record for (with minimum of 5x speed). It also offers explicit 5, 10, 30 and 120x speeds. The iPhone forgoes explicit options and only offers an auto mode…

I Don't Like Imports

I think this is an unusual opinion, so I thought I would share. I prefer not to import external symbols into the local scope. For example, I prefer: let body = reqwest :: get ( " https://kevincox.ca/feed.atom " ) .await?. text () .await? ; over use reqwest :: get; // At the top of the file. // Inside some function. let body = get ( " https://kevincox.ca/feed.atom " ) .await?. text () .await? ;…

Toronto Fish & Chips

Over the past year I’ve been on a small adventure to find some excellent Fish & Chips in Toronto, Canada. While I haven’t found the perfect chip shop I have gone to a handful of the most popular places and would like to share what I learned. I’ve been to quite a few restaurants, but I’m only going to discuss the ones that stand out. I don’t think you will be disappointed by any location on this…

Dead Bird Features

Anyone who has had an outdoor cat will have experienced a thoughtful gift left on your doorstep in the morning, usually a dead bird or mouse. These gifts are made with love, and take effort to acquire and return to your doorstep. However, us humans generally do not appreciate them. I often find similar features in software. For example, the wiki that our company uses recently released a new…