Newsletter 020 - January

Jan 31st 2025

Welcome to the January editing of my newsletter. A day late for a very good reason!.. I’ve been fortunate enough this year to have attended NDC London! I’ve never been to one before, and thanks to the awesome Nick Chapsas and Dometrain - this year I was able to attend! I really enjoyed it - especially the social side of things - catching up with people I’ve not seen in a while, and also people who I know from the community, but never actually met in person. We also had a Dometrain author meal, and it was great to meet some of the other authors - such a fantastic group of people!

The main social platform I use is Bluesky. My handle is @danclarke.com. Hopefully see you there! Feel free to message me there and say hello! 🙂

Table of Contents

📰 News items and dev picks

Here are my dev picks this month…

  • Fluent Assertions licence change - Oh my goodness me - this caused a rather big kerfuffle on the socials! What happened? Fluent Assertions is a hugely popular open-source testing library that improves the syntax of your asserts, and it was the go-to for a lot of .NET developers. The licensing of this has very suddenly changed, and for commercial use, it’s now $129.95 per developer per year! While I loved this library - we need to be realistic here - it’s just an assertion library, adding a bit of convenience and a more fluent syntax to your test assertions!! That price is ridiculous, and they’ve pretty much just killed an amazing library. Also, some contributors to the library had no idea this was coming, and were halfway through work when this got announced! If you’re using it - pin to v7 for now, let’s see if they change their mind after all the negative feedback they’re getting - otherwise, perhaps try an alternative like Shouldly. I’d love to hear if there’s anyone out there who’s actually willing to pay that price for something like this.

  • Rider - New Files View in Solution Explorer - This is awesome! In the new early access preview version of Rider, there’s a new “Files” tab that allows you to browse your entire repository’s files - not just the solution you’re currently in. This is brilliant if you’re working on a single solution that’s part of a much larger mono-repo.

  • Discriminated Unions in C# update - Looks like they’re planning on introducing this a bit of a time - starting with Union classes.

  • Why is .NET 9's Performance So Good? Nick Chapsas interviews Stephen Toub - Still on my watchlist - but this has gotta be good!

  • JetBrains Junie - This is a new product announced by JetBrains, which they describe as an AI coding agent. I haven’t had a chance to play with it yet, as it says it’s currently only available in IntelliJ IDEA Ultimate and PyCharm Professional, with WebStorm soon to be added to this list. And also only on the OS X and Linux platforms. Looks interesting though!

  • Sam Altman’s World now wants to link AI agents to your digital identity The idea behind this is that you can give permission to an “AI agent” to act on your behalf when it interacts with websites. For example, ordering food, or booking an Uber, etc. Interesting to see the direction things are going with AI agents.

  • Announcing a free GitHub Copilot for Visual Studio - I’m not a Visual Studio user, so haven’t looked much into this. But I’m sure a lot of you are, so might be interested :)

  • Free Plan Support for GitHub Copilot Available on JetBrains IDEs - Now, we’re talking ;)

  • Improvements to GitHub issues - GitHub is launching new features for issues, including sub-issues, issue types, and advanced search options.

  • Operating System in 1,000 Lines online book - I haven’t read it yet, but looks interesting!

  • .NET Aspire 9.1 due for release mid-feb - James Newton-King has been tweeting daily teasers too.

Dev Comic pick of the month

We should definitely start doing this in standups! Martin, if you’re reading this! ;)

(source)

Dev Tip - Remember the seven “p”s

My dev tip this month is to remember the importance of planning. The 7 “p”s are… “Prior Proper Planning Prevents P*ss Poor Performance”. There are various variations of this phrase - but that’s the one that stuck in my head. And it’s so true - and applies to many aspects of life, but definitely in software development. When you’re working on a new feature - don’t just rush in and start coding. Instead, break it down in whatever note-taking app you use. Think through all the different bits of work that will need doing - including both the happy and unhappy paths. Think through what could go wrong… this alone might cause you to go with a different solution than you would have done if you’d just jumped straight into coding. I get it, it’s so tempting to just crack on and crank out code. But doing a bit of planning beforehand can save you an insane amount of time. You also end up with a plan that you can follow which makes it less likely you’ll procrastinate whilst doing the work.

Sponsorship opportunities

I’m looking for sponsors for both the podcast and this newsletter. Details of podcast sponsorship can be found here. Feel free to reply to this email to discuss further.

The Podcast 🎙

Sorry, no episodes again this month. I’ve been playing “todo-list catchup” over January after completing the latest Dometrain course. I have the next recording scheduled this week, which will be about Uno Platform’s Hot Design! Let me know if you have any questions you’d like me to ask.

Also, remember that we have a Discord community for the podcast!…

Podcast Discord community

My Dometrain Courses

Below are details of my Dometrain courses. There’s also a bundle that includes both the Docker and Kubernetes courses, which can be found here.

Docker for Developers

This course will teach you everything you need to know about Docker and containers. From what containers and images are; to how to build your own; to security and networking; docker-compose; and much more!

Kubernetes for Developers

Once you understand Docker, containers, images, etc - it’s time to move onto the next level and learn a container orchestrator - and Kubernetes has clearly won the battle here! My Kubernetes course is rammed-packed full of demos (pretty much all the way through), which are easy to follow along with downloadable YAML files and scripts. We start with the basics, then later move on to more advanced topics like services meshes and operators.

JetBrains Rider

Rider is an amazing .NET IDE by JetBrains. This course is 6 hours of content - covering hotkeys, refactoring, navigation, debugging, git, testing, AI, profiling, remote collaboration, and much much more!

Please help me share this newsletter 🙏

If you’ve made it this far into the newsletter - I’m hoping that means you’ve
both enjoyed it and found it useful. If you can help me out and share with your developer friends at work and on social media, that would be amazing!

Again - feel totally free to reach out to me, and let me know your thoughts on the newsletter. And see you back in your inbox next month for the next edition! 👋

My socials…

Bluesky (my primary place)
Twitter (using less nowadays)
LinkedIn
Discord
Mastodon (rarely used)
Threads (rarely used)