Effective Remote Working

Going remote is an appealing lifestyle, but without a guidance we can easily get lost. What’s the right balance between professional and personal life? How to make sure that you’ll finish your tasks by the end of the day? You can get it right without too much effort. It’s just a matter of forming the right habits. I work as a remote software engineer for three years now. During this time, I was successfully employed at Litmus first and then at Codeship. »

Introducing Lotus::View

The missing part of all the Ruby web frameworks is the distinction between views and templates. A view is an object that encapsulates the presentation logic of a page. A template is a file that defines the semantic and visual elements of a page. In order to show a result to an user, a template must be rendered by a view. Keeping things separated, helps to declutter templates and models from presentation logic. »

Redis Scripting with MRuby

MRuby is a lightweight Ruby. It was created by Matz with the purpose of having an embeddable version of the language. Even if it just reached the version 1.0, the hype around MRuby wasn’t high. However, there are already projects that are targeting Nginx, Go, iOS, V8, and even Arduino. The direct competitor in this huge market is Lua: a lightweight scripting language. Since the version 2.6.0 Redis introduced scripting capabilities with Lua. »

Introducing Redis Store

gem 'redis-rails' gem 'redis-rack-cache' # optional ## Cache Store # config/environments/production.rb config.cache_store = :redis_store ## Session Store # config/initializers/session_store.rb MyApplication::Application.config.session_store :redis_store, servers: ['redis://:secret@192.168.6.23:6379/0', 'redis://:secret@192.168.6.99:6379/1'] ## HTTP Cache # config.ru require 'rack' require 'rack/cache' require 'redis-rack-cache' use Rack::Cache, metastore: 'redis://localhost:6379/0/metastore', entitystore: 'redis://localhost:6380/0/entitystore' »

Lean Rails App Setup

When I joined the IFAD team last September, I had big problems to deal with all this amount of informations and to clone projects from GitHub then make them running on my dev machine. The most common issue is the missing and/or outdated documentation. »