The case for creating a merge commit

This GitHub merge strategy will help you make sense of how code changed | Continue reading


@mokacoding.com | 2 years ago

What can a pipe wrench teach us about software engineering?

With his famous pipe wrench lecture, Vannevar Bush taught young MIT engineers the value of precision. The same teaching holds true for software developers. | Continue reading


@mokacoding.com | 3 years ago

I won't be adding Widgets on my iPhone

iOS 14 introduces Widgets, a feature that makes it incredibly easy to get distracted. | Continue reading


@mokacoding.com | 3 years ago

Does changing your branch name fight inequality?

In Xcode 12, the default branch name is main instead of master. This little language change has deeper implications and stirred up an hornets' nest. | Continue reading


@mokacoding.com | 3 years ago

Git Log Should Tell a Story

A look at the practical benefits of writing descriptive commits | Continue reading


@mokacoding.com | 4 years ago

How to speedup the TDD feedback loop in Xcode

A collection of ways to run a single test or a subset of tests using Xcode. | Continue reading


@mokacoding.com | 5 years ago

You take care of your tools, your tools take care of you

"You take care of your tools, your tools take care of you." | Continue reading


@mokacoding.com | 5 years ago

Code Like a Chef

Professional chefs keep their benches clean because clutter will get in the way of their work. Software developers should do the same. | Continue reading


@mokacoding.com | 5 years ago

Test Doubles in Swift: Dummies, Fakes, Stubs, and Spies

An overview of the different kind of doubles we can use in our tests, and how to write them in Swift. | Continue reading


@mokacoding.com | 5 years ago

How to become drastically faster at using the terminal

Using the terminal might seem slow and cumbersome because every command needs to be typed. Learn how to drastically reduce the amount of typing you have to do by configuring aliases for your most used commands, making them only a few keystrokes long. | Continue reading


@mokacoding.com | 5 years ago

If you want good Swift code you should separate decisions from actions

There is a subtle way to overload software components, by making them both take decision and act on them. We can simplify these bloated components by separating the responsibility of taking decisions from the one action on them. This will result in leaner and easier to maintain s … | Continue reading


@mokacoding.com | 5 years ago

If you hate duplication in Swift tests you'll love writing helper functions

Some code ends up requiring a lot of duplication to be tested. You can remove it by using helper functions encapsulating the shared assertion logic. | Continue reading


@mokacoding.com | 5 years ago

It's Halloween Stephen King's advice to software developer

In "On Writing" Stephen King shares invaluable lessons for aspiring novelists which can be applied to software development too. | Continue reading


@mokacoding.com | 5 years ago

Invest in your terminal to become a better developer

One of the best things you could do to improve as a software developer is constantly investing in your terminal setup and skills. | Continue reading


@mokacoding.com | 5 years ago

Lessons on software development from Leonardo da Vinci

Leonardo da Vinci's life as told by Walter Isaacson in his biography is a source of inspiration for anyone working in a technical and creative field. | Continue reading


@mokacoding.com | 5 years ago

If you're not writing tests first you're missing out

A look at the benefits of writing unit tests before production code, in other words TDD. | Continue reading


@mokacoding.com | 5 years ago