Working with design papers

Even when we were not all working remotely we had them, but remote work has made the use of design papers to prepare, discuss and structure major engineering initiatives even more useful. This is a brief overview of the approach, from a simple one to a very structured one. The

Read more ...

Docker for local development

With a move to multiple services or even, with a monolith, multiple services as dependencies (rabbitmq, redis and postgreSQL for example) the multiplication of services to have running in a development environment tends to make things complicated. Multiple issues tend to appear as both the number of those services and

Read more ...

Application Performance Monitoring

What tools do we advise our customers to use and why we picked AppSignal as the default one to recommend.

Read more ...

Building up : Looping back

Building a styleguide, a set of guide lines, establishing ways to monitor and know how the product runs, automating what can be, hosting and running the product, all these are key elements to build a technical culture within a technical company.

Read more ...

Building up : Handling Issues

Aside of performance metrics one important thing to keep an eye on for your production environments is the number of errors they are throwing and what's going on in the logs.

Read more ...

Building up : StartingUp

Gone are the times where we would host our websites in our dorm, garage or office on a klinky server with the electrical plug scotched to the wall with a big "do not unplug" sign on it.

Read more ...

Building up : Automate

Many battles are to be fought in projects so it's key to choose your battles and avoid as many as you can. Styleguides and guidelines are, as we saw previously, key to ease the day to day work by avoiding extra work.

Read more ...

Building up : Scaling in

Once the team has started to adopt even an embryo of styleguides it's time to move onto the meatier things. Again, it helps to put some guiding lines for the team to see how and where to go.

Read more ...

Building up : Product and performance metrics

Code does not evolve in a vacuum. It does not appear from nowhere, it does not just run on the developers computer and it does not just end in the code repository. Let's see how to keep an eye on the impact of changes.

Read more ...

Building up : Styleguide

It all start with style in which one writes code. It's the form, not the function that is first apparent when one looks at a code base. This form is the style used by the authors of the code base : the specific way to write using the programming language(s), the way to name and organize files.

Read more ...

Pass : Open Source to the rescue

Using a password manager has become very important to avoid plenty of issues. So with the move to a Linux workstation using an OpenSource solution made a lot of sense.

Read more ...

Howto : Private git hosting

In this article we will see how to setup a set of : - a git repositories server and service - a web interface to manager users, groups, and repositories - a load balancer to handle SSL termination in front of the git hosting service

Read more ...

New system

After years using an Apple Laptop as my main work machine I started to grow annoyed by the frequent power up of the ventilation inside the laptop. I also noticed some bugs within the OS that would trigger impromptu restarts, network issues that would require me to restart the system

Read more ...

Release : Jekyll transistor gem

Some time ago I decided to move all my audio episodes from Soundcloud to [Transistor](https://transistor.fm/). I wanted something that didn't cost too much, that I could still include in the Jekyll page and that would help a bit with publishing to whatever audience was reached.

Read more ...

On feature switches

Once a team has a stable and trusted way to get releases deployed quickly and potentially multiple times during a day it becomes very useful to have a way to switch features or changes ON and OFF in the production environment.

Read more ...

Ephemeral containers for ssh

When I setup docker based infrastructures for projects I have usually a few use cases that need to be solved. Usually it starts with starting http services containers, background workers containers and console ones. Let us see how to handle the last case.

Read more ...

A repository template

I decided to do a little experiment for a mini service I am playing with at the moment : have more than just code in the repository. Let's see what else we could have alongside the code.

Read more ...

Surprise : I am mixing your data

When it comes to doing SQL queries onto a relational database there is a time when this query needs to use rows from two tables to give you the rows you want. These are called “join” queries. Their purpose is to combines records from two tables, let's see how that can end up.

Read more ...

Memoization and RubyOnRails

Often with RubyOnRails (and other Ruby frameworks) we rely on instance variables and the or-equals operator (||=) to store some expensive data in memory to avoid costly database or API queries : this is called memoization.

Read more ...

Custom keyboards and split designs

Back when I was at University near Paris a friend of mine was always talking about how great his ergonomic keyboard was so good and how his typing was better. Years later I was the one doing the same about the keyboard I got. Well, here I am, again, talking about split keyboards.

Read more ...

Need help ?

We specialise in helping small and medium teams transform the way they build, manage and maintain their Internet based services.

With more than 10 years of experience in running Ruby based web and network applications, and 6 years running products servicing from 2000 to 100000 users daily we bring skills and insights to your teams.

Wether you have a small team looking for insights to quickly get into the right gear to support a massive usage growth, or a medium sized one trying to tackle growth pains between software engineers and infrastructure : we can help.

We are based in France, EU and especially happy to respond to customers from Denmark, Estonia, Finland, France, Italy, Netherlands, Norway, Spain, and Sweden.

We can provide training, general consulting on infrastructure and design, and software engineering remotely or in house depending on location and length of contract.

Contact us to talk about what we can do : sales@imfiny.com.