Infix Expressions VS Postfix Expressions, and How to Build a Better JavaScript Calculator

If you‘ve ever tried your hand at building a simple calculator in JavaScript, you may have quickly run into an issue – operator precedence. Consider an expression like: 1 + 2 * 3 A naive approach of simply evaluating the operators from left to right would produce 9 (1 + 2 is 3, then 3…

An Introduction to Logging for Programmers

Logging is one of the most important yet often overlooked aspects of building robust software systems. When done well, logging provides invaluable diagnostic information for troubleshooting issues, auditing user actions, and gaining visibility into an application‘s behavior. However, many developers treat logging as an afterthought, littering their code with ad hoc print statements. In this…

You‘re Saying It Wrong: A Programmer‘s Guide to Pronunciation

As a seasoned full-stack developer, I‘ve worked with countless programming languages, frameworks, and tools over the years. One thing that never ceases to amaze me is the sheer volume of strange and wonderful jargon we developers use on a daily basis. From "garbage collection" to "syntactic sugar", the world of code is full of terms…

You Might Not Need to Transpile Your JavaScript

Transpilation, the process of converting source code from one version of a language to another, has become a ubiquitous part of the modern JavaScript development workflow. For years, tools like Babel, TypeScript, and PostCSS have allowed developers to leverage new syntax and language features while still supporting older browsers. But in a rapidly evolving web…

You Might Not Know JS: Insights From the JavaScript Bible

JavaScript is the language of the web. According to the 2020 Stack Overflow Developer Survey, it‘s the most commonly used programming language, with 67.7% of respondents reporting that they use it extensively. If you‘re a web developer, you probably write JavaScript code every day. But how well do you really know JavaScript? Sure, you might…

You can‘t get there from here: how Netlify Lambda and Firebase led me to a serverless dead end

As a seasoned full-stack developer with a passion for exploring cutting-edge technologies, I found myself captivated by the allure of serverless computing. The promise of effortless scalability, reduced operational overhead, and pay-per-use pricing made it an irresistible proposition. Eager to dive in, I embarked on a project to build a web application using Netlify Lambda…

You Already Use Types – So Here‘s Why You Should Use a Type System

As a full-stack developer who has worked extensively in both dynamically and statically typed languages, I‘ve come to appreciate the power and importance of type systems. While it‘s possible to write good software without static types, I believe that leveraging the capabilities of a strong type system can make you a more effective programmer and…

Yield! Yield! How Generators Work in JavaScript

Generators are a powerful but often overlooked feature in JavaScript. They provide a unique way to define functions that can be paused and resumed, enabling lazy evaluation of values and the creation of custom iterators. In this comprehensive guide, we‘ll dive deep into the world of generator functions, exploring their anatomy, mechanics, and real-world applications….

Yet Another 10 Utility Functions Made with Reduce

If you‘ve been following my series on utility functions made with JavaScript‘s reduce method, you know how powerful and versatile this functional programming technique can be. In part one, we covered essentials like map, filter, find, and some. Part two introduced more advanced functions like partition, pluck, and zip. Now we‘re back with another installment,…