Requirements for the perfect Crowd Software Testing Tool

The StartUp testCloud – a crowd software testing provider based in Berlin – is offering a service fro crowd software testing. 


Now they are working on a new Crowd Software Testing Tool, which is completely self-service. They prepared a 3 min survey to get known your needs for the perfect Tool:

Everybody who finishes the survey can use the new tool for free up to 5 Bugs after official launch.  

I finished the survey by myself and I’m very curious to see the results.

PDFKit – invalid byte sequence in US-ASCII

I’m using PDFKit at VersionEye to generate the PDF invoices. It’s a really awesome project. The idea behind PDFKit is that you generate the documents as HTML and CSS and then convert it to PDF. That works really well. Generating a PDF works like this:

kit =, :footer_html => footer_file, :page_size => 'A4')

The first parameter “html” is the HTML as string. In addition to that you can give a separate path to a HTML file as footer. And of course you can choose the output format. In this case DIN A4.

That worked all really well, but sometimes I got a

invalid byte sequence in US-ASCII Exception

I found out that there was some kind of special character in the HTML. That can happen if you fill the HTML template with usernames for example, and one of the users is a French dude or even worst a Chinese dude, then you have some odd characters in your markup :-) But luckily there is a solution for that. You can enforce UTF-8 encoding for the string.

This line fixed it for me.

html = html.force_encoding(Encoding::UTF_8)

Reference Badges

VersionEye supports reference badges for open source projects now! A reference badge shows how many other projects depend on a selected software package. This here for example is the reference badge for PHPUnit.

Reference Badge for PHPUnit

It shows immediately that 7704 PHP projects are using PHPUnit. Awesome! Right?

The conclusion is that as more references a project has as more important it is. VersionEyes reference badge can be integrated into Markdown and HTML. For example into a GitHub Readme page. In that way everybody can immediately see the relevance of the project. Read more about it here.

Introduction to Ansible

Ansible is a great tool for IT automation.

I’m using Ansible to manage the whole infrastructure for VersionEye. Currently I have 36 roles and 15 playbooks defined for VersionEye. I can setup the whole infrastructure with 1 single command! Or just parts of it. I even use Ansible for deployments. Deploying the VersionEye crawlers into the Amazon Cloud is 1 single command for me. And I even rebuild the capistrano deployment process for Rails apps with Ansible.


I just wrote an introduction to Ansible on the VersionEye Blog. Check it out here.

daemon script

This shell script runs forever and checks if the rails worker is running and if not it starts it again:

while :
  if ps ax | grep -v grep | grep 'rails worker' > /dev/null
      echo "service running, everything is fine"
      sleep 5
      echo "service is not running. Lets start again"
      cd $APP_ROOT
      $BUNDLE exec unicorn_rails -D -c $CONF
      echo "restarted on $(cat /rails/pids/"
      sleep 15