Prototyping is derisking

In the debate between upfront requirements documents and prototyping, I've always been squarely on the side of prototyping. Here's why.


parser combinators with nom 8 are here!

nom is a parser combinator library written in Rust, providing you with tools to quickly build complex parsers, from binary formats to programming languages, without compromising on speed or memory consumption.

I am pleased to announce that nom is now available at version 8. This marks a significant rewrite of its core architecture for better performance, along with the introduction of the nom-language crate, that focuses on tools for text oriented parsers, like programming languages and configuration files.


Code reviews: what we owe each other

How do you think code reviews and pull requests should work?


Writing code like a good joke

Often, a code problem is predictable. You know the starting point, the path and the target. You might even know how long it will take. But sometimes, you just don't know how to do it? There's no known path, and your usual tools don't fit. In that case why not have a little fun with that problem?


Validating JWT from multiple identity providers

I have been tasked recently with finding a way to validate JWT that can come from multiple different identity providers, in the same API. This tends to happen when companies buy each other and try to merge their products and user base. So, first, let's be clear about one thing: wrangling multiple IdPs is the path of pain. You would think that it would avoid painful migrations and get you up and running quickly, but you will pay a huge complexity tax when juggling users and roles from multiple systems interacting in your application.

Validating the JWT, though, is manageable, but I've not seen good advice on how to verify them when they were produced by multiple identity providers. So, let's find a good process for that.