Configuring your dockerized GitLab installation and its CI Runners behind a reverse proxy

An collection of the steps and configurations required to host a fully-functioning Omnibus GitLab installation with Docker behind an HTTPS reverse proxy, while also enabling GitLab Pages and direct communication with dockerized CI Runners in the same network.


Multiplayer games: Client-state synchronization with an authoritative server

A theoretical and practical approach to the issues regarding keeping a game responsive and properly synchronized when in coordination with an authoritative server.


Vue.js SPAs, served with Node.js, written in Typescript

Developing intuitively structured front-end apps in Vue.js, serving them through a Node.js back-end with express and keeping everything well-defined and scalable using Typescript.


ASP.NET Core: Building and bundling client assets

Organizing the project's building process so that client assets can be developed in TypeScript, CoffeeScript, Less, SASS and other preprocessors. Focusing on convenience and automation, as well as making sure the repository can be built as-is on a CI server.


An in-depth look at C# Reflection and Attributes

How the .NET framework allows you to programmatically obtain information about types at runtime and how you can take advantage of this feature to implement useful type-unaware functionality.


Caching real-time data

Substituting cached responses for real-time API calls when in the critical path of serving content.