yes, me too

about me   

Floor on things.

July 21, 2014 at 2:51pm
0 notes

I Write The Docs

Unfortunately I didn’t get to enjoy much of Write The Docs – Unconference Berlin but I did get to write down some notes on some interesting talks. Before I start let me thank the conference organizers, sponsors and Wikimedia for setting up a free (!) conference around a topic that is close to my heart: technical documentation.

write the docs

I dove right in with the Lightning talks session. David (@dcht00) introduced Computational Hermeneutics. Hermeneutics is the theory of text interpretation (like biblical text), but can nowadays very well mean interpreting documentation. “In writing there’s the problem of transferring meaning, there’s a gap of understanding, we all have different ‘conceptional horizons’. Hermes was the intermediary between subjects (read: gods who didn’t speak the same language), today we lost him as a messenger/intermediate.”

Computational or machine hermeneutics should be machine transportable. David mentions Wikipedia units – where things like the used metrics system depends on the visitor – and ‘de-jargoning’, making documentation more accessible.

What he showed then was some software he uses to recreate conceptional horizons. Half art half science-fiction, I enjoyed this trip down psychology lane.

Next was a chat on WalkHub. WalkHub intends to build the ultimate user guide to the Internet. With WalkHub you can record what you do on a website and that way create step-by-step tutorials. WalkHub is build on Drupal – highly customizable and Open Source (savvy) – and uses Selenium, making it heavily testable. Its record-and-annotate means up to date screenshots and the tutorials are embeddable as a widgets. Which sounds pretty cool. I am not sponsored by WalkHub.

I came to Write The Docs for Thomas Parisot‘s README-Driven Development. Thomas ‘practices’ JavaScript development at BBC R&D and starts with a disclaimer: this subject is not new. README’s have been with us for a long time, and ex-GitHub Tom preston-werner coined the term RDD August 2010. A trip to Iceland made Thomas learn how simplicity is key – life is complex enough as it is. Connecting this to documentation, Thomas noticed how there’s either too much or too little of it, or how it’s too difficult to possibly understand. After Paris Web, Thomas learned that ‘to converse’ means learning how to speak and to listen, following a drawing exercise. Only writing down the essence helped him greatly when building his own startup where he and his co-founders would work remote. Striving for simplicity, they choose their tools by their low learning curve and little install time (npm install, GitHub, …). Still there would be returning questions with every projects and Thomas and his mates realized they needed better documentation – thinking about the company’s scalability.

Evangelizing RDD Thomas rightly said that a README is the first file displayed (on GitHub), and in that way kinda like evidence that your project ‘is’. README’s use simple markup and they are easy to read, learn and write. README’s are pervasive (you’re not stuck to a file type), they summarize the project as they are attached alongside the versioned code. They provide context with examples, have very shallow limits and Thomas praises the ‘content first’ idea.

But: a README is not only necessary for existing projects. Thomas advises to start with a README for your next project to be crystal clear with all stakeholders including oneself about the intentions and to collect feedback before writing a single line of code. A bit similar to code sketching, and a great start for a TDD / BDD approach, detecting complexity early on. Related to that, writing issues as documentation and implement on agreement will help you get your intentions right. It will save you time issuing and getting your pull request merged. And, as you’ve already written your issue down, if you can’t implement it – someone else might, with your instructions!

Tool-wise Thomas recommended checking out MDN and READMEtree (README for all dependencies).

via WordPress

May 14, 2014 at 4:06pm
1 note

From the closing notes

Last weekend I ran around at the Johannes Kepler University in Linz as part of the staff. As I took on the closing notes for a few months earlier (with the same team), I decided to do another 15 minutes chat and take Sebastian down with me. The poor soul had taken on a lot of responsibilities the 2 weeks leading up to the conferences as I have a lot on my plate at my job and all kinds of Rails Girls (Summer of Code) stuff, and he was exhausted.

After a mandatory lost & found announcement, we got to tell our story for the entertainment of the attendees. Organizing the beast took little over 1 month. However impressive – this did mean that you can’t plan thoroughly. Not even remotely. We had to deal with a lot of last minute program changes and because the date was already set before even checking what other events would take place at that time (I am looking at you re:publica, LinuxTag. Berlin Web Week) the organization did not sell as many tickets as they had hoped for.

With this little planning and very few people who were up to speed on what needed to happen at what time, the staff came up with the #ueberraschung hashtag. Between tracks, the people responsible for the tracks (Laura and Dražen in track 1, Teresa and myself in 2 and Sebastian and Babs in 3) communicated via Facebook group chat using that hashtag a lot. We do apologize for people who were affected by things-not-taken-care-of. There were no vegan or gluten-free lunch options and we did not list anything in the neighborhood that did offer such options. Which is bad and we feel bad.

Screen Shot 2014-05-10 at 18.10.28

Screen Shot 2014-05-10 at 13.46.59

Talking about hashtags, there was apparently some confusion about which hashtags to use. Which resulted in people just using both #codefrontio AND #codefront2014. Some of our favorite mentions:

Screen Shot 2014-05-10 at 13.08.42

Screen Shot 2014-05-10 at 13.08.28

Miscellaneous fact: we missed one speaker as he did not get his visa in time.

For the obligatory (yet sincere) thank-you’s: Thank you team, ‘Turkish delegation’, Vigo and crew, speakers, Johannes Kepler University, Catalysts,, GitHub and This conference would not have taken place without your great efforts.

Codeschool, Pluralsight and raffled out licenses and coupons. Which is great and to my understanding all winners have been notified. Usersnap provided premium licenses for their service to all the speakers. Again: great.

We will collect all slides on a single Speakerdeck over the course of this week. Much the same goes for publishing the pictures taken.

via WordPress

March 29, 2014 at 7:21pm
0 notes

Issues with the WordPress Barrci theme

Dear Vergo team,

As Themeforrest doesn’t really give me an opportunity to insert pictures in my support ticket, I decided to turn to this beautiful medium: a WordPress blog post. I know, it’s ironic. A friend of mine purchased the Barrci theme last October and we are having some troubles understanding it’s functionality and how we could customize it to our needs:

  • First off: we would like to have just a text overlay on our portfolio images, that means: no ‘+’ button and definitely no click-through to a different page. So: just the image, a one-liner that shows on hover-over, and that’s it. How can we do this?
  • Second: this might be a lack of understanding the font awesome (font) from my side, but why – when I hover over a ‘services’ item – does the icon stay all popped up and weird?This doesn’t change back until a refresh. Screen Shot 2014-03-29 at 22.08.49

As I feel like the documentation is lacking here, I tried putting the icon code in the title input field. Was this the wrong decision?

Screen Shot 2014-03-29 at 22.12.47

  • Third, we would love to have our featured post to show a title on hover-over, much like what’s default in the portfolio section. Does the Barrci theme support this? Plus, how do we get rid of the annoying “browse all articles”? And is the [blog_featured] limited to showing a certain number? Or can we influence this somehow?

Screen Shot 2014-03-29 at 23.01.58

Thank you so much in advance.


via WordPress

February 11, 2014 at 5:37am
0 notes

Rails Girls Leiden 2014 – a summary

It all started at Bubbleconf talking to Jan and Bart at the after-party. Henrietta and I had done a talk on the Rails Girls movement, and these two guys suggested that I should help them set-up an event in Leiden. An offer I couldn’t refuse, so after organizing Rails Girls Rotterdam and Rails Girls The Hague (both last year) and coaching at numerous other events, I started bugging sponsors yet again.

photo by: Anika Lindtner

photo by: Anika Lindtner

With the great support of both Bart, Jan and our supporters at InnerBalloons, Hiro, Inspire, and Wooga, we pulled it off. Despite a power outage.

Rails Girls Leiden 2014

We were blessed with the enthusiasm of our coaches, most of them had already coached at the previous events. Being the veterans they are, everything went super smooth. I was particularly happy with Hester’s (Rails Girls Summer of Code student; Rails Girls Groningen organizer) RSVP. Organizing this event in my hometown no less, made it all extra special.

Rails Girls Leiden 2014

The Lightning Talks were all pretty powerful. Arjan (@kabisaict) told the attendees that “people who respond in a negative way to you coding ambitions, are not the people you want to hang with.” Anika Lindtner talked about the Rails Girls Summer of Code project (and how chocolate really helps when you get error messages). And Bart Zonneveld (@madebyhiro) used ordering a programming book on Amazon as a metaphor to explain web requests.

Two attendees came up to me at the end of the day, telling me they’d want to be coaches for follow-up events. As Karen Sijbrandij and Martina Simicic presented Rails Girls NL during the Lightning Talk sessions, they were snitched right away. Rails Girls NL’s next workshop will be an introduction to Git.

Check out the pictures here.

via WordPress

February 1, 2014 at 4:07am
0 notes

Changing jobs; CheckiO » anynines

From October last year until the end of last month I had the great pleasure of working for the most fun game platform IN THE ENTIRE WORLD, CheckiO. As my co-workers (mostly crazy Python developers) recently secured a $750K investment and are making their way to Las Vegas, they’re looking for a Community Manager in their time zone (9 hours difference proved to be ‘a thing’). Be sure to follow them, a little bird told me they’ll release code challenges in different programming languages in 2014!

Starting February, I’ll take on a 3-months project at anynines as their technical writer (for their blog) and I am excited to help shape up their marketplace for add-ons. anynines is a 100% European Platform as a Service, which means that their data centers are located in Germany, and as such not compliant to the US patriot act. What can I say – exciting stuff.

via WordPress

January 23, 2014 at 7:43am
0 notes

Giving anynines a try for a simple Rails app

I decided to give anynines a try for a simple Rails app. I worked with Stringer, but anynines actually developed their own little web app you can use.

Stringer is a Ruby (2.0.0+) app based on Sinatra, ActiveRecord, PostgreSQL, Backbone.js and DelayedJob.

git clone git://  
cd stringer  

Getting Started

To get started using Stringer for development simply run the following:

bundle install  
rake db:migrate  
foreman start  

The application will be running on port 5000

Setting up anynines deployment

I probably chose the worst possible week to try out anynines as first I got caught in an endless login loop and next I couldn’t connect to the anynines api. BUT after all that (and 3 support tickets – which were answered quickly), deployment worked like a charm.

After you’ve installed Ruby (1.9.3 or a more recent version), go to your command line and install the a9s gem which downloads the needed gems for interacting with the anynines system (cf, cfoundry):

gem install a9s  


Now select the anynines api endpoint as target and authenticate using your user credentials:

cf target  
cf login --email [your@email] --password [yourpassword]  

Or if that doesn’t work for you (like it didn’t for me), use:

cf login -t  

… which will prompt you for your email address and password.

You can deploy your code by using the cf push command now.
A wizard will guide you through the configuration process, where you’ll choose your memory limit (128M 2; 256M 3; 512M; 1G), Subdomain (‘Stringer’ in our case) and Domain (we use When you see an output like below, you’re on the right track:

Creating route OK   
Binding to Stringer... OK  

The available services for your anynines hosted app are as follows:
1: elasticsearch 0.20
2: mongodb 2.0
3: mysql 5.5
4: postgresql 9.1
5: rabbitmq 2.8
6: redis 2.2
7: swift 1.0

… or you can opt for user-provided.

We’re using Postgres.

Creating service postgresql-d2197... OK  
Binding postgresql-d2197 to Stringer... OK  

Screen Shot 2014-01-22 at 23.32.10

Push successful! App 'Stringer' available at Sort of. But this is my fault really, I have to perform some work on the app itself (I’ll update this post as soon as I did).


You can check all available cf sub-commands by typing cf help, check your current space and organization using the target command cf target. And you can use the cf apps command to get a status list of your applications running within the current space.

Happy deploying :)

via WordPress

November 28, 2013 at 6:13pm
0 notes

The Digitalistea are serious gamers

Yesterday evening I attended a Digitalista event for the first time. What’s more, I even did a talk! Which was pretty neat because it was the first time I got to talk about CheckiO and gamification. On my way home I decided I need to write a recap as it has been a while since my last post. So here we are.


The speakers all got cakes! photo: Teresa Hammerl

Serious Gaming

Jörg Hofstätter, Managing Partner of Ovos, explained just what gamification is using a metaphor of how he gets his kids to be at school on time. When they linger around at the comic book store (again) he simply shares that he’ll probably beat them being the first at the kindergarten. “Works everytime.”

At Ovos, Jörg has worked on educational game, SpermEX, teaching youngsters about sex education without being all pedantic about it, and Cure Runners, teaching financial literacy. With the game Technik Queen, Ovos contributed to a campaign from OMV to get women interested for a career as a Technician, at a young age. Being very skeptical about ‘making stuff pink’, it’s all about serious gaming with Hofstätter.

Game journalism

Zsolt Wilhelm, GamesStandard), talked about how so many people play games, that this is a cultural thing. The Guardian and the Standard should report about it. And they do. Which doesn’t translate in a massive turn of the public opinion of playing video games being a less… high-brow activity. And sadly, Zsolt doesn’t get to play any more video games than we do on a daily basis, contrary to his friends’ belief. I believe it has something to do with a job. ;)

Gamification for the technical savvy

I talked about the various gamification elements on CheckiO, a gaming platform for gamers. We have badges, prizes, levels, points, but moreover, we gamified content creation and community management. We recently published the templates and tests for our code challenges on GitHub, so people can create their own missions. And promoting users to the status of top coder, or star player, comes with great responsibility – to create a welcoming community for both experienced and beginner coders. Which makes my job as a Developer Evangelist a whole lot easier.

CheckiO started when our now CTO was bored and lonely, trying to learn new programming techniques. He got his friends to join in code riddles he had made up. Today 27.000 so-called pythonista’s are signed up for the platform and it makes me giggle when our dev team is trying to reach levels and badges they’ve designed and implemented themselves. Now that’s game trickery for you!

Making house rules fun

Claudia Riegler, Social Media Manager at Wiener Linien blog as gamehub, 6 badges, 5 levels, social sharing unlocked points (20 points per Facebook friend you invited – to be precise). Wiener Linien introduced the 10k badge and new levels along the campaign, looking at usage stats.

Changing behavior for life

Fredrik Debong shared his personal story, dealing with diabetes for 30 years, which is inextricably linked to the company (MySugr) he founded with a few friends. Driven by fear of what could happen – so a negative motivation – is not ‘fun’. And apparently a ‘diabetes burnout’ (where you basically stop measuring your blood sugar and inject the same amount of units for anything you take in, be it a small snack of a full meal) is a thing. A dangerous thing. “There’s a lot that you have to do as someone with Diabetes. What I want to teach people is that it’s great when they take any kind of control over this thing. Checking once a day is better than not checking it all. Only by celebrating the little things can we change behavior for life.”

via WordPress

November 19, 2013 at 5:16am
0 notes

October 23, 2013 at 9:55am
0 notes

DevFest Vienna, Day 1 & 2: Talks, Presentations and Hacking

A tad overdue, but still: my recap of this years Vienna DevFest.

Google+ Platform – A Year Later – Gerwin Sturm

Gerwin started his talk looking back on how the Google+ API has grown since 2011. Fast-forwarding to 2013 he highlights the easy authentication and platform insights with Google+ Sign-in, Mobile SDKs with ‘interactive posts’ and the possibility to create collaborative web apps using the Hangouts API. Gerwin showcased how Google+ Hangouts’ custom background responds to movement. And he’s working on a heckload more, just check out his GitHub account.


Hands-down the funniest talk of the day was Flying Sharks by Florian Pirchner (and associate). To figure out exactly how ‘Sharky’ can fly around controlled by a Arduino panel or web interface, I’d advise you to read through Florian’s post.

IT security; a never ending saga – Massimiliano Falcinelli

“If you’re a hacker, you’re likely to be a developer.” With his talk, Massimiliano Falcinelli made us think like hackers, in order to learn how to protect ourselves against all kinds of hacks. “You don’t need to be a skilled hacker to perform a hack, many exploits are published on the web, for any skiddy to use.” Need a little more imagination? Check out Exploits Database,, and

Surviving the environment disasters – Anna Bulenkova

Anna started her talk going through the challenges JetBrains faced with creating RubyMine (a Ruby on Rails IDE). “Dynamic languages are hard to support as they are under constant development. And as they’re mostly open source, it’s sometimes hard to track who exactly is working on what. Oh, and then there’s dynamic typing.” BUT, JetBrains found a way around all this and RubyMine now supports auto-completion, usages search, dependency resolution, and refactorings.

Lightning talks!

Yes, we had lightning talk sessions! I talked a bit about Rails Girls and Rails Girls Summer of Code, Andreas talked about the Ruby User Group meetups in Vienna, Kevin about his ambition to start a Code Club in Vienna and Rafael about the Scala User Group Vienna meetups taking place monthly.

After the lightning talks, I rushed to the Codeship office to check up on the Viennese team joining in the Rails Rumble. Aaannnddd I rushed back.

Bad Tests, Good Tests – Tomek Kaczanowski

Kaczanowski is very down to earth when it comes to testing: “When you do things the right way, you’ll have more work to do.” But one should definitely test their application. And Tomek has some advice for those who care about 100% test coverage – in the sense that you test everything, not writing tests for the sake of writing a lot of tests. “Looking at literal code coverage is the same as an editor telling their authors to write a number of words before deadline x. It makes no sense.”

First: postponing the moment you start writing tests, increases the chance you won’t write any tests at all. Tomek encouraged the attendees to practice TDD – Test Driven Development. He’s also a big fan of the single responsibility principle, thus testing one thing at a time. On test method names: “Keep the readability of your tests in mind, ‘should’ is better than ‘test’.” shouldRejectInvalidRequests() describes the scenario better than testRejectInvalidRequests(). Last, Tomek advised us to read the Practical Unit Testing book (he wrote).

RAD for mobile with Codiqa and jQuery Mobile – Riccardo Rubini

Rubini’s talk helped us through the steps to develop a working sketch of a mobile application with literally hours of effort, using the Codiqa toolbox for RAD (Rapid application development) / prototyping and the jQuery Mobile widget set. You can find a working demo of an app created with Codiqa on Rubini’s website.

At around 7pm The After Party started. And even though I promised myself to stay only for one beer, I ended up leaving ‘a little later’ than expected. Totally worth it. The next day was Open Hackathon day at Sektor5. The vibe? Relaxed. Everyone was working on either a sponsor-related project (both and PayPal provided an API) or on their own projects, exchanging ideas and wits. The final presentations were fun and not at all as competitive as I’m used to from other hackathons I attended. Which was actually nice for a change.

I’m already looking forward to next year’s DevFest.

via WordPress

October 21, 2013 at 3:21am
0 notes

Time for a new adventure at CheckiO

It’s time for a personal announcement – I heard that’s what a blog is for anyway. As of today I’ll start working for CheckiO, a super-fun platform where one needs to code (Python!) to move a level up. I’m excited as I’ll get to do a lot of the stuff I do already – like organizing and attending meetups and programming workshops for beginners – for a living! Next I’ll dig into the copy of, create new challenges with my talented co-workers and users and you’ll see me hang around on the forum a lot.


That does indeed mean that I’m no longer working for Usersnap. I will however keep tabs on them and I advice you to do the same. They have a pret-ty interesting integration partner announcement coming up (it starts with ‘hero’ and ends with ‘ku’, but that’s all I’m saying) and they are working on web dev shaking new features.

End of announcement.

via WordPress