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.
Curated river of news
Latest posts from blogs I follow
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.
In macOS Catalina the new default shell is zsh, learn how to change the terminal and set it up to look and feel great.
Come waste your time with me.
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, ...
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 ...
(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 ...
A troubleshooting guide for building with Swift trunk development snapshots, documenting compilation errors, linker issues, and their solutions.
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?
Let’s talk about abstractions and Pythonic code.
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.
Ever notice icons and text not lining up perfectly when you build buttons? Here's a simple fix to get things aligned juuust right.
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 ...
I’m missing a key part from the public Python discourse and I would like to help to change that.
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 ...
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.
Let clean code guide you. Then let it go.
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 ...
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.
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 ...
A personal reflection.
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!
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, ...
UI Before API.
So which one should I use?
Getting a closure on JavaScript.
Welcome travelers! I’ve been procrastinating putting together a web site/portfolio/blog for the better part of a year and now the first version is finished.
Before you get started, fair warning that this post has “takes”, some of which could be considered “hot”. This post is not about web development. So, Twitter recently stopped allowing political advertising. jack 🌍🌏🌎 (@jack) October 30, 2019 We’ve made ...
People always ask for book recommendations, so here’s my list of books that changed my life in one way or another. None of them is related to tech or programming, but all affect how I think and work.
Dead code elimination by convention.
They’re not burritos.
Turning an idea into a talk.
So, I was looking for a fun example of UI interactivity to prototype on Codepen, and I stumbled upon this really cool shot that Alexsander Barhon shared. It’s a simple enough animation, with a really nice loading effect and staggered ...
Since the acquisition of Travis CI, the future of their free offering is unclear. Azure Pipelines has a generous free tier, but the examples I found are discouragingly complex and take advantage of features like templating that most projects don’t ...
There are many good reasons not to go to every talk possible when attending conferences. However, increasingly, it became hip to boast about avoiding going to talks – encouraging others to follow suit. That rubs me the wrong way as ...
PyPI is a gold mine of great packages but those packages have to be written first. More often than not, projects that millions of people depend on are written and maintained by only one person. If you’re unlucky, that person ...
I hit this error installing the latest Ruby using rbenv: $ rbenv install 2.6.3 ruby-build: use openssl from homebrew Downloading ruby-2.6.3.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.bz2 Installing ruby-2.6.3... ruby-build: use readline from homebrew BUILD FAILED (OS X 10.14.4 using ruby-build 20190423) Inspect or ...
This is a non-exhaustive list of the tools I use in my day-to-day operation for design, development, and life as a human. If I’m missing something, let me know! Hardware Main Computer — 2023 MacBook Pro, 14-inch, 16GB M2 Webcam ...