omar.io

Posts

Stop playing pong with your build server

Apr 14, 2025

Special thanks to Tim Cardwell for reviewing a draft of this post.

“Build Server Pong” is what you inadvertently play when you treat your build server and source control as a REPL (read-edit-print-loop). You make a code change, commit it, push it, kick off a build, grab a coffee, then wait for the results. Rinse and repeat until you’ve got a successful build.

Build Server Pong

However, even if you eventually score a point by getting a successful build, you’ve lost time in the rally to get it. It’s an easy trap to fall into because most build systems require you to run the workflow on their hosted runners to see the results of your changes.

(continue reading)

The Types of Software Engineers

Jan 10, 2017

A plethora of books, articles, and research papers have been written about software engineering quality measurement. Over the course of the last half-century, different methods of measurement have been developed, adopted, abused, and discarded for newer methods that aim to solve the problems of the previous methods.

(continue reading)

What does it mean to 'mine' Bitcoins?

Jul 17, 2016

Bitcoins are in vogue. Distributed ledgers, fiat currency, and the dramatic impact cryptocurrencies will have on financial systems are topics of discussion on trains, in board meetings, and at the dinner table. As of writing, the exchange rate is 1 BTC = 679.99 USD.

(continue reading)

Why .NET?

Dec 10, 2015

Originally posted on the Pangea Money Transfer Engineering blog.

We get asked “Why .NET?” a lot. It’s rare to find .NET startups these days and for good reason. Historically speaking, the .NET ecosystem was unattractive due to the high licensing cost of Windows and Visual Studio. In addition, .NET had poor interoperability with non-Microsoft products, which meant additional licensing costs for compatible products (like SQL Server). Lastly, Microsoft’s aggressive anti-competitive stance towards its competitors and open source software created a rift between their products and developers.

(continue reading)

ByteSize

Nov 15, 2013

ByteSize is a utility class that makes byte size representation in code easier by removing ambiguity of the value being represented.

(continue reading)