|  | Hey folks,
Sorry for missing an issue last week. I was on holiday in the mountains, taking a much-needed break from screens and schedulers. It was glorious. And yes, if you're one of those wild Geoguessr people, here’s a pic. See if you can figure out where I was 😛
Since I wasn't solving real-world bugs or wrestling with infrastructure, my reading pattern went a bit off the rails. More exploratory, a little chaotic. I also found myself diving deeper into the world of agentic AI tools, probably thanks to the buzz around AWS Kiro. I’m still not totally sold on the whole thing, maybe because I haven’t found a workflow where they consistently deliver value, but my curiosity is definitely growing.
So, this issue might feel a little weirder than usual, but hopefully in a good way. It’s still packed with full-stack goodness, and my goal remains the same: to keep you informed, inspired, and motivated in this ever-shifting world of web development.
Enjoy the ride, — Luciano
| “Companies spend millions of dollars on firewalls, encryption and secure access devices, and it's money wasted, because none of these measures address the weakest link in the security chain“ — Kevin Mitnick , Author | 
| To be a better programmer, write little proofs in your head — Last week I stumbled across this illuminating piece that felt too good not to share. I often find myself reflecting on what it really takes to grow as a software engineer (I have written an article on this topic). It's a tough question with a thousand possible answers, but this article offers a refreshingly practical one: to become a better programmer, start writing little proofs in your head as you code. Not formal, mathematical proofs. Just the habit of mentally stepping through your logic. What’s true before this function runs? What needs to be true after? Are you maintaining the structure or invariants your system relies on? It’s a quiet but powerful discipline that can turn a mess of code into something you can reason about with clarity and confidence. Combine this mindset with the ability to break down your code into small, discrete units and back it all with solid automated tests, and you'll likely see a dramatic boost in both your code quality and your confidence as a developer. Read article | Thinking in Rust: Ownership, Access, and Memory Safety — If you know me, you know I’m quite the fan of the Rust programming language. I have to admit, when I started learning it around five or six years ago, I struggled a bit to get going and fully embrace some of its more innovative and characteristic concepts. Well, I wish I had this article back then. It explains Rust’s access model in a way that feels intuitive and approachable, without glossing over the hard stuff. Ownership, references, lifetimes, and mutability are all broken down with clear and well-thought-out code examples that help build real understanding. Rather than just repeating the official docs, it offers a way of thinking about Rust that actually sticks and translates to real projects. I’ve always believed Rust is an excellent language for building web backends, especially when correctness and performance are paramount. And this kind of resource is exactly what helps developers cross that initial learning curve and start using Rust with confidence. Read article | Modern async iteration in JavaScript with Array.fromAsync() — Here’s a little gem for anyone who enjoys modern JavaScript features and clean async code. This post dives into Array.fromAsync , a recent addition to the language that makes it easier to consume async iterables and collect their values into an array, without boilerplate, helper utilities, or awkward loops. If you’ve taken one of my FREE Node.js Streams workshops or explored JavaScript Iteration Protocols with me, you’ll know how much I enjoy digging into these low-level abstractions and showing how they power so many things behind the scenes. These workshops still need to be updated to include Array.fromAsync , but this article gives a great preview of why that addition is such a big deal. Read article
| Encrypting Files with Passkeys and age — Last week, during a hike in the mountains, I found myself chatting with a friend about Passkeys and the tech behind them. Now, this might be slightly off-topic for a fullstack newsletter (although I’d argue it’s something you might have to integrate with if you work on login systems for the web), but that conversation stuck with me. Later that evening, I ended up reading more about passkeys and stumbled across this fascinating article. What really blew my mind is the idea of using passkeys not for authentication, but for encryption. That was a first for me. I had always thought of passkeys as a login replacement, not as a tool for secure, user-scoped encryption. But it turns out this is not only possible, it’s also surprisingly practical. Read article | ReactJS From Zero To Hero (Free Online Book) — This one’s a great pick if you’re trying to learn React or if you already know the basics and want to go a little further. React Zero to Hero is a full-length course that covers core concepts in a clear and structured way, without assuming too much or overwhelming you with edge cases. The best part? It’s completely free and fully readable on the web. No signups, no paywalls, just solid React content from start to finish. Read article | An MCP server boilerplate — MCP (Model Context Protocol) is quickly becoming one of the hottest patterns in the AI/dev tooling space. It’s a protocol that lets agents or AI tools communicate with your backend in a predictable and structured way, often by exposing models and operations via a schema. Think of it as a spec for building smart, context-aware APIs that can be consumed by LLMs or other agents. Now, MCP is all the rage right now, but building one? Not so easy. It looks simple on the surface, but there are a lot of decisions to make and little details that can trip you up. Should you go with a local or a remote server? How do you handle authentication? What if you need to support payments or private access? This boilerplate project gives you a solid starting point that covers some of those tricky advanced features out of the box. It also makes it easy to deploy your MCP server to Cloudflare, so you don’t have to spend hours fiddling with infra. View Repository | JavaScript scope hoisting is broken — This one is definitely on the niche side and probably most appealing to JavaScript bundling nerds (you know who you are). But even if that’s not your usual rabbit hole, it’s worth a quick skim. The post dives into a subtle issue with scope hoisting in modern bundlers. It’s something you might have run into without realizing. If you’ve ever had a module behave strangely after bundling and couldn’t quite pin down why, this might connect the dots. It’s a great reminder that even mature tools have sharp edges, and understanding what’s going on under the hood can save you hours of head-scratching. Read article | | Web Scraping with Pythonby Ryan Mitchell | 
| If programming is magic, then web scraping is surely a form of wizardry. By writing a simple automated program, you can query web servers, request data, and parse it to extract the information you need. This thoroughly updated third edition not only introduces you to web scraping but also serves as a comprehensive guide to scraping almost every type of data from the modern web. Part I focuses on web scraping mechanics: using Python to request information from a web server, performing basic handling of the server's response, and interacting with sites in an automated fashion. Part II explores a variety of more specific tools and applications to fit any web scraping scenario you're likely to encounter. - Parse complicated HTML pages
- Develop crawlers with the Scrapy framework
- Learn methods to store the data you scrape
- Read and extract data from documents
- Clean and normalize badly formatted data
- Read and write natural languages
- Crawl through forms and logins
- Scrape JavaScript and crawl through APIs
- Use and write image-to-text software
- Avoid scraping traps and bot blockers
- Use scrapers to test your website
| | | 👋 That’s all for this week. See you next Monday! Greetings from your full stack friends Luciano & Andrea | | 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! |
|
|
|
|
|
| | |
|
|
|
|
|