Writing
Tutorials, essays and yearly reviews. Older posts about tools that no longer exist are kept for reference. You can follow along with the RSS feed.
2025
2024
2023
2022
2021
The best peer-to-peer NFT trading platforms in 2021
A comparison of NFTTrader, Sudoswap and Swap.kiwi for trading NFTs peer-to-peer in 2021: features, UX, fees, popularity and security.
🏠 2020 Year in Review: Staying Home, Vintage Furniture & DeFi
My 2020 in review: staying home during COVID, finding vintage furniture with @stoopingams, and working on DeFi and open source projects.
2020
Unlimited ERC20 allowances considered harmful
Most DeFi apps ask for unlimited ERC20 allowances. Learn why that is dangerous, and what dapp developers and users can do about it.
🏖 2019 Year in Review: Graduation, Cryptocurrency & Travelling
My 2019 in review: graduating, going from student life to working in crypto, open source work, speaking at events and traveling.
Building love2d games for the web with love.js and Docker
Learn how to build LÖVE (love2d) games for the browser with love.js, how to automate the build with Docker, and how to fix common problems.
2019
Smart contracts on Ethereum, Bitcoin and Bitcoin Cash
Ethereum was the first platform with Turing-complete smart contracts, but Bitcoin already had simple contracts, and Bitcoin Cash keeps improving them.
Creating Truffle plugins
One of the final Truffle updates of 2018 included the addition of Truffle plugins. But how do we create Truffle plugins, and what are their possibilities?
Automatically verify Truffle smart contracts on Etherscan
Learn how to automatically verify the source code of your Truffle smart contracts on Etherscan with truffle-plugin-verify.
🐼 2018 Year in Review: Blockchain, Open Source & Public Speaking
My 2018 in review: learning Ethereum development, winning a hackathon, publishing a paper, speaking at conferences and contributing to open source.
2018
Asserting reverts when testing Solidity smart contracts with Truffle
Reverting is a big part of Solidity smart contracts on Ethereum. To make sure reverting functionality works well, it should be thoroughly tested.
Checking events when testing Solidity smart contracts with Truffle
Checking emitted events is very powerful when testing smart contracts. Learn how to use the truffle-assertions library to make assertions about events.
Set up a Hyper Key with Hammerspoon on macOS
To make sure your app shortcuts don't get in the way of more important ones, we will set up global shortcuts on macOS with a Hyper Key and Hammerspoon.
2017
Increasing development productivity with repository management
Learn how automated repository setup, directory conventions, and custom functions can increase your productivity as a developer.
Dotfiles: automating macOS system configuration
Learn how to automate your macOS system configuration using dotfiles, and how this can help your day to day digital life.
Add Medium read time to your Ghost blog
Learn how I added a Medium Read Time indicator to my Ghost blog. Find out Medium's algorithm, and how to use Ghost theming to add it to your own blog.