Curated river of news
Reader
Latest posts from blogs I follow
Gardening Your Twitter: Curating Your Timeline(opens in new tab)
Practical strategies for curating your Twitter timeline through strategic following, muting, and filtering to create an informative and enjoyable social media experience.
Gardening Your Twitter: Growing Your Followers(opens in new tab)
Strategies for growing a meaningful Twitter following through authentic persona development, consistent engagement, and effective content creation based on 12 years of experience.
Forbidden Controls in Catalyst: Optimize Interface for Mac(opens in new tab)
Investigating why certain UIKit controls throw runtime exceptions in Catalyst's 'Optimize Interface for Mac' mode and discovering which controls are forbidden.
Disabling Keyboard Avoidance in SwiftUI's UIHostingController(opens in new tab)
Fixing unwanted keyboard avoidance behavior in UIHostingController using runtime dynamic subclassing to override keyboard notification handling methods.
The State of SwiftUI(opens in new tab)
Testing SwiftUI's production readiness in iOS 14 and macOS Big Sur through Apple's Fruta sample app, revealing performance issues and platform-specific limitations.
Logging in Swift(opens in new tab)
An in-depth exploration of Apple's unified logging system and the promising OSLogStore API that Apple removed from iOS 14 at the last minute.
Converting macOS Terminal To zsh in Catalina(opens in new tab)
In macOS Catalina the new default shell is zsh, learn how to change the terminal and set it up to look and feel great.
The WET Codebase(opens in new tab)
Come waste your time with me.
Welcome to My New Blog(opens in new tab)
Welcome to my new site! If you want to see my old writings you can still find them at my Wordpress blog site which is still up. I may at some point attempt to copy the posts over from there, ...
Writing to an Lcd Panel Using Go and a Raspberry Pi(opens in new tab)
In my last post I wrote about how I rigged up a Raspberry Pi to monitor temperature, humidity and air pressure. In this post I will talk about how I added a multiline LCD display into the mix to display ...
Humidity, Temperature and Pressure Sensing on a Raspberry Pi With Go(opens in new tab)
(click for a higher resolution image) Background A few months ago I bought a couple of lemon trees to grow in my conservatory, but most excitingly for me, a Buddha’s hand tree. This tree was fairly expensive, and I wanted ...
Building with Swift Trunk Development Snapshots(opens in new tab)
A troubleshooting guide for building with Swift trunk development snapshots, documenting compilation errors, linker issues, and their solutions.
Waiting in asyncio(opens in new tab)
One of the main appeals of using Python’s asyncio is being able to fire off many coroutines and run them concurrently. How many ways do you know for waiting for their results?
Speed Up Google Fonts(opens in new tab)
Google Fonts is fast. Now it’s faster. Much faster.
Classy Abstractions(opens in new tab)
Let’s talk about abstractions and Pythonic code.
When NOTHING else will remove a half-installed .deb package(opens in new tab)
WARNING: ALL WARRANTIES NULL AND VOID With that important disclaimer out of the way… when you’re stuck in the world’s worst apt -f install loop and can’t figure out any other way to get the damn thing unwedged when there’s ...
Why You Should Document Your Tests(opens in new tab)
Some projects have the policy that all tests must have an explanatory comment – including all of mine. At first, I found that baffling. If that’s you right now, this article is for you.
Tailwind Tidbit - Vertically Align Icons and Text in Buttons(opens in new tab)
Ever notice icons and text not lining up perfectly when you build buttons? Here's a simple fix to get things aligned juuust right.
Real-World Effectiveness of Brotli(opens in new tab)
How effective is Brotli, really?
Announcing Slash Packaging(opens in new tab)
Python in GitHub Actions(opens in new tab)
GitHub’s own CI called GitHub Actions has been out of closed beta for a while and offers generous free quotas and a seamless integration with the rest of the site. Let’s have a look at how to use it for ...
Python in Production(opens in new tab)
I’m missing a key part from the public Python discourse and I would like to help to change that.
Error installing libv8 on Mac OS Catalina(opens in new tab)
I got an error installing the libv8 gem on Catalina: $ gem install libv8 -v '3.16.14.19' Building native extensions. This could take a while... ERROR: Error installing libv8: ERROR: Failed to build gem native extension. current directory: /Users/will/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/ext/libv8 /Users/will/.rbenv/versions/2.4.5/bin/ruby -r ...
Python Packaging Metadata(opens in new tab)
Since this topic keeps coming up, I’d like to briefly share my thoughts on Python package metadata because it’s – as always – more complex than it seems.
Goodbye, Clean Code(opens in new tab)
Let clean code guide you. Then let it go.
How to convert variable TTF font files to WOFF2(opens in new tab)
Impetus I’ve been working on a project lately that requires the loading of many, many webfonts. For the main UI font alone, we needed to download over 980kB of WOFF and WOFF2 files. As it happened, the client eventually developed ...
Quick Tip: Keep a Global Gitignore File(opens in new tab)
Performance Budgets, Pragmatically(opens in new tab)
If you’ve ever struggled to define performance budgets, this off-the-shelf trick is what you’re looking for.
Speed Illustration and Coding of This Site(opens in new tab)
Yesterday it was finally time to give my site some more visual flair, but with an extra twist! I recorded the whole process. Check out the sped-up version to get a glimpse of how it was done.
Three Tips for Becoming a Better Developer in 2020(opens in new tab)
As developers it is crucial to keep learning all the time. Otherwise, you might get caught up in your day-to-day work and stagnate. The cure? Learn something and apply it in your workflow! Here are three tips I wish I ...
My Decade in Review(opens in new tab)
A personal reflection.
Stadium of selves(opens in new tab)
How to add Syntax Highlighting to a Statamic Site(opens in new tab)
We'll cover how to add syntax highlighting to code blocks in Statamic v3 using Prism. With a couple quick steps you'll have your code blocks looking spiffy!
2019: Year in review(opens in new tab)
Introduction This time last year, I Tweeted out some goals for the New Year. 🗣️ Speak about CSS at a conference or school 🎓 Take a class a month 📚 Read a book a month ✈️ Go back to SF, ...