blogstatusbookshire me
March 2023

For the past few years I've taken the habit of sharing short documents to explain my opinions and make discussions move faster. So far they've been mostly helpful in furthering debates, so let me share the format and reasons I'm doing this.

November 2022

Here is a very simple script to handle translations that saved me a lot of time when building my iOS app.

April 2021

To get inspired for my own projects or just to enjoy some entertaining content I fell deep into a game devlog rabbit hole, following people as they build their project. Here are some of the channels I've enjoyed the most so far.

March 2021

Here is the way I conduct 1:1 meetings with people in my engineering team. I'll go over the objective, schedule but also the content and give some feedback about using this particular format for the past few years.

November 2020

I've spend the last few months building a boxing app to train at home with SwiftUI. In this article I'll share a lot of the things I've learned. This includes ASO, app design with Figma, keyword optimisation, boxing algorithms, monetization, SEO, social media marketing, localisation and more... It's a big one, so get ready!

June 2020

In a given team we have people bringing clear direct value, and others increasing the global output of the team. No group is inherently better than the other and, in order to succeed, a company will need both.

May 2020

A lot of people tend to mix people working remotely and people working asynchronously. While it's often the case that people not co-located in a single office will prefer asynchronous communication, that's not a given.

May 2020

It's a given that mistakes are bound to happen. The interesting question is how to react when an error is made and how to improve.

May 2020

Simple example of how to build an iOS circular clock-like progress bar with a minute/seconds counter using SwiftUI.

April 2020

I wanted to have nice looking social media link previews for Linkedin, Twitter and Facebook... but I also didn't want to create them manually for each articles. Here's how I did it programatically with stock photos, Ruby scripts, the Jekyll static site generator and a Duotone tool!

April 2020

I wrote document to explain to my team how I operate at work. It includes what I value, my personality quirks or even the best way to reach me depending on the context.

April 2020

Dead simple example of adding a centered text to a jpg image using Ruby, RMagick and ImageMagick. I've also added reference to the documentation to go further.

April 2020

Ruby on Rails gives you update and update! ('update bang') to modify your records. However there is a situation where you shouldn't use one.

April 2020

How to organise a department meeting for software engineers, including format and content ideas.

March 2020

List of podcast episodes on science, design, history, culture, entrepreneurship or even management.

March 2020

A list of best practices learned through years of hiring software engineers, from creating a good process to onboarding interviewers or measuring success.

November 2019

Depending on how you start the conversation, you will influence what will be discussed in your 1:1. Here are my learnings and the way I do it nowadays.

February 2019

Developers turned engineering managers often feel like they are not being productive or they are not accomplishing anything. This is usually related to the vastly different feedback loop between the two positions.

October 2018

This non-instrusive Ruby gem allows you to be notified when your data misbehaves, allowing you to quickly react and fix the problem.

June 2018

How often should you commit with Git? This one is specific to every developer, personally I do it very often. Here's why and how to do the same without ending up with an unreadable git history.

May 2018

There's an endless discussion going on between programmers about the utility of comments and how to express intent in code. Let's push it a bit further with an exemple, and see a few different ways of how to clearly define that a variable is an ordered array of names.

April 2018

Here are the various steps I took to build my custom monitor stand for very cheap.

April 2018

Using git is often made too complicated. Small teams that could do just fine with a very simple flow end up re-using solutions that end up slowing them down. Here is a simpler alternative.

March 2018

Reducing the size of your releases is a great thing you can do to improve the health of app. However it's not always easy to get into this mindset...

March 2018

When building software it's often hard to know if time is spent on the right thing, if this refactoring is worth the time or where to add even more tests. Here is a simple way to think about this.

February 2018

Here's how I've been using notebooks and a 4-colors pen to handle any small tasks coming my way.

October 2017

Here is my strategy to be effective when taking notes while avoiding laptops during 1:1 meetings. This includes everything, even the type of notebook I use, my color code and indexing system.

September 2017

In this article I try to give concrete examples on how Drivy went from nothing to shipping to production multiples times a day while maintaining a low level of defects.

September 2017

Defining your style of management is hard and sometimes you need to look beyond the 'if it worked for me it'll work for them' mentality.

August 2017

I've changed a year ago from being a software developer to actually leading the technical team as director of engineering. This wasn't always easy, but having the right mindset clearly helped.

August 2017

In this article I try to explain why I've not written much about management even if it has been my focus for a year now, and how I plan on changing this :)

June 2017

Recruiting is hard, and defining a good process is very important. You don't want it to be too light or you might hire someone not fit for the job, but not too heavy or you'll waste time or discourage valid applicants. Here is the way we do it at my current company.

March 2017

MySQL 5.7 brought a lot of new interesting geospatial features. It's now easier to find elements contained within a polygon and compute distances using latitude and logitude. In this article I'll explain how to do a viewport search using MySQL.

January 2017

A lot of people assume that to_s and `to_str` are the same methods, but the difference between them is actually quite major.

January 2017

Asking the same questions to all the job applicants you interview is useful and makes for an easier analysis afterwards if done right.

November 2016

During a hackathon I build a way to play chiptune music with people online. It uses websockets, the Web Audio API and the latest Rails 5 features.

November 2016

The Web Audio API is a great option to create notes and music using pure javascript. In this simple tutorial article I'll explain how to get a clearer sound and add some very simple audio effects to a note.

October 2016

With all the changes in food delivery, could we see a rise in quality restaurants that don't prepare any food at all, and how would it look like?

October 2016

We all know that arriving late is bad, but there is such a thing as too early, especially in smaller companies like startups. Also did I mention that arriving right on time is pretty much like arriving late?

August 2016

Rails protects you against CSRF attacks, but it gives you a lot of customisation on how you want to react to them. It can be a great thing as you can have your own strategies, but it can also lead to security issues.

August 2016

There are still developers thinking resumes are not useful, when really they can help simplifying the recruitment process and be generally very helpful for all parties involved.

July 2016

Identifying and monitoring production issues is hard. Here's what's been successful at my company: the general workflow and tools like Bugsnag, re:dash, Universal Analytics, New Relic, PagerDuty, Grafana, Logmatic, Slack and more.

May 2016

In this post I've been playing around with Google App Engine, trying to release a simple Rails 5 app, reading logs or setting environment variables. I also attempted a very non-scientific performance benchmark to compare Heroku with the App Engine.

April 2016

Here's some interesting features of Git I tried out while messing around with the idea of using Bitbucket as a failover for Github.

March 2016

Github Pages' change from Jekyll 2 to 3 broke my website and many others because of a change in trailing slashes behaviour.

March 2016

I've been helping a team of young entrepreneurs for a couple of years and they made it to San Francisco where they're currently taking part of YC's Winter 2016 batch.

March 2016

Complete example to configure Vim. We'll use pathogen and git to manage plugins, add a theme... but also set up fuzzy search, auto complete, smart indentation, multi-cursors support (like Sublime) and much more thanks to a long list of curated plugins.

February 2016

With the introduction of Heroku pipelines and the general complexity of Git Flow, we decided to change the way we work with Git.

February 2016

Running RSpec on more than one project is already tricky when it's just Ruby... but try to do it for dozens of different Rails project and it becomes a real headache. Here's a relatively simple solution to this using shell scripts and Ruby.

November 2015

Using code coverage tools can be helpful to find dead code or untested sections of your project, however, when used as a KPI it can do more harm than good.

October 2015

Presentation of a simple Git shortcut to move back to the branch you were previously on.

September 2015

Stop looking only as time as a metric to know when to automate. There are other factors such as focus, energy, growth and frustration to take into account.

August 2015

Using deadlines and estimates in a software project gets a bad reputation. However, when done well, it can make a lot of sense to embrace them.

August 2015

The first parent options allows you to ignore commits that are not the first parent. This can be very useful to figure out the series of changes a given file went through on a branch.

July 2015

I was stuck in a plane so I started fiddling with my alternative version of Conway's Game of Life. I kind of liked the way the board looked after a while, so I decided to share.

June 2015

Here are some very simple examples to better understand how to spawn and manipulate processes using Elixir.

May 2015

Split testing... everyone is talking about it, but how do you actually run experiments on an actual website and not just a landing page? Here is a realistic approach to A/B testing based on real life experiences.

February 2015

If you are having trouble finding the part your deployment to Heroku that’s actually slow, be it bundler, the asset pipeline or the slug compilation, here is a very simple script that could help.

February 2015

Here is a summary of what I learned about Grace Murray Hopper, the not-famous-enought creator of the first compiler, precursor of COBOL and much more.

January 2015

I’m not a good designer, not at all. However I still tried to create a new version of my website based on the old one - mainly because I grew really tired of the previous design.

January 2015

It is possible that random tests in your suite are failing because of CSS or JavaScript animations. I’ve seen it with Capybara + Poltergeist. Thankfully it’s quite easy to fix.

December 2014

How I helped a team of 3 students with little to no development background get accepted into a prestigious parisian accelerator.

October 2014

Sometimes finding the right index for a really complex SQL query can be hard and time consuming. That’s why I wrote a script trying all possible combinations of indexes and benchmark each one!

September 2014

You all know Github issues. HuBoard is a tool giving more features to manage them, including a very helpful Kanban board. Here is how I’ve been using it.

July 2014

In a team, you’re bound to create some structuring processes. But when does it becomes too much? Is there some golden hammer out there to fix all our organizational needs? …… no, there isn’t (but you should still give this article a read anyways).

July 2014

While it is easy to complain about legacy code, it’s important to keep in mind that this old code deserves some respect.

May 2014

A lot of iOS and Android applications have been created to track one's day, but none really matched what I wanted so I created my own. Something with a clean design and focused goal.

April 2014

Witness pure folly and learn how to create professional yet beautiful websites by only using FRAMES and other amazing tricks.

April 2014

300ms delay, overscroll, text rendering, 1px borders, local storage, performances, i18n ... After lot of work and an app released, I'm sharing a long list of solutions to problems I ran into while developing an hybrid app.

November 2013

Productivity is a hard thing to measure, but counting the number of emails sent is not the way to go.

November 2013

Every week I see people arguing over languages, frameworks, hosting solutions, design patterns... and every week it's pointless.

October 2013

Speaking both French and English can get a bit messy, but it can also be a lot of fun.

August 2013

SteroidsJS promises a way to use Javascript to build PhoneGap-based applications with a native feel on both iPhone and Android. It seemed great so I decided to try it out.

July 2013

Alors que j'ai déjà un Baccalauréat scientifique et que jene compte pas me réorienter, j'ai décidé de passer un autre bac. Juste pour voir.

June 2013

My take on pride and the feelings linked to nationality.

May 2013

In this article I explain why I built a very basic app that lets you know who is clicking a link and I'm debating wether or not to keep on working on it.

April 2013

I tried to give a few lectures about the web to a group of young entrepreneurs and students from a non technical background. Here's what this taught me.

March 2013

Keeping an up to date list of changes in your open source project is a must have. Here's why.

February 2013

When working with non-technical people, taking the time to teach them a bit about how your software works can be a good idea with joy for all.

January 2013

I'm not a game developer at all, so in order to see the problems linked to creating a multiplayer game I decided to create a prototype with NodeJS, Websockets and HTML5.

January 2013

After 3 years I decided to change job and join Drivy where I'll work on a product based on the concept of collaborative consumption.

December 2012

I participated in a hackathon with 4 other persons where we built a project to give away objects and track their lives. Here's how it went.

November 2012

In this article I'll explain how to use UIWebViews using RubyMotion. This includes loading URLs, local files and communicating with them via Javascript.

October 2012

RubyMotion allows you to write native iOS applications using Ruby. Here I'll try to explain how to customize the UISlider element's look.

October 2012

For years I've been having a health problem that got fixed in seconds. This got me wondering about how this could apply to other areas of one's life.

October 2012

As a developer I repeat the same movements over and over again. This can be bad for some hand muscles. Here's one of the tricks I use every day to avoid any unecessary pain.

September 2012

A point of view and advices to people wanting to build on top of an existing platform such as Facebook or Twitter.

September 2012

This is the one reason that got me to switch to vim after experimenting for years with a lot of different editors. Promised, it won't be about emacs vs vim.

January 2012

Having a side project have a lot of advantages and helps you to grow as a developer. It could help you learn new technologies, experiment with an idea... if you can afford the time, you should start working on yours tonight.

December 2011

Sometimes you have no choice and need to outsource some of your workload. However it can be hard and there are some guidelines to follow if you want everything to go smoothly with external developers.

December 2011

How can one move away from a outdated consulting firm and join an interesting startup? It won't be easy, but it can be a great career move.