It was roughly a year ago this week that I fled California in pursuit of greener economic pastures. I came to Texas an economic refugee; despite running a successful business in California for a number of years I watched my profit steadily fall beneath the relentless tide of cost of...
The Necessity of Systematic Thinking
I spend a lot of my professional time training other software developers on how to build next-generation applications. Distributed and concurrent systems; stream processing; stateful web applications; soft real-time applications; and so forth. Cutting edge stuff for the majority of my industry.
One of the huge advantages of inexperience, such...
Read More
The Coming .NET Renaissance
There’s been ample grumbling about various changes in the .NET ecosystem of late, but I’m more excited about .NET than ever.
First, the decoupling of .NET from Windows. Mono started this work in earnest 15 years ago, and .NET Core + UWP is the next step. Turning .NET into...
Read More
.NET Core is Probably Fine
So, BUILD 2017 has come and gone and lots of new exciting updates have been announced or made available for preview in .NET-land, most notably the preview release of .NET Core 2.0.
TL;DR; 2022
However, the issue that grabbed the attention of many of the developers in the...
Read More
Writing Better Tests Than Humans Can Part 2: Model-based Tests with FsCheck in C#
This is the second post in a 3-part series on property-and-model based testing in FsCheck in C#.
Writing Better Tests Than Humans Can Part 1: FsCheck Property Tests in C#
This is the first post in a 3-part series on property-and-model based testing in FsCheck in C#.
.NET Core is Boiling the Ocean
I get asked regularly in the Akka.NET Gitter Chat and elsewhere about “when will Akka.NET support .NET Core?”
TL;DR; .NET Core
Part of the issue I’ll address here is that .NET Core means different things to different people and there hasn’t been clear messaging on that...
Read More
Introducing the New .NET Stack
I’ve been a .NET developer for roughly 10 years now - since the summer after my freshman year in college in 2005 I’ve been developing in Visual Studio and .NET. I’ve founded three startups on .NET, worked for Microsoft, and founded multiple successful OSS projects in .NET - I say...
Read More
Broken Windows: How Bad Software Releases Happen to Good Teams
One of my primary responsibilities with the Akka.NET project is release manager - I put together the release notes, press the big green button when we’re ready to deploy, and make sure that each contributor signs off on the release.
The thing I take most seriously about my job...
Read More
Introducing NBench - an Automated Performance Testing Framework for .NET Applications
I originally posted this to the Petabridge blog earlier today. See the original here.
Not long ago in Akka.NET-land we had an issue occur where users noticed a dramatic drop in throughput in Akka.Remote’s message processing pipeline - and to make matters worse, this occurred in a production release of AKka.NET!
Yikes, how did that happen?
The answer is that although you can use unit tests and code reviews to detect functional problems with code changes and pull requests, using those same mechanisms to detect performance problems with code is utterly ineffective. Even skilled developers who have detailed knowledge about the internals of the .NET framework and CLR are unable to correctly predict how changes to code will impact its performance.
Hence why I developed NBench - a .NET performance-testing, stress-testing, and benchmarking framework for .NET applications that works and feels a lot like a unit test.