Skip to main content


Showing posts from 2016

Making TypeScript npm Packages

If you've landed here, I can only assume you're like me and see packages as the highest form of sophistication in software development.  In that same vein, I bet at some point in the past you've wished you could start applying DRY principles to your client-side efforts.  I know for myself, I don't enjoy writing the same application bootstrap code constantly and so recently, I was motivated to codify it.

This body of understanding has taken me quite some while to figure out, hopefully what I share here is helpful enough to get you up to speed.  No post is complete without some kind of example, so throughout I'm going to reference a package I've just finished putting together called protoculture.

Briefly described, protoculture encapsulates all the common bootstrap and conventions I've been using while developing TypeScript apps that use React and Redux.  Honestly, I've already gotten a lot of benefit out of putting this package together, but nothing about…

From PHP to - Tooling & Workflows

Probably the first thing to be remarked when coming from any environment to .net is going to be the tightly integrated tooling.

When I used to do PHP in the late 90s early 00s, it was pretty much whatever text editor I could get my hands on.  There were some non-free IDEs, but none that were easily obtained or as impressive as Visual Studio, which also wasn't free until around 2006.

Despite the differences though, Visual Studio has always been first class.  When the same people making the languages are also making the tools, you can expect a lot of extra convenience.  One thing that's kept my interest is that despite the tight coupling, most everything is still quite generalized, unlike 4GL environments like Delphi.
Contrast .net with PHP where all you get the language and are responsible for building your stack upwards from there.  Not that our favourite friends LAMP and LEPP aren't just as mature.  Things like PHPstorm have come along to give that first class feeling but…

From PHP to - Introduction

My first real successes with server programming were back in 1998 when I started tinkering with PHP.  Back then, ASP was at version 2.0 and was - similar to PHP - a way to mix markup and scripting.  Both tended to yield some fairly interesting results and I'd say for the most part, both were quite comparable.

As such, even back then I had a choice.  I could focus my tinkering on the Microsoft based tools, or I could try my hand at this thing called open source I'd been hearing about. I had everything I needed to succeed in both spaces. I could either download everything for free or I had complete access to a set of MSDN discs in a binder with a cover like this:

If I wanted to build ASP scripts that spoke to Access or SQL databases, it wouldn't have been a problem.  In some ways, I even tried, installing all the tools and trying out the environments. Each time however, I abandoned the effort because I felt like I couldn't tinker my way into it.
So, Instead I ended up ch…

Integrating third party templates with your front end build system

I'm not by definition a front end developer, although because I do back end development, things like program structure and build systems are interesting to me regardless of whether they target servers or browsers.  So while I can't make something look pretty, I still enjoy managing the complexity of JavaScript/ES transpiled apps.

This is a seemingly trivial post in an area that I feel doesn't get enough attention sometimes.

We recently purchased and started using a premade template for some minor projects at work.  It actually looks quite nice, has a responsive layout and isn't too terrible.  My usual complaints of "too much markup" and "lots of busy spaghetti scripting" still hold true, but most of this seems to be quite fire-and-forget.

I ended up not being involved with the first few integrations of the template and while overall it ended up working, any trained eye could see where some of the cut lines were missed.

I had resolved that for the ne…

Programming: It's about how interested you are.

Had this tweet show up in my feed this morning and I think it's worth an explicit mention.  Eric Evans talks a bit about Domain Driven Design, a topic he's also not coincidentally published a book on many years ago:
Watch @ericevans0' talk from #DDDEU 2016: "Tackling Complexity in the Heart of Software" — DDD Europe 2017 (@ddd_eu) April 11, 2016 Something I've been encountering in my travels as a developer and leader of developers is the varying levels of motivation, confidence and enthusiasm my peers conduct themselves with.  At one point during his talk, Eric speaks about how a hypothetical carpenter spends more time talking about his output than he does how he might use any particular tool.
Eric also - in my opinion - correctly highlights that the best people in the industry tend to be master technologists.  They constantly have their head in the space and are naturally disposed to aspects of technology an…