Things I Learnt Today

last update:

We have one ritual in my new job.

Every other Friday afternoon, one of us has to present a non-work related topic of its interest (usually 10-15 minutes). There is no limitation for that and we can cover whatever we want. The only detail is we usually bring a couple of nerf guns so things can get crazy in one way of the other. Anyway, it’s really good fun.

I recycled an old presentation for my first round so no big surprises there (it’s also a subject I covered so many times in my previous jobs).

However, for my 2nd round, I wanted to be bit more creative. I ended up picking the 1990s NBA, some of the rivalries during that era, the dramatic Cinderella run of New York Knicks in 1999 and the Ewing Theory that followed.

I’m not a sport analyst, but I tried to put some very limited understanding and my basic intepretation so apologize for any approximation. Also please bear in mind this was a 15 minutes presentation long for most of completely NBA ignorant people.

It was lots of fun though so I figure out I’d put my slides here too (and also trying to keep the bi-weekly blog post rythm).



2018 is starting with as much changes as 2017 (well at least the blog is not moving host, I’m still happy with AWS). Lots of moving pieces on the personal and professional side too (as expected, my Chromebook is now taking the dust :-)).

I’m now head of engineering for a startup, working at the intersection of artificial intelligence and health technologies. We are building deep learning applications for skin cancer research and I’m in charge of all our end-user apps.

It’s quite a change from my work with NGOs and supporting hostile environments journalists to embrace digital security and encryption which makes the challenges even more exciting.

Technology wise, we are full stack Javascript so I’m learning a lot of things here, especially playing with React and React Native (I’ll write about it later).

However, long story short, I’ve been neglecting this blog too much and I want to get back to writing more regularly this year. I don’t care about the audience at all but I want to do it mostly for myself to push me documenting my life (both on the personal & technical side).

I’ll try to commit to a bi-weekly / monthly post to start with with the goal to manage to make it weekly.

See you in 2 weeks then.

007 : Chromebooks

Being in-between jobs, I needed a cheap laptop to be able to work outside of my flat in my favorite South London cafes.

I could have got a nice Macbook or the Ubuntu certified Dell XPS13 (or even a Thinkpad) but these tiny machines don’t come cheap and there is a strong change that I would get a work laptop with my next job matching the same specs. So I’d rarther save a grand for a personal laptop that could get the dust in a couple of weeks.

In a nutshell I would be basically look at the following specs:

  • an ultrabook light laptop that I can travel around with in my backpack without killing my back.
  • a lightweight processor (I don’t need that much horsepower for a work station and when I do, I’d rather spin an AWS instance or a baremetal server)
  • fully functional Linux (ideally Ubuntu) I can work on my web applications (Node.js, PHP etc)
  • a Web browser
  • full HD screen (1920 x 1080) with an extra HDMI connection for dual display supported out of the box
  • Less than 300£ so I don’t feel guilty when the laptop will get the dust.

I had a look at the Chromebook line which would fit most of these criteria for about 300 GBP. I ended up getting the Chromebook 14 from Currys.

Mandatory geek setup :

  • There is a bash environment officially suported on Chrome OS which you can customize
  • Also , there is Chromebrew, a missing package manager (a la homebrew on Mac) which support a decent list of software.
  • Obviously, Crouton for a KDE based Ubuntu in chrooted environment for anything else than the limited possibilities above.
  • Installing Playstore on a Chromebook, still experimental though

That’s all for now.

I’ve been using the chromebook on a daily basis (on Ubuntu whenever I needed to do some coding work, ChromeOs otherwise) and I’m happy with it.

The only limitations I found are setting up Vagrant on Crouton. There are some workarounds but I haven’t dig into them yet.

Otherwise all good.


The only constant in life is Change, and 2017 is currently confirming this rule for me. More to come soon but as for now the main change here is the hosting for this blog which is now living in the cloud (or more specifically on AWS).

Earlier this year, I’ve been asked to explain how end-to-end encryption is working for a non-technical audience (think of computer litterate people who do not know that much of geek stuff outside or their MSOffice package). The only constrain was time (10 minutes maximum). That was very interesting experience and brought great prompt for more discussions. I thought the presentation support could be of interest for someone else. Here is it, on Slideshare.

End to End Encryption in 10 minutes - from Thomas Seropian

And in addition of that slide, why Signal is still more secure than WhatsApp.

005 : Dockerized

Hi there. Long time no see.

I’ve been busy but is working on getting back to writing :-)

Meanwhile I’ve been geeking a bit with Docker.I wanted a practical exercise so why not trying to host a website on it. This blog is now served from a Docker container on a Digital Ocean VPS. I’ve also deployed a Let’s Encrypt certificate. This blog is now full HTTPS Yay :)

Links and notes on the setup:

  • Setting up Nginx through a container (through Digital Ocean)

  • Setting up Let’s Encrypt cert for Nginx

    git clone  `
    ./letsencrypt/letsencrypt-auto certonly –standalone –email -d -d

  • Final container start call

    sudo docker run –name docker-nginx -p 80:80 -p 443:443 -v ~/ -v ~/ -v /etc/letsencrypt:/etc/letsencrypt -d nginx
    This call includes

  • Port mapping for HTTP and HTTPS

  • Mounting volumes for Nginx root

  • Mounting config file for Nginx

  • Mounting Let’s Encrypt SSL cert and keyfile

As I have now a container infrastructure, I can deploy other apps super quickly. So my 2nd exercise came to mind very quickly. Let’s deploy a Tor relay using a container.

There is a link for that

A couple of minutes later, here is the result.

A couple of Todo items for me to play with in the next couple of weeks

  • Implement Docker-composer
  • Implement a reverse proxy container so I can host multiple sites on the same server
  • Deploy Drupal websites via Docker

At the beginning of the month I attended the first Internet Freedom Festival in Valencia (which took place over the Circumvention Tech Festival last year) for a week in the sunny Valencia.

Thumbs up to Open Tech Fund and IREX teams for making this happen and bringing such a crowd of wide range of people connected to the online freedom fight space. I’m going to quite a few of these events during the year and it’s the only event with such an collaborative atmosphere. I find here participants taking more time to share what they are doing, and take the time to make sure other people in the room really understand them. I will come back next year for sure.

A first couple of things I learnt/noted/discussed that week.

  • Signal’s case has been discussed a lot. It’s the go-to messaging app used by a lot of people in the sphere for safe mobile messaging (probably more than Telegram) , especially on safe mobile communications.
  • It’s innocuous enough (as not clearly flagged as being used by targeted populations) and the name is quite easy to understand (I’ll signal you)
  • In that extent, we should move away from making secure apps (communications, mobile phones etc) for at-risk populations only. Real life analogy of security tools for cars are seatbelts, which are available for everyone and not only activists. Security should be made available for anyone.
  • Finally, Apple has been raised to the lord for fighting for the privacy of its consumers. Let’s not forget this security has initially been motivated by financial interests (to control any financial transaction / installed app on the device).
  • I’ve discovered a safer Internet.

I will update this post as often as some other comments pop up in my brain.

Also some people I met / was happy to meet again.

  • Freerk, which I spent a week writing a book in a previous life.
  • Paige from Maidesafe for the crash test course on decentralized networks.
  • Brian Conley from Storymaker, always nice to put a face on apps and projects I’ve been following for a while.
  • The team, which protects some of my websites
  • Jun @ iilab, always nice to catchup with.

003 : 6 Feet Under

I’m a big fan of documentaries.

One of the recent ones I’ve been watching lately is the 15 billion the 3 parts BBC one about Crossrail Elizabeth line. 3 episodes for a total of 3 hours on this astonishing and engineering work under a living (and buzzing) city. Breath-taking. It makes you feel quite humble about your day-to-day work and want to switch to civil engineering almost immediatly :-) I am always tempted to imagine what would a building look like if it has been design with the same approach and rigourness than what some of developers of our sector would.

Some interesting bits I learnt about the tunnels boring machines (TBM).

002 : I Love Beer

Still learning how to manage my «One Thing I Learned everyday» process. I could talk about some important matters I discovered today, but it’s friday evening and I’m joining friends later so I’ll write about beer. As you know I love beer (and heavy metal)!

Here are a couple of things I learnt on beer recently.