my recent reads..

阿部真央 Don't let me down

One of the best finds in the racks at Tower Records Fukuoka福岡市. It's been years since I last got to browse a record store in Japan; I'm glad they still exist, with stacks of CD players queued up to sample. And a huge relief to see the indie rock scene is just as vibrant as I remember!


read more and comment..

LEAP#203 Homopolar Motor

What happens when electric fields cut across magnetic fields? A force is generated, and the homopolor motor is the classic demonstration.

As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub.



read more and comment..

LEAP#202 LM3915 Audio Level Kit

The LM3915 is a useful IC for simple audio level displays. This is a cheap kit build which largely follows the reference circuits in the datasheet.

As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub.


read more and comment..

LittleCodingKata: Hardware Excuse Generator with gRPC

gRPC is a very interesting lightweight middleware framework for language-neutral, cross-platform RPC.

When I heard about Natalie Silvanovich's Hardware Excuse Generator on Embedded.fm, I immediately recognised a better "Hello World" for testing out gRPC.

Introducing "The Explainer": my programming exercise to learn basic cross-language request/reply with gRPC.

I haven't completed the whole matrix of client-server possibilities yet, but here's a sampling...

Start up a server (e.g ruby version)

$ ./explainer.rb 
ShiFu is waiting to explain all of your problems...

And then ask it questions. Pick a language!

# Ruby client
$ ./explain.rb "Your phone is crashing because of REASON"
Your phone is crashing because of the
PCB not being manufactured to specification

# C# client
$ mono bin/Release/explain.exe "Your phone is crashing because of REASON"
Your phone is probably crashing because of stray harmonics

# C++ client
$ ./explain "Your phone is crashing because of REASON"
Your phone is crashing because of impedance in the coil

# node.js client
$ node ./explain.js "Your phone is crashing because of REASON"
Your phone is crashing because of a lack of shielding against
alpha radiation (cosmic rays) in antenna

# Python client
$ python explain.py "Your phone is crashing because of REASON"
Your phone is crashing because of residual capacitance
caused by the USB connector

All my notes and code are available in the LittleCodingKata GitHub repository.
read more and comment..