CheatGPT
This week I stepped out of one world and landed in another. It started while I was marking assignments in a few of my programming courses.The quality of the code I was reading was amazing! My students were doing the sorts of things that my open source peers do:
ESP32 Buyer’s Guide: Different Chips, Firmware, Sensors
The ESP 32 was the most fun side project for me in 2022. For those who don’t know: the ESP32 is a small, cheap and wifi-enabled microchip. Many smart devices that you buy on Amazon have an ESP32 inside. It’s really amazing what you can do with a board that costs less than a good sandwich.
Archive your Reddit data before it's too late
I've written a tool for creating a searchable archive of all your Reddit data.
Fuck being productive
Fuck being productive. I decided to go easy on my self about being "productive". I'm already working full time from 6:30 to 18:30 everyday and I've got o...
List one task, do it, cross it out
I have the reputation, at least among some friends and family, of being 'good in a crisis' – such as (to give a somewhat minor example) the day last year, deep in lockdown, when a shard of flying flowerpot ended up halfway through my partner's hand, sending her to hospital and upending our finely calibrated work and…
How to Yubikey
How to use and configure a Yubikey
An excruciatingly detailed guide to SSH (but only the things I find useful)
Oh you like SSH? Name every flag.
GNU Parallel, where have you been all my life?
How to use GNU Parallel to gather stats on long-running flaky tests by running them many times and capturing their results.
Bitwarden PINs can be brute-forced
Video showing bitwarden. User then sets the pin 2345. The vault is locked and then bitwarden is quit. In the terminal the exploit program is run, which after a short while outputs the PIN 2345.
Wonders of Street View
Explore the weird and wonderful things on Google Street View
QGIS is the mapping software you didn't know you needed
QGIS is incredible: You can build maps that make use of the absolute wealth of public data out there and put Google Maps to absolute shame. This article is doing just that.
How I run my servers (2022)
I've been writing recently about servers and internet infrastructure 1 . A lot of this writing is predicated on running server software on a VM or physical machine, rather than using a more cloudy solution, which is somewhat unpopular these days. However, I think it's a pretty reasonable way to do things, and it's not…
Moving fast with the core Vim motions
Where you learn the power of motions and how you can move blazingly fast and with extreme prevision using VSCodeVim
Extracting Hacker News book recommendations with the ChatGPT API
2023-10-12: I have written a followup with some details about the process used to generate this list: Extracting HN Book Recommendations with the ChatGPT API, Vol. II
The strangest computer manual ever written
It's dark and funny and unlike anything else
Switch off bad TV settings
Watch movies like the makers intended by switching off weird smart tv settings.
CLI text processing with GNU awk
Example based guide to mastering GNU awk
Style your RSS feed
How to make your RSS feed look nice and provide useful information at the same time.
There oughta be a bullet time video booth
For my cousin’s wedding I did not make a photo booth but a video booth. - With an array of DSLRs to create a bullet time effect. Click the image to see the video on youtube.com. Since this is a very visual project, you should really watch the video. This blog post contains the same info with more details, but those…
GitHub Actions could be so much better
I love GitHub Actions: I’ve been a daily user of it since 2019 for both professional and hobbyist projects, and have found it invaluable to both my overall productivity and peace of mind. I’m just old enough to have used Travis CI et al. professionally before moving to GitHub Actions, and I do not look back with joy 1…
Over the past 21 months I’ve written a code editor from the ground up
Over the past 21 months I’ve written a code editor from the ground up, including: a fast (~120fps) canvas-based editor component; multi-language syntax highlighting with Tree-sitter; snippets; a file browser; find-and-replace with regex and JavaScript expression support; and two completely new features: AST mode and…
Treat your to-read pile like a river, not a bucket
I'm going to take a wild guess here and say that you, like me, have a large pile (or digital equivalent) of books or articles you've been meaning to get around to reading, plus maybe a long queue of podcast episodes to which you'd love to listen, if only you had the time. It's the archetypal "first-world problem", I…
Run CLIP on iPhone to search photos
How I run CLIP (ViT-B-32) on iPhone to search the Photos album offline with Queryable: exporting Core ML text and image encoders for CLIP photo search
The networkQuality tool on macOS
Getting Started with networkQuality The networkQuality tool is a built-in tool released in macOS Monterey that can help diagnose network issues and measure network performance. In this post, we'll go over how to use the networkQuality tool and some of its key features. Running the Default Tests To
Reclaiming the web with a personal reader
There’s a kind of zen flow that programmers unblock when they experience their software daily as an end user. There’s no better catalyst for ideas and experimentation, no better prioritization driver than having to face the bugs, annoyances, and limitations of an application first-hand.
Writing summaries is more important than reading more books
One thing I’ve learned over time is to read fewer books but to take the time to write summaries for the good ones. The ROI of spending 2h writing a synopsis is much higher than spending those 2h powering through the next book on your list. Reading is not about page count or speed. What matters is ho