Blog
Apps About
Abusing For Loops In C# For Job Security
Development

Everyone knows good code is easy to maintain, but that also means anyone can maintain it. That’s no bueno for the individual developer who wants a little job security. Writing overly complex code that nobody else can maintain let alone read, will ensure your company holds onto you, and will give you more bargaining power come raise time. Read more...

TypeScript - Await Promise.All() And Get The Results
Development

I’m a big fan of the async await syntax in ES2017. In my opinion it just feels a lot more natural than and then and then and then…. I digress. I’ll keep this one short. Read more...

Unity - LiteNetLib's Delivery Methods
Development

While LiteNetLib may run on UDP (User Datagram Protocol) which is an unreliable network protocol, LiteNetLib offers multiple delivery methods, some of which even offer “reliability”. Reliability is in quotes because when latency is high the chance of a packet being dropped is greater than 0 (although still fairly rare). Read more...

Unity - How to Create a Basic Server / Client With LiteNetLib
Development

LiteNetLib already provides a good example for creating a basic server / client set up in their documents, but if we want to use it with Unity there’s a few extra steps we’ll need to take. Read more...

Unity - How to Send Data With LiteNetLib
Development

Continuing off the previous post about how to build a basic server / client set up with LiteNetLib it’s time to talk about sending data. Because, well, a network set up that doesn’t actually send any data is kind of useless. Read more...

Unity - How to Set Up LiteNetLib
Development

TL;DR Download the most recent stable release source code zip and copy the /LiteNetLib folder to the Plugins folder in your Unity project. LiteNetLib is an UDP networking library that can be used for building multiplayer games with Unity. Read more...

ASP.NET Core - Claims Based Authentication: Claims vs Identities vs Principals
Development

With the rise of ASP.NET Core over ASP.NET 4.x, the built in authentication has undergone a shift from role-based access control (RBAC) to claim-based access control (CBAC). The most notable change is the User property on HttpContext is now of type ClaimsPrincipal instead of IPrincipal. Read more...

ASP.NET Core - Inversion of Control Container
Development

ASP.NET Core supports dependency injection directly out of the box. For Web APIs this is useful for automatically resolving dependencies needed by controllers, or if you’re a fan of Uncle Bob’s Clean Architecture it can be used to inject external dependencies such as the database into the inner layers. Read more...

TypeScript - Interpolated Strings
Development

Coming from the .NET world String.Format() was by far my most used function for generating user readable error / log messages. After jumping over to TypeScript, I was bummed to learn that no similar function existed. Read more...

HTTP Status Codes For a RESTful API
Development

Hyper Text Transfer Protocol (HTTP) powers the web. It’s the silent work horse used to carry data between servers and clients, and is the reason why all URLs start with HTTP, or HTTPS. Read more...