Bookmarks in December 2013

5 minute read

Out Of Date Warning

This article was published on 01/01/2014, this means the content may be out of date or no longer relevant.
You should verify that the technical information in this article is still up to date before relying upon it for your own purposes.

Happy new year!


Rails 4.1

Rails 4.1 beta1 is out!

  • Active Record Enums on top of integer values like
  • View Variant, besides rendering different formats, formats can have variants, e.g. show.html+phone.erb
  • ActionMailer Previews
  • central config/secrets.yml, as a canonical replacement for dotenv, application.yml etc. like
  • Spring promoted to the official Rails preloader. like
  • String#remove(pattern) as a short-hand for String#gsub(pattern,'') like
  • Time-mocking baked in: travel do ... end like

wrong testing library

Unfortunately, never heard before of Wrong. It provides an assert method, which just takes a block and evaluates for true. If it fails, it will automagically provide meaningful error messages and list the values of all sub-expression. Just check it out.

assert { User.count == 2 }

d { x * 2 } # => prints "(x * 2) is 14" to the console

Part of my new test-stack:

  • Rspec: Test layout, lets, contexts
  • Wrong: Only one awesome assert method
  • Capybara/Poltergeist: Integration testing

Using it with Rails 4.1beta took me a little patching:


Living Social applies kind of SimpleCov to production code to find unused code fragments.

Rails Composer · RailsApps

Rediscovered Rails Composer, which is great for creating new Rails apps: Bootstrap 3, simple-form, pg, devise, haml/slim, etc. All the initializer-files are taken care of.

Ruby 2.1: RGenGC · computer talk by @tmm1

Very good explanation on Ruby 2.1's new GC and how to tune the GC according to the App's memory footprint.

Deutsche Rails-Cloud Anbieter

[German] Für die Zukunft:


Assets management solved: we released Rails Assets

Rails-assets semi-automatically generates asset-only gems for stuff like jQuery plugins, select2 and so on. It does so, by building a bridge to the bower ecosystem. Nice!


Local Time is a Rails engine with helpers and JavaScript for displaying times and dates to users in their local time. The helpers render a element in UTC and the JavaScript swoops in to convert and format. Because the element is only rendered in one timezone, it is ideal for caching.


This month, I started to look into Elixir, that new programming language built on-top of the Erlang VM and developed by Jose Valim [Rails, devise..]. I am really looking forward to work with it in the upcoming weeks. It looks quite approachable and powerful.

Introduction to Elixir - YouTube

This video got me hooked. Dave Thomas introducing the basic concepts.

Elixir Sips

There is a Railscast/metacasts/RubyTapas like screencast about Elixir.


Sinatra like web-framework built with Erlang

Introduction - Elixir

Getting started guide.


radioeins - Wischmeyers Schwarzbuch

[German] Ich habe Dieter Wischmeyer bisher nur aus der Heute Show gekannt. Bei einer Autofahrt habe ich durch Zufall eine Lesung von ihm aus seinem neuen Buch gehört und war sehr positiv überrascht. Für die Freunde des gepflegten Zynismus.

How to differentiate Asian languages

This explains a lot.

The Taxonomy of Terrible Programmers

So I present you with the taxonomy of terrible software developers, the ecosystem of software critters and creatures who add a whole new meaning to the concept of “defensive programming.”


Code rant: Are Your Programmers Working Hard, Or Are They Lazy?

Good summary about, how apparant productive programmers can be the worst, and quiet one the best.

Extreme Programming, a Reflection | 8th Light

Uncle Bob summarizes the results after 14 years of Extreme Programming and concludes

Nobody even thinks about Extreme Programming any more, we are all just trying to do it.

Is the Windows user ready for apt-get?

For the windows user: I missed this package manager for OpenSource software. Also might by interesting: Ulitmate Developer and Powerusers Toollist for Windows

4clojure – Welcome!

RubyKoans like Clojure learning by small exercises.

Git fixup

On undoing, fixing, or removing commits in git


A very easy API for querying movies. Also with IMDB-links.

Select2 3.4.5

Rediscoverd Select2: I was looking for a tagging library with autocompletion support.


Awesome search bar with multi-faceted search.

Videos & Reading

Of course, the 30C3 happened this month. Check out the recordings, if you have not yet:

30C3 - Warum die Digitale Revolution des Lernens gescheitert ist.

[German] Unterhaltsamer und interessanter Vortrag zu den nicht erfüllten Hoffnungen von e-Learning und der digitalen Revolution.

30C3 - ID Cards in China: Your Worst Nightmare

As a regular visitor of China I was surprised of the capabilities of Chinese ID cards.

Ideas are just a multiplier of execution

A lot of people think having a good idea is already enough to get rich. I will send this post to those people from now. I think it clarifies, that the execution of the idea, and luck are important.


AnsibleWorks Galaxy

Find, reuse, and share the best Ansible content
A kind of package manager for Ansible, the server provisioning tool I wrote about. I like the idea, having a centralized repos built in and easily drawing in additional resources.

SuperGenPass: A Free Bookmarklet Password Generator

Interesting idea: Typing your master password, clicking the bookmarklet, and you get a unique password for every domain based on hash crypto. Also prevents phishing, because the domain name is different.

Softcover and PolyTexNic

Michael Hartl, book author of the Rails tutorial (which is accessible online btw) opensourced his LaTeX-based toolchain for generating his tech-books. Including syntax-highlighting, nice layouting and build chain for building epubs and stuff. Unfortunately, almost no documentation because up to now, and softcover in private beta. But I will watch this in the future.

Startup lessons learned from my failed startup

Lessons learned:

  • product is much more important than supporting activities, like business cards, company registration
  • team composition is crucial
  • validating a market is necessary