Software Development News and Articles

Micro-optimizations in JavaScript: Do They Actually Matter?
I've been writing JavaScript for over 2 decades, and I've seen countless debates about micro-optimizations. Should you use `for` loops inste...
Configuring Vite Aliases for Cleaner Import Paths
Published on: 7/12/2025 - 5 min read
Configuring Vite Aliases for Cleaner Import Paths
One of the most annoying aspects of working with a large-scale application is dealing with an array of import statements on each and every c...
Public vs Src Assets: When to Use Each Approach in Vite
If you've been working with Vite for a while, you've probably noticed there are two main places to put your assets: the `public` folder and ...
When to Use Index Files vs Named Exports in Vite Projects
If you've been building React apps with Vite, you've probably run into this question: Should I create an `index.ts` file to export everythin...
How to Actually Write Code on Your Tablet
Published on: 7/7/2025 - 4 min read
How to Actually Write Code on Your Tablet
For the past several years, I've had the Galaxy Tab S7 open on my desk almost 24/7. It's a solid little device that can pretty much do anyth...
Top 3 JavaScript Game Engines to Use in 2025
The JavaScript gaming landscape has evolved dramatically, transforming from simple browser experiments to sophisticated, console-quality exp...
How to Crop an Image Before Upload in JavaScript
Letting users crop their images before uploading improves both user experience and backend efficiency. Whether it’s a profile picture, produ...
Smash Toad Studios Serves Up Cranked-Up Chaos in New Playdate Game, Say When!
Indie duo Smash Toad Studios is proud to announce the release of their latest title, [Say When!](https://smashtoadstudios.itch.io/say-when),...
You Can Still Succeed Without a FAANG Job
Published on: 6/23/2025 - 5 min read
You Can Still Succeed Without a FAANG Job
After more than two decades as a professional software developer, I've never set foot inside a FAANG company. When I taught at a coding boot...
Creating a Custom Color Picker Tool Using the EyeDropper API
The **EyeDropper API** is one of the most user-friendly and visually engaging new Web APIs available today. It allows web applications to op...
How to Use Environment Variables in Vite the Right Way
Vite makes it easy to use environment variables, but there’s a right way to do it, especially if you’re building for production, deploying t...
Why Vite's Proxy Only Works in Dev And What to Do About It
If you've ever built a frontend using Vite and tried to connect it to an API server, you've probably made use of the `server.proxy` option i...
Understanding the Difference Between react-helmet and react-helmet-async
When building React applications, especially those concerned with SEO and dynamic content, managing the contents of the HTML document's `` t...
How to Use json_build_object in PostgreSQL to Aggregate Data
PostgreSQL’s `json_build_object` is your go-to when you want to return structured JSON data from SQL queries, especially for APIs or for log...
Database Normalization: 2NF Explained
Published on: 6/3/2025 - 8 min read
Database Normalization: 2NF Explained
Okay, buckle up. We're diving into the world of database normalization, specifically hitting up **Second Normal Form (2NF)**. It sounds scar...
Remote Work Leaves Junior Developers Behind
Published on: 6/2/2025 - 3 min read
Remote Work Leaves Junior Developers Behind
My very first gig as a professional software developer was around 2008 for a medium sized publishing agency. During the interview process I ...
GitHub vs Bitbucket in 2025: Which is Right For Your Team?
When developers talk source control, there are two names that continue to dominate the landscape of Git repository hosting and DevOps platfo...
How to Create a Mixed Chart Using Chart.js
Chart.js is robust enough that it allow you to combine multiple chart types, like bar and line charts, into one visual. This is especially u...
How to Create Bubble Charts Using Chart.js
Bubble charts are perfect for visualizing three dimensions of data in a single plot. X, Y, and bubble size (Z). With Chart.js, you can creat...
50% of Our Company's Code is Now AI-Generated
Published on: 5/22/2025 - 4 min read
50% of Our Company's Code is Now AI-Generated
When I say that half of our company’s code is now AI-generated, I don’t mean that we just copy-pasted something from ChatGPT or Claude or th...