SOLID JavaScript In A Wobbly World (Wide Web)

I got to speak at CodeMash 2014, and gave a talk on applying the SOLID software principles to JavaScript. In addition to giving the talk, though, I also recorded the session and have published the video with all the resources!  … Continue reading 

Posted in Analysis and Design, Community, Javascript, Presentations | Leave a comment

When is it a Good Idea to write Bad Code?

Imagine an asteroid is barreling towards earth and the head of NASA tells you and your development team that they have 12 months to code the guidance system for the missile that will knock the asteroid off it’s earthbound trajectory. … Continue reading 

Posted in project management, technical debt | Tagged | 7 Comments

Semantics, Modules And Testing: Why (And How) I Test Internal Components, Not Private Methods

I saw someone tweet about a new-ish JavaScript library called Autooc. recently. I had not heard of it, so I clicked the link to find out more. It looks like an interesting project. I’ll have to look at it further … Continue reading 

Posted in AntiPatterns, Behavior Driven Development, CommonJS, Community, Javascript, Marionette, Modules, NodeJS, NPM, Principles and Patterns, Testing, Unit Testing | 1 Comment

Separating Concerns – Part 2: Services

In the previous article on Separation of Concerns, libraries were explained as a way to decompose an application into separate sets of functions, resulting in code that is easier to maintain and has higher cohesion. This article continues the subject, … Continue reading 

Posted in Uncategorized | Leave a comment

CRUD is Not a Service

Introduction Many systems implement CRUD (create, read, update, and delete) using a repository pattern. An entity is loaded using a Get method, some business layer logic makes changes to the entity, and ultimately saved using a Put method. This exact … Continue reading 

Posted in Development | 5 Comments

AngularJS–Part 8, More choice when testing

Introduction This is a series of posts about AngularJS and our experiences with it while migrating the client of a complex enterprise application from Silverlight to HTML5/CSS/JavaScript using AngularJS as a framework. Since the migration is a very ambitious undertaken … Continue reading 

Posted in AngularJS, How To, introduction, Setup, TDD | 1 Comment

AngularJS–Part 7, Getting ready to test

Introduction This is a series of posts about AngularJS and our experiences with it while migrating the client of a complex enterprise application from Silverlight to HTML5/CSS/JavaScript using AngularJS as a framework. Since the migration is a very ambitious undertaken … Continue reading 

Posted in AngularJS, introduction, Setup, TDD | 1 Comment

AngularJS–Part 6, Templates

Introduction This is a series of posts about AngularJS and our experiences with it while migrating the client of a complex enterprise application from Silverlight to HTML5/CSS/JavaScript using AngularJS as a framework. Since the migration is a very ambitious undertaken … Continue reading 

Posted in AngularJS, How To, introduction | 4 Comments

Proper Session/DbContext lifecycle management

Most “heavy” object-relational mappers (ORMs) have an interface that provides more than just easy querying of the database. They also are implementations of two key patterns: Unit of Work Identity Map For NHibernate, this is the ISession interface, and for … Continue reading 

Posted in Architecture, Patterns | 34 Comments

Get Rid Of “locahost:#port#” With NGINX Reverse Proxies

I ran in to a situation recently where I needed to have one of my web projects running on port 80 on my Mac. Normally, when i start up this project in NodeJS, it runs on port 3000. But due … Continue reading 

Posted in nginx, Service, SignalLeaf, Web | 5 Comments