Here are my notes on diagnosing a bug in Hugo. Hugo is the static site generator I use for this website.
Posts
Here be blog posts
Finding my first bug in Hugo
fish and bash Variable Expansion
Adventures in Japanese Digital Transformation
I tried to get a new phone contract the other day because Line Mobile is being sunset. Since I live in Japan as an immigrant with a non-Japanese name. Closing new contracts can be a difficult experience sometimes. This article is about how I wasn't able to get a phone contract with UQ Mobile.
Using tmux with the X clipboard
Sometimes I would like to paste shell command invocations from my browser into my terminal and usebracketed pasting, which is pasting without running the command directly.
Since I am running tmux (tmux 3.1c) inside of xterm, in an i3 and X.Org desktop environment, I also want to use the X clipboard. The X clipboard is used when copying text from the browser as well.
ADS-B Aircraft Tracking at Home
Some smart people have found that you can turn a TV receiver made by Realtek (RTL) into a Software Defined Radio (SDR).
Here's a quick write up on how I used myRTL-SDR V3 receiver to see airplanes flying right over me using the dump1090 app. FlightAware maintains the dump1090 app in itscurrent version.
The RTL-SDR is a cheap way to get started withsoftware defined radios.
Notes on: Marx, A Very Short Introduction
Today, I have finished readingMarx: A Very Short Introduction by Peter Singer and have thoroughly enjoyed it. I purchased the 2018 edition, which even mentions hot topics such as the gig economy and its relation to Marx's critique of capitalism.
Yet, the book falls short of defining capitalism itself as a contrast to communism. Peter Singer describes Marx's philosophical background in Hegel and Ludwig Feuerbach. Then, Peter Singer examines the emergence of historical materialism in Marx's work. Singer continues explaining Marx's description and critique of capitalism and outlines what might have been communism under Marx. (while explaining that Marx was sparse on how communism should be implemented) Singer immediately says here that Marx's predictions about the imminent collapse of capitalism have been wrong.
BIOS Modifications, Proprietary Firmware, and Wi-Fi on my ThinkPad X220
This Time It's Different
There's a lot of recent hype around Generative Pre-Trained Transformer (GPT) based large language models like ChatGPT, GPT-4, and large language models in general. Communities like Hacker News are breaking out into a this time it’s different doom and gloom.
While no one can predict the future, we can at least think about some possibilities for what can happen and maybe think about what is less likely to happen.
Useful zsh Shortcuts
macOS Catalina introduced zsh as thedefault interactive shell. zsh is compatible with Bourne shell (sh) to a large degree and introduces many valuable extensions that make everyday productivity more pleasant. In this post, I list some shortcuts for the zsh line editor (also known as the command prompt) in its default configuration.
Software Development Ergonomics and RSI
Some rather intense keyboard clacking over the past years has resulted in me having to give my hands some time off work.
Installing the Netlify CLI on macOS Ventura with npm
If you're like me, you love npm ci. A lot. Until that one fateful day.
Japanese conjugation, from two perspectives
Learning a language is different when learned as a native language or as a foreign language. We take a look at how Japanese as a Foreign Language (JFL) learners and Japanese as a Native Language (JNL) speakers learn about Japanese grammar.
Errors in J
For the past month I've been using theJ programming language to solveProject Euler puzzles. The language makes many of the tasks that otherwise take too long, especially with multidimensional arrays, pleasant to work on.
Updates to my blog
I've taken some time to enhance my blog with two useful features:
- SVG images generates are now embedded into HTML
- Automatic PDF conversion for posts
This post shows how I've implemented these two features.
Hakyll on Netlify
Happy New Year, from Tokyo
On April 15 2018, I moved to Tokyo, Japan. I suppose that changed a few things in my life.
What Hackathons Teach About Making Products
I like hackathons. Hackathons are competitions that typically run over two or three days and in which the participants—programmers and designers—solve a challenge to win a prize. Typically, there are a few challenges that are all based around some theme—blockchains, sustainability, and democracy.
Updating Smart Contracts
Update from 2025: the cryptocurrency boom of 2017 and 2017 and ICOs were an interesting time, huh? It's not my cup of tea anymore. At the same time, I'd like for this post to stand here as a historical artifact, and encourage you to spend your time on more worthwhile things instead.
Thank you for reading my disclaimer. Please enjoy the following post:
As time goes on, smart contract requirements change. Often, a feature is added or a bug is found. But, once a smart contract has been deployed on the blockchain, it can't be upgraded. The entire value proposition of a blockchain is immutability. Yet, in the real world, contracts change all the time. For example, a labor contract changes when new labor laws are introduced. Similarly, there are many circumstances under which smart contracts change as well, such as
Smart Contract Ownership
Update from 2025: the cryptocurrency boom of 2017 and 2017 and ICOs were an interesting time, huh? It's not my cup of tea anymore. At the same time, I'd like for this post to stand here as a historical artifact, and encourage you to spend your time on more worthwhile things instead.
Thank you for reading my disclaimer. Please enjoy the following post:
When building your smart contract platform—whether on Ethereum or any other blockchain—at some you'll be faced with the question of ownership. In this article, I explain three different types of smart contract ownership and discuss their advantages and disadvantages.
ERC20 Token Allowances
Update from 2025: the cryptocurrency boom of 2017 and 2017 and ICOs were an interesting time, huh? It's not my cup of tea anymore. At the same time, I'd like for this post to stand here as a historical artifact, and encourage you to spend your time on more worthwhile things instead.
Thank you for reading my disclaimer. Please enjoy the following post:
Have you ever wondered how your users can spendERC20 platform tokens to buy assets and other tokens from you? Or—in more technical terms—how to make sure a smart contract executes a particular function as soon as it receives tokens? This post is all about using the ERC20 functions approve()and transferFrom() to let your users do much more than keeping tokens in a wallet.