Stay ahead in web development: latest news, tools, and insights #34
Tags: webdev, weeklyfoo, javascript, node
Published: 2024-05-27 05:09:11


weeklyfoo #34 is here: your weekly digest of all webdev news you need to know! This time you'll find 47 valuable links in 7 categories! Enjoy!
## 🚀 Read it!

- <a href="https://smudge.ai/blog/ratelimit-algorithms?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vc211ZGdlLmFpL2Jsb2cvcmF0ZWxpbWl0LWFsZ29yaXRobXMiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoicmVhZEl0Iiwic291cmNlIjoid2ViIn19">Visualizing algorithms for rate limiting</a>: Solid written blog post about rate limiting including examples and playgrounds.<small> / </small><small>*rate-limiting*</small><small> / </small><small>10 min read</small>


<Hr />

## 📰 Good to know

- <a href="https://gabrielsieben.tech/2024/05/17/thinking-out-loud-2nd-gen-email/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2FicmllbHNpZWJlbi50ZWNoLzIwMjQvMDUvMTcvdGhpbmtpbmctb3V0LWxvdWQtMm5kLWdlbi1lbWFpbC8iLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoiZ29vZFRvS25vdyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Thinking out loud about 2nd-gen Email</a>: Proposal for next-gen emails<small> / </small><small>*emails*</small><small> / </small><small>19 min read</small>
- <a href="https://jrhizor.dev/posts/building-a-waitlist-the-wrong-way/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vanJoaXpvci5kZXYvcG9zdHMvYnVpbGRpbmctYS13YWl0bGlzdC10aGUtd3Jvbmctd2F5LyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJnb29kVG9Lbm93Iiwic291cmNlIjoid2ViIn19">Building a Waitlist (The Wrong Way)</a>: All about not seen red flags.<small> / </small><small>*startups*</small><small> / </small><small>6 min read</small>
- <a href="https://www.amygoodchild.com/blog/cursive-handwriting-in-javascript?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vd3d3LmFteWdvb2RjaGlsZC5jb20vYmxvZy9jdXJzaXZlLWhhbmR3cml0aW5nLWluLWphdmFzY3JpcHQiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoiZ29vZFRvS25vdyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Coding my Handwriting</a>: Including its own small tool to define the letters.<small> / </small><small>*fonts*</small><small> / </small><small>9 min read</small>
- <a href="https://rust-exercises.com/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vcnVzdC1leGVyY2lzZXMuY29tLyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJnb29kVG9Lbm93Iiwic291cmNlIjoid2ViIn19">100 Exercises To Learn Rust</a>: Starter to learn Rust<small> / </small><small>*rust*</small><small> / </small><small>6 min read</small>
- <a href="https://kilianvalkhof.com/2024/javascript/the-problem-with-new-url-and-how-url-parse-fixes-that/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8va2lsaWFudmFsa2hvZi5jb20vMjAyNC9qYXZhc2NyaXB0L3RoZS1wcm9ibGVtLXdpdGgtbmV3LXVybC1hbmQtaG93LXVybC1wYXJzZS1maXhlcy10aGF0LyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJnb29kVG9Lbm93Iiwic291cmNlIjoid2ViIn19">The problem with new URL(), and how URL.parse() fixes that</a>: Quick tipp!<small> / </small><small>*javascript*</small><small> / </small><small>5 min read</small>
- <a href="https://ntietz.com/blog/getting-buyin-is-different-from-getting-agreement/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vbnRpZXR6LmNvbS9ibG9nL2dldHRpbmctYnV5aW4taXMtZGlmZmVyZW50LWZyb20tZ2V0dGluZy1hZ3JlZW1lbnQvIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6Imdvb2RUb0tub3ciLCJzb3VyY2UiOiJ3ZWIifX0%3D">Getting buy-in to get things done</a>: Good to have a strategy.<small> / </small><small>*career*</small><small> / </small><small>8 min read</small>
- <a href="https://blog.nelhage.com/post/stripe-dev-environment/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vYmxvZy5uZWxoYWdlLmNvbS9wb3N0L3N0cmlwZS1kZXYtZW52aXJvbm1lbnQvIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6Imdvb2RUb0tub3ciLCJzb3VyY2UiOiJ3ZWIifX0%3D">Stripe's monorepo developer environment</a>: Insights of Stripe's env<small> / </small><small>*stripe*</small><small> / </small><small>20 min read</small>
- <a href="https://github.blog/2024-05-21-introducing-github-copilot-extensions/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmJsb2cvMjAyNC0wNS0yMS1pbnRyb2R1Y2luZy1naXRodWItY29waWxvdC1leHRlbnNpb25zLyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJnb29kVG9Lbm93Iiwic291cmNlIjoid2ViIn19">Introducing GitHub Copilot Extensions - Unlocking unlimited possibilities with our ecosystem of partners</a>: The world of Copilot is getting bigger, improving the developer experience by keeping developers in the flow longer and allowing them to do more in natural language.<small> / </small><small>*github*, *copilot*</small><small> / </small><small>9 min read</small>
- <a href="https://legendapp.com/open-source/state/v3/intro/introduction/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vbGVnZW5kYXBwLmNvbS9vcGVuLXNvdXJjZS9zdGF0ZS92My9pbnRyby9pbnRyb2R1Y3Rpb24vIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6Imdvb2RUb0tub3ciLCJzb3VyY2UiOiJ3ZWIifX0%3D">Legend State v3</a>: Legend-State is a super fast all-in-one state and sync library that lets you write less code to make faster apps.<small> / </small><small>*state*, *react*</small><small> / </small><small>6 min read</small>
- <a href="https://github.com/ldapjs/node-ldapjs?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sZGFwanMvbm9kZS1sZGFwanMiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoiZ29vZFRvS25vdyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Node LDAP Project Decomissioned</a>: Some people should be banned from the internet.<small> / </small><small>*oss*</small><small> / </small><small>6 min read</small>
- <a href="https://amvizion.org/blog/lessons-learned-from-yc.html?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vYW12aXppb24ub3JnL2Jsb2cvbGVzc29ucy1sZWFybmVkLWZyb20teWMuaHRtbCIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJnb29kVG9Lbm93Iiwic291cmNlIjoid2ViIn19">Lessons learned from studying 4,000+ YC Companies.</a>: Side note - the author used LLMs and ChatGPT to classify and structure the data.<small> / </small><small>*startups*</small><small> / </small><small>13 min read</small>


<Hr />

## 🧰 Tools

- <a href="https://github.com/tradingview/lightweight-charts?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS90cmFkaW5ndmlldy9saWdodHdlaWdodC1jaGFydHMiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">Lightweight Charts</a>: Performant financial charts built with HTML5 canvas<small> / </small><small>*charts*</small>
- <a href="https://www.softr.io/tools/svg-shape-generator?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vd3d3LnNvZnRyLmlvL3Rvb2xzL3N2Zy1zaGFwZS1nZW5lcmF0b3IiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">SVG Shape Generator</a>: Create Beautiful SVG Shapes<small> / </small><small>*svg*</small>
- <a href="https://zellij.dev/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vemVsbGlqLmRldi8iLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">Zellij</a>: A terminal workspace with batteries included<small> / </small><small>*cli*</small>
- <a href="https://hygraph.com/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vaHlncmFwaC5jb20vIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6InRvb2xzIiwic291cmNlIjoid2ViIn19">Hygraph</a>: The headless CMS powering content for mission-critical applications.<small> / </small><small>*cms*</small>
- <a href="https://github.com/antfu/importx?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hbnRmdS9pbXBvcnR4IiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6InRvb2xzIiwic291cmNlIjoid2ViIn19">importx</a>: Unified tool for importing TypeScript modules at runtime.<small> / </small><small>*typescript*</small>
- <a href="https://patternpad.com/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vcGF0dGVybnBhZC5jb20vIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6InRvb2xzIiwic291cmNlIjoid2ViIn19">PatternPad</a>: With PatternPad you can create unlimited unique pattern designs that fit your style. Ideal for branding, presentations, social media posts or customising products.<small> / </small><small>*patterns*, *graphics*</small>
- <a href="https://www.kreated.ai/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vd3d3LmtyZWF0ZWQuYWkvIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6InRvb2xzIiwic291cmNlIjoid2ViIn19">kreated.ai</a>: AI prompts made & shared by the creative community<small> / </small><small>*ai*, *prompts*</small>
- <a href="https://github.com/MrRefactoring/jira.js?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9NclJlZmFjdG9yaW5nL2ppcmEuanMiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">jira.js</a>: A JavaScript/TypeScript wrapper for the JIRA Cloud, Service Desk and Agile REST API<small> / </small><small>*jira*</small>
- <a href="https://unyt.land/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vdW55dC5sYW5kLyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">unyt.land</a>: Use TypeScript modules from sources like deno.land, JSR, GitHub directly in the browser without a compile step.<small> / </small><small>*deno*</small>
- <a href="https://github.com/Ph0enixKM/Amber?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QaDBlbml4S00vQW1iZXIiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">Amber</a>: Amber the programming language compiled to bash<small> / </small><small>*shell*, *cli*</small>
- <a href="https://plsfix.co/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vcGxzZml4LmNvLyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">pls-fix</a>: Get help if your account was suspended on a big tech site.<small> / </small><small>*help*</small>
- <a href="https://pattern.monster/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vcGF0dGVybi5tb25zdGVyLyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Pattern Monster</a>: Customizable SVG patterns for your projects<small> / </small><small>*patterns*, *svg*</small>
- <a href="https://github.com/vasturiano/react-force-graph?tab=readme-ov-file?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS92YXN0dXJpYW5vL3JlYWN0LWZvcmNlLWdyYXBoP3RhYj1yZWFkbWUtb3YtZmlsZSIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">react-force-graph</a>: React component for 2D, 3D, VR and AR force directed graphs<small> / </small><small>*viz*, *visualization*</small>
- <a href="https://github.com/souporserious/restyle?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zb3Vwb3JzZXJpb3VzL3Jlc3R5bGUiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">Restyle</a>: The simplest way to add CSS styles to your React components.<small> / </small><small>*react*, *css*</small>
- <a href="https://github.com/cyntler/hamburger-react?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9jeW50bGVyL2hhbWJ1cmdlci1yZWFjdCIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Hamburger-React</a>: Animated hamburger menu icons for React.js weighs only 1.5 KB.<small> / </small><small>*react*</small>
- <a href="https://github.com/philz1337x/clarity-upscaler?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9waGlsejEzMzd4L2NsYXJpdHktdXBzY2FsZXIiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">ClarityAI</a>: AI Image Upscaler & Enhancer - free and open-source Magnific Alternative<small> / </small><small>*ai*, *images*</small>
- <a href="https://github.com/nucleuscloud/neosync?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9udWNsZXVzY2xvdWQvbmVvc3luYyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Neosync</a>: Open source data anonymization and synthetic data orchestration for developers. Create high fidelity synthetic data and sync it across your environments.<small> / </small><small>*pii*</small>
- <a href="https://insigh.to/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vaW5zaWdoLnRvLyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Insighto</a>: Collect feedback from your customers, prioritize features, and build a product users love.<small> / </small><small>*feedback*</small>
- <a href="https://github.com/magicuidesign/magicui?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tYWdpY3VpZGVzaWduL21hZ2ljdWkiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">MagicUI</a>: Animated components and effects you can copy and paste into your apps.<small> / </small><small>*ui*</small>
- <a href="https://github.com/lowlighter/matcha?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sb3dsaWdodGVyL21hdGNoYSIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">matcha.css</a>: Drop-in semantic styling library in pure CSS.<small> / </small><small>*css*</small>
- <a href="https://github.com/hudy9x/namviek?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9odWR5OXgvbmFtdmllayIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">namviek</a>: The open-source project manager for tiny teams<small> / </small><small>*projects*</small>
- <a href="https://api.onetwentyone.ai/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vYXBpLm9uZXR3ZW50eW9uZS5haS8iLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidG9vbHMiLCJzb3VyY2UiOiJ3ZWIifX0%3D">121API</a>: A HealthKit API for the Web<small> / </small><small>*api*, *health*</small>
- <a href="https://github.com/evanshortiss/env-var?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ldmFuc2hvcnRpc3MvZW52LXZhciIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">env-var</a>: Verification, sanitization, and type coercion for environment variables in Node.js<small> / </small><small>*envvars*</small>
- <a href="https://github.com/platformatic/ai-warp?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9wbGF0Zm9ybWF0aWMvYWktd2FycCIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">AI warp</a>: Platformatic Stackable to interact with AI services<small> / </small><small>*ai*</small>
- <a href="https://github.com/Codehagen/Dingify?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9Db2RlaGFnZW4vRGluZ2lmeSIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0b29scyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Dingify</a>: Dingify is helping you unlock the power of seamless real-time monitoring<small> / </small><small>*analytics*</small>


<Hr />

## 🎨 Design

- <a href="https://indieground.net/blog/band-logo-fonts-discovering-the-typography-behind-30-music-icons/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vaW5kaWVncm91bmQubmV0L2Jsb2cvYmFuZC1sb2dvLWZvbnRzLWRpc2NvdmVyaW5nLXRoZS10eXBvZ3JhcGh5LWJlaGluZC0zMC1tdXNpYy1pY29ucy8iLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoiZGVzaWduIiwic291cmNlIjoid2ViIn19">Band Logo Fonts</a>: Discovering the Typography behind 30 Music Icons<small> / </small><small>*fonts*</small><small> / </small><small>21 min read</small>
- <a href="https://medium.com/airbnb-engineering/rethinking-text-resizing-on-web-1047b12d2881?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vbWVkaXVtLmNvbS9haXJibmItZW5naW5lZXJpbmcvcmV0aGlua2luZy10ZXh0LXJlc2l6aW5nLW9uLXdlYi0xMDQ3YjEyZDI4ODEiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoiZGVzaWduIiwic291cmNlIjoid2ViIn19">Rethinking Text Resizing on Web</a>: Bonus - understand the differences between px, em and rem<small> / </small><small>*fonts*</small><small> / </small><small>16 min read</small>
- <a href="https://matthewstrom.com/writing/ui-density?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vbWF0dGhld3N0cm9tLmNvbS93cml0aW5nL3VpLWRlbnNpdHkiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoiZGVzaWduIiwic291cmNlIjoid2ViIn19">UI Density</a>: What UI density means and how to design for it<small> / </small><small>*ui*</small><small> / </small><small>18 min read</small>
- <a href="https://www.nngroup.com/articles/visual-design-cheat-sheet/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vd3d3Lm5uZ3JvdXAuY29tL2FydGljbGVzL3Zpc3VhbC1kZXNpZ24tY2hlYXQtc2hlZXQvIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6ImRlc2lnbiIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Visual Design - Glossary</a>: Use this glossary to quickly clarify key terms and concepts related to visual design.<small> / </small><small>*ui*, *glossary*</small><small> / </small><small>16 min read</small>


<Hr />

## 🤣 Meme

- <a href="https://ant.gebna.gg/best-js-meme-to-date-2.png?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vYW50LmdlYm5hLmdnL2Jlc3QtanMtbWVtZS10by1kYXRlLTIucG5nIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6Im1lbWUiLCJzb3VyY2UiOiJ3ZWIifX0%3D">Comparison in JS</a>: Lovely!<small> / </small><small>*javascript*</small><small> / </small><small>50 min read</small>


<Hr />

## 📚 Tutorials

- <a href="https://knock.app/blog/building-a-github-activity-feed-with-nodejs-and-socket-io?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8va25vY2suYXBwL2Jsb2cvYnVpbGRpbmctYS1naXRodWItYWN0aXZpdHktZmVlZC13aXRoLW5vZGVqcy1hbmQtc29ja2V0LWlvIiwicHJvamVjdCI6IndlZWtseWZvbyIsImluZGV4IjozNCwic2VjdGlvbiI6InR1dCIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Building a GitHub activity feed with Node.js and Socket.io</a>: Your first steps with sockets.<small> / </small><small>*nodejs*, *sockets*</small><small> / </small><small>11 min read</small>
- <a href="https://frankforce.com/city-in-a-bottle-a-256-byte-raycasting-system/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vZnJhbmtmb3JjZS5jb20vY2l0eS1pbi1hLWJvdHRsZS1hLTI1Ni1ieXRlLXJheWNhc3Rpbmctc3lzdGVtLyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ0dXQiLCJzb3VyY2UiOiJ3ZWIifX0%3D">City In A Bottle – A 256 Byte Raycasting System</a>: Loving this breakdown.<small> / </small><small>*raycast*</small><small> / </small><small>16 min read</small>


<Hr />

## 📺 Videos

- <a href="https://www.youtube.com/watch?v=_-6LgEjEyzE?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Xy02TGdFakV5ekUiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidmlkcyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">The latest in Web UI (Google I/O ‘24)</a>: Get a rundown of all the things developers should know that landed in the browser for UI development since the last I/O, plus what's on the product roadmap.<small> / </small><small>*web*</small>
- <a href="https://www.infoq.com/presentations/engineering-strategy/?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vd3d3LmluZm9xLmNvbS9wcmVzZW50YXRpb25zL2VuZ2luZWVyaW5nLXN0cmF0ZWd5LyIsInByb2plY3QiOiJ3ZWVrbHlmb28iLCJpbmRleCI6MzQsInNlY3Rpb24iOiJ2aWRzIiwic291cmNlIjoid2ViIn19">Use Engineering Strategy to Reduce Friction and Improve Developer Experience</a>: Will Larson discusses what problems engineering strategy solves, examples of real engineering strategies, how to rollout engineering strategy, troubleshooting why your strategy rollout isn’t working.<small> / </small><small>*productivity*</small>
- <a href="https://www.youtube.com/watch?v=MFCn4ce5dVc?utm_source=weeklyfoo&utm_medium=web&utm_campaign=weeklyfoo-34&ref=weeklyfoo" target="_blank" rel="noopener" ping="https://api.weeklyfoo.com/api/foo/bar?foo=eyJldmVudCI6InVybC1jbGljayIsInByb3BzIjp7InVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9TUZDbjRjZTVkVmMiLCJwcm9qZWN0Ijoid2Vla2x5Zm9vIiwiaW5kZXgiOjM0LCJzZWN0aW9uIjoidmlkcyIsInNvdXJjZSI6IndlYiJ9fQ%3D%3D">Ryan Dahl introduces JSR at DevWorld 2024</a>: All you need to know about jsr<small> / </small><small>*jsr*</small>


Want to read more? Check out the full article [here](https://weeklyfoo.com/foos/foo-034/).

To sign up for the weekly newsletter, visit [weeklyfoo.com](https://weeklyfoo.com).