👇 NEW CSS-IN-JS LIBRARY ALERT!
🧁 vanilla-extract
🔥 Zero-runtime Stylesheets-in-TypeScript
✨ Minimal abstraction over standard CSS
🦄 Works with any front-end framework
🌳 Locally scoped classes + CSS Variables
🎨 High-level theming system
20 years ago, people tried to convince me that learning HTML was pointless because we had FrontPage and Dreamweaver.
Ignoring them was the best decision I ever made.
It's a mistake to learn a framework without first learning the fundamentals. That's why, when dealing with beginners, I always start off by making them build their own CPU, programming language and operating system.
Back end devs: Front end isn't real engineering.
Front end devs: *Bring engineering principles to front end*
Back end devs: Front end is too complicated.
Having trouble with code quality? Write a lot of tests. And I mean a *lot*. Test every file in isolation. Mock as many imports as possible.
When you're done, your code will still be bad, but now your tests will make sure it's impossible to improve anything in any meaningful way.
Companies: *Use free open source to make literally millions of dollars*
Open source maintainers: Could we at least get a couple of dollars from this?
Open source consumers:
Drag and drop tools are just simpler. That's a fact.
That's why I'm working on a drag and drop alternative to Microsoft Word. To get started, just open up the dictionary panel, find the word you like and drag it onto the document.
My experience migrating to TypeScript as a library author.
Day 1: Fine, I guess this will help out my consumers.
Day 10: Hey, this is actually kinda useful for me too.
Day 100: Wow, how did I ever live without types?
I don't see what's so useful about TypeScript. It's basically the same as JavaScript, except it takes more work because you have to write "any" a lot, and then you don't even get any type checking.
🔥 Capsize is a *massive* leap forward for web typography.
✂️ It uses font metadata to crop space from text nodes above capital letters and below the baseline.
🔍 It adjusts font-size so that the height of capital letters is a multiple of your grid.
👉