RSSAmplifier

Blog

rendle.dev

Recent content on rendle.dev

rendle.devRSS feed ↗11 posts

Latest posts

memlite part 1: what is memlite?

Problem: every time I started a new Claude session, it didn’t know me. Not in the “we haven’t met” sense — in the “I told you about my coffee three days ago and you’ve forgotten” sense. There’s a model gap there that no amount of context-window engineering closes. The fix isn’t a bigger prompt. It’s a place to put the things you’d…

Back Once Again

I should really start blogging again. So I’m gonna. There’s been a bunch of stuff on my mind lately, some of it about software engineering and architecture, some about life and mental health and stuff I’m going through, that kind of thing. So I’m spinning up Hugo, sorting out some hosting and CI/CD pipelines and all that so I can get it all out of my head and on the web so…

Rendle Talks

Highlights In no particular order… Programming’s Greatest Mistakes An ever-evolving look at some of the mistakes in software engineering over the years that have led to explosions, bankruptcies, world-wide Windows outages, or in one case just a severe telling-off from my boss :) From Devoxx Belgium 2024 How JavaScript Happened A history of programming languages, but limited to the…

Funding OSS maintainers like YouTube funds creators

Dustin Moris Gorski yesterday published Fund OSS through package managers on his blog over Dusted Codes . In it, he suggests adding payment mechanisms to package managers such as NuGet or NPM , and that’s certainly an option. But it involves creators choosing how much to charge for their packages, and potentially developers having to raise purchase requests every time they want to adopt a…

My 20 Years with .NET

It’s .NET’s 20th birthday: 20 years since Microsoft released v1.0 of their managed runtime, a Base Class Library, a couple of application frameworks, and the C# programming language. So I thought I’d do a retrospective of my 20 years working with .NET, because I’m extraordinarily vain and I assume people want to read stuff like this. 1.0 beta It was some time in late 2001…

Running a .NET 5 web app on Railway

I’ve been working on a fun little project on my stream recently. It’s an app called StreamBadger that adds overlay images and plays sounds on the stream through OBS Studio. It uses the Twitch API so it needs to authenticate with Twitch, and as it’s a desktop application I wanted to build that authentication flow where you log in through the browser and the app sits and waits and…

Upgrading ASP.NET projects one page at a time

TL;DR: I’ve come up with a way to gradually migrate old ASP.NET WebForms (or MVC) applications to .NET 5.0, and you can watch me figure it out in real-time on my brand new Twitch channel . I’ve been working on Visual ReCode for a while now. It’s a plug-in for Visual Studio 2019 that helps developers migrate old .NET 4.x code to new .NET 5.0 or .NET Core 3.1. We just released…

Nullable References in Enumerables

I’m a big fan of the Nullable Reference Types feature added in C# 8.0. It lets the compiler catch a bunch of potential runtime errors, and I guarantee if you turn it on you’ll get a bunch of warnings. As of .NET 5.0, the entire BCL is now covered with nullable annotations, and a lot of the extended ecosystem supports them too. But there are situations where the compiler is unable to…

Creating a dotnet tool

One of the great features of .NET Core is that it gives you a simple way to create and distribute CLI tools via NuGet. You just create a Console application, add a few entries to the .csproj file, and publish it to NuGet. Then other people can install it with the dotnet tool install command. I’ve published a couple of tools this way before, but I’ve just published another one so I…

Loading old-style projects with Roslyn in .NET Core

First up, let me just say that Roslyn , the compiler platform for C# and .NET, is amazing and I love it. I couldn’t have built Visual ReCode without it. But I have run into an issue with the MSBuildWorkspace type that, ostensibly, lets you load .NET solutions quickly and easily. The problem is, when you use MSBuildWorkspace in a .NET 4.x project, it uses the old, full-fat .NET version of…

Using Channel Like IAsyncEnumerable

Ironically, as I am creating a Visual Studio extension that migrates .NET 4.x code to .NET Core 3.1, I find myself mainly coding with .NET 4.7.2 and C# 7.3. While it is technically possible to use a subset of C# 8 features outside of .NET Core 3.x, the VS SDK is a difficult beast and introducing it to new things often makes it unhappy. I’ve lost an afternoon tracking down a reference to…