What they don't teach you about sockets
In order to effectively write applications that communicate via sockets, there were some realizations I needed to make that weren't explicitly told to me by any of the documentation I read.
How does perspective work in pictures?
Why don’t photographs make distant objects big enough?
Is everything falling apart?
Jonathan Haidt thinks so. I’m not so sure.
An Algorithm for Passing Programming Interviews (2020)
Over the past few years, I’ve interviewed with a dozen or so companies and have completed ~50 or so individual algorithm problems. I’m frequently given feedback that I did a great job at the algorithms problem. In this post, I’m going to share how exactly I approach algorithm problems. Thought Process A guiding…
Ruby Shield: Shopify donates $1M to stewards of rubygems, bundler
We’re thrilled to announce Ruby Shield, a partnership between Ruby Central and Shopify that underscores our shared commitment to security work. This partnership will allow Ruby Central to focus more on security and general Ruby and Rails infrastructure development and maintenance. Ruby Central operates rubygems.org…
Postman Now Supports gRPC
We are excited to announce first-class support for gRPC in Postman. Learn how to get started today.
Garage, our self-hosted distributed object storage solution
Deuxfleurs is a non-profit based in France that aims to defend and promote individual freedom and rights on the Internet. In their quest to build a d…
Guest WiFi using a QR code
On my home network I have guest WiFi configured and when guests come round they need to know the password. Happily there's a way to make thi...
Twitter is using its embedded JavaScript to hide tweets that have been deleted
With all the fuss about Twitter’s promised edit button, and how they might design it, we’re missing a disturbing development — Twitter is using its embedded javascript to edit other people’s sites.
ChatGPT: Optimizing language models for dialogue
We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests.
Web automation: Don't use Selenium, use Playwright
For web automation/testing, Selenium has been the de facto "standard" since forever. It's simple to get started with and supports almost every programming language. My problem with it has been: It's good enough, but nothing more. It doesn't work that well with modern, Javascript framework heavy sites (Angular, React
The 0.5 MB of nothing in all Apple Music files (2020)
Six percentage of each music files you’ve bought from Apple Music (iTunes Store) contain, literally, nothing. Why is Apple padding their music with zero-bytes?
Deno Is Webby
The Deno team recently shipped Deno by example : Deno by example is a collection of annotated examples for how to use Deno, and the various features it…
Everything must be paid for twice
One financial lesson they should teach in school is that most of the things we buy have to be paid for twice. There’...
No Refrigerant Left Behind
We have a plan to prevent 2 billion tons CO2e in the next 10 years by collecting and destroying superpotent refrigerants.
Another scientific body has debunked bitemark analysis
Even in the face of overwhelming evidence, the criminal legal system is incapable of admitting its mistakes
Crimes with Python's pattern matching
Let's make the CPython team regret adding pattern matching to Python!
Cloudflare Pages: Best server tech since CGI-bin?
Cloudflare Pages 😍 I got into Cloudflare pages because it lets you host static websites with all the latest optimizations conveniently and for free. Setting up a static website with a custom domain is easy, and you get the benefits of automatic SSL, CDN, and latest version of HTTP3. This is how this blog is hosted and…
From novice to master, and back again (2013)
In 1985, I was a freshman at St. Olaf College in Minnesota. The college had a VAX 11/780 running 4.2BSD and a PDP-11/70 running v7 with some Berkeley and local code hacked in. It was my first exper…
What's TypeScript compiling? Use a treemap to find out
Has TypeScript gotten slow for you? Run this one magic command to visualize what TypeScript is compiling, and maybe get to the root of the issue.
Our fundamental right to shame and shun the New York Times
What the NYT Cancel Culture Editorial Got Wrong, And What It Got Right
I would like a job writing Haskell
From the highly eclectic blog of Mark Dominus
Retrieving your browsing history through a CAPTCHA
Web developer and cybersecurity researcher