Time to upgrade

This is a long time I plan to re-engineer the way Green Ruby is produced. Last week I told Xenor and Simon I was thinking about giving it a break. I’m not that much anymore in the flow. Now my days are full ops and not that much dev. But the guys didn’t want to let me stop.

So we are going to organize things a little differently. Xenor and Simon, which are full time rails developers, are going to handle the content more extensively, and I will just manage the publication, plus some devops links. So we need to get some tools ready to handle that new flow. Maybe, the time it gets ready, we will take some time off. Maybe not.

What I wish is to have a way to let more people jump in, too. Maybe we will get inspiration in how the changelog manages their news flow. They based it on a Trello and it’s quite clever. By chance I explored the trello API recently and I can tell it’s really good, very suitable for custom automation.

This week, I will play lazy on the podcasts. I don’t think they are that much interesting anyways, and all that copy-pasting is exhausting. When some podcasts stands out of the crowd, I will rather feature it in this rant.


2 years


You certainly heard about it, this week there was a new huge Linux vulnerability on glibc revealed. Actually it was leaked by a stupid communication agency few hours before it should have been announced. When such big bug is discovered usually there is a small period of time where the news spread into some limited circles. They keep it embargoed until major distro vendors get patched packages ready. Well, it didn’t go that well this time.

This vulnerability is pretty nasty even if less obvious to exploit than Heartbleed or shellshock, it’s probably in the same category. If you manage servers that are vulnerable (LTS and stable, less up to date versions, mostly), you better upgrade asap. When a bug gets its own name (this one is called Ghost), it seems to be the sign it requires immediate attention. How long is this trick going to work?

And, as we talk about security, Hipchat users should read this (unnamed) security notice.

2 years

This edition is marking the 2 years anniversary of Green Ruby. For 104 weeks I’ve been sending out this newsletter every week. Last week I had a discussion with a friend, he was asking me what was my drive, and what was the reason of my consistency. Well, there are various reasons.

First there is the routine aspect. It’s like practicing Taichi or some kind of exercise. It keeps the mind fresh, and in this context where things change pretty fast, enforcing a weekly review gave me an overall feeling of symbiosis with the wave of what’s going on.

Second is the philosophy of it: this newsletter is a gift. The ruby world is very business oriented. There is a lot of open source in there but still the average spirit is based on a market economy. There are of course many exceptions, I wanted to be one of them, and I believe a gift economy would be more my thing. You get rich of what you give away, not always individually, but most definitely collectively. I like that feeling.

Third, this media keeps me in touch with a bunch of my friends. It’s like a beacon that I send to the people I left behind when I left France to go live in Taiwan. Or people I worked with in my past jobs in Taiwan, even. They don’t often respond to it but I know they can perceive me through this weekly proof of existence.

Also, there is the support from xenor and more recently from simon, which, by sending me a few links each weeks, validate the need to keep things going.

Trello and irc

For as long as I remember, I always have been coding irc bots. In so many languages. I suspect there is some aspect of this that appeals to me. Maybe the creation of life-like pattern. Anyways, my last bot was of course in ruby, I called it cogbot, and is based on the great cinch framework. It has been sleepy for a while, since we were not using irc in Faria.

But Gandi is heavy irc user, and our recent experiments on trello gave me an occasion to get cogbot out of the dust. As a matter of fact Trello has a really great API, and also supports webhooks. So I added a trello listener to cogbot, and it was a lot of fun. Maybe next I will add some cards creation and update features in that bot, but it requires some kind of users management, which, on an irc bot, is not that trivial to implement.

Free your code

Do you have a side project? You should! Maybe the code you produce at work can be generic enough? This is a call for you to consider freeing your code. Open source community is plentiful but I know as a fact that 90% of the code that could be shared is not shared.

There is something I noticed in my own code publication. Often in my work there are constraints of time that lead to trade-offs and code quality is never as good as I wish it was. By working on side projects, the pace is much more relaxed and I can spend hours focusing on non productive efforts to make my code better. Well, this is not to say that side project code is perfect, but the environment of producing it brings another mindset. And after a while, the code produced at work gets naturally more insightful because of this extra practice.

Give it a try, if you happen to have some free time. If you don’t have free time, you’re doing something wrong. But that’s another story.


Greenruby 101

1000 subscribers

After the 100th Greenruby last week, we get the 1000th subscriber to the email newsletter this week. Welcome George :) So for the occasion I refreshed the subscribers map on cartodb. About half of the subscribers are in the US, but there is a total of 73 countries represented, which is pretty neat. But this is based on the ip used for subscribing, so it’s not totally accurate.

Fighting logs pollution

Some time ago, on edition 82, I posted a link to my webalizer stats for the greenruby website. Fatal mistake, I had referrers stats enabled and I got somehow listed somewhere. The consequence was a lot of fake traffic with only purpose to get links listed in my referrers section. After removing this section from webalizer config, and moving the url, the fake traffic was still there. Like a blind wave. This was pretty annoying.

So I began to take some drastic measures. Because I didn’t have referrers anymore in my stats, I went to my apache logs (yes it’s an old server, still running apache2) and fire up a:

tail -5000 greenruby.org-access.log | cut -d' ' -f11 | sort | uniq -c | sort -n

This give me a nice view of the recent referrers. Fake ones are easy to notice. And that the fake traffic was only coming from a handful of ips, so I just made a few:

iptables -A INPUT -s <ip> -j DROP

The result was radically efficient. Certainly I had less volume but it’s now much cleaner. But it makes it clear that having clean volume stats for traffic on your website is not that easy. There are a bunch of fake traffic sources that you may not suspect.

New server soon

I got a new job 2 month ago at gandi, and there is some nice VPS hosting there. I can have a machine just for Green Ruby there. It can be neat and open some options. Green Ruby website is still very static. Various attempts to improve it with a search engine didn’t end up to something concluding yet. Maybe this time it will.

That also may be the occasion to build up a distribution system and move out of mailchimp. I looked around and all I found was php based. So I will probably just write my own ruby scripts, the mail gem looks great and the rest is a question of configuring a postfix with correct SPF and DKIM setup.

Je suis Charlie

Well, this tragedy that happened this Thursday in France impacts a lot of people. Somehow, it perhaps impacts me more than the average. When I was younger I went to art school to become a cartoonist, and finally I changed my mind. But I knew the work of the victims of this slaughter. They were icons in the French cartoon world.

It’s really sad, first because this is murder, second because the irrational impact it will have on society. This is crazy how a handful of brain-dead punks can bend history. Now France is going to become even more paranoid. I already was so uncomfortable when they began to send military with assault rifles wander in the train stations in Paris. It’s not going to get better.


Greenruby 100

This week is the 100th edition of Green Ruby, it’s also the first one of 2015. This week the Linux Outlaws broadcasted their last show, and Rebecca Watson left the Skeptics Guide to the Universe. Those are 2 podcasts that I never list in the Green Ruby list (they are not really on topic) but I rarely miss any of them. Too bad they leave. I thought about it too, but no, I will stay.

So, happy new year or, as we say in french: Bananier!

For 100 weeks already I gathered those links and sent them to whoever wants them. Every damn single week. Just for the fun of it. This is a kind of personal kata, it keeps me in the loop. I just make my exercise in a way I can share it. And my streak of never missing one week is a kind of personal challenge.

There is now 971 subscribers to the mail newsletter, a whole lot of people prefer to subscribe using the RSS feed, and the website has 8 or 9k visits per month. But this is still a side project, with no business behind it. Just one single guy and a couple of friends sharing the result of their weekly review of the news of their craft.

So, as you can notice, the edito becomes a rant, and is going to get a bit longer. For a while I was trying to keep it short just because it sits on the top of the letter. What matters are the links and not the ranting. By moving the blah blah at the bottom, I free myself from format constraints and can unleash my writing desires. muahaha. Not that I have much to say. But you can consider this new section of Green Ruby as the last screen displayed in The Big Bang Theory, where producers display some random thoughts, rants or anecdote. You need to pause the video for being able to read them. Yeah I know I could just blog like everybody else. But it’s just convenient for me to include this writing in my weekly process.

I also improved formatting for text-only diffusion. There is still something bugging me about the link tracking, which is mandatory when using the free tier of Mailchimp service. I guess I will have to find a way around: either I will get away from mailchimp, either I will find a sponsor to pay for removing the tracking (sounds funny when I say it that way, no?). Goddamn I hate tracking-by-default. Maybe I will end up setting up my own postfix with some mailman. Or use something? If you know a good free software self-hosted solution for newsletters feel free to drop me a mail.

It’s amazing how many times I saw dev add google analytics on their templates and at the end nobody was going to check stats except for volume metrics. If you only need volumetric data, use your web server logs! If you really need fine metrics, why not consider using self-hosted analytics like Piwik?

Don’t get me wrong, I don’t hate analytics. What bothers me is what is made of those data. Many companies chose as a business model to consider the user as a merchandise. And most of the time they are not clear about it.

Oh, one last word, next week I will prepare an option so you can chose to receive only the links and no rant. Or only the rant and no links. Maybe I will make each section of the letter opt-out too, if you never listen to podcasts why should you get those, right? I just like choice.


About Green Ruby

Green Ruby is a weekly newsletter that I’m publishing about ruby, rails, javascript and web development in general. I am preparing a website to make it more collective and here is the ‘about’ page, not yet published, but I was thinking it could be interesting to share it before the website is all ready.


The Newsletter began in june 2012 from the habit I had to send weekly newsletter in Codegreen for our team to know what is happening in our company,. That was purely a teamwork tool for general transparency. But with time passing I also included there some links to what I was finding around that would be of interest for my geek colleagues.

That CodeGreen Internal newsletter began to be cluttered with various links at the bottom of it. So I decided to separate that links gathering bunch in another newsletter. But then it could also be useful for my friends, out of the scope of our team.

Green Birth

At that time I had to test Mailchimp service for one of our projects, so because they offer a free package when volume is not too big, I thought I should just create that newsletter as a public freely available publication.

So in february 2013 I sent the first Green Ruby Newsletter to 3 subscribers. Well, mostly our team :) Then it became a weekly habit, so I got a domain name for it, and organically it’s growing slowly.

The redactor gear

Codegreen paid for my Newsblur account so I can follow a bunch of feeds. Google reader was my first tool but well, they are closing, and actually Newsblur is much better. It’s open source and the guy that makes it does a great job (too bad it’s in python and not in ruby).

I’m also loading a bunch of podcasts on my phone and after having tried a lot of podcast softwares I’m really happy with Podkicker, it’s just very convenient and it has all I need with the free version. So in my 40 minutes commuting to go to work, I just get the ears busy. I tried to use Gpodder but it’s not totally perfect and the support in podcast clients is not as good as it should be. So I don’t stick on it, maybe it will evolve and I will get back to it.

But I also get a lot of news by just wandering around on Geekli.st, on Coderbits, hacker news, and I subscribed to a bunch of various newsletters. I also watch teh new gems feeds from @rubygems-alt and I retweet stuff of interest on @cogtw account (those 2 are my alternate twitter identities).

Each week William (aka xenor) also sends me a list of links. But I definitely don’t use any facebook feeds. For some reason, this is a place I avoid the most I can.

What next ?

My ambition there is to keep it non-commercial, and change it to be more community driven. The preparation of the letter is eating a big part of my saturdays for the last 13 weeks and I don’t think I can keep up the same pace for long time.

The idea I have about the community driven thing is by engineering some automation on the news gathering (to replace newsblur), have a place where the news can be triaged by various people, a little bit like it is on Hacker News with a vote system. But the gathering won’t limit to blog posts and rss feeds, there would also be podcasts and video feeds. There is now a lot of possibilities in automation on feeds aggregation. I worked on a project that already does that feeds aggregation, named “the Blux”. And I expect to replicate parts of it for my Green Ruby Engine.

But also, as usual, this project is also an occasion to play with recent technologies or stuff I want to know more about, otherwise where is the fun ? So here comes Ember.js, on the top of Sinatra with mongoDB, and there will be much more on the road (thinking about trying Sponges too).