trivelop @rrrene on

2015 Roundup - Credo: Teaching changed my Life

This is the final part in a series discussing the projects that shaped "my" 2015.


After the success of Inch, a documentation analysis tool for Ruby, and giving a talk at EuRuKo 2015 about building this rather unconventional tool, I decided to create a similar tool for classic code analysis.

To understand where this came from, you have to know that I have spent the last two years teaching at local universities (next to my day job). Teaching has proven an unexpectedly krass and rewarding experience. I would not have believed it if you told me beforehand, but preparing lessons for students has led me to think very differently about how people approach problem solving.

So, with this background, the feedback from EuRuKo and my personal passion for Elixir, I decided to build a code linter that does not spout "YOU'RE WRONG!!!11" but instead teaches you why you should probably reconsider your code here and there. This effort to create a less dogmatic code linter soon got a name: Credo, announced in November.

It is really too early to tell, but my gut tells me this project will occupy most of my time in 2016. As far as I am concerned, Credo is off to a phenomenal start. The initial reception by the community was an absolute blast. I worked on it for two months and wasn't really sure if people would dig the concept. And then I kind of tanked the initial release, since I had some wrong ideas about how Elixir applications across Hex packages work together.

It was an emotional rollercoaster. ;-)

We're now at version v0.2.5 and I am super happy with the response on Twitter and elsewhere. There is a steady stream of bug reports, new ideas and PRs on GitHub. And last but not least, Credo will probably have surpassed Inch in terms of internet points (a.k.a. GitHub stars) as you read this.

That's it for 2015. It was a pleasure, being in Open Source, giving my first talk, coding Ruby, really focusing on Elixir during the last quarter. I really can't thank people enough for their kind words, constructive feedback and encouraging me to do all this and try seemingly crazy stuff.

Thank you all and see you in 2016. :heart:


2015 Roundup - ElixirStatus: It's all about Community

This is the second part in a series discussing the projects that shaped "my" 2015.


In late July I started a site called ElixirStatus, where Alchemists (i.e. Elixir programmers) would have a place to post their new blog posts, projects and version updates.

I won't lie: it seemed risky, building a site on the premise that other people have to use it to produce any value. Contrary to Inch CI, which has value for any person using it on his or her own projects, ElixirStatus would gain its usefulness from participation. The more, the merrier.

To some, it might have seemed even more adacious to recruit volunteers and waste their precious time on this goal, asking people like Phil Nash and Hans Pagh to improve on my initial idea.

It might have been a losing proposition, but I was convinced right from the first blog post that it had to be this way. This had to be community infrastructure, not my personal link collection.

If I had build yet another linklog as a learning exercise for myself where I was the one person posting the most interesting things of the day, that linklog would have lived and later died with me in case of disaster (or loss of interest, to be less dramatic). The slow death of RubyInside and the recent end of DailyJS are examples of useful resources fading away since one person can't handle the load of being editor-in-chief as a side project.

Compare that to ElixirStatus: What we have done here, all of us together, is that we have engineered a service that will be able to survive even if disaster struck or some career change kept me away from Elixir most of the week. We created something that does not depend on one person to be useful, vibrant and alive.

Over the last 4 weeks a post on ElixirStatus generated an average of 70 clicks (i.e. click-throughs to the linked blog post, GitHub profile, etc.), the median is at 50 clicks (we had two outliers with over 200 clicks). The Twitter account now has over 800 followers and the site sees 50% returning visitors.

With all that said, of course I don't plan to go anywhere.

My involvement in the Elixir community gave life to some interesting side projects which I will maintain for the foreseeable future and you can be sure to read about it on elixirstatus.com!


2015 Roundup - Inch: What a Year

This is the first part in a series discussing the projects that shaped "my" 2015.


I want to start this series with an article about Inch, a documentation analysis tool I started in January 2014.

For those who don't know, Inch is an analysis tool to evaluate your project's inline documentation and identify parts of your codebase that could benefit from better inline docs. Later in 2014 I also created a complementary CI service, Inch CI, which serves badges to put in your project's README:

Inline docs

THE important Inch-related event this year was EuRuKo 2015 in Salzburg, where I gave my first-ever developer talk at a conference in front of ~650 people. Sharing a stage with Matz was clearly one hell of an experience and easily the most important moment in my open source "career" so far.

The overwhelmingly positive feedback I received for my work on Inch directly influenced my decision to stay in software (I am finishing my PhD in an unrelated field at the moment) and to create Credo, a project that takes Inch's philosophy and applies it to conventional static code analysis.

Last year around this time, Inch CI served documentation badges for 500 projects on a daily basis. I am extremely proud to report that this number has more than tripled and stands at 1650 open source projects using the Inch CI badge. This is a testament to the fact that Ruby is alive and well, with the "Ruby underground" leading to new and exciting projects like ROM and Lotus.

I am also really happy about the 100 Elixir projects that joined in 2015. I am sure we will see more growth in this area in the coming year and that Elixir will be play an even bigger role in my life.

Consequently, the upcoming "Roundup 2015" post will be about ElixirStatus, a site I created last summer so that Alchemists around the world would have a place to post their new blog posts, projects and version updates.


Fork me on GitHub