Author Archive

Changing Requirements

December 16th, 2023

We, as software engineers, know full well that requirements change. Indeed, most of us realize that the requirements document is the most volatile document in the project. If our designs are failing due to the constant rain of changing requirements, it is our designs that are at fault. We must somehow find a way to […]

手の切れるような製品

December 8th, 2023
Posted in 日本語 | No Comments
京セラ株式会社の稲盛和夫先生は
「私たちがつくる製品は、
手の切れるような製品でなくては
なりません」と書きました。
それで、私は素晴らしい製品を
作るつもりで、弊社とお客様のために
完璧である製品を作りたいです。
必ず最後まで何があっても
頑張ります。

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 […]