Turn off your Firestore automatic indexes
query(blogPosts, where("id", "==", "firestore-indexes"))
query(blogPosts, where("id", "==", "firestore-indexes"))
Cammes Film Festival is an invite-only nearly-no-budget home-made film festival. Each year, me and Katie have invited our close friends to make short films on a theme. Then, after a couple of months, we’ve all gotten together – virtually or physically – and shared whatever we’ve created. 2025 was our fifth year of doing this so I wanted to reflect on this milestone of our little tradition.
Cambridge’s first1 publicly accessible roped climbing wall has recently opened! at least, the first for a long while, and the first that would be considered an option for the sport climbers of today
Coming back to JavaScript after focusing on Python, I was surprised that using break when iterating over a generator closes the generator. This post has an example of that behaviour and a comparison with Python’s behaviour.
The Calanques National Park near Marseille features a huge expanse of beautiful limestone with breathtaking views. From April 22nd - 30th 2023 I was able to visit with 4 friends and experience a small sample of the wealth of rock climbing on offer in the Massif.
Step 1: Connect the controller to the Mac Using a Nintendo Switch Pro Controller on a Mac requires macOS Ventura. Open System Settings ▶︎ Bluetooth Hold down the SYNC button on the top of the controller next to the USB port and wait for the LEDs at the bottom of the controller to light back and forth Click Connect next to ‘Pro Controller’ under ‘Nearby Devices’
Swift’s Arrays have value semantics. They also have a copy-on-write optimisation:
The only thing worse than not type-checking your code is thinking you are type-checking it when you aren’t.
Git LFS (Large File Storage) helps you version large files in Git without having to download every version of it. This post explains the mechanisms that Git LFS uses internally to do its job, including:
With typing in Python, we aim to restrict as many invalid programs as possible before they’re ever run. This post covers some useful features for tightening up our types: