๐๏ธ Past Time for Passkeys โ FullStack Bulletin #443
Articles on password tech, UI design, database construction, and JavaScript tricks!
What's up,
I shipped the fourth edition of Node.js Design Patterns last month, and I am finally back working on my other book Crafting Lambda Functions in Rust. If you know me, you know that Serverless and Rust have been my happy place for the last five years, so stay tuned for more. You will see a few relevant picks in this issue too: Rust fans, you are in for a treat.
I will still keep our compass pointed at full-stack web development, that lovely and complex craft where we mix protocols, pixels, and people to do a little magic on the web. With a bit of luck, the things we build reach millions and make someoneโs day a tiny bit better. That is worth showing up for.
A small inspiration to carry into the week: learn the tool, and then learn the why. Curiosity compounds! The more we peek under the hood, the better we design, the kinder we are to our future selves, and the smoother our apps feel for everyone else.
Happy reading and coding!
โ Luciano
PS: The quote you read in this issue was suggested by our good friend and reader Paolo, whom I truly admire in the broader world of software engineering. Thank you Paolo, we are blessed to have you here. I loved this quote because it reminded me how programming is an art that is perhaps more bound to humans than it is to machines and this is a kind reminder in the age of AI and LLMs. If you want to suggest an inspiring tech quote, or use these quotes in your own projects, they all live in a public repo (and there's even an API). In the great spirit of open source, use it or just make it yours. It is totally open and free.
"The essential part of any program, the theory of it, is something that could not conceivably be expressed, but is inextricably bound to human beings."
โ Peter Naur, Computer Scientist
Past Time for Passkeys โ Last week I fell into a Nordic.js rabbit hole and found myself watching this talk from Kyle Simpson. One day I will actually make it to this very cool conf in person. Kyle is one of my favorite speakers and writers. Tiny spoiler. he still does the best intros in the business. The talk is called Past Time for Passkeys and it is a crisp tour of why passwords are a relic and how passkeys can make our apps safer and our users happier. This is not brand new tech, yet I feel we are still underusing it and underrating it in real products. Have you shipped passkeys in one of your apps? I have not yet. I am itching to find an excuse so I can learn it properly and bring it to a real project. Watch Video
The Two Button Problem โ A tiny UI trap that trips a lot of real products: the two button problem. When you have two buttons with different looks and no cursor, it is weirdly hard to tell which one will fire. The author shows clear examples from TV screens and pill toggles, then suggests practical fixes like stronger focus rings and platform aware styles for coarse pointers with that neat media query trick. It is a fast read that will sharpen your eye for states and intent. Slightly more design than code, yet perfect for fullstack folks who ship screens and want fewer user oops moments. Read Article
Build Your Own Database โ NO! You should not build your own database... for production. But, you should absolutely build a toy one to understand what real databases do for you. This interactive guide walks you through a tiny key value store, starting with a plain file and layering in the ideas that make lookups fast and writes safe. The article uses beatufully animated interactive components to make those concepts click in your hands. Read it, then go back to your favorite database with new eyes. You will avoid silly queries, pick better indexes, and ship faster. Read Article
What Actually Happens When You Press โSendโ to ChatGPT โ On a similar vein as the previous article, this is another in the series "do you know how stuff actually works or do you just use technology blindly?" As folks who actually make tech, we should aim to understand the machinery, not only press the shiny buttons. I will confess: if you had asked me last week to explain how LLMs work, I would have rambled and hoped you changed the subject. This piece changed that. Now, I feel comfortable explaining the path from your prompt to the streamed reply, and I feel better using these tools in my day to day! Read Article
Here comes the sun: building a weather client in Rust โ This pick is a bit outside most comfort zones unless you are diving deep into Rust, which I strongly recommend. I could not skip it. If nothing else, because of this opening that nails why we build software together: "Weโre better together, and thatโs as true of software engineers as it was of the Beatles. None of us is as smart as all of us [...]. I encourage thinking about every program we write as a kind of global collaboration. By designing our [...] programs as modular, reusable components [...] and publishing them to the universal library, we make it possible for others to connect our software with their own." I mean... How beautiful is that? And the rest of the article delivers too, with a tiny weather client used to teach small crates, clean interfaces, and tests that pull their weight. Even if you are not writing Rust this week, the mindset travels well to any stack. It is motivating, practical, and genuinely uplifting. Read Article
Why does "๐ฉ๐พโ๐พ" have a length of 7 in JavaScript? โ If you have been reading this newsletter long enough you know by now I have a knack for emojis and UTF encoding. I do not claim expert status, but I always find this stuff fascinating. This piece is one of those reads that feels simple and entertaining and still very educational. Before I started to really deep dive into UTF I never questioned how machines store text. I took it for granted. Of course it is all bits and bytes, which means we need standard encodings and sometimes it really helps to know how those standards work. Now let's see how much a single emoji can teach us! Read Article
Scripts I wrote that I use all the time โ Another slightly weird pick that is not strictly full stack, yet deeply inspiring. I have a little repo of personal scripts that I keep in sync across machines, and this post made me want to clean it up and add a few more. Evan shares a grab bag of tiny helpers that smooth real day to day work. things like copy and pasta for the clipboard, to make and enter a temp folder, trash for safer deletes, serveit for quick local hosting, plus timing and sound helpers. It is practical, personal, and full of copy worthy ideas. I am absolutely going to steal a couple of these smart time savers. Bonus note. the post blew up and sparked a lot of people to share their own favorites, which is a lovely nudge to invest in your own tools. Read Article
Donโt Forget These Tags to Make HTML Work Like You Expect โ These days there are a few tags and attributes you see in every single HTML page, even the simplest one. But what are those and why do we need them? This tidy checklist spells out the tiny incantations that make a bare page behave the way you expect. think <!doctype html> to avoid quirks mode, <html lang="en"> for accessibility and language aware processing, <meta charset="utf-8"> so text does not garble, and <meta name="viewport" content="width=device-width, initial-scale=1"> so layouts do not shrink on phones (I know, this one could have been easier, but it's just boilerplate at this point). I generally like stuff from this blog, because it carries a great spirit: a love letter to the big beautiful mess that is making things for the world wide web.  Read Article
๐ Book of the week!
The Rational Software Engineer: Strategies for a Fulfilling Career in Tech, by Mykyta Chernenko
This book will serve as a framework for you as a software engineer seeking a fulfilling career and wishing to stay passionate and maintain a healthy mental state. It is filled with protocols to achieve effective life-long learning, navigate career development, adapt to changes, maintain work-life balance, and have a healthy lifestyle. As a successful software engineer you tend to focus on improving your technical skills: learning a new programming language, mastering another tool, or using a library. But you also need to build a solid mental framework that will help you navigate your professional development. You need to develop the skills that will help you be a happy software engineer. This book will help you if you feel frustrated, unmotivated, or unhappy; lost in your career path; or uncertain if you want to be a software engineer. It can help you deal with burnout, high levels of stress, or depression; or if you struggle to be productive while working from home. What You Will Learn
- Efficiently organize your work day
 - Know when and how to seek a new project, company, or career
 - Take care of your body and mind in a software engineering context
 - Understand what contributes to job satisfaction and how to integrate it into your career
 - Use non-coding activities for your and your company's benefit
 - Build healthy relationships with managers and colleagues
 
Buy on Amazon.com - Buy on Amazon.co.uk
Extra picks to feed your curiosity! ๐ง
- The present and potential future of progressive image rendering
 - Importing vs fetching JSON
 - Rethinking async loops in JavaScript
 - Why 
NaN !== NaNin JavaScript (and the IEEE 754 story behind it) - Toolchains, the hard parts
 - Migrating (from AWS and Azure) to Hetzner
 - Measuring Engineering Productivity
 - CSS layout: flexbox, grid, media queries and container queries
 - Free Customizable SVG Icons for Web Developers & Designers
 
And we're done here! โจ
Another issue in the books! If anything caught your eye or you've got ideas to share, reply away โ your input means the world! ๐
                    
                    
