<this is a draft article, and is not complete> Introduction This post provides some implementation notes on the Cordova Plugin I wrote to interface with the Kundalini Piano Mirror. Complete source code for the plugin is available here: https://github.com/BenjaminPritchard/cordova-plugin-kundalini-piano-bt The Piano Mirror is a Raspberri-PI based device I created which interfaces to a digital piano
Abstract This post documents creating a small script to create a link from an en.wikipedia page to the corresponding simple.wikipedia page, using colors to indicate if the page exists. This project is a good example of both creating and consuming a simple REST API. (An alternative name for this post could be: “Consuming a Google
These days it seems like all programming is about creating web-apps! For a long time, I sort of resisted this tend, and I tended to think of user-interface-related work as “beneath” me; I was more interested in lower-level type programming for sure. Recently, however, I started to study how modern web browsers work, and I
Abstract This blog post documents the creation of a simple “web-app” for viewing articles from simple.wikipedia and en.wikipedia side-by-side, and expounds on the importance of a “do-it-yourself”-attitude and a “minimalistic-mindset” to the programmer. The finished product described here can be seen at the following URL: https://kundalinisoftware.com/io/wikicompare.html Form Follows Function The phrase “form follows function” comes
“Programs often stem from a developer’s itch” unknown Introduction Google’s Chrome browser is an amazing feat of cross-platform software engineering that I (along with millions of other people!) use on a daily basis. Like other web browsers, Chrome has the ability to support extensions to extend its functionality. In this post, I am going to
If something is worth doing once, it is worth automating. Unknown (Note: the github repository for the library developed in this post is available here.) I think being a computer programmer is a mindset; it means to think in algorithmic terms, or how to formulate problems in terms of discrete steps to achieve our outcomes.