Efficient Pagination Using Deferred Joins
TIL that pagination via LIMIT
and OFFSET
(i.e. how most of us are doing
it) is not very performant for large datasets. Instead, you can use a
“deferred join” to fetch just the ID from the table and then an outer query
has fewer IDs to work with.
Trying to fix my Audioengine A2+ woes
I upgraded my desktop speakers to Audioengine A2+ a while ago. They are awesome, except for one random bug: they sometimes stop working and require me to unplug their power.
2Advanced Studios gallery
I was feeling nostalgic in web design today and found this gallery of old 2Advanced Studios designs. V3 Expansions is still the best website of all time.
Pi-hole/DNS configuration gotcha
I’ve been running Pi-hole off and on for a few years. It mostly works great, but it would randomly stop working and I’d see ads again. I could never track down what was happening — until recently.
Let’s Encrypt for Pi-hole
Here’s how I used acme.sh to setup Let’s Encrypt for my Pi-holes.
PHP’s null coalescing operator vs elvis operator
I saw this comparison of PHP’s null coalescing operator (??
) vs its
elvis operator (?:
).
EU to require sideloading on iOS
Looks like the EU is going to force Apple to allow side-loading and alternate app stores on iOS. Mixed opinions, as I’d expect. Myself, I hate the idea and hope Apple tells them to fuck off.
Red Dead Redemption 2
Keep calm and use the runbook
Runbooks are important because they make knowledge easily actionable for someone without domain expertise. This ensures, for example, that the engineer who created the service doesn’t need to be the first line of defense in the event of an outage. Instead, if they create a runbook, anyone else can pick it up and take the right steps to fix the problem.
What’s the deal with all those weird wrong-number texts?
A deep dive into scam texts. Fascinating stuff.