Jeff Makes Software

The software musings of Jeff Putz

  • Testing help: POP Forums integrated with OAuth identity provider

    For a lot of years, consumers of my open source project, POP Forums, have asked about the best way to integrate with whatever they were working with in their environment. This usually landed them in a world of hacks involving disparate databases. Of course, there's a better way, and that's to use some kind of OAuth flow through an external identity provider. The groundwork for that has been around for a long time, in the shape of social logins. However, the idea here is that the external provider would be involved to provision accounts, eliminating any kind of signup flow.

  • .NET development on Mac is real (if a little tricky)

    Yesterday I mentioned how enamored I was with Apple's new (last year) generation of self-made silicon laptops, but the lingering question in my mind was, could I completely get away with not having to run Windows in a VM? So I borrowed an M1-based Mac and gave it a shot. The good news is that it's possible, though it took me about four or five hours of messing around to make it roughly equivalent to the Windows experience. 

  • The blessing and leaky abstraction of Azure App Service

    It's hard to believe that it has already been over eight years since I migrated all of my goodies from a dedicated server to Azure. For the most part, I'm thankful for this arrangement because maintaining your own hardware isn't something I ever enjoyed or wanted to do. Having a single box was always asking for failure, too, even though I had an extra drive in the thing (which did fail once) as a backup. I couldn't respond to scale needs if I had to either, and there was one point where it would have helped. Meanwhile, Azure has improved in a lot of ways since then as far as pricing structures go. The SQL database pools were a real game changer for me, because it works with the same flexibility as app services, which all live on the same "plan" with whatever memory and CPU constraints you're paying for. The database uses some goofy units, but whatever they are, I rarely average more than 5% of them.

  • My journey so far with web components

    As I get closer to the release of POP Forums v19 (and there sure are a ton of things baked in there!), I'm starting to think back about my first experience using web components. For years I've talked about trying to modernize the front-end of the app, choosing instead to focus on scalability, but there isn't much room left to squeeze more performance out of it in practical terms, or at least not for what I need. What I kept coming back to was the fact that forums are mostly walls of text, and with tens of thousands of indexed threads on Google, I wasn't going to risk two decades of investment to break it with exotic and unnecessary appification of the, uh, app. Still, a big old file of spaghetti Javascript wasn't sustainable either, even if I did in the last release get away from the old jQuery dependency.

  • POP Forums v18 release for .NET 6, same day!

    This is the fastest release I've had the pleasure of posting to Github in the modern .NET era. Congratulations to all of the product teams, from frameworks to SDK's to Azure, for getting it all out at the same time and in awesome shape. Truth be told, most of this was done two weeks ago on the RC bits. Well done, everyone!

  • 100 weeks of open source software contributions

    Late in 2018, I got into a groove updating and improving my very-long-running open source project, POP Forums. It was a huge refactoring project, updating the CSS framework, embracing Dapper for object mapping from the database, rewriting the admin area to use Vue.js, adding support for ElasticSearch and Azure Functions... it didn't look new, but the internals were massively different. As that effort went on, leading to a release that following May, I committed to making at least one contribution to OSS per week. Having transitioned into more manager than maker, I wanted to keep some street cred, and frankly I still find the process and the learning to be fun. This week, I've contributed for 100 straight weeks!