Be careful with cache

There’s a well known saying that goes like this: There are only two hard things in Computer Science: cache invalidation and naming things *. This is a post about the first one.

Today I experienced a cache invalidation issue where I was presented with cached data instead of a fresh data which was different. This prevented me from fixing an issue which only my colleague discovered and for a minute we were confused with what was happening.

This just remembered me to be careful next time when I’m thinking about caching things. It’s extremely important that you know when to invalidate cache. If you don’t determine that moment correctly you are about to put a nasty bug in your product and frustrate your users.


Back to Heroku

A year and a half ago I moved my backend service from Heroku to Openshift. The reasons were that it didn’t put services to sleep state in free tier. At that time it just looked it offers more for the same price. A month ago Openshift upgraded their service from version 2 to 3, or something like that. They wanted me to do the migration of my service. This is what happened next :) …

Read More

Developers and UI texts

This post is inspired by uninformative user facing texts in software. Being a software developer, I know that there are situations when we are not aware of how meaningless the text we write can be to the rest of the world. This is an excuse post to all the users affected by such messages and also a reminder to other developers that they should be careful how they communicate with their users.

Read More

Using Toshl finances

It has been four years since I started using Toshl for managing my personal finances. What I liked the most about it is it’s simplicity. While simple, it still lets you categorize your finances as complicated as you want. The most informative way I use Toshl is to track how much I spent or saved during a given period and on what categories did I spend the most. The reason they always supported a wide variety of platform also pleased me, especially since I’m a user of much smaller Windows Phone platform. But even if you use a platform they don’t support, there’s always their recently updated web application