blog by Anton Katunin

A pitfall of the &. operator in Ruby

The &. operator, added to Ruby 2.3, is handy and I’ve cleaned a lot of code with it. You can use it in conjunction with default operators as described in Ruby's New &.!= Operator.

Recently I introduced a bug when using &.. First we had:

if start_date && start_date < start_of_month && end_date.nil?
  # …

I refactored it to use &.:

if start_date &.< start_of_month && end_date.nil?
  # …

The new version looked cleaner. But do you see the bug? Have a look with parenthesis to see the order of execution:

if start_date &.< (start_of_month && end_date.nil?)
  # …

The issue is that after I introduced &., the special operator < became a normal method call. The right hand side of &.< are considered to be method arguments and are executed first.

To fix it we must wrap the first part with parenthesis:

if (start_date &.< start_of_month) && end_date.nil?
  # …

The next time you refactor to &. operator, keep in mind the change of the behavior.

Meta presentation

at Melbourne Ruby meetup

Unfortunately this presentation had a lot of transition and my recording failed, so please have a look at the transitions in video slides below.

Growing Rails Applications in Practice

by Henning Koch and Thomas Eisenbarth

A quick read which I would recommend to every mid rails developer and higher. It's common for developers to outgrow their tools. Rather than learn new skills, people start to blame the tools. Your heard those people: "Rails does not scale", "ActiveRecord is antipattern" etc. The books show few patterns which allow to build big Rails application with only small changes to standard 'Rails way'.

The book recommends active_type gem. I would recommend other gem active_interaction instead. active_interaction gem is more superior in my opinion and I've successfully used it in multiple projects over the last 2 years.

As for the CSS structuring, BEM is definitely a good choice to get control over your styles. Only issue with it, if not enforced it loosed its value, so every developer should be very diciplined to follow BEM.

There is only 1 option which is better than BEM, it's css modules. I only used it with ember.js, not Rails though. It automates steps that you have to do with BEM. However css modules require deep integration into the tools you use, which makes it harder to bring into the project.


by Jake Knapp

The book talks about the process of running a 5 day long test to validate your idea/product. You might have an idea to start new business or how to engage your existing customers, whatever it is you should do as quickly as possible and as effectively as possible.

The book provides a very detailed step by step guide how to run the full spring as well as explains why things are done the certain way.

While books tries to prove itself with examples from big or popular companies, it feel a bit cheap because success of the company doesn't depend on the success of the product. It's way more complex than that.

I'll be very interested to try it on practice. In theory it should work very well.

The Art of Readable Code

by Dustin Boswell & Trevor Foucher

This quick and easy to read book I would recommend to every developer. It talks about all the little things which are often neglected and what developers deal with every day. Naming methods and variables, extracting business logic, code comments, aesthetics and code readability.

This knowledge is language agnostic and the best mastered over reading lots of code, or reading this book :)

The Inner Game of Tennis

by Timothy Gallwey

That was a lucky pick to read after "The Brain's Way of Healing". That book talks about unconscious part of the brain. It does make a lot of sense and I've drew a lot of parallels with the "The Flow" book. To put it simply, we are animals and millions years of evolution didn't disappear when we've got consciousness.

When we are leaning something we actually teaching our unconscious part of the brain, while consciousness is there to guide that learning process.

Conscious and unconscious, this is just a theory to explain our body, and probably not very accurate. But it is enough to start benefit from it. That book shows how little we know about ourselves.

The Brain's Way of Healing

by Norman Doidge

This an amazing book. Just like the previous book "The Brain that Changes Itself" this one also blew my mind. It's very long book and I think I've lost my interest twice and had to start again from the start few months after. But once i've got beyond the first 30% about Parkinson Disease, I was hooked.

The book talks about how brain stimulation through our sensor could affect it. That includes voice, light and touch. That's probably my favourite part.

Anyway, I've read it over a month ago now and my excitement already dimmed out. That's a great book and I would recommend it to everyone.

Perfect Strangers (2016)


by Jason Fried and David Heinemeier Hansson

Just like the book I've read a week before - "Rework", this book also jumped the queue.

So are you working remote or still going to the office five days a week?

If you are working at the office, you might need to read this book, to know why it make sense to switch to remote or ocasional remote work. The book addresses some questions and concerns about remote work. There are definitely more pros than cons to working remotely, however it's important to know and understand the difficulties that arise and which are previously were unknown to office workers.

If you are already working remotely, you'll probably find this book as a reflection of your own experience. I've been working remotely for over 5 years and gone through the exactly same struggles described in the book. I guess the only difference the book looks at it with a bit more scientific perspective.

I feel the book could be even shorter, few ideas has been repeated multiple times through the book. If you want to know everything about remote work this book is definitely would be the first goto option.


by founders of 37signals

I had to use my credits on and didn't know what to buy. This book was on my to read list, but somewhere at the bottom of it. And thanks to very small collection of audiobooks this book jumped the queue.

The first thing that surprised and warned me at the same time how small the book is. It is relatively short and is less than 3 hours long. In comparison the other book I'm reading, "The brain's way of healing", is almost 15 hours long. But there is a good reason why it is like that. Authors intentionally cut on the content as it's the same principle they use at work, which was described in the book.

To sum up the book, it could also be called "Rethink". Rethink things that you are doing at work. Just because something was done in a particular way for a long time does not mean it is a good idea to keep doing it.

The book summarises years of work at 37signal, company which indeed swims agains the flow and decided not to follow many established work practices.

Can't say I've learnt much, as I've heard many of those things before, but nevertheless I've enjoyed this book.

The first 3D scan of me

I've popped up to visit my friend Marcus during holidays, he runs PunkOffice, and he offered to do a 3D scan of me. I couldn't say no to that.

In a split of a second 80 DSLR cameras took a photo of me, each from a different angle. After a bit of computer processing and magic from Marcus a final model was produced. Click the image to see the full version.

Lean Startup

by Eric Ries

It's an interesting book which summed up a lot of my experience working in startups. It's important to mention that the book focuses on testing new ideas rather than improving existing business.

Alright, so you have a new business idea and nobody has done it before, what's next? In short accept that you are wrong and your ideas are crap and proceed from there. Such mindset forces you to focus on feedback. Even if you found great market fit with 80% accuracy you still need feedback to make the adjustments.

The whole process should be focused on getting the market feedback and learning from it. The challenge is to get it as fast as possible and as cheap as possible. The sooner you fail the faster you will learn and the faster you will move on to a better one.

As a professional software developer I've found such approach very hard, because as a professional I'm responsible of quality, which I had to ignore if it conflicts with the delivery speed.

Also I've found my peers who don't understand that principle of growing new ideas, set the wrong priorities on tasks. They focus on the tasks which have medium to low business value, which is still not acceptable as that distracts you from the low hanging fruits.

I've also liked the "vanity metrics". Metrics which has no real meaning but makes you feel good by creating an illusion. So many businesses keep doing it. So true.

Lean Startup book was written from the author’s experience and I can personally backup most of the things mentioned in the book with my personal experience. That's why I've found it very useful as I see it as an experience exchange.

I'd say Lean Startup is "must read" only if you are starting new business, otherwise you are better off reading books on improving efficiency or quality of your existing business.


Either or Not

Quote by Søren Kierkegaard

Marry, and you will regret it; don’t marry, you will also regret it; marry or don’t marry, you will regret it either way. Laugh at the world’s foolishness, you will regret it; weep over it, you will regret that too; laugh at the world’s foolishness or weep over it, you will regret both. Believe a woman, you will regret it; believe her not, you will also regret it… Hang yourself, you will regret it; do not hang yourself, and you will regret that too; hang yourself or don’t hang yourself, you’ll regret it either way; whether you hang yourself or do not hang yourself, you will regret both. This, gentlemen, is the essence of all philosophy.

--- Søren Kierkegaard

Ref: What are the Alternatives to Marriage?

Highlights from Railcamp 20

in Springbrook

Yet another Railscamp. That's what I've felt like before it's started. But on Sunday afternoon, I was already missing it as it was almost over. Great time as always, but should say activity options were more limitted than usual as it was small camp with 60 people and in comparison the previous one had 120.

From the highlights: I was elected as a Ruby Australia committee general member. That was my third attempt and should say I'm very happy I was elected this particular time as committee consist of people who I believe can make a difference and who share a lot of similar frustrations with me.

Another highlight I've helped with small movie which was shot over the weekend. It showed once again that I'm a horrible actor, although I think this time was slightly better than a year ago.


In Russian culture (and I've heard in Chinese as well) people prefer brand new feel to things. During my traveling in Europe and Japan I've discovered that I like old furniture and buildings there. Each one of them what I call "has character".

About a year ago, I've discovered the term wabi-sabi, which did sound familiar from my past observations.

from Wikipedia: Wabi-sabi represents Japanese aesthetics and a Japanese world view centered on the acceptance of transience and imperfection. The aesthetic is sometimes described as one of beauty that is "imperfect, impermanent, and incomplete"

Characteristics of the wabi-sabi aesthetic include asymmetry, roughness, simplicity, economy, austerity, modesty, intimacy, and appreciation of the ingenuous integrity of natural objects and processes.

I think it's a great world view to adopt. Not just from economic perspective, but also I see it's more inline with nature, as there are no any two organisms which are identical. Even twins are different in so many ways. Every living creature is special and unique. And I think we should appreciate that more.

A video about wabi-sabi through which I've discovered it from.

Ralph Waldo Emerson quote

Ralph Waldo Emerson might strike the right chord:

For everything you have missed, you have gained something else, and for everything you gain, you lose something else.

That's very popular thought which I seen many times from different authors. There is no right and wrong, there is only life. The nature doesn't know what is right or wrong. Humans created those terms and try to fit everything into those categories.

P.S. I seen this quote over a year ago somewhere, so saved it and only now found time to mention it in the blog.

Mark Twain quote / Цытата Марк Твена

Forgiveness is the fragrance that the violet sheds on the heel that has crushed it.

-- Mark Twain

Прощение – это аромат, который фиалка дарит тому, кто ее растоптал.

-- Марк Твен

Atlas Shrugged

by Ayn Rand

Great novel, it's one of those which I could not wait to listen again. The audiobook was done with amazing quality, it's not a plain reader reading the book, but with different voices and sound effects. It's like watching a movie without a picture. Very cool. It's a completely new level of the audiobooks.

Novel itself has a lot of meaning and I think shows world quite accurately. I was enjoying every moment while listening to it.

On the negative sides, there are few obvious issues which break the flow of the story for me. I've got three:

  1. Very often and out of the context the different characters say "Who is John Galt?". Since it's out of the context it's very clear the author added it to glue the ending. That completely breaks the flow. Such out of the context sentences work as a wake up call for the readers immersed into the story.

  2. Love relationship is very unrealistic. It's hard for me to believe that multiple man who finally met the true love of their life could not care and say something like - ah cool, no problem. I love you more than anything in this world, but i'm cool to be friends. We can live and see each other everyday. I will love you forever but you can be with that other guy.

  3. The final speech from John Galt over the radio was waaaay too long. It felt like that speech was written first and the rest of the story was added as an addition. The speech repeats the same idea many times and could be much shorter or broken into multiple parts during the story.

The novel had a big influence for people, that's why it spiked my interest to read it. Now I know the story, I'm interested to see what was the influence.

Parallel rendering in Rails

Discussion on Reddit

I will continue to expand the features in the pagelet_rails gem. Since it offers a new way of composition in Rails I've found that there are so many new things we can do. In this post, I will focus on the parallel rendering. Yes, that's right, parallel rendering in Rails. Although, it may sound advanced the concepts behind it are extremely simple. This post however is only relevant to web page rendering.

The Power of Now: A Guide to Spiritual Enlightenment

The book can be summed up as 'Be there where you are'. It's a good reminder to stop running in life and stop regretting about the past. Just open your eyes and look around, the life is beautiful.

The book mentions that when people get serious health issues only then they start to realise the present and finally start enjoying it. I'm just thinking can I simulate that feeling without getting health issues. Think about and imaging you have 1 more day to live, how would you feel today? And like that every day.

Overall book is written in very abstract way, which I found very hard to conceptualise. It has very few examples which would be very helpful to understand all those good sounding words.

My first personal card

Hover over the image!

Finally got my first personal cards. I went for simplicity in design and a bit stylish look with black and white contrast. It's personal and not business card as I'm not selling my service to people but rather it's a quick way to exchange contact details.

Got them printed at vistaprint for 250 for $35. The printing quality turned out to be very poor, so contacted support service and now waiting for the new batch to arrive.

Dao of Life / Дао Жизни

by Irina Hakamada / Ирина Хакамада

Change is the only constant

It's very light and quick to read. The book talks from the women's perspective most of the time, but is relevant to everybody.

The main point from the book for me was to be flexible and enjoy the life. Life is too short to worry or be upset.

The book is full of advices and experiences from Irina's life.
That includes how to teach kids, be public person, how to grow career as a woman, have strong and happy family and others.

The book is short and straight to the point, while it's still very personal.


by Banana Yoshimoto

Interesting novel about relationship. It was interesting to listen (audiobook) but I feel like I didn't get the point.

On wikipedia it says there are two stories, but the audiobook I've listened had about 5. Not sure if that's new additions or just other novels.

Improve perceived performance of your rails application with minimum effort

at Melbourne Ruby meetup

Download Slides PDF or read more


Trip to Mt.Buller

my first snow in Australia

Had a great day snowboarding at Mt.Buller today.

Probably the worst thing was the buses between car park and resort. On the way back it took us 1 hour to get from resort to car park while it should take 5 minutes. The lesson learnt, next time I will be walking.

Sandy Point Half Marathon

  • Distance 10km
  • Net Time 0:51:37.2
  • Gun Time 0:53:30
  • Split Time 0:25:34
  • Age Group M18-29
  • Age Group Place 25/48 (52%)
  • Gender Place 144/278 (51.7%)
  • Overall Place 186/580 (32%)

Steve Jobs

by Walter Isaacson

That book changed my standards of leadership.

Riding exercises meetup #3

can't keep everybody happy

Today was the third meetup. It keeps getting better, but can't keep everybody happy. Here are some highlights:

Pumpkin plan

Riding exercises meetup

the second one

Last sunday I've hosted the second "Practice riding exercises" meetup. It's a definitely improvement from the first one but still many things needs to be worked on.

Meetup Page