Docker a nice tool for developers

Docker is the world leading software containerization platform. I tried using GitLab as versioncontrol system and Jenkings as continuos integration system but the system turned out as not completly useful.

In that way a colleague told me about a system he wants to create based on Docker.

What we want:

  • a git system under ouer control
  • a continuos integration that is flexible and customizable
  • every system available per SSL connection

Git Service -> GoGs – Go Git Service

It’s a simple self-hosted Git servise.

  • easy to install, cross-platform, lightweight and OpenSourse

It contains everything importent to develop something in collaboration.

Continuos Integration -> drone

It’s a continuous integration platform build on container technology. Every build run will be triggerd by a push to a repository if it’s linked to drone.

  • flexible and customizable: by setting up a config file you tell drone what is to do

SSL -> NGINX as reverse proxy

It’s a fine powerfull tool and a nice reverse proxy. With it we are able to provide the GoGs and the drone to the internet more secure and with SSL encryted.

We will colleced the SSL/TLS certificates from a Let’s Encryt service.


How To Import VCF (VCard) in Ubuntu Touch

This sounds unbelievable, but is indeed true: You cannot import a .vcf file into Ubuntu Touch in 2016 – three and a half years after the first version of the OS was published!

This AskUbuntu thread is one of the only results – but it doesn’t work with .vcf files containing multiple contacts.

I botched together this little script, that splits up your VCard file and imports each contact into Ubuntu Touch.

You can run this using the Terminal App from the Ubuntu store / OpenStore or via adb shell from your computer. Connect your phone via USB and enable Developer Mode.

#!/bin/bash -e

# Ubuntu Touch import script for VCard Files, public domain.
# First parameter is file to be imported (e.g. `./ my_contacts.vcf`)
CONTACTDB="Personal" # change this to Persönlich if device language is German

awk ' /BEGIN:VCARD/ { ++a; fn=sprintf("card_%02d.vcf", a); print "Writing: ", fn } { print $0 >> fn; } ' $1

for $VCARD in card_*
	echo "Importing: ${VCARD}"
	syncevolution --import ${VCARD} backend=evolution-contacts database=${CONTACTDB}
	rm ${VCARD}

You might have to change the variable $CONTACTDB to suit you language. The correct term can be found when clicking the gear icon in the Contacts app.

The awk command comes from this StackExchange thread – no copyright claimed.

Base65536: The (not very serious) Successor of Base64

Base64 is an encoding scheme, which allows the safe transmission of files between ascii- and EBCDIC-based computer systems, which were popular in the fifties and sixties. Although no computer today uses the EBCDIC character set, base64 is still used for encoding binaries on the internet. Email attachments are encoded this way, and sometimes you can find small images, which are directly embedded in the source code of the web page.

So what is base65536?