Skip to main content


Clean your GIT history from huge blobs and password files

BFG Repo-Cleaner The BFG is a simpler, faster alternative to git-filter-branch for cleansing bad data out of your Git repository history: Removing Crazy Big FilesRemoving Passwords, Credentials & other Private data The git-filter-branch command is enormously powerful and can do things that the BFG can't - but the BFG is much better for the tasks above, because: Faster : 10 - 720x fasterSimpler : The BFG isn't particularily clever, but is focused on making the above tasks easyBeautiful : If you need to, you can use the beautiful Scala language to customise the BFG. Which has got to be better than Bash scripting at least some of the time.Links rtyleyGitHubUsing BFG Repo Cleaner tool to remove sensitive files from your git repo IBMgit-filter-branch details on
Recent posts

TechLead: React Native vs Flutter vs WebView - Hybrid Mobile App Development for 2018

Topics covered:

Xamarin, Cordova, Flutter, Titanium, React Native, FlutterReact NativeWeb ViewsNative Development: iOS and Android Types of apps: Fully native high interactivityexpensive: iOS and Androidhigh interactivity, personalization, performanceworth for top 50 appsless and less apps are installedyou need to shine to be discovereduser picks only best app among similar featured appsHybrid TechnologiesXamarin, Cordova, Flutter, Titanium, React Native, FlutterBe aware of thematuritylock-in effectinfrastructure and tooling requiredmight get worst of both worldshould be incrementable updatablecheck where it makes senseWebViews onlyNative App shells: Amazon App, Apple App Store, WeChatMainly for smaller companiesTrending on Google
Links: AirBnB is sunsetting its React Native developmentWhat’s Next for Mobile at AirbnbServer-Driven RenderingEven though we’re not using React Native, we still see the value in writing product code once. We still heavily rely on our universal design language…

iOS: LLVM based mutation testing to check your unit test reliability, Android and Kotlin: JVM based mutation testing


Several years ago I discovered very powerful technique - Mutation Testing. Since then I was (and still am) dreaming to have a tool which will do the job for languages like C, Objective-C and C++.

Now I have confidence in that it can be implemented using LLVM.

Outline for this article:

overview of mutation testingmutation testing system - proof of conceptthoughts on potential implementation of MT system using LLVM
Mutation testing system built on top of LLVM on GitHub.
mull-project / mull


PIT is a state of the art mutation testing system, providing gold standard test coverage for Java and the jvm. It's fast, scalable and integrates with modern test and build tooling.

PIT Mutation Testing

How to keep apps and a microservice based backend in sync? Read about Pact and consumer-driven-contracts

7 Reasons to Choose Consumer-Driven Contract Tests Over End-to-End Tests

In a distributed system, testing the successful integration between
distributed services is essential for ensuring that the services won’t fail in production just because they’re not speaking the same language. This article discusses three approaches to implementing integration tests between distributed services and shows the advantages of Consumer-Driven Contract tests.

Testing a Spring Boot REST API against a Consumer-Driven Contract with Pact

Consumer-driven contract tests are a technique to test integration points between API providers and API consumers without the hassle of end-to-end tests. A common use case for consumer-driven contract tests is testing interfaces between services in a microservice architecture. In the Java ecosystem, Spring Boot is a widely used technology for implementing microservices. Pact is a framework that facilitates consumer-driven contract tests. So let’s have a look…

Team building: "Meme-Your-Colleague"

Lately we were hiring a lot of developers and had to integrate them in our team. So we decided to do an infotainment team event, targeting both: getting to know each other on a personal level and learning about the business and technical state, challenges and visions.

Usually a meeting like this starts with everybody telling a few words about themselves... one... after... each... other... and after third speaker latest everybody gets bored.
So we came up with the "Meme-Your-Colleague" game: Build teams of two personsGive them half an hour to get to know each otherBoth have to assemble a five minute presentation of five slides of each otherEach slide consists of exactly one meme telling a (fun) fact of that person You may want to use a meme generator and a presentation tool like Keynote or PowerPoint.
It ended up with the whole team having a lot of fun: a perfect ice breaker! Give it a shot!

Deeplinks in apps

Deeplinks in apps are essential to offer a seamless, interleaved experience of the app with

E-MailsWebsitesPush messagesMessengers (iMessage, Whatsapp, ...) Supporting external deeplinks prove very useful for OnboardingMarketingSalesRe-activation of users ...that all can independently work on their subjects without having to be supported by the developers (after they created the deeplinks!).
Checkout: AirBnB DeepLinkDispatch (Android, 2,862 stars!)joeldev/JLRoutes (iOS, 4,300 stars!)dudego/DeepLinkHandler (iOS, 28 stars...)Google Firebase Dynamic LinksiOS: How to open Deep Links, Notifications and Shortcuts



The serverless application framework. Over 21,000 GitHub stars and counting.

How we migrated our startup to serverless

The team decided to ditch all of our EC2 containers and instances in favor of using AWS Lambda within a serverless architecture. To help us orchestrate all of our AWS Lambda functions, we selected the Serverless Framework.

A cloud guru