webdev

Your 2026 Node + TypeScript Stack Has Two Speed Buttons & They Fight. A little.

There was a time when “TypeScript build” was something you tried to make disappear.

It was slow. It added another tool. It created another dist/ folder. It made stack traces worse. And if all you wanted was to run a 200-line Node script, compiling it first felt like putting on a suit to take out the trash.

So the obvious optimization was: don’t compile TypeScript. Just run it.
In 2026, Node can do exactly that.

Then TypeScript 7 showed up and made the opposite optimization almost as good: just compile it. It’s fast now. Actually fast.
Which leaves us in a slightly funny place.

Your Node + TypeScript stack now has two speed buttons. They are not pointing at the same thing.

The interesting question is not which one is faster.
It’s: when should you use which one?

A short trip down memory lane

I wrote about this before.

Continue reading →
Standard
AI

Why Code Verification Is the Real Bottleneck Now — and What Developers Should Do About It

For most of software history, writing code was the expensive part.

A developer might spend hours or days implementing a feature, while review was a relatively small step at the end. AI coding tools have quietly flipped that equation. A model can now draft a function in seconds and produce an entire feature in minutes. In other words, producing code become cheap. Way too cheap. But the review (hopefully with human in the loop) is still expensive.

The bottleneck hasn’t disappeared. It has moved.

Today, the scarce resource is increasingly the work that comes after code generation: reading the code, understanding its behavior, testing it, identifying what is wrong, and deciding whether it is safe to ship.

This isn’t simply a matter of perception. Research on AI-assisted development has found that delivery stability can decline as teams adopt more AI, while developer trust in AI-generated code remains far from universal. In one controlled study of experienced open-source developers, AI assistance actually made participants about 19% slower on real-world tasks—even though they expected to be faster and believed afterward that they had been.

The extra time went into prompting, reviewing generated code, debugging it, and fixing things that didn’t quite work.

The lesson isn’t that AI coding tools are bad.
Quite the opposite: they are extremely good at making code cheap.

The problem is that everything downstream of code generation—understanding it, validating it, and trusting it—hasn’t become cheap at the same rate.

That changes where engineering teams need to invest.

Verification Is a Stack of Filters, Not a Single Gate

Code verification isn’t one activity.
It’s a stack of increasingly expensive filters, each designed to catch problems the cheaper layers missed:

  • Type checkers and linters — fast and inexpensive, catching mechanical mistakes and violations of known rules before code runs.
  • Automated tests — validate behavior that static checks cannot. A function can be perfectly typed and still return the wrong answer.
  • Static analysis and security scanning — look for deeper structural, reliability, and security problems that ordinary linters and tests may miss.
  • Human review — evaluates things machines struggle to judge reliably:
    Is this the right design?
    Does it fit the architecture?
    Does it solve the actual problem?
    Will someone be able to maintain it six months from now?
  • Production monitoring — the final safety net, detecting problems that survived everything before it.

These filters fall broadly into two categories.

Continue reading →
Standard
Secure data streams from public, hybrid, enterprise cloud, and data sources into a compliance vault engine
AI, Business

Automating the Audit Trail: How I Built a GitHub Screenshoter for Zero-Friction SOC 2 Compliance

It’s audit season. And if you’re a SaaS startup, you know exactly what that means.
The dreaded “Change Management” evidence request.

Some auditor sends you a list of 15 random commit SHAs from your production branch and says: “Prove to me that every single one of these was reviewed, approved, and linked to a ticket.”

Your heart sinks.

You know you’re about to spend the next four hours of your life doing the most mind-numbing task in tech: opening GitHub, finding the commit, taking a screenshot, finding the PR, taking a screenshot, finding the issue, taking a screenshot, and pasting it all into a PDF.

It’s manual. It’s painful. And it’s a complete waste of engineering time.

So, I built a tool to kill this pain once and for all: GitHub Screenshoter.

Continue reading →
Standard
Tangled cables with floating social media app icons above an e-waste recycling bin
webdev

How to Clean Up Homebrew (brew) and Maximize macOS Storage

At some point, every dev hits it.
You’re installing something routine—npm install, a Go build, whatever—and macOS throws it in your face:

Disk Full.

You check storage, expecting the usual suspects. Not your videos. Not even Docker (okay, maybe a little).
It’s Homebrew quietly eating your SSD in the background.

Left unchecked, Homebrew turns into a museum of bad decisions:

  • tools you needed once, 14 months ago
  • duplicate runtimes “just in case”
  • dependencies of dependencies of dependencies

Let’s fix it—without nuking your setup.

Continue reading →
Standard
Business

The Security Vendor Maze: Why SMBs Are Set Up to Fail

A founder asked me recently a simple question:

“How many security tools do we actually need to be protected like an enterprise?”

I gave him the honest answer.

Six to ten different platforms. Minimum.

There was a pause.
Then his face dropped.

Because in that moment, he realized what many SMB founders eventually discover the hard way: modern cybersecurity was never designed for companies like theirs.

Continue reading →
Standard
Business

How to Set Up Nginx on Ubuntu with Let’s Encrypt SSL and Port Forwarding

Introduction

Setting up Nginx on Ubuntu (18+) with Let’s Encrypt SSL ensures that your website or application is secure and accessible over HTTPS, providing a safe browsing experience for your users. This process not only includes the installation of the Nginx web server but also entails configuring the server to handle SSL certificates issued by Let’s Encrypt, enabling automatic renewal of these certificates to maintain uninterrupted security. By following best practices for security and performance, you can optimize your server’s settings to ensure fast loading times and reliable uptime, which are crucial for retaining visitors and improving search engine rankings. Additionally, implementing SSL helps to build trust with your audience, as it demonstrates a commitment to protecting their data and enhancing their online safety.

In this guide, we will:

  • Install and configure Nginx.
  • Set up port forwarding for your Node.js application.
  • Obtain a free SSL certificate from Let’s Encrypt.
  • Ensure proper firewall and AWS security group settings.
  • Troubleshoot common issues.

Let’s get into it…

Continue reading →
Standard
Chrome, JavaScript, webdev

Top Resources to Learn JavaScript and TypeScript Effectively

JavaScript is the backbone of modern web development. TypeScript (TS)—its statically typed super-set — has rapidly gained traction in professional environments.

Whether you’re an aspiring developer or a seasoned programmer, this guide will help you level up your skills. It will assist you in navigating the learning path for JS and TS.

We’ll share various resources and courses to suit different learning styles. We will finish with three exciting project ideas to put your knowledge into practice.

Getting Started with JavaScript

Before diving into TypeScript, it’s crucial to have a solid understanding of JavaScript fundamentals.

Here are some steps and resources to get you started:

Continue reading →
Standard
webdev

Docker 101: From Development to Production – A Quick Guide

Docker has fundamentally transformed the way developers build, test, and deploy applications by introducing a consistent, lightweight, and portable runtime environment. With its ability to package applications and their dependencies into isolated containers, Docker has eliminated the age-old challenge of “it works on my machine” while enabling seamless deployment across various environments. The part of “It’s working for me” used to be funny or sad depends on the day and the hour…

Whether you’re developing locally, testing in a CI/CD pipeline, or deploying to production, Docker provides the flexibility and scalability to streamline these processes. In this guide, we’ll explore the foundational concepts of Docker, dive into its practical uses, and demonstrate how you can harness its power to simplify workflows and achieve greater efficiency in your development and operations pipelines. Whether you’re a beginner or looking to refine your Docker skills, this walkthrough will equip you with the knowledge you need to use Docker effectively.

Continue reading →
Standard
JavaScript, webdev

Cleaner Code: The Importance of Dependency Injection in Software Development

Dependency Injection (DI) is a software design pattern that addresses the problem of managing dependencies between objects in a program. In traditional programming, objects are often tightly coupled, meaning they directly create or reference other objects they depend on.
This can lead to rigid, hard-to-maintain code that is difficult to test or reuse.
Dependency Injection solves this problem by separating the creation and configuration of dependent objects from the objects that use them.
It is a design pattern where a class receives its dependencies from external sources rather than creating them internally. Think of it as “outsourcing,” the creation and management of objects that your class needs to work on.
Instead of directly instantiating or referencing its dependencies, an object receives them through its constructor, methods, or properties.
This decoupling makes the code more flexible, testable, and maintainable.
In large-scale projects, Dependency Injection becomes especially important as the codebase grows in complexity. With many interdependent components, DI helps manage the web of dependencies, making it easier to swap out implementations, replace third-party libraries, and test individual components in isolation.
This improves the overall modularity and scalability of the system.

Continue reading →
Standard
Business, webdev

The Power of Agile Methodology: Driving Efficiency and Adaptability

“It is not the strongest of the species that survives, not the most intelligent that survives. It is the one that is the most adaptable to change.”
-Darwin

Here are the top 10 companies (from 1980-2005) that were once prominent but are no longer in business:

  1. Blockbuster (Video rental chain, founded in 1985, declared bankruptcy in 2010)
  2. Polaroid (Instant camera company, founded in 1937, filed for bankruptcy in 2001)
  3. Toys “R” Us (Toy retailer, founded in 1957, closed all U.S. stores in 2018)
  4. Borders Group (Book retailer, founded in 1971, liquidated in 2011)
  5. Circuit City (Consumer electronics retailer, founded in 1949, liquidated in 2009)
  6. Compaq (Personal computer company, founded in 1982, acquired by HP in 2002)
  7. Woolworth’s (Retail company, founded in 1879, went out of business in 1997)
  8. Pan Am (Airline company, founded in 1927, ceased operations in 1991)
  9. Enron (Energy company, founded in 1985, filed for bankruptcy in 2001)
  10. WorldCom (Telecommunications company, founded in 1983, filed for bankruptcy in 2002)

Ok, so it’s important to be agile.

Adaptability and rapid response to change are crucial in today’s fast-paced business environment. The pace and speed have increased by 10x (or more) with the new AI wave.

Agile methodology has emerged as a crucial approach for organizations looking to remain competitive and innovative. In this blog post, we will explore the importance of Agile, its main benefits, how to implement it effectively and provide a macro plan for executives. We will also delve into product strategy, goals, Objectives, and Key Results (OKRs) and offer eight practical tips for newcomers to Agile. Additionally, we’ll highlight some tools (that I used and liked) that can facilitate your Agile journey.

Why Agile is Important

Agile is a methodology centered around flexibility, collaboration, and customer-centricity. Unlike traditional project management approaches that rely on rigid, linear processes, Agile allows teams to adapt quickly to changes and deliver value incrementally. Btw, here is a good discussion on Agile Vs Waterfall.

Here are some reasons why Agile is essential:

Continue reading →
Standard