Monthly Grinder

Welcome to the very second edition of GG Development’s amazing coding adventures! Here’s your monthly dose of thoughts and links, for your consideration:
- The fit-content value is a little-known but useful option for CSS width/height properties, sizing an element so that it… fits its contents. Who’d have thought. (There’s also a more generic fit-content() function, but it’s hardly supported anywhere yet.)
- To be able to adequately describe the various dynamic object-generation shenanigans you can get up to in JavaScript, TypeScript now supports template literal types! Seems useful if you need it, but it’s probably better if you don’t.
- And while we’re on the subject, TypeScript 4.2 is out! Mostly quality-of-life features and other niceties this time around.
- Tired of generating strongly typed interfaces for undocumented REST APIs? So were the guys who made json2ts, apparently.
- If you ever wanted to quickly go back to a point in history in your (MS-flavored) DB, snapshots let you do exactly that. It’s a great tool for experimenting with bigger schema changes, without needing to create a giant backup or meticulously reverting everything by hand.
- Should you ever need to tune SQL query performance, check out Plan Explorer! It has tons of features to let you figure out what goes on in the belly of your database when it starts munching on a query.
- Are you tired of bright lights committing violence against your retinas in the early hours of the morning? If so, you’ll be glad to hear that Gitlab has now joined the list of applications sporting some form of dark mode.
- For all you functional programming nerds, pattern matching is coming to Python!
- And finally, the fun link of the month: AI Dungeon, an AI-driven text-based RPG, written collectively by the players. The fact that this works as well as it does is quite amazing.
That’s it for this time, see you next month!