Zero Downtime Deployments

Here's how I keep the site up while new versions are built

Many months ago, I posted about switching to Kestrel (the official ASP.NET Core server) and that doing so made it super easy to perform blue-green deployments. I even said I'd share the details, and now I'm finally fulfilling that promise!

I'm also going to introduce another one of my open source tools, that I use for just this purpose: LiveSwitcher.

Performance is Paramount

Investigating server-side optimizations for ASP.NET Core web apps

Performance has always been one of the most fundamental and important aspects of user experience on the web for me. If pages are slow to load, or interactions feel clunky, no amount of fancy design or exclusive content is going to make up for that.

I'm going to show you a couple of the server-side performance improvements I've made here since the site launched last spring, using LoadTestToolbox, an open-source web app load testing suite I started recently.

Crawl, Walk, Run, ...

A progression of thoughts on efficiency, effectiveness, efficacy, tools, toolboxes, professional development, mastery of one's craft, and what 10x really means

One phrase that comes up a lot at my current place of employment is "crawl, walk, run." While I believe it originated to describe a project management methodology, in our case it's usually being used to describe the learning curve involved with a given technology, where, as you gain experience, your speed (efficiency) increases.

While the core concept is sound, I'm going to push the metaphor a little further, since there's an important distinction to be made.

On Privacy and Intrusive Advertising

Some musings on the current state of the web

There's an upcoming post on performance, and that has a little bit to do with it as well, but it's mainly because, and I don't want this to sound like some "knight in shining armor" puff, because it's really just me having basic human decency, but, in the interest of full disclosure: this site uses one client-side script, Google Analytics, to help analyze traffic. On occasion, gists and tweets are pulled in using JS, and those probably do their own tracking.

I also use an ad blocker (specifically, uBlock0) on every single one of my devices: desktop, laptop, phone, tablet. By default, this blocks Google Analytics.

On Security

Announcing HTTPS (and HSTS) for the site

I take the issues of privacy and security very seriously, and am happy to report that, thanks to Let's Encrypt, and this Windows client, this site is now available via HTTPS! I urge you all to take advantage of this wonderful technology and do the same to any domains you are responsible for.

Furthermore, I'm also pleased to announce my implementation of HTTP Strict Transport Security (HSTS) which basically means I've got your back, security-wise. It's simply not possible for you to view this site unsecured any more.

Responsive Images

A quick tutorial on how this site uses basic responsive images

OK, finally time for a technical blog post!

Some background: previous iterations of this site have used what I would call, "server-side responsive images."

The Blue-Green Kestrel

Another technical update, this time around the hosting and deployment models

I've had some issues keeping the IIS application pool active for extended periods of time, probably something to do with running on pre-release software, but I figured I'd take it as an opportunity to switch to Kestrel, the web server that's part of the ASP.NET v5 project.

IIS is now simply acting as a reverse-proxy, passing requests and responses to and from kestrel, much the way that nginx is used as a Docker front-end.

Now With More CMS!

A quick technical update about the site

I've been quietly working behind the scenes, pushing out updates. It may surprise you that up until recently, the content of this site was actually hardcoded into server-side views, which meant I would have to recompile the entire site for each of the below new posts!

I have since implemented a simple CMS/blogging engine, with a quick-and-dirrty publishing/admin interface, so you can expect updates more than once a month going forward! My intent is to share with you some of the quirks that ASP.NET 5 and MVC 6 threw at me, hopefully helping make your life easier, should you decide to build something with these fantastic frameworks.

The Office

Revealing my just-completed new workspace at home

Almost three years and two children later, I finally have a corner (literally) of the house to call my own. There are still some finishing touches to be done (currently no doors, etc) but it's enough to at least move into.


A before-and-after from the doorway, facing west

There's an App for That

Info about my first conference presentation

I gave a talk!

My very first talk, in fact, at a conference. Last week, during HighEdWeb NY, I presented "There's an App for That: Creating Cross-Platform Native Experiences Using Open Web Standards" -- isn't that a mouthful!

Hello, vNext World!

Introducing the new site

Welcome!

This brand new site is running on ASP.NET 5 "vNext" (beta 4) and will become a home for my many thoughts.