My First LLM Programming Experience

The big mistake Using Tailwind CSS for Notado is the single biggest mistake I have ever made in my career as a developer. I cannot overstate the amount of technical debt that this has introduced, and how it has compounded over the years since this decision was taken. Never use this for a one-man SaaS project. One of the biggest consequences of this mistake was that introducing dark mode immediately became a non-trivial task, especially when compared to Kullish, where I had the good sense to use Bulma, and adding dark mode was the simple case of adding a single link element to my existing base HTML template:
Read more →

Best of Hacker News Comments

Earlier this week I saw an Ask HN post titled “What are some iconic comments on HN?” Over the years, I’ve seen some iconic comments on HN. Inspired by this, I want to create a website showcasing the most memorable discussions and comments on this website. What are some of your favorite comments on HN? I have been saving comments from Hacker News on a variety of subjects and topics since 2020 when I finally ditched traditional URL-focused bookmarking services and created Notado to be able to save, archive and organize comments on discussion websites quickly and easily.
Read more →

Using Rust, Chrome and NixOS to Take Headless Screenshots for Social Sharing

The social media landscape from Twitter and Mastodon to Instagram and TikTok has, for better or worse, centralized on sharing text highlights and quotes as images rather than as plain text. Now I can share my highlights easily as images on social media! I like to share my highlights from across the web, which is why I publish topic-specific RSS feeds for people to subscribe to. However, one of the features that I’ve been missing for a while now on Notado is exporting screenshots for social sharing.
Read more →

Documenting War Crimes in Gaza

As I write this, the genocide in Gaza being perpetrated against the Palestinian people continues unabated, with the explicit support of many western governments and politicians across the political spectrum. Facilitation of war crimes is generally recognized as a war crime in International Humanitarian Law, the Rome Statue of the International Criminal Court and Customary International Humanitarian Law (I know this thanks to my many years spent as an ICRC field delegate, but you can do your own further research on this point if you’d prefer).
Read more →

Ditching Docker for Local Development

Earlier this month I mentioned on Mastodon that I was replacing a Docker-based local development environment at my day job with a Nix-based one, orchestrated with overmind and a justfile. There was quite a lot of interest in particular in how overmind and just could be used to replace a container / compose-based local development. While I can’t share the details of the significantly more complex migration I did at my day job (yet!
Read more →

Notado 07/2023 Update: API Price Gouging, New Services, Archiving

The last few months have seen a flurry of changes on major social media websites like Twitter and Reddit with regards to API access. This has also resulted in a number of new competitors seeing rapid growth and becoming new hubs for online discussion. Let’s start with the first point: you will always be able to save Reddit comments and Tweets to Notado by highlighting and saving a text selection. This doesn’t require any API access or scraping, and it will always work because it only relies on what is visible in your browser.
Read more →

The Bookmarking Data Model Is Wrong For Highlighting

The data model for bookmarking and highlighting services past and present can generally be distilled down to the following: * URL * Title * Scraped Content * User Highlight * User Annotation * ... Other Metadata The bookmark itself is tied to a URL, and anything else related to the bookmark, such as the title, the scraped content (if the service scrapes on your behalf), highlights and annotations are stored as additional metadata linked to that URL.
Read more →

Embedding RSS Feeds on My Static Website

I have wanted to redesign my website for a while now. In fact, I have wanted to redesign my website ever since I saw Nathan Wentworth’s website. If you haven’t seen it before, check it out. To this day it remains my favourite personal website on the internet. My favourite feature on his website has to be the regularly updating feeds; music from https://last.fm, recent posts from https://mastodon.social, and recent bookmarks from https://pinboard.
Read more →

Finding Interesting Comments, Discussions and Communities Online

User comments and discussions on the internet have a pretty bad rep these days, to the point where many people have just opted out of online commentary completely, going as far as using a combination of DNS filtering and browser extensions to remove them entirely from their browsing experience. I, on the other hand, have spent the last couple of years refining ways to separate signal from noise in the cacophony of online user commentary, as I have come to believe that the most valuable knowledge I acquire on a daily basis comes from commentary and discussion rather than publishing.
Read more →

Making Meaningful Kindle Highlights for Fiction

If you find, as I do, the act of physically marking books indescribably (in the literal sense) disrespectful (to the physical book), you probably felt great the first time you realised that PDFs could be digitally annotated. Equally so when Amazon’s Kindle brought eBooks into the mainstream. Unfortunately the story of highlights on Kindle has been one of some frustration and disappointment for me, in large part due to the restrictions placed on liberating highlights from the Amazon ecosystem, and the UX of highlighting on an e-ink Kindle, which remains to this today clunky, slow and always just a little too imprecise.
Read more →