Max Duval's Avatar

Max Duval

@mxdvl.com

Web + Data + Tools + Design I lead UK property data exploration & visualisation at Hometrack on data.hometrack.com (parfois j’écris en Français…)

75
Followers
259
Following
197
Posts
07.07.2023
Joined
Posts Following

Latest posts by Max Duval @mxdvl.com

I’d describe them as jiggly, sketchy or scribbly — I tend to see “wavy” as a more regular pattern.

That being said, English isn’t my first language and I imagine the shape is actually driven by overlapping waves so you probably shouldn’t listen to me 😜

01.03.2026 12:30 👍 1 🔁 0 💬 0 📌 0

cssribbler?

01.03.2026 12:21 👍 0 🔁 0 💬 1 📌 0
Preview
PHP: Functional - Manual Functional Operators

I was today years old when I learned that PHP has had a pipe operator since November 2025

`$mind |> blow(…)`

www.php.net/manual/en/la...

21.02.2026 22:41 👍 2 🔁 0 💬 0 📌 0
Make the Change Easy, Then Make the Easy Change · Taro

“Make the change easy, then make the easy change” and all that: taro.codes/posts/2019-1...

17.02.2026 19:36 👍 0 🔁 0 💬 0 📌 0

This is positively awful, but here’s one way you can turn it back on them and ask that each atomic change be extracted into its own PR that can be explained, tested and reviewed in isolation. The work of turning code into something meaningful is what good engineering is about!

17.02.2026 19:31 👍 0 🔁 0 💬 1 📌 0

I thought it was impossible to break them in half and it would always produce at least one extra small part… how did he manage it?

13.02.2026 13:42 👍 0 🔁 0 💬 0 📌 0

but if there are less than 40k benches total… that’s well within the 50k allowed by the £80 one-time purchase fee?

12.02.2026 20:39 👍 0 🔁 0 💬 1 📌 0
Preview
OpenCage - Easy, Open, Worldwide, Affordable Geocoding and Geosearch An easy-to-use forward and reverse geocoding API. Worldwide coverage. Affordable, predictable pricing. Open data.

Regarding affordable alternatives and thinking back to my PHP days, I’ve found opencagedata.com to be great for reverse geocoding and bunny.net a powerful CDN with great caching controls.

12.02.2026 18:50 👍 0 🔁 0 💬 1 📌 0

Can’t say it’s too didactic though… you still need to understand how to lay out the elements that are actually being scrolled past and ensure they are tall enough so it’s unambiguous which one is actually in view, etc.

11.02.2026 13:28 👍 0 🔁 0 💬 0 📌 0

If React’s a requirement, I’d get inspiration from a custom hook that identifies when an element is in view, and use that to drive which div to show: github.com/guardian/dot...

11.02.2026 13:25 👍 0 🔁 0 💬 1 📌 0

Who would have thought that a large chunk of the world’s code would be version controlled on a platform with a single nine…

10.02.2026 09:00 👍 1 🔁 0 💬 0 📌 0

alphabets are fascinating bsky.app/profile/qntm...

08.02.2026 23:58 👍 0 🔁 0 💬 0 📌 0
Preview
Test Character Repetition by mxdvl · Pull Request #56 · qntm/abcdefghijklmnopqrstuvwxyz Why? Best to guarantee that each character is unique!

Sadly they were missing a very important test so I’ve offered my services free of charge: github.com/qntm/abcdefg...

08.02.2026 22:43 👍 4 🔁 0 💬 1 📌 0

It’s great that they’ve kept on top of the last two breaking changes in the modern English alphabet.

08.02.2026 22:36 👍 2 🔁 0 💬 1 📌 0

I’ll try and get a personal best for my next half marathon in May… so I made a tool to see how quickly I need to go along the way: www.mxdvl.com/tools/pace

29.01.2026 18:53 👍 0 🔁 0 💬 0 📌 0
Thrift: The Missing Guide A comprehensive guide and reference documentation for Thrift

@danabra.mov thanks for quickly explaining lexicons versioning — it reminded me of “required is forever” in thrift diwakergupta.github.io/thrift-missi...

28.01.2026 21:40 👍 1 🔁 0 💬 0 📌 0

on macOS or iOS you can just hold the key for a few seconds… on Windows 🤷

28.01.2026 21:06 👍 0 🔁 0 💬 0 📌 0

You don’t use Canadian Multilingual Standard where the accented letters are always present? Hands down best keyboard layout for Western European languages, don’t sleep on it 😉

28.01.2026 18:49 👍 0 🔁 0 💬 1 📌 0

🙋

25.01.2026 22:07 👍 2 🔁 0 💬 1 📌 0

Slightly diminish a brand:

The North Face in the Southern Hemisphere

18.01.2026 18:20 👍 0 🔁 0 💬 0 📌 0
Cruel Toys - Daily Word Hunt A daily word-finding puzzle with a cruel twist: the grid only contains letters from the target word. Can you find the hidden pattern?

Sort of weirded out by how fast I found it. Must be luck…

I FOUND TORMENT!!!

🧸 Cruel Toys #11
⏱️ 0:17

cruel.toys?date=2026-01...

12.01.2026 18:06 👍 1 🔁 0 💬 0 📌 0

Yeh I think the shadows are off…

11.01.2026 21:41 👍 2 🔁 0 💬 0 📌 0
Refactor `Result` type by JamieB-gu · Pull Request #14980 · guardian/dotcom-rendering A simple version of this type was introduced to see if we would find it useful (#10361). We've started to use it more widely, so this change adds some ergonomic improvements to make it easier t...

…alas, they are so well suited for modelling monads: github.com/guardian/dot...

25.12.2025 07:36 👍 3 🔁 0 💬 1 📌 0

function transform(state: Readonly<State>): State {
// do something/nothing
}

20.12.2025 01:13 👍 0 🔁 0 💬 0 📌 0

I think this is especially true if your state is immutable — otherwise one might argue the cleaner code is to conditionally mutate the current state if and only if there’s a matching key in the transformer.

20.12.2025 01:12 👍 0 🔁 0 💬 1 📌 0

That is to say: “there once was”

17.12.2025 22:20 👍 0 🔁 0 💬 1 📌 0
Preview
I Am Rich - Wikipedia

en.wikipedia.org/wiki/I_Am_Rich

17.12.2025 22:19 👍 1 🔁 0 💬 1 📌 0
Preview
lichess costs.xlsx lichess costs.xlsx

Oh they also have a doc outlining their costs, v cool!

docs.google.com/spreadsheets...

17.12.2025 13:41 👍 0 🔁 0 💬 0 📌 0
Preview
The best free, adless Chess server Free online chess server. Play chess in a clean interface. No registration, no ads, no plugin required. Play chess with the computer, friends or random opponents.

gotta love’s lichess.org lack of any such shenanigans — not even a silly cookie banner!

13.12.2025 12:20 👍 1 🔁 0 💬 1 📌 0

Managed to get at least one star every day — what a pleasant experience Gleam was!

13.12.2025 11:49 👍 0 🔁 0 💬 0 📌 0