Writing on software development, life and all the things.

All of my long-form thoughts on programming, software development, and more, collected in chronological order.

Making Ruby's Array.include? faster for symbols

It's all started doing some refactoring - I was playing with Array and Set and something tempted me do to a simple benchmark that revealed strange results....

Better shell history with hstr

When I found out oh-my-zsh I felt in love with per directory history. I'm working on different projects at my machine - work related, personal, blog, Java...

Pitfalls of Ruby's memoization pattern

@something ||= calculateit is so common in Ruby code. You use it often to store something "heavier". But many times it leads to sub optimal performance....

Making specs better and other links

Today couple of links that hopefully will make specs better. Here's two in one - a nice blog post about using metadata in your specs to drive different...

Are you being productive managing your time?

I just read a wonderful article about managing your own productivity. Or more about a trap you can fall into when trying to be more productive. It's a...

Is unless in Ruby really a shortcut?

I'm have mixed feelings about unless in Ruby. It's not I don't like it but sometimes I find it suboptimal. I feel that in some cases if !condition is much...

How to change source for Active Model?

The nice thing about Active Record scopes is that you not only can specify where conditions. I recently had a need to run a query against a model to...

EuRuKo 2016 presentations worth watching

I had a great time in Sofia attending EuRuKo! We had great hosts as part of AirHelp's team is located there! It was a good chance to unite, drink some...

Microsoft Surface Studio and other friday links

Microsoft Surface Studio looks great! Well designed and beautiful. But what I really love about this advertisement is that is resembles Apple commercials....

9 ways product owner can destroy team's morale

Good product owners are gold. Not only they help you deliver better products by representing business needs. But also can lift up team's morale and make...

Friday Link Pack

That's a delivery pipeline. Building Boing 737 in nine fricking days! Have you every wondered why are you doing things that you are doing and what should...

Full Stack Fest presentations worth watching

Full Stack Fest was a blast. Really enjoyed being part of it. Especially for the great people I met there! But if you haven't had a chance to visit here's a...

Friday Link Pack

I'm still at Full Stack Fest 2016. That's a really well organized conference. If you've never been to Barcelona and want to hear some good presentations go...

How to simplify writing SQL queries?

Stupid me. All those years, all those minutes wasted writing SQL! If you've been living under a rock as I were you might been making your life harder...

Friday Link Pack

I love Active Record for its flexibility. Advanced SQL in Rails shows you how to use views and window functions. Good software starts with a good design....

How to call services asynchronously in Ruby?

That's a second part of the series where I present how to call multiple services at once in a different languages. It's not a production ready code but...

Monday Link Pack

Your files, my files or just files? How to design user interface Running rails migrations automatically on Heroku How to write a custom RSpec matcher Your...

How to call services asynchronously in Java?

Imagine you are building some aggregation service of some sort. It could be a stock exchange monitor, or a news website that needs to read data from...

Playing around with PostgREST and authentication

<iframe width="560" height="315" src="https://www.youtube.com/embed/mZoP7uBitWQ" frameborder="0" allowfullscreen</iframe Short brown bag I presented in...

Setting up a simple web server with Ansible

<iframe width="560" height="315" src="https://www.youtube.com/embed/FBhQzJNy7d0" frameborder="0" allowfullscreen</iframe A few weeks ago I presented a short...

Easy Sign Ups For ServiceDesk just got released!

So after I few months I finally had time to finish and release Easy sign ups! Basically the whole thing was laying on the disk almost done for weeks. But...

Atlassian doesn't know how to do free software

Recently a buddy of mine sent me a post summing up bad experiences people had with Atlassian's SourceTree. What an angry mob :-) It's not the first time the...

Zen - adding nice issue keys

Stealing good ideas is a good idea. So loving the fact that every JIRA issue has a nice key I want to have exactly the same in Zen. I'm using PostgREST as a...

Zen - the stupidest idea ever

I decided to built new JIRA from scratch. What a stupid idea. I've been using JIRA for years. I even worked as a developer and team leader on JIRA team for...

Ansible vs Chef knife solo

I've been struggling with Ansible for some time. When I first got into building servers, provisioning, etc. I used chef knife solo. I enjoyed its...