Blogs

Short form notes, thoughts, ideas & answers to frequently asked questions


How to use ESLint with TypeScript
Feb 26th, 2020 / 9 min read

Intro Formatting is one of several concerns in the efforts to write clean code. There's a lot of other stuff we should be concerned about as…

Deploying Serverless GraphQL APIs with TypeScript on Netlify
Feb 23rd, 2020 / 2 min read

Deploying a Serverless GraphQL API with TypeScript is essentially the same as deploying one with JavaScript. The only difference is in the…

Nested GraphQL Resolvers & Separating Concerns
Feb 22nd, 2020 / 7 min read

Unfortunately, in GraphQL, you can't nest operations to apply better grouping (namespacing / separation of concerns) to your services. Here…

How to Build a Compiler?
Feb 17th, 2020 / 3 min read

Today, in the Advanced JavaScript Developers group, someone asked the question: Musing from a Noob: so if you were to write a translator…

Ensuring Sequelize Hooks Always Get Run
Feb 2nd, 2020 / 3 min read

Intro In "Decoupling Logic with Domain Events [Guide] - Domain-Driven Design w/ TypeScript", we use Sequelize Hooks to decouple business…

Domain-Driven GraphQL Schema Design | Enterprise GraphQL
Jan 24th, 2020 / 8 min read

Introduction Designing your GraphQL schema is a potentially expensive task. It's potentially expensive because if we respect the principles…

Decade in Review | 2010-2020
Jan 2nd, 2020 / 23 min read

At the time of writing this, I've been on Earth for about ~2.4 decades. That means that ten years ago, I was the very tender age of fourteen…

How Apollo REST Data Source Deduplicates and Caches API calls [Deep Dive]
Dec 14th, 2019 / 10 min read

Quite honestly, I don't know if I really enjoy writing optimization code. I'm not saying that I don't like optimized code- I'm saying that…

Static Factory Methods | Object-Oriented Programming w/ TypeScript
Nov 21st, 2019 / 1 min read

Go read "When to Use a Private Constructor | Object-Oriented Programming w/ TypeScript". You'll use static factory methods for the same…

When to Use a Private Constructor | TypeScript OOP
Nov 21st, 2019 / 3 min read

One of the first things we learn when we start out is how to create instances of objects. Typically, we do this with the keyword. The…

Brutalist Web Design
Nov 5th, 2019 / 9 min read

Readers of khalilstemmler.com either love or hate the design of the site. When I was designing the site, I knew that I wanted to draw a…

How to Setup a TypeScript + Node.js Project
Aug 29th, 2019 / 10 min read

We talk about a lot of advanced Node.js and TypeScript concepts on this blog, particularly focused around Domain-Driven Design and large…

What's Unscalable about JavaScript? | TypeScript OOP
Aug 21st, 2019 / 2 min read

Microsoft called TypeScript JavaScript that scales... what's so unscalable about JavaScript? With respect to software development, there are…

All about TypeScript Static Members | TypeScript OOP
Jul 7th, 2019 / 7 min read

In Object-Oriented Programming, we write a lot of classes. Classes contain properties (methods and attributes) which hold variables and…

Where Do Domain Events Get Created? | Domain Driven Design w/ TypeScript
Jul 4th, 2019 / 5 min read

Last time, we talked about how to create a facade over our ORM using the Repository pattern. Today, we're talking a little bit about where…

TypeScript & JavaScript Getters and Setters: Are they useless?
Jul 1st, 2019 / 6 min read

Join the discussions on Hackernews and Reddit. Getters and setters (also known as accessors) were introduced to JavaScript when ECMAScript…