Running Ruby tests with Spring from IntelliJ Idea / RubyMine

IntelliJ Idea is my IDE of choice for all development across multiple languages. Support for different languages varies and improves at different rate but I find it useful most of the time. Suddenly, last week my Ruby tests stopped running. Whenever I wanted any Ruby test to run, the execution failed with: .../spring-2.0.2/lib/spring/sid.rb:39:in `getpgid': No such process (Errno::ESRCH) I run Ruby tests with Spring preloader which has been the default for Rails applications for last few versions and Idea integrates nicely with it. Read On →

Go: to inifinity and beyond

When I read and review code, I sometimes come across constructions which seem strange, dubious or generally weird. Before I comment, I like to check my assumptions and understanding of the behaviour first. Go makes this really simples with Playground where you can run short snippets of code and share them with colleagues. Yesterday, I came across a conditional with division which just asked to get zero divisor. I assumed the code would fail but it was strange it hasn’t manifested, so I went to check. Read On →

Zonky coderetreat 2017

Yesterday, I attended a coderetreat organized by Zonky, specifically by Jaroslav Holaň and Dominik Moštěk. It sort of was and wasn’t a part of the Global day of coderetreat. That will take place next Saturday, November 18, 2017, and there are events all over the world. However, the day before is a public holiday here in Czech republic creating a nice extended weekend, ideal to get away from work, programming, city etc. Read On →

EuRuKo 2017 in Budapest

Last weekend, I attended EuRuKo 2017 in Budapest. It was great to see a lot of familiar faces after skipping last year. 700 Ruby developers (and others) flocked to Budapest in order to conference hard for two days, see 14 talks, almost as many lightning talks, chat, and party. There have been many tweets from the conference and people have written about their experiences there. I’d just like to point out few high points. Read On →

Window functions in Postgres with Rails time

Back when Ruby on Rails was moving to use Postgres as its default database, there was a lot of comparison articles and videos. From one of them, I remember a simple query which surprisingly works in MySQL: SELECT category_id, COUNT(*), email FROM users GROUP BY category_id OK, we want to get the number of users is each category identified by its ID and an e-mail. Which e-mail? I don’t remember if MySQL returns the first or last in each group but it does not complain and it returns something. Read On →

Elm Prague meetup talk

Last Wednesday I gave a second talk about Elm at Elm Prague Meetup. This time I talked about a toy project animating SVG bubbles received over a WebSocket inspired by Listen to Wikipedia. The source code for the application is available on GitHub, the slides are available as well.

Gokit: HTTP transport

In our services written in Go, we quite heavily rely on Go kit. You can build anything with just Go’s standard library. It has very little opinions about how to do things and gives you a lot of latitude when architecting your application. That’s great for trying things out or even if you have a single application, but when you develop multiple services in a team, it’s useful to have a common baseline for routine tasks and Go kit does exactly that. Read On →

Greedy Elm

At the end of May, we gave a talk about Elm and JS interop at Prague Elm Meetup. One of the sections naturally talked about native modules and their dangers, so it shouldn’t come as a surprise that they came to bite us just a few days later. The initial manifestation was that some parts of the Elm application were using the wrong copy, more specifically a wrong language of the copy. Read On →

Custom flags decoder in Elm

I’m preparing a talk about Elm and JS interoperability for Prague Elm Meetup and I got to the topic of flags, i.e. how to initialize an Elm app with data passed in from JavaScript. Looking into it, I realized how much I don’t know and had to find out. There was one special question which bothered me from the moment I tried using flags: Elm automatically decodes the data which limits it to elementary types and their combinations. Read On →

Switching on custom types in Golang

Last week I ran into an unexpected behaviour in Go regarding type switching. In the end, it makes perfect sense but the initial reaction was complete confusion. The algorithm in question needed to perform different types of actions based on incoming messages. Each message could provoke different number of reactions which could take form of different data structures or operations to be performed later. Message handlers therefore returned a slice containing either values of struct A, B or C, or an anonymous function. Read On →