GridMath

I’ve just published the first version of GridMath nuget package. It is a lightweight library for creating and manipulating geometrical shapes on two-dimensional grids. The code is available under MIT license on my github repo. Motivation for GridMath project I have recently started working on a project exploring procedural content generation. So far, the tile-based…

Setting up for java dev on Windows with Chocolatey

This guide shows steps for the complete setup of Windows pc for developing java applications. Traditionally, software packages on Windows are installed by manually downloading them from their web pages. This feels very fiddly when compared to using Unix package managers such as yum. Fortunately, there is Chocolatey, which brings some of this experience to…

Should I leave In-House gig for consulting?

This year I have started (again) to entertain thoughts about joining a consulting firm. While I’m fairly satisfied with my current job, there are a couple of things that bother me. So I started thinking about what would I be looking for if I was to make a career move. So, here’s the list. Higher…

Stay away from dogmas kids

In software development, there is no single right way to do things. Not one natural way to model data. Not one correct way to design API. Neither there is one true way to design your classes. Trial and error Software development activity, like most things we do in life, is not something our human minds…

Web API Validation in ASP.NET Core 3.0

One important quality of good API design is how it reports errors and API validation plays the key role. In a typical backend system, there will be three main categories of errors happening: internal server errors, authentication/authorization errors and validation errors. The latter category (validation errors) are especially important from an API design point of…

Enumerating words from long streams of data

I started this repo on GitHub where I’ll be keeping small programming projects. These projects are mostly about solving interesting problems rather than trying to make something useful. It helps me to hone my programming chops while I don’t have any big pet project running. So, this time I wanted to be able to enumerate…