January, 2025
Related
More from Applied Cartography
Consider a fan-out-ish model that you want to aggregate a bunch of: likes on a post, for instance. class Post(models.Model): created_at = models.DateTimeField() class Event(models.Model): post = models.ForeignKey(Post, on_delete=models.CASCADE) created_at = models.DateTimeField() Let's say we want to aggregate the number of likes on a...
(Order in the CSS rule sense, not the metaphysical sense.) The time has come to begin exfiltrating some higher-traffic, higher-leverage parts of Buttondown's admin UI away from the autogenerated Django admin and into some more bespoke components. Take, for instance, this rather grisly (but useful) inline admin table: This contains useful...
I invited nickd to join our Linear instance yesterday, which reminded me that I had a slew of notes I wanted to publish on our own experience of migrating from GitHub Issues to Linear, and some reflections on it as a product now that we've been using it for a few months. One useful lens for understanding a product's positioning and strategy is to...
Some kind words from Chris Krycho on Buttondown's Alternatives page: This is how I want all my tools to be. There is a ton of room in these markets for healthy and friendly competition — and no need at all for winner-take-all or monopolist attitudes. First off — credit where it's due, I originally came across this genre of page on Memberful's...
I've been on the hunt for a new way to dogfood Buttondown for the past month or so, and I've finally found it: Hypermodern Django. At this point, all of my/our usages of Buttondown for Buttondown don't involve archives: we're using it headlessly, with RSS-to-email and APIs powering both this site's newsletter and the 'official' one. This is...