Node.js and TypeScript Modules: Internal, External... Shake it All About

When I decided to write a JavaScript game, I knew I'd need to run the same logic on the server and the browser, so Node.js was an obvious choice. It's JavaScript on the server, right? Anything I write to run in a browser will be runnable on the server as well. Easy! Well… not so much. Here's the misunderstandings and problems I faced, along with my solution.

Dependency Injection, Angular and Node

My current pet project uses Node, Angular and TypeScript. This is my first time working with Node or Angular and the differences in the way they approach Dependency Injection led to this post.

Naming Things is Hard: Keeping Context in Mind

Nothing that you name in coding exists in a vacuum. It will all be used and referenced in a certain way, and this should inform the names you choose. Here's some examples.

Finding a Balance: Code 'Complexity'

On any project, there's a tension between writing code everyone finds easily accessible, and using more [relatively] modern techniques which make code more terse and expressive. Here's some thoughts on addressing that tension.

Naming Things is Hard: Method-Naming Patterns

Some of the method-naming patterns I've come across / developed / adopted.

Naming Things is Hard: Dictionaries

I've been working with a codebase recently which makes a lot of use of dictionaries - here's a few words about naming them.

Naming Things is Hard: Finding the Right Level of Abstraction

It is said and experience has confirmed - in programming, naming things is hard. So hard it's common for programmers with years and years (and years) of experience to regularly name things poorly. Here's some of the processes I use to name variables and types, focusing on finding the right level of abstraction.

NDepend on a Real Project, Round 1.4: Mutually Dependent Namespaces

This is the fourth in a series of blogs looking at things NDepend told me about a personal project of mine - this time mutually-dependent namespaces.

NDepend on a Real Project, Round 1.3: An Exception by Any Other Name...

This is the third in a series of blogs looking at things NDepend told me about a personal project of mine - this time a curious problem with Exception naming.

NDepend on a Real Project, Round 1.2: Dead Methods

This is the second in a series of blogs about things NDepend told me about a personal project of mine. This time, methods which are apparently never called.