Writing on software design, company building, and my faith.

All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order.

Replacing Contentlayer with Markdownlayer

A walkthrough of replacing Contentlayer with Markdownlayer, a library I built, and why you might want to do the same. You can once again focus on the design of your blog, documentation, and changelog sites while Markdownlayer surfaces the data from your content.

5 min read

Immutable Properties With JSON Patch in AspNet Core

There are times you want to make updates to a resource on the server without replacing the whole of it. JSON Patch works a great deal in this, lighter and very powerful. To learn more on JSON Patch…

9 min read

Build and Test Swift Packages in Azure Pipelines

With the introduction of Swift Package Manager (SPM), a number of projects are migrating fully but the majority are keeping SPM alongside Carthage and/or CocoaPods. Migrating a package from CocoaPods…

2 min read

Cleanup AzureAD Applications for Azure Stack

Recently, as I was trying out Azure Stack (which, by the way, looks promising in my sight), I had to repeat installation more than twice. At one time I had to format the whole machine because only 2…

3 min read

NGINX for Service Fabric

AspNetCore and Service Fabric, both being relatively new in the market, have become fairly stable in the last couple of months. Usually, when you create a Service Fabric application with a stateless…

8 min read

High speed search millions of phone numbers

In my last post, I wrote about validating phone numbers in Kenya and in it introduced very specific regular expressions. If you haven’t read it, you might want to do before proceeding with the rest…

7 min read

Phone Number input validation in Kenya

Many times, I have seen developers write code for validating entries and they write very many if blocks or worse combine them with numerous switch cases. This approach would not have a problem but…

7 min read

Changing Azure WebApp AppSetting in VSTS

During an application development cycle, we almost always begin by testing locally. Several times, it works locally but not after deployment. But we also do not like deploying directly to the…

3 min read

Does the mobile carrier matter in your IoT project?

I have written about IoT communication for about 3 months now. It started here. This is the 10th and final blog post on that topic at least for some while. I choose to discuss something with less…

5 min read

Use Azure IoT Hub without client libraries (MQTT)

This is the second last post of the series on IoT Communication which has gone on for slightly more than a month now. In this post, I endeavor to connect an IoT device to the Azure IoT Hub without…

4 min read

Use MQTT with mbedTLS in Keil uVision 5 (MDK)

As per the previous blog post, a TLS connection was established. A few issues like client-side certificate verification were solved. In this post, all I sort to show was doing the MQTT communication…

3 min read

Getting mbedTLS to work with your Keil project

This is post 6 of the series/tutorial. In case you have not gone through the other posts, you can do so now. In the previous post (post #5), we added mbedTLS to the project and agreed that we would…

5 min read

Proper configuration of mbedTLS for IoT project

This is post 7 of the series/tutorial. In case you have not gone through the other posts, you can do so now. In the previous post (post #6), we got mbedTLS working and it delivered content to us from…

5 min read

Add encryption and SSL/TLS into your IoT project

This is post 5 of the series/tutorial. Here are the other posts, in case you need them: Post #1, Post #2, Post #3 and Post #4. Before we get soaked in, let me remind you that in case you are looking…

7 min read

MQTT with LPC4337 and Keil MDK

Despite the busy week I had, I got some little time to write this as my main machine performed an update. You know those windows 10 updates you leave to run overnight… Anyway, this is the fourth post…

4 min read

SIM900 Driver for KEIL MDK-Network (PPP interface for TCP/IP)

As promised before this post covers connecting a SIM900 module to the Network driver via PPP. The related Github checkpoint is available as a release here. The last commit can be used to get the code…

6 min read

Communication for IoT or Embedded applications

There is really a lot of talk about IoT and how many billion dollars it will be worth in the future. However, unless we solve actual problems that we face, that might be a dream that will only…

6 min read

JSON Array Output from Azure Stream Analytics

The guys at Microsoft Azure surely have done a good job of providing some of the best solutions for common tasks. These tasks seem trivial but I guess that’s not always the case when you get to…

6 min read

SIM900 Dial-up Connection Setup

SIMCOM’s SIM900 is the most common GSM/GPRS module in the maker/hobbyist community. It is of course not the best and the experience people have had with it varies. Most people use this for simple…

5 min read