Author Archive

Raspberry Pi Zero W

November 18th, 2023

I recently picked up a Raspberry Pi Zero W to gain familiarization with the Arm(R) architecture and instruction set. I could not wait for the Zero 2 W to become available, and the suggested price ($15) and compatibility of accessories for the current and future Zero boards helped me decide on the purchase. It has […]

Discriminants are Stinky

November 4th, 2023

I recently came across the suggestion of implementing a ColorValue type that uses an enum field to differentiate different color spaces that can be represented in C# as the following: enum ColorSpace { Cmyk, Rgb, CieLab } class ColorValue { public ColorSpace ColorSpace { get; init; } public double[]? Component { get; init; } } […]

SOLID: Design Principles and Design Patterns

November 1st, 2023

In Design Principles and Design Patterns, Robert C. Martin presented the SOLID principles of object-oriented software design over twenty years ago. “SOLID” continues to be a buzzword included in many resumes today. The principles are reproduced here: A class should have only one reason to change. A module should be open for extension but closed […]

Processor Upgrade: AMD Ryzen 7 5800X3D

September 27th, 2023

After forty months, I upgraded my personal desktop processor from AMD Ryzen 5 3600X to AMD Ryzen 7 5800X3D. I also installed an NZXT Kraken 280, which fits snugly in an NZXT H510i as the image below shows. CPU temps get as low as around 38°C and peak at around 90°C with an ambient temperature […]

Ruby Switch

July 12th, 2023

Ruby Switch is a web browser plugin that I developed to make toggling the visibility of ruby text such as furigana more convenient. To further my study of the Japanese language, I frequently visit Internet sites for language learners or young native speakers. These sites typically show how vocabulary using kanji is read. Sites, such as NHK‘s site, feature news written in simple Japanese and make it easy to toggle between showing or hiding how to read kanji. Other sites do not offer that feature, and toggling ruby text requires going into a web browser’s development tools to modify the CSS.

The following image shows Ruby Switch pinned to the Mozilla Firefox toolbar and renderings with and without ruby text of a page on Mainichi Newspaper for elementary school students.

Ruby Switch allows practice in reading Japanese. This simple plugin allows language learners to conveniently toggle the visibility of furigana to allow reinforcing vocabulary that is recognizable while also allowing them to confirm their readings when there is uncertainty.

The following is a sampling of sites that work with Ruby Switch: