
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...
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.

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...
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. This article intends to cover the missing steps, and assume you already have LiteNetLib added to your Unity project. If you need guidance on adding LiteNetLib check out: How to Setup LiteNetLib With Unity
Read more...
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...
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. If you have any experience working with Lidgren you’ll feel right at home with LiteNetLib. LiteNetLib is not Unity specific, but it’s a popular choice.
Read more...
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
. Before we get to far ahead of ourselves though, lets start with the basics and build our way up.
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...
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. However, it wasn’t so bad, after all console.log()
allows us to pass multiple parameters and has no trouble logging them.

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. For those new to HTTP, it can be though of as clients (users) making requests that are sent to servers which then reply back with responses. Only servers can make responses, and only clients can make requests.
Read more...