How to read one non-blocking key press in Ruby
During the development of a simple command line game in Ruby, I wanted to check if the player has pressed a given key in a non-blocking and buffered way. That is: If no key was…
During the development of a simple command line game in Ruby, I wanted to check if the player has pressed a given key in a non-blocking and buffered way. That is: If no key was…
Lately I discovered Docker. I made a quick presentation on it for the rivierarb meetup of february 2014 (slides available). As an example of Docker’s usage, I decided to make something cool: a Rails cluster,…
I’ve got through a bit of a hurdle to get Ruby 1.9.3 installed on my shared host. My host is PlanetHoster, but this walkthrough should work with any host giving you a decent development suite…
You may have noticed that some Ruby libraries using C extensions were suddenly having core dumps when compiled using Ruby 1.9, whereas compiling with Ruby 1.8 got no problems. A good culprit might be the…
In my 2 previous posts, we saw how to write C extensions, and how to package them. Now time has come to see a little bit of the Ruby C API. This post will deal…
In the first part of this series on Ruby and C, we’ve seen how easy it is to write a C extension and use it in Ruby environment. However, in real world problems, a Ruby…
Lots of Ruby libraries suffer from performance. It is in fact one of the biggest criticism that is being made to Ruby. There are lots of ways to improve Ruby’s performance: use latest Ruby version,…
This post is a complete summary of all my efforts to have a complete and decent solution to test Rails applications. As it is a long post, here you have the table of contents: Introduction…
A data set is a collection of objects that ensures each object is present only once in the collection. In Ruby, there are 2 simple ways to define data sets: use the Set Ruby standard…
Several times in my developer’s life I have found it very useful to use Dependency Graph Programming. That means mapping processes into invokable targets having dependencies on other targets that need to be invoked prior.…