Editor's Pick
How to waste your career, one comfortable year at a time
If you are an average 30 yr old engineer, let's say you want to retire reasonably by the time you are 60. A year wasted at a poor job or role is equivalent to you throwing away 3.3% of your career. The older you get, the steeper your loss is.
CSS
Proposal: CSS Variable Groups
CSS Variable Groups is a way to define multiple properties under the same namespace and pass the entire group around, addressing several pain points around design tokens, design systems, and integrating third-party components. The proposal has been posted to the CSS WG repo and received significant attention by the community.
Introducing Nue CSS
Today we're launching a new CSS framework that is quite literally "out of this world". So absurd that it is possible to build an entire website with the same amount of CSS that goes into a single Tailwind button. Or even crazier: three websites with a single Tailwind Catalyst button.
Pure CSS single-page app routing
The :target CSS selector selects the element that is targeted by the URL fragment.
Combined with :not, we can hide sections that are not referenced by the URL fragment.
Just as JS routers use the fragment to hide/show sections in the DOM, this “CSS router” uses the same fragment to hide/show sections in the DOM.
JavaScript
Creating Your First JavaScript Game: A Step-by-Step Tutorial
Welcome to this JavaScript game development tutorial! In this tutorial, we’ll walk through creating a simple game using HTML canvas and JavaScript. By the end, you’ll have built a basic game where a player character jumps over obstacles to score points.
A Javascript Nightmare
When software is hard not precisely because of it but because of the tools we are using.
You are using React Context WRONG Or why we should not underestimate what we consider simple
That’s right, you’ve read it correctly, you are probably using React Context API the wrong way… or at least not taking full advantage of what it can do. I know it might sound extreme, but believe me there is a series of anti-patterns and bad practices that we end up using over and over with React Context API without ever noticing they are problematic. So in this article, I want to show some of those practices, the problems they cause, the reason for those problems, and how to solve them.
Hoisting in JavaScript: A Complete Guide, Part 2
This article is the continuation of the previous article I published on hoisting, Hoisting in JavaScript: A Complete Guide, Part 1. I will advise you first read it before engaging with this article. In the previous article I explained hoisting with well-thought-out examples. We looked at how variables declared with the var, let, and const keywords are hoisted, including function declarations and function expressions. We also established hoisting rules, which served as our guide for explaining hoisting in JavaScript. In this article, I am going to deep dive into how variables declared with the ES6 let and const keywords are hoisted, particularly the Temporal Dead Zone (TDZ), and I will also explain how classes are hoisted.
Creating and importing styles with constructable stylesheets and CSS module scripts
Creating, importing and manipulating stylesheets using JavaScript.
UX
Pinball User Interface
Using software can be hard. All those form fields, menu items, interactive widgets and more... continually changing. So why make it harder for people by strewing all these user interface elements around a screen? This happens enough in applications that it needs a name. So let's call it Pinball UI.
Miscellaneous
The “10x engineer:" 50 years ago and now
How has parts of the classic book on software engineering, ‘The Mythical Man Month,’ aged with time, and is it still relevant half a century on – or does it belong in a museum, alongside floppy discs?
Increasing, not Diminishing: Investigating the Returns of Highly Maintainable Code
Understanding and effectively managing Technical Debt (TD) remains a vital challenge in software engineering. While many studies on code-level TD have been published, few illustrate the business impact of low-quality source code. In this study, we combine two publicly available datasets to study the association between code quality on the one hand, and defect count and implementation time on the other hand. We introduce a value-creation model, derived from regression analyses, to explore relative changes from a baseline. Our results show that the associations vary across different intervals of code quality. Furthermore, the value model suggests strong non-linearities at the extremes of the code quality spectrum. Most importantly, the model suggests amplified returns on investment in the upper end. We discuss the findings within the context of the "broken windows" theory and recommend organizations to diligently prevent the introduction of code smells in files with high churn. Finally, we argue that the value-creation model can be used to initiate discussions regarding the return on investment in refactoring efforts.
How to waste your career, one comfortable year at a time
If you are an average 30 yr old engineer, let's say you want to retire reasonably by the time you are 60. A year wasted at a poor job or role is equivalent to you throwing away 3.3% of your career. The older you get, the steeper your loss is.