Working With Strings in windows-rs

The windows-rs crate is an incredible addition to the Rust ecosystem and provides bindings for the entire Win32 SDK for Rust developers. It is also lead by some incredibly engaged and telanted developers such as Kenny Kerr and Rafael Rivera. This post discusses the various string types which are used in the crate and how you can interact with them. These ultimately originate in the Win32 C++ SDKs and may be familiar to those who have developed Windows applications in C++ in the past; but maybe not to those approaching it with Rust for the first time. [Read More]

Unit Testing Powershell Cmdlets in C#

So you’re venturing into PowerShell cmdlet development in C# are you? Good for you! But how will you unit test those little buggers? Some people write their unit tests in PowerShell using Pester which seems less ideal to me. At that point, you are left in an awkward position when it comes to mocking because all your mockable interfaces will be in C#, so it’ll be too late to replace them. [Read More]

Coverage Reporting for C# Projects

Upon beginning my journey into C# development, I started to suspect that coverage reporting was reserved for paid products only. Only Visual Studio Enterprise (the most expensive version) and the paid JetBrains Rider IDE have coverage reporting built in. Rider users must purchase the dotCover addon to obtain this functionality. However, upon further investigation, I was happy to find that there are several incredible open source tools which can capture code coverage for C# projects. [Read More]

Setting Up VS Code for C# Development

Oh hello there, I haven’t seen you in a while! :) So while Python is still my main language at work, I have continued to search for a new language that I would use for hobby projects. I’ve been back on Windows for several years and done more Go and a lot of PowerShell too. At the end of the day, while I appreciate Go’s strengths, it’s really not the end game for me. [Read More]

Revisiting Go

Several months ago I wrote about Crystal and its potential, but also spoke about why Go was not a language I was interested in. In my post, I originally stated the following: No keyword arguments, no exceptions, no classes, no generics and awful naming styles all led to me saying no to Go (although perhaps this simplicity is what attracts many to it). I have actually spent quite some time learning and coding in Go and found it frustrating at best … C++ is a far better language! [Read More]