29 Dec 2016
I rarely go to the bank nowadays.
~Taxi driver in Nairobi, Kenya speaking to
a 60 Minutes reporter about M-Pesa
M-Pesa is the mobile payment service that dominates Kenya. M-Pesa runs on mobile phones, and you can use it to pay for almost anything. M-Pesa is used by Kenyans regardless of income level, technical skill, or location (urban or rural). In 2015, 42% of the Kenyan GDP was processed through M-Pesa.
“Pesa” is the Swahili word for money, and the “M” stands for mobile. “Lipa na M-Pesa” means “purchase with M-Pesa”. My first M-Pesa experience happened during RubyConf Kenya in May 2016. So many developers at the conference raved about the service that I had to try it.
Continue reading →
07 Dec 2016
How do you achieve real time, bi-directional, event-based communications in your apps? The Socket.io library is tested and true. ActionCable, new with Ruby on Rails version 5, is a challenger. Which solution is better, and why?
This presentation compares Socket.io and ActionCable (included w/Ruby on Rails version 5).
Continue reading →
05 Dec 2016

Excel spreadsheets are ok for quick analysis, but when the rows are too many and the formulas are too complex, recalc time slows to a crawl. Plus, sharing a spreadsheet is cumbersome due to security and version control headaches. One solution: Moving away from the spreadsheet, and building a web app instead.
Continue reading →
03 Nov 2016

Clojure is a dialect of the Lisp programming language that runs on the on the Java virtual machine (JVM).
One advantage of running on the JVM: Clojure apps can leverage the vast library of Java apps that already exist. If a company has invested heavily in Java, they can bring Clojure into the mix without having to re-write their tried and tested Java code.
This post shows how to start experimenting with Clojure on Mac OS X.
Continue reading →
24 Oct 2016

SCNA has long been one of my favorite conferences. Reason: Rich conversations with other attendees. People who attend SCNA come from a wide range of developer communities and they represent most of the languages in use today. Each community grows stronger when we borrow good ideas from each other.
Continue reading →