This is a valid Dockerfile for a NodeJS application. It is also a pile of 💩!
We can improve:
- 🔒 Security
- 🏎️ Build speed
- 👁️ Clarity
Follow along as we go from 💩 to 🥇!
(code in alt text)
I think some people were under the impression that my previous post was about doing type-level math. It's not!
H.O.TScript (🔥) is a library for *composing* type transformation!
Here is a practical example: Transforming a frontend object type into an API payload version 👇
Build beautiful command-line apps in minutes with `@clack/prompts` 🪄
🤏 Only 4 kB gzip (80% smaller than `prompts`)
💎 Beautiful, minimal UI
✅ Simple API
🧱 Comes with text, confirm, select, and spinner
Raycast × Vercel Giveaway 🎁
@leeerob and I are giving away 10 Raycast mugs and 10 Vercel water bottles to 20 followers who:
· Follow @raycastapp and @vercel
· RT this tweet
Winners announced on Feb 13
Forgot to mention this CSS tip when sharing the :has() calendar 🤦♂️
It's a <table> & a snippet like this 👇
tr:has(:checked) ~ tr:has(:hover)
.cell:has(~ .cell:hover)
Says target the cell in a sibling row that's hovered and has a sibling that is hovered 🤯
You :has() power! 💪
🔥 CLI tip: Get a list of files with ESLint issues and open in VS Code
Pipe eslint → grep → xargs code.
Also handy for opening all files with merge conflicts
Problem: You want to re-throw a JavaScript error to provide a friendlier error. But, you want to keep the original error details too.
Solution: Include the original error via `cause`.
More: https://t.co/TyF4IyYxju
#javascript
Junior job developer interview question: can you implement this algorithm without googling?
Other senior developers in the room, participating in the interview:
🐷 A big fat startup with $18 million in revenue/year with 5% profit margin
makes less money than...
🐥 A small lean startup with $1 million revenue/year with 95% profit margin
($0.9M vs $0.95M profit)
Giving away 3 unrevealed Villagers of XOLO NFTs! Current value around $500 each
To enter just retweet and follow me and @PlanetXOLO
Unrevealed Villagers are available on OpenSea: https://t.co/UqtCbSTHtJ
Winners selected in 48 hours 💜