Announcing Pre-Commit Hooks Package for Swaggo August 30, 2022
Fix Images Not Loading on Jekyll Blog Running on Localhost August 28, 2022
TL;DR: Set Brave Shields to Down
Obsidian Configuration: Sync Plugin Data July 13, 2022
Mentorship Series Edition 2: When Does Money become a Factor in Your Tech Career July 3, 2022
Goodbye Disqus, Hello utteranc.es May 29, 2022
Obsidian Daily Notes: Create Custom Filename April 10, 2022
Muya's DevTools March 13, 2022
Mentorship Series Edition 1: Client Project Valuation, Accepting Shares for Work, Being a Technical Founder December 17, 2021
Using Wiremock to Mock API Responses: Part 3 - Response Templating using Handlebars Helpers October 18, 2021
gobuffalo/homebrew-tap is not a valid repository name August 31, 2021
Using Wiremock to Mock API Responses: Part 2 - Response Templating using Request Parameters July 31, 2021
Using Wiremock to Mock API Responses: Part 1 June 19, 2021
On Being a Software Developer April 30, 2021
Upgrading docker-compose on Mac (and using profiles) March 28, 2021
Go Testify - Force Test Exit on Failed Assertion February 27, 2021
Using Jinja Template Filters in Ansible February 6, 2021
Parsing JSON Data Objects having Number-like Names in SnowFlake January 2, 2021
GoDaddy API Required Phone Number Format October 31, 2020
GoDaddy have an API that allows one to perform different actions on their platform.
Fetching Redis INFO using Redigo October 18, 2020
Read MoreGiter8 Template for Scala Play! Framework with SBT Layout April 16, 2018
I’ve been using Scala Play! Framework for a little over a year now, and I’ve come to favor the SBT layout over the default layout.
Register Custom Doctrine Column Type Mappings for Laravel Backpack CRUD January 2, 2017
I’ve been using Laravel Backpack CRUD to build the backend for a personal application, and I must say - great tool! Generation of the CRUD part of the application is only an artisan command away! Reminds me of the Yii Auto generator.
Developer's Guide to the MPESA B2C API December 6, 2016
Based on all the questions I’ve been getting from fellow developers about how to work with the MPESA API, I thought it may be a good idea to write something on how to get started with it.
Laravel Storage 'get' method not working with S3 November 6, 2016
I came across a weird issue when working with the Laravel Storage module. I’d uploaded some files to S3, but for some reason when I used the exists()
method to check if the file exists, it kept returning false.
Create Shortcut to Clone a File in Sublime Text 3 May 10, 2016
I’m putting this here for my future self more than anything else (I know, I’m selfish 😉).
Make SSH Environment available after sudo-ing to another User March 24, 2016
If you have 2FA enabled on Github (which you should have), you have to use the SSH method to do git operations related to your repo. This becomes a pain when you’re doing a lot of remote work (that you haven’t yet automated); because you either have to generate a unique password that you can use during the deploy, or switch off 2FA.
Gro Intelligence Data Hackathon March 13, 2016
Last weekend, Gro Intelligence hosted their first hackathon in Nairobi at their office space.
Create Random Safaricom Kenya Phone Numbers using Faker regexify February 28, 2016
Faker is an amazing PHP library you can use to generate fake data, e.g names, addresses, etc.
Using API Guard with Laravel 5.2 January 29, 2016
If you’ve been having problems with using chrisbjr’s ApiGuard library in your project after upgrading to Laravel 5.2, I’ve outlined the steps to take in order to have it working; particularly if you are getting the error below:
Calling BitStamp API using Guzzle November 1, 2015
I’ve recently been working on integrating to the BitStamp API from a Laravel application, and I was having some problems calling it using the Guzzle PHP HTTP Client.
Generating BitStamp Signature in PHP October 31, 2015
This post will describe how to create the signature required by the BitStamp API for private calls to the API.
Configuring Multiple Loggers in Python June 17, 2015
At times you may want to have multiple loggers in your application, e.g. one for a payments module and another for a messaging module. I’m going to explain how to set this up in your application, as well as show some examples for usage.
Configuring Custom Logging in Laravel 5 May 19, 2015
I recently started working on a Laravel 5 project, and I’d like to share how I set up my custom file logging.
Converting between Timezones in Python May 6, 2015
We all know what a joy it is working with different timezones in our applications, especially when we need to convert different times between them.
Making your Bash Shell More Interesting Using Fortune April 16, 2015
Every time I open a new shell prompt, a message similar to the one below greets me:
Implementing Timestamped Models in PeeWee April 15, 2015
date_created
and date_updated
(or variations of the same) are important fields for any table. date_created
to show when a record was created, date_updated
to show when it was last updated. They are invaluable, especially for audit logs.
Extracting Safaricom MPESA B2C API Certificates April 14, 2015
When doing integration to the Safaricom MPESA B2C API, the most difficult (or rather least understood) part of the process is the SSL integration. Mutual authentication, certificates, etc.
Allow External Access for Flask Apps on AWS April 14, 2015
If you are using AWS for your deployment, you may come across a scenario whereby you have to allow access to your server via non-standard ports.
How To Escape Liquid Template Tags In Jekyll October 6, 2014
My blog has been on Github Pages for about a week now. So far, so good. I’ll say this again, Jekyll + Github Pages, a dev’s dream! I especially like the syntax highlighting provided by the Pygments plugin. So sweet, so simple.
Using Excerpts in Jekyll September 28, 2014
I was migrating my blog posts from Blogger to Github Pages today. Not the most interesting thing to be doing on a Sunday (Blogger exporter, y u export to HTML? I WANT MARKDOWN!)
Moving To Github Pages September 25, 2014
I started my first blog in August 2012. My first post, Creating Users & Grants in MySQL, was as a result of learning how to do just that. I was a newbie at the time, it was all very fascinating.
Apache Issue after Installing OS X Yosemite July 26, 2014
New Beginnings July 16, 2014
There comes a time in life when one has to…
Minify JS, CSS files on Save in Sublime Text June 16, 2014
We all know the advantages of using minified files in your web apps, i.e. faster loading, smaller payload, etc, it would make sense if all editors that we use have the feature built in, so that we don’t have to worry about it.
Unshorten URLs with Expand URL Chrome Extension May 11, 2014
How I Used Apps Scripts to Automate Daily Report Generation November 3, 2013
Repetitive tasks… I don’t like them. They get monotonous.That’s what was happening a few days ago, when I was required to create some daily reports on our systems’ health, and upload them to a Google Drive Spreadsheet, i.e., run a few queries on the db, copy the data to the Spreadsheet (probably via a text editor, because Drive doesn’t know any other delimiters other than the tab :-(
StudentPortal on GitHub May 28, 2013
Understanding Our Auto-Generated Code: Views May 28, 2013
In this post, we discuss the views auto-generated by Gii.
Understanding Our Auto-Generated Code: Controller May 20, 2013
In part 3 of the Yii tutorial, we’ll go through the auto-generated Controller code.
Understanding our Auto-Generated Code: Model October 23, 2012
In this section, we’ll be going through our automatically generated code for the Model, Controller and Views. In our case, it’s the Users model, controller and views. First off…The Model
Change Ubuntu 12.04 SlideShow Desktop Background August 26, 2012
This tutorial will explain how to modify the slideshow background in Ubuntu 12.04 (Precise Pangolin) to have your own pictures.
Using Gii (Part 2) August 23, 2012
Using Gii (Part 1) August 10, 2012
In this section, we are going to use the tool that comes with Yii to enable us to generate Models, Views and Controllers for our project. You can learn more about MVC frameworks on Wikipedia.
Create Users and Grants in MySQL August 10, 2012
This blog post provides instructions on how to set up multiple users on MySQL. This is an advisable practice since it allows you to restrict access to certain databases to certain users only.
Yii Tutorial: Initial Yii Setup August 7, 2012
In this section, we’re going to set up our Yii application. The examples given refer to a Linux environment, however, it shouldn’t be too different for Windows and MacOS environments. Feel free to ask in case of any questions.
Yii Tutorial: Database Design & ERDs August 7, 2012
This is the second part of the Yii tutorial. It covers the database design as well as the ERD for the project we are going to embark on.
Yii Tutorial: Introduction August 6, 2012
This multi-part tutorial aims to show basic use of the Yii framework for basic tasks. Yii is a powerful PHP framework for building web applications.