“We shall do a much better programming job, provided we approach the task with a full appreciation of its tremendous difficulty, provided that we respect the intrinsic limitations of the human mind and approach the task as very humble programmers“”
Hello,
Welcome to issue #366!
If you missed the announcement in our latest issue, I am trying to gather as much feedback as possible on this newsletter to see what can we do to make it more useful to you. If you would like to share your opinion, please consider filling this quick feedback form, I'd really appreciate it! ❤️
In other news, last week I had the pleasure to attend RustNation UK and meet the lovely Rust community (unsurprisingly you'll see some Rust material in this issue!). I presented a workshop about using AWS Lambda with Rust, two topics I have been passionate about for the last few years. If that's something you are curious about, my slides are available online, so go check them out!
Among other awesome people, I had the pleasure of meeting Ben Wishovic, one of the main contributors to Leptos, an ambitious project that allows you to build full-stack web projects completely in Rust (yes, even the frontend). If you are into Rust, or just thinking to learn it, you should check it out!
Compose If you are building some kind of Admin UI for a CMS or just need your users to input formatted text, I recently discovered Trix: an interesting WYSIWYG editor for the web by 37Signals, the creator of Basecamp and Ruby on Rails. I haven't played with it too much, but from a few quick tests, it seems powerful enough for most use cases and relatively easy to integrate.
There are so many friggin' ways, frameworks, and philosophies to do CSS these days. The most bare-bone way I can think about is ignoring CSS files completely and writing raw inline style attributes in all your HTML markup. This is probably going to be very hard to maintain by hand, so it's probably not a great idea. But what about performance? Isn't this approach going to bloat our pages? Well maybe, but it turns out that there might be some unexpected performance benefits in adopting this approach...
As a software engineer with significant experience with JavaScript I got used to the idea of async and I have a high-level understanding of why it can be convenient for IO-intensive applications. This article explores this topic from the perspective of a very experienced Rust developer and it tries to compare the async approach with the multi-threaded approach. Even though you might not be interested in Rust, this is a great read to understand better what kind of tradeoffs we are adopting when we use async programming.
Do you have users that might adopt your product from different timezones? Have you thought it might be convenient to display any date in the user-specific timezone? How can we do that in a very easy way? Well, you can use this simple (yet effective) open-source web component!
CSS is ever-evolving. Especially in the last few years! The amount of stuff that has been coming out might have been somewhat hard to keep up with. This article does a great job at summarising the main things that you should absolutely know and that you can already adopt in your web projects!
This guide covers some of the inner workings of Promises in the JavaScript language. It explores how they leverage concepts like the Microtask Queue and Event Loop to enable non-blocking async code. The best part is that it provides some great visualizations that can help a ton to build a good mental model for these concepts.
There are many ways to approach a “Dark Mode” feature that respects a user’s system color scheme preferences and allows for per-site customization. And it's tricky to get the switch right. If you don't do it correctly you'll risk having that annoying flash of unstyled content that your users might hate! In this article, you walk through a new possibility that leans into cutting-edge CSS, with minimal JavaScript to support persisting the user’s color scheme preference across pages.