FullStack Bulletin

Subscribe
Archives
June 30, 2025

Announcing Vite 7 - FullStack Bulletin #428

Learn SQL by Solving Crimes, LogTape, Multithreading in Node.js, Regex Tips, History of Bot Detection, Liquid Glass Effects with CSS

View this email in your browser

Logo

Howdy,

This week’s collection feels like a proper developer mixtape. We’ve got high-performance bundlers, noir-style SQL mysteries, clever logging tricks, and even a splash of Apple-style liquid glass with CSS... all stitched together with a healthy dose of curiosity and pragmatism.
One thing that struck me while putting this issue together is how full-stack development constantly dances between the very practical (like taming worker threads or dealing with spam bots) and the wildly creative (like making your UI ripple like a highly dynamic interface). It’s technical. It’s visual. It’s somewhat logical. It’s weird. And that’s what makes it such a fun space to work in... I am sure you can relate!
I hope this issue gives you something new to play with, or at least think about differently.
Happy coding and exploring,
— Luciano
P.S. If you end up solving a fake crime scene with SQL or adding chromatic aberration to your navbar this week, please reply to this email and let me know. Maybe even send me a screenshot... I live for that kind of stuff!

“I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image“

— Stephen Hawking , Physicist

Announcing Vite 7

Announcing Vite 7 — Last week we shared Vitest 3.2, and now the Vite ecosystem is back with another banger: Vite 7 is out and packed with exciting updates. Momentum is clearly growing, and Vite is reshaping how we build frontends in all the right ways. This release introduces early access to Rolldown, a new Rust-powered bundler built for speed and compatibility with Rollup. It’s designed to make even massive projects build insanely fast. You’ll also get shiny new DevTools and smarter, safer defaults across the board. Vitest already supports it too. There’s plenty more, so if you’re on team Vite, go check out the full announcement. I personally look forward to starting upgrading all my projects and giving Rolldown a spin! Read article

Learn SQL by Solving Crimes — Lately I’ve been hopping between projects using MySQL, Postgres, and even the new Amazon DSQL. Different tech, same core: SQL is still the common language. And since I hadn’t written a proper SQL query in a while, I figured it was time to sharpen the old skills. That’s when I stumbled on SQL Noir: a free, browser-based game that turns SQL practice into a detective mystery. You play an investigator in a smoky, 1980s film-noir world solving crimes with… you guessed it, SQL. The first case? The Vanishing Briefcase. A man in a trench coat. A lounge called the Blue Note. A list of suspects and transcripts to sift through. If that doesn’t get your inner nerd fired up, I don’t know what will. And hey, if someone catches you mid-case at work, just say, “Hey, I’m training. In SQL.” Go solve some crimes and level up your queries! Oh, by the way, if you enjoy learning full-stack skills through games like this, I’ve put together a whole repository full of games. Have fun! Play the game

LogTape: a modern JavaScript logging library — When it comes to logging in JavaScript, I’m usually all-in on Pino. It’s fast, flexible, and has served me well across tons of projects. So what could possibly make room for yet another logger? Enter LogTape. What caught my eye is its truly universal design: it works everywhere: Node, Deno, Bun, the browser, you name it. That’s rare and super useful for modern full-stack or edge-first workflows. But the real hook for me is its clever use of hierarchical categories. Think debug module meets structured log levels. You define categories as arrays like ["my-app", "module"], and logs cascade through matching parent categories. It gives you precise, contextual control over verbosity without the usual config headaches. Definitely worth a look! Check the project

Worker Threads in Node.js: A Complete Guide for Multithreading in JavaScript — Did you know JavaScript isn’t strictly single-threaded anymore? Yup, worker threads have been around for a while now... quietly giving Node.js real multithreading superpowers. But wait... isn’t async I/O already good enough? It is, for most things. That’s why the real question isn’t why use threads, but when. This article lays it out clearly, showing the strengths of worker threads in CPU-bound scenarios where async just doesn’t cut it. If you’ve ever been a bit fuzzy on where threads fit into the JavaScript picture, this is a great deep dive. It’ll help you decide when to go full async and when to spin up a worker instead. Read article

Making regular expressions easier to use in JavaScript — I’ll admit it... I usually avoid regexes like the plague. As the old joke goes: “Some people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now they have two problems.” But sometimes, regex is exactly what you need. So how do you get the best out of it while avoiding the foot guns? This guide is a goldmine of practical tips. It walks through modern features like the /v flag, named capture groups, and even a trick to add inline comments. The syntax isn’t the cleanest, but it’s surprisingly helpful when your pattern gets hairy. Add in testing, clear formatting, and pattern reuse with template strings, and regex starts to feel almost… manageable. Read article

A short history of web bots and bot detection techniques — In my last project, I had to wrestle with spam bots again, integrating reCAPTCHA and a WAF to protect a couple of forms. A few weeks ago, we also featured Cap, a slick proof-of-work captcha. So naturally, I’ve been thinking a lot about how we actually fight bots. Turns out, it’s always a bit of a best-effort game. This article is a brilliant recap of the cat-and-mouse history behind anti-bot tech. From simple tricks to more sophisticated verification methods, it traces what’s worked, what failed, and how we got here. If you're curious about the mechanics behind the madness, this one’s a fun and thoughtful read. Read article

Liquid Glass, but in CSS — Apple is always ahead when it comes to setting UI and UX trends. Whether liquid glass is actually a good UX trend... well, I’m still on the fence. But it sure looks amazing. Want that same slick, glossy vibe on your site? You can pull it off with a bit of CSS. OK, maybe not just a bit of CSS... but still, it’s all doable! This article walks you through the steps to recreate the liquid glass effect on the web. The clever twist? It uses SVG filters for ripple displacement, edge distortion, and chromatic aberration. These subtle touches make the whole thing feel surprisingly real. Read article

Programming Phoenix 1.4: Productive |> Reliable |> Fast

by Chris McCord, Bruce Tate, and Jose Valim

Programming Phoenix 1.4: Productive |> Reliable |> Fast

Don't accept the compromise between fast and beautiful: you can have it all. Phoenix creator Chris McCord, Elixir creator Jose Valim, and award-winning author Bruce Tate walk you through building an application that's fast and reliable. At every step, you'll learn from the Phoenix creators not just what to do, but why. Packed with insider insights and completely updated for Phoenix 1.3, this definitive guide will be your constant companion in your journey from Phoenix novice to expert, as you build the next generation of web applications. Phoenix is the long-awaited web framework based on Elixir, the highly concurrent language that combines a beautiful syntax with rich metaprogramming. The best way to learn Phoenix is to code, and you'll get to attack some interesting problems. Start working with controllers, views, and templates within the first few pages. Build an in-memory context, and then back it with an Ecto database layer, complete with changesets and constraints that keep readers informed and your database integrity intact. Craft your own interactive application based on the channels API for the real-time applications that this ecosystem made famous. Write your own authentication plugs, and use the OTP layer for supervised services. Organize code with modular umbrella projects.

Buy on Amazon.com

Buy on Amazon.co.uk

Some secret links here for you! 🤫

  • tstyche: Everything You Need for Type Testing.
  • A guide to Scroll-driven Animations with just CSS
  • <syntax-highlight> element
  • CSS Color Functions
  • Inverse text-sizing based on text-length with attr()
  • Prefer Gaps To Margins
  • JSON evolution in Go: from v1 to v2
  • We Tried Amazon DSQL So You Don’t Have To (podcast)

👋 That’s all for this week. See you next Monday!

Greetings from your full stack friends Luciano & Andrea

🙌 Support us

If you enjoy FullStack Bulletin, consider sharing this newsletter with your friends and colleagues.


If there's something we can improve, let us know!


You can also sponsor the next issue!

Website iconTwitter iconMastodon icon

Copyright (C) 2024 FullStack Bulletin. All rights reserved.
*|IFNOT:ARCHIVE_PAGE|*

FullStack Bulletin is a FREE weekly curated newsletter for ambitious full stack developers. We sift the internet for builders, covering frontend, backend, databases, DevOps, and architecture to find what truly matters. Expect practical picks, clear takeaways, and fresh ideas that cut the noise, sharpen your skills, and fuel your creativity so you can put them to work right away.

*|END:IF|*

Our mailing address is:
*|IFNOT:ARCHIVE_PAGE|**|HTML:LIST_ADDRESS|**|END:IF|*

Want to change how you receive these emails?

You can update your preferences or unsubscribe

Don't miss what's next. Subscribe to FullStack Bulletin:
Powered by Buttondown, the easiest way to start and grow your newsletter.