“The real problem is not whether machines think but whether men do.“”
Hello,
Welcome to issue #376,
OK, I'll start by admitting that this issue came out a little bit weirder than usual! Somehow, I ended up selecting a few cool resources that are not necessarily strictly related to the world of full-stack web development. They are still cool engineering topics and I still think that they can teach you a lot, but do let me know what you think! 🙏
Your website is probably not going to have many visitors from Antarctica, but this is not the only place in the World where internet connectivity might not be great. So, if you care about being inclusive and making sure that ALL your users can have a great experience on your website, here's an interesting story and a few ideas that you can (and should) borrow! Not all ideas are website specifics, but this is still worth a read!
Web forms and inputs support a variety of additional attributes that can provide hints to the browser and improve the user experience of filling out forms online. With the tiniest bit of extra effort, we can make sure our forms help rather than hinder. For example, did you know you can enable or disable spell-check or auto-correct on an <input> element?
This article is a bit of a fun one. Not strictly related to full-stack web development, but I am sure you can recognise some of the laws of software complexity laws being stated here. Don't take it too seriously, but there's certainly some bittersweet truth to it.
Lua is one of these brilliant languages that you either love or hate. Small and efficient, it appears often in plugin systems. For instance, I recently had to use it to create some special NGINX extensions. It was fun to learn it, but also a bit painful at times. With TypeScriptToLua, you can bring your TypeScript experience when you need to write Lua code. It's effectively a transpiler from TypeScript to Lua. Your mileage might vary, but probably still worth a look if you are afraid of Lua.
Zigar in an open-source software tool set that lets you utilize Zig code in your JavaScript project. Zig is still a relatively new language, but it really shines when you need extreme performance but you are looking for something a bit more modern and friendly than pure C. This can be the case if you are writing some low-level component and now you want to wrap it in a nice JavaScript API so you can use it from your Node.js projects. I haven't tried it yet, but I am really curious to give this a shot!
The popover drama started with a tweet about how a HEY Calendar popover loaded slowly on a throttled internet connection. Then, a heated discussion followed in the best social media way, including nuance-free hot takes and professional trolls. This is a great starting point to understand the underlying tech that powers HEY: Hotwire, a ruby server-side rendered approach to reactive UIs in the browser.
If you ever attended a talk about good RESTful APIs I am sure you heard the term idempotency once or twice. But what does it really mean and why is it important to ensure consistency?
Book of the week
Modern JavaScript for the Impatient
by Cay Horstmann
Exploit the Power of Modern JavaScript and Avoid the PitfallsJavaScript was originally designed for small-scale programming in web browsers, but modern JavaScript is radically different. Nowadays, JavaScript programmers actively embrace functional, object-oriented, and asynchronous programming, while deprecating error-prone concepts from the past. Modern JavaScript for the Impatient is a complete yet concise guide to JavaScript E6 and beyond. Rather than first requiring you to learn and transition from older versions, it helps you quickly get productive with today's far more powerful versions and rapidly move from languages such as Java, C#, C, or C++.