Posts

Here be blog posts

January 2024

Finding my first bug in Hugo

Here are my notes on diagnosing a bug in Hugo. Hugo is the static site generator I use for this website.

Read More

January 2024

fish and bash Variable Expansion

Some differences in how bash and fish expand variables

Read More

June 2023

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.

Read More

May 2023

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.

Read More

May 2023

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.

Photo of RTL-SDR receiver which I have purchased
Photo of RTL-SDR receiver which I have purchased Open in new tab (full image size 444 KiB)

Read More

May 2023

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.

Read More

April 2023

BIOS Modifications, Proprietary Firmware, and Wi-Fi on my ThinkPad X220

In which I describe how I got an Intel wireless network controller running on Debian

Read More

March 2023

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.

Read More

March 2023

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.

Read More

February 2023

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.

Read More

February 2023

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.

Read More

August 2020

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.

Read More

July 2020

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.

Read More

July 2020

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.

Read More

September 2019

Hakyll on Netlify

If you are like me, you are more busy switching between static site generators than actually writing posts for your blog.

Read More

January 2019

Happy New Year, from Tokyo

On April 15 2018, I moved to Tokyo, Japan. I suppose that changed a few things in my life.

Read More

May 2018

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.

Read More

April 2018

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

Read More

April 2018

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.

Read More

April 2018

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.

Read More

Go to: