22 July 2024

35 links · Monday

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-limiting…

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…

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.

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 time in…

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.

Prakhar Gupta

Software Engineer, LITM

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. But…

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

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. Sometime…