TL;DR, how I want my APK signing to work:

  • No credentials/keystore in the repository.
  • Build and sign it locally using the keystore (not checked into version control) with configuration using environment variables as part of the general build process.
  • Build it on MS App Center using their Branch Configuration for keystore upload and configuration.

I followed the official React Native instructions to create a keystore file.

However, I did not want to manage a global gradle config in my home directory and rather go with usual environment variables.

What will happen?

Uploading sensitive data to the repository is out of the question, so…

I love working on projects. I’ve been working on all kinds of projects for 12 years now and over time, some patterns emerged.

Here are some of my non-technical workflows that work very well for me and that I want to share.

Special Keybindings

Most of the time I work with the keyboard. And as I am a keyboard enthusiast in general I’ve spent some time experimenting with my keyboard setup. I use two tools to customise my key bindings.

Karabiner Elements

The one and only key remapping tool for MacOS. If you are not sure what could make sense, have a look at…

Picture unrelated, we actually met in a basement — Photo by Fabrizio Verrecchia on Unsplash

If you work in a team of developers, you should talk about your shared values as a team. In this article, I will explain why this makes sense, why you should take action on these values and how we did it in our team.

This was an experiment for me. When I started it, I worked with some of my teammates professionally and full time together for over 7 years, with others for about 7 days. I knew we shared a lot of values back then, but we never actually worked them out. I wanted to change this.

Why should you define core values for your team?

When you…

A first step to move your function definitions out of the return block.

I really love working with AngularJS. This is why it makes me sad that lots of AngularJS code out there is hardly readable spaghetti code, especially when it comes to custom directives.

We’ve all been there…

app.directive('nameChanger', function() {
return {
restrict: 'E',
templateUrl: 'template.html',
scope: {
model: '=model'
link: function(scope, element, attrs, ctrl) {
// this is where spaghetti code will evolve
scope.setName = function(name) { = name;

see Plunker example

The problem is the setName function was defined within the link function. In this example the directive still looks readable, but as…

Christian Bäuerlein

Programmer, Mechanical Keyboard Aficionado, working in Frankfurt, coding Ruby/JS/Postgres/Elixir

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store