Differentiating rate limits in Apache APISIX In my talk Evolving your APIs, I mention that an API Gateways is a Reverse Proxy 'on steroids'. One key difference between the former and the latter is that the API Gateway is not unfriendly to business logic. The poster child is rate-limiting. Rate-lim...
Mapping symbols: rethinking for efficiency In object files, certain code patterns embed data within instructions or transitions occur between instruction sets. This can create hurdles for disassemblers, which might misinterpret data as code, r
Quantifying Prospective Jobs This article explores creating a means of evaluating new job opportunities based on four key factors - Meaning, Knowledge, People, and Compensation.
On the CrowdStrike Incident Things went very wrong on Friday. A bugged CrowdStrike update temporarily bricked quite a lot of computers, bringing down such fun things as airlines, hospitals and 911 services. It was serious out…
How not to use box shadows So you think you know box shadows huh? I bet you didn't know they could do this.
Simulating an ice sheet Using the SICOPOLIS model, we simulate the Greenland ice sheet under a high-emissions scenario.
When Objects Are Not Enough Alan Kay mentions in a talk that the Smalltalk don't scale quite well to big teams and infrastructure. However, he had some ideas on how to make OOP scale.
Engineering the world’s highest cited cat, Larry A citation manipulation scheme so easy, even a cat can do it.
How to find unused Prometheus metrics using mimirtool In this article, I will explain how I used mimirtool to identify which metrics were used on the platform, and which wasn't.
What’s the point? BigDecimal in review More to the point: Where’s the point? Recently I had to dig into the BigDecimal implementation to fix a reported bug. Every time I have to look at the BigDecimal code, it is a journey of rediscovery. I’m going to write down a few things to save me some ti...
Share specs, Not execution There should be a clear rule: Share the specs, not the execution. This post tales the tale of why this is important and how two tools, Swagger and Postman, can work with this rule.
Fixing a Protel Payphone Part 2: Installing ExpressNet This post is a continuation in a series, “Fixing a Protel Payphone.” To view the previous installment, check out Fixing a Protel Payphone Part 1: Getting Dial Tone
How conditional breakpoints work 🐢 Conditional breakpoints are extremely useful, but everyone knows [citation needed] that they’re super slow, to the point where people stop using them. Visual Studio recently did some good improvements and @ryanjfleury still dunked on it for being too slow...
Mastering Error Insights in .NET MAUI: Sentry vs. Firebase Crashlytics As the .NET MAUI ecosystem gains momentum, developers are keen to adopt robust error monitoring...
Add AI to Your .NET Apps Easily with Prompty - .NET Blog Learn how to integrate AI into your .NET applications with Prompty, a powerful Visual Studio Code extension.
No More Blue Fridays No More Blue Fridays: How eBPF is already being adopted to prevent kernel crashes.
Organizing the five creation dispositions of the CreateFile function - The Old New Thing Six possibilities, but only five useful ones.
We're good, seriously This message was posted to our OpenCollective here. However, their page layout leaves a lot to be desired, with the post being very far down the page. So it is reproduced here for posterity. We have q
GitHub - BurntSushi/jiff: A date-time library for Rust that encourages you to jump into the pit of success. A date-time library for Rust that encourages you to jump into the pit of success. - BurntSushi/jiff
The state machine in C# with async/await You often here that the async/await keywords leads to a state machine. But what does that mean? Let's discuss this with a simple example.
Composing Linq Queries At one of my clients, I was showing him how to structure a complex Linq query. This came as a surprise to him and I thought it was worth a quick blog entry.
Migrating .NET APIs with Obsolete Attribute Creating APIs for consumers can be a challenging skill to master. We have to balance APIs that are flexible for reasonable changes, but not overly verbose or complicated in order to cater for all possibilities rather than focusing on the here-and-now. Som...
ILSpy for macOS: First Public Beta Release Announcing the first public beta release of ILSpy for macOS, powered by Avalonia XPF.
ASP.NET8 using DataTables.net – Part4 – Multilingual A practical guide to using jQuery DataTables.net component in Asp.Net 8 MVC application.
EF Core - The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value Athough EF Core is a developer friendly Object-Relational Mapper (ORM), working with it isn't without its challenges. One error that we enco...
Array Grouping in JavaScript Combining data into groups—like Object.groupBy and Map.groupBy in JavaScript—allows you to compute higher order datasets, like grouping employees by department.
Auto-document dotnet CLI tool via dynamically generated markdown readme fragments Every time I create a new CLI tool, I face the challenge of keeping the project and package readme (for dotnet tools like dotnet-trx) up to date with the evolving tool itself. It’s annoying and repetitive (run with --help, copy-paste) and it’s not uncommo...