The virtues of transitions

A collection of events occurred since my last post. I was really hoping to get some deep dive into writing more about collective intelligence, in the background. But various things came and distracted me from that initial trajectory.

Hubot revival

First, there has been a revival of the Hubot project. I wrote a bunch of plugins for that chatbot for internal usage at Gandi in the past year. I have been poking around in the community complaining that it became some sort of abandonware. Issues on github were not addressed, PR unanswered, irc was silent.

Then one day 3 weeks ago, bkeepers came up and woke it up. It appears that now Github has plan for this codebase. They want to include it in its products more officially, says the rumor (nothing official yet). But it makes a lot of sense. So then he gathered people that could be involved in the revival of the project. I was contacted to join the core team. That’s what you get by nagging people.

Since then it has been quite great to clean up backlog, re-examine old ideas, help setup new process and tooling for community gardening. I never get tired to see how informal communities can shape up and self-organize.

Quiting is not a bad thing

Around the same time, I felt inspired by handing my resignation of my current job at Gandi. There is nothing wrong with the job, and most reasonable people could argue that I’m just stupid. But there are a combination of factors that led me to think I was not using my potential at full capacity.

Working on a large infrastructure as a sysadmin was great, but it’s pretty hard to build new things properly in the service industry. It’s always about contingency management, and reacting to the environment. It’s more about doing the fireman than the gardener. Well, honestly, I think it’s a question of intent and culture and that could have been addressed. But I didn’t see any hint that could let me think this environment would become intentional about gardening anytime soon.

So, out of the blue, I left. I chose a moment where there was no crisis, no trouble, no real reason to quit except a strong feeling that it was time to move on. That way, transition is painless, there is no frustration involved. I hate conflicts. My advice: never wait the burn out to make your move out.

Green ruby end of life

In the mood of transitionning, this week I proposed that we close the Green Ruby adventure. For some months Xenor has taken over the publication process. But he’s himself bunt out a bit. So after 4 years of publication, it’s time to close this properly and move on.

That weekly links collection was a fun exercise. And I’m really happy to have refused any business side track on this operation, it would have been much harder to close.

What next?

I decided that I could stay funemployed for a while (that’s the proper term, right?). I’m planning to look around, play with techs, talk with friends, hold on any decision to engage in anything. It’s time to re-assess my roadmap. This is what is great in transitions. By losing contact with the ground, you can feel the direction of the wind.

Maybe I will get back to entrepreneurship, and setup some business venture. Maybe I will freelance for a while. Maybe I will find a context in a company where I feel comfortable contributing. But honestly I have no clue. And yet, this feels great.

Getting back to old friends

In the first days after my decision to renounce my day job, I got back in contact with a lot of old friends. Transitions have that side effect that you have to re-evaluate your environment, your network, your values.

Getting into a full-time job doesn’t prevent that, of course, but you cannot give the same attention. The center of gravity of an employed person is static. Now that I’m floating, I have to dedicate much more attention to my environment. And it’s an excellent thing.

I will certainly have occasion to talk about my adventures very soon. Maybe I will force myself to write more.


My lovely Chatbots, sick already?

Recently I have been to a meetup about chatbots. I was expecting something technical. But it seems that I was totally mislead on what chatbots are. They are visibly now more of a marketing tool than just a cool piece of technology.

I’m pretty convinced that web interfaces are going to die slowly in favor of more conversational interfaces. But in past technology shift we had some time between appearance and marketability. Like with the web, the social networks, etc. No more. Chatbots are immediate slaves for sales volumes. All the blooming of new services for ‘building your own bot’ are just totally geared towards customers management and acquisition.

My naive assumption was that assistive conversational interface could have a larger scope. But well, the market is driven by what sells, and what sells is what make more sales. I just hope it will have a nice border effect to improve chatbots as a tool or as a general interface to access information.

But my instinct warns me against the potential invasion of our social world online by all sort of aggressive automated peddlers. The same way we get robotic phone calls. Chatbots are going to be the new color of spam?


Chatops and machine learning

Since I slowly becomes the chatops specialist where I work, I get to think I want more. Since the beginning we have been interacting with programs essentially with graphical interfaces. First asynchronous if we think about the web, now more and more synchronous, but they are interfaces that are not human. They are designed for giving control to the operators of those interfaces.

But the more we advance in autonomy of our programs, the more we should trust them to sort the information by priorities. The interfaces like Siri, Echo, are much more ‘human’ and conversational. It doesn’t take a genius to speculate that interfaces are going to die one day, except for very specialized usages, and more interaction will be just more conversational.

In the course of my development of interactive agents for technical needs, I noticed that adding just a little bit of intelligence and memory in those agents goes a long way in usability. Especially in chatops, a lot of the actions required from those agents are predicable and repetitive. The development of new features should follow the recognition of those patterns and shorten the path to accomplish some actions. That’s pretty much my job.

But coding this continually is not very cost effective. Tools also change, then patterns evolve. Now all I can think about is a way to design an irc bot that learns by itself. Some program that does real meta-programming and considers its commands as data rather than hard-coded pre-conceived path for the information to flow.

If you know some tools that already do that, can you fire me a mail?


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.