How to know that a feature or a fix is in production

At BIME Analytics we are using Trello to manage all the things that need to be done, all the things that we are currently working on and everything that is done. When our support team wants us to have a look at something they add a ticket to a special column. This ticket will then be prioritized and will eventually be moved to the list of things that needs to be done. And once it’s done it will be moved to the done list. The only problem with this organization is that a ticket is moved to the done list when the development work is done, but it has yet to be reviewed and then deployed. For most things this process happens quickly but for some it can take a little bit longer. For the tickets where the process is longer the support team kept asking about whether the feature/fix was in production or not. We knew that we could find a better way to let our support team know about the deployment status of a ticket without human intervention.

Read more →

Retrying HTTP Requests in Scala

In this post we’ll see how to replay a HTTP request. This is useful when interacting with some APIs. For example, we need it at BIME when we use the Google Analytics API. The API is rate-limited, and in some cases the documentation recommends to retry the request later [1]. It would be ideal from an implementation point of view if this process was invisible and if we could write the code as if we were doing only one request.

Read more →

You put your React into my Angular

As our business grows, we are seeing more and more complex use-cases that put our UI under stress, such as hundreds of metrics and dimensions that make the rendering of the app in a localised place really challenging. We decided to tackle these problems in-depth, and came up with what we think is a balanced approach between React and AngularJS.

Read more →

Infinite scroll with AngularJS and Rails

In BIME, we offer the ability to create unlimited dashboards, queries and connections. This is really interesting for our clients, and we started to observe accounts becoming bigger and bigger.

The Queries Library contains all the queries the user has access to. To be able to render the library smoothly, even with a ton of queries, we added a generic implementation of an infinite scroll.

Read more →

Docker powered Rails

In a previous post, we saw how we automatically update a Rails application by storing the version key in Amazon DynamoDB.

In this post, I will show how we can integrate this auto-update mechanism in a Docker container on top of a CoreOS server.

Read more →

We used to suck at it: designing smart password fields

We used to suck at it” is a series of posts explaining the UX design decisions behind the BIME redesign.

For the first post in the series, I wanted to begin with something simple, nearly universal and I guess (a bit) controversial: a password input. Let’s first list the hard facts.

Read more →

Zero downtime deployment for Rails

For the past few months, as well as developing the major release of BIME v6, we spent some time putting processes in place to improve the deployment process. It is important for us to minimize the time between a fix or a feature being ready for production, and actually being deployed.

Read more →

Open source code is so passe. Time to open source your decisions

We want to propose an alternative to open source code; open source your tech decisions.

Read more →