Recent posts
Packaging dependent assemblies in a .NET executable
When redistributing a .NET app, there’s usually a couple of dependent assemblies (outside the main .NET framework) that go with it. These can be from a third party (e.g. NuGet packages), or they can be class libraries within the same solution. In this post, I’ll focus on the latter. I’ll show how to use the Visual Studio build process to package class libraries from a solution into an app from that same solution. The result will be a single, fully portable executable that contains all class libaries it depends on and can run from anywhere as long as the .NET framework itself is installed. read full post
Finding the most valuable Monopoly properties
I think everyone has at least heard of the game of Monopoly. It’s been years since I last played it, but the game still facinates me. I’ve always wondered if it was possible to build a monopoly AI who could play the game flawlessly, and what the most optimal strategy was. I won’t be going that far in this post, but I will attempt to find the most valuable property spaces. I’ll do this by simulating a whole bunch of monopoly games, and keeping track of how many times each property space is visited. I’ll be using Python 3 for this project. read full post
Let's build a gaming PC
What better way to spend the summer than staying indoors to play video games? Such ancient wisdom is at the heart of my most recent purchase(s). After owning nothing but laptops for close to a decade, I’ve finally decided to build a gaming PC. read full post
Le Nouveau Site
If my site looks any different today: don’t be alarmed. This is normal. This is what it looks like now. I’ve completely rebuilt it from the ground up, and it’s better than ever. read full post
Don't just teach languages; teach ecosystems
Learning a new programming language is pretty easy. Using any of a number of freely available online tutorials, you can pick up a new language within a week. The only problem is that after doing so, you still don’t know jack. Sure, you now know how to write a for loop in Python, and how array slicing works. But if someone were to ask you to implement a simple REST webservice with a MySql backend running on a Windows Server environment, you wouldn’t even know where to start. read full post
Building Blazer, part 2
We continue work on Blazer, our high-performance ADO.NET wrapper. read full post
Building Blazer, part 1
I was looking at light-weight alternatives to Entity Framework the other day, and it sparked the idea of writing my own simple little data access library. I don’t intent to build an entire ORM; rather I like the idea of just making raw ADO.NET a bit easier to use. Normally running a query through ADO.NET requires quite a bit of legwork. For instance, this is a simple query just for fetching a single record from a database: read full post