Setting up pre-commit hook for iOS

Many of us already write unit tests and run continuous integration servers, we can also leverage great tools like Danger to easily add some checks to the pull requests.

If we’d like to prevent some common mistakes from appearing in the repo in the first place, we can use pre-commit hook.

Logging in Swift

Logging is one of the rare cases when you could probably justify having a singleton, but with Swift Protocol Extension you don’t need to.

Let’s integrate Logging in a way that:

  • Doesn’t cause 3rd party dependencies to leak across your codebase
  • Hides the existence of singleton from the codebase
  • Supports writing fully testable code
  • Ability to suppress logs from specific modules or classes

iOS Architecture

I recently did a talk in Prague about iOS Application Architecture, you can watch it here.

8 Books that everyone should read

Looking for new books to read?


What is programming?

For me it has always been about solving problems, and analytical thinking.

Does it matter what language or platform you solve problems on? How do you learn more on your selected platform?

Improve your iOS Architecture with FlowControllers

When working on iOS app, now more than ever one should avoid having view controllers pushing other view controllers around.


Little things that can make your life easier in 2016

As we are closing this year, let’s take a look at few simple things you can add to your iOS developer toolbox to make your life easier and be more productive in 2016.

Details matter - harnessing the power of Core Animation

A friend showed me animations from Stripe Checkout and asked: “how could we implement that on iOS?”

Quite simply, Core Animation is very powerful and if one learns how to harness that power, they do not need write a lot of code.

Writing Xcode plugin in Swift

I’ve found myself using Xcode a lot more than I did in Objective-C.

One of things I’ve missed a lot from my AppCode setup, is the ability to jump to specific file & line that logged a console message.

Because Xcode doesn’t offer such functionality and because I do not like to complain, I’ve decided to write my own plugin for it.

I wrote it in Swift.

The beauty of imperfection

Perfection is not something one can truly achieve, so it’s very smart that one of the best meditation services called Headspace is using an imperfect dot as their brand logo.

If you ever used their iOS app, you can notice how their dot slightly deforms, captivating your focus.

When it comes to graphics, if you are able to cheat (if user can’t tell the difference) and make tech stuff easier, just do it.