Blogs

Teaching an AI to play a simple game using Q-learning
In this post I will walk you through how to teach a computer to master a simple video game using the q-learning reinforcement learning algorithm. We will implement the algorithm from scratch in Ruby without the use of external gems.
To enable us ...

How to deploy Rails 5.1.2 and Yarn on Dokku – Michiel Sikkes
Last week I deployed a new custom deployment of Airstrip on a Microsoft Azure cloud of one of our clients. For this deployment, I used the new Rails 5.1.2 that uses Yarn to deploy JavaScript and CSS assets.We use Intercity and Dokku to deploy our ...

Why it is just lazy to bad-mouth Ruby on Rails | AkitaOnRails.com
It's inevitable these days: we will see an article proclaiming the demise of Ruby on Rails every once in a while. It's the easiest click bait, like this one from TNW.Now, you may say "another Ruby fanboy." That's fair, but a terrible argument, as ...


A Deep Dive into CSRF Protection in Rails – Ruby Inside
If you’re using Rails today, chances are you’re using CSRF protection. It’s been there almost since the beginning, and it’s one of those features in Rails that makes your life easier without needing to give it a second thought.Briefly, Cross-Site ...


Fixing Bundler's dependency resolution algorithm and making it 2x faster
A month ago we had a report of some strange behaviour from Dependabot: on some projects, we were creating a “Dependabot can’t resolve your Ruby dependency files” issue, only to immediately close it. Hunting down that bug took me right to the core ...

Faster Rails: Eliminating N 1 queries - Semaphore
Rails does not scale well – this argument is often used to downplay the worth of the language and the framework. Yet, many businesses from small startups to platforms with millions of users use it as the backbone of their operations. A good questi...

Preventing security issues in Ruby on Rails (based on OWASP cheatsheet)
Although core team and the community behind Ruby on Rails is working very hard to ensure that this framework is providing high level of security, it is not possible that any framework will cover every possible scenario and there is always an appli...