Introducing tcpdam
09 Jul 2016

I started a new project this week to overcome a common problem without generic answer. How can I park incoming tcp connection during the few milliseconds needed to migrate or restart a service.

At Touch &Sell, we can already deploy without downtime our rails app with docker but only if there is no migration to run else we have a few seconds of downtime.

We have some fast but complex migrations scheduled in a month. During those migrations, we would like to have no tcp failure at all, a small delay is however acceptable.

So we will :

  • Deploy our new app in another container
  • Configure nginx to redirect to tcpdam
  • Run the database migrations (a few seconds)
  • Configure nginx to redirect to new app ( a few ms)
  • Flush tcpdam connections to new app

The github repository : tcpdam

Introducing dl.center
06 Jun 2016

I made a small hack last week to overcome a problem which was bothering me. How can I share files between any two devices : computers, tablets, phones running all kind of operating systems. These devices doesn't always have email, slack, windows share, nfs, openssh, airdrop ...

So what would be the easiest things to do : each device go on a website without account, email, password, complex url. One device put the file (drag&drop, file browsing), the other download it (click, qrcode). It should not be more complex.

How to achieve that ? I came with the most simple solution to my problem. I'm on the same network, I have the same public IP : I see what each other devices have shared from this IP.

I don't want quota limit on the service, so it's not a storage service, only a middle man to transfer the file. It's never stored by the server.

One drawback ? Using the internet connexion to share between local devices. Let's check the fact : internet connection : 1Gbit/s, local wifi connection : 50MBit/s. It should not be a problem :)

The proof of concept : dl.center

I have yet a lot of work to do on it, but it works for me !

Web service
Fastlane : Continuous integration and delivery for mobile development
28 May 2016

All iOS developper had at least once thought about hanging up the creators of code signature, provisionning profiles, xcodebuild and xcrun.

Hopefully a new tool, Fastlane, has gained a lot of traction this year. His creator Felix Krause is now working on it full time at Twitter. Fastlane is a collection of more than ten tools and a library : Spaceship, working together to automate build, signature, test, documentation update and store submission:

Fastlane toolchain

It's now a must have, that we have integrated at Touch & Sell. We use spaceship for provisionning App ID, Certificat and Push Certificate. A 15 minutes task per client and per year, error prone, is now fully automated. Next things will be to migrate the build process and screenshot generation.

Welcome to simkim.net!
27 May 2016

I've finally updated my personal website. Previously made in rails and bootstrap running on passenger, I migrated to jekyll and Semantic UI and docker nginx-proxy. Static websites for near static content are easier to deploy, safer and use less ressource.