2015-03-22

Drones and makers

This is now obvious. We are going to get invaded by drones. Of course we will pretend we control them, for a while. But I can bet it’s not going to stand too long. Their autonomy is a competitive factor, and, in our current society, competitive is the Darwinian selective factor. It can be a bit scary.

But on another hand, when we geeks look at those things with our (never-aging) kids eyes, we see fun toys. Look at the B Flying car. We can do them ourselves. Like we were able to tinker with the first computers, the first radio stations. But now we have 3D printing. Yet not that affordable, but it seems to get better. There is also that creepy 3Doodler thingie, and various other new techniques.

Maybe the Makers movement is the hope for humanity. Reclaim the daily small things! Check that instructable website it’s a lot of fun.

Well yeah this all has nothing to do with webdev. Except from the fact that open standards made possible to people like me to do the web myself. After a time, it became a professional activity. Will we get professional makers in the future and see a revival of craftsmanship? I really wonder.

2015-03-15

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.

2015-03-08

About blogging

Well, since that whole blogging thing began, I never have been very active on it. Well, I have a blog on Tumblr because I wanted to know how they are doing it, I published various posts in the faria devtips, and after all, this rant could also count as a publication. So I think I will gather them all under one unique site. A Jekyll github-pages kind, easy and cheap.

After all, I’m not sure the devtips website will stay up any longer. There have been no post since the day I left. Too bad. It’s a demonstration that some collective actions can sometimes rely only on the energy of one person.

So, I made a new repo on github for it, and I will gather whatever stuff I can find that I wrote in there.

Lovely FreeBSD

At our Gandi office in Taipei I had to install a pfsense server, which is based on FreeBSD. It was quite a pleasant experience, actually. Last time I played a bit with BSD that was 12 years ago, and that was not very smooth. I’m happy to be given that occasion to see how it goes now.

For now I’m going to use it like if it was an OpenWRT with some extra OpenVPN abilities. And it will also be a file server for the LAN. Not sure yet how I will handle that.

Ruby package management

When I got in my new job, I discovered a new way to manage server management. They didn’t want to use rvm, or even ruby gems, or pip or anything that is not debian packages. It may sound quite harsh. Since I came in ruby in 2010, rvm has been my best friend, bundle the second one. But this approach is very developer-based. When you maintain large and stable systems, it’s more likely that you will not trust the bleeding edge stuff and prefer confirmed publication of packages before using them. This is an interesting slap on my face.

Of course there are the brightbox packages for Ubuntu, but that’s missing the point. A release has to be out for a certain time so it can be strengthened by security reviews and proper production usage. There is a part of the population for each language that is considering the instability of current releases a normal trade-off. but there is a huge lot of other companies that will wait patiently that things get stable enough for their taste.

2015-03-01

Working abroad

Our craft as webdev is clearly in huge demand. This provides an opportunity for us to travel abroad, discover new cultures, widen our horizon. When I went to live in Taiwan, I was not worried about finding a job. But when hunting for a job abroad it can be tricky to find companies that will sponsor a visa, a work permit, or whatever legal requirement is involved in each countries.

That’s what the new initiative called TechMeAbroad aims to fix, by listing only job opportunities for which a work permit is sponsored. As Julien Barbier explains, it will launch in march, and if you know of any job offers that includes a visa or such thing, please let him know (or send it to me I will pass it along), so we can feed that platform with some real data quickly.

So long ruby 1.9

As planned, it’s now time to say byebye to ruby 1.9.3. But there is still so many old version of ruby in the wild. In debian squeeze, you gotta use 1.8. In wheezy, you have 1.9. And there are still many servers that will refuse to upgrade.

Pick your hero

The registration for Ruby Heroes 2015 is now open. Go vote for your favorite ruby influential dev. You have until railsconf that will happen in april, in Atlanta this year.

2015-02-22

Happy year of the Goat

Here it was Chinese New Year this week. A good occasion for those who are not familiar with chinese state of the web to read about its web design trends 2015. This article is pretty deep and reflects accurately how China uses its connectivity.

So, xin nian kuai le, and of course, gong xi fa cai. And if you need related icons, here are some.

Hello in Firefox

Now that I’m working from Taiwan with a French company, I was have been searching for a decent solution for video conferencing. Because skype and google-hangouts are just not things I like to use. I found out that new versions of firefox include by default a one to one webrtc feature, named Hello. It works pretty nicely. I also tried out Glideroom and Hutt. There are also heavier solutions that I tried in the past like the big blue button.

Unfortunately some dude in the ops team pointed out that webrtc was not secure, so it’s not likely to become a standard for us. Hrum, well, that’s debatable how proprietary solutions are more secure. There is no way to get it figured out. Anyways Webrtc became a w3c standard recently, and the section 12, named security, says: TBD. Let’s hope it will be done properly.

Any of you have some first hand experience with any alternative video conference system, please send me a mail with your feedback.

2015-02-08

Make it static

Damn omnivore

Last week Green Ruby was sent with a delay. For some obscure reason my publication was blocked by Omnivore the automated fraud detection system from Mailchimp. My account was instantly blocked and it was pending a human review. Of course the human review made it clear that the publication was clean but it took 2 days and I still don’t know why this omnivore beast went mad at me.

They declare it’s getting smarter everyday, but really, we are still safe. The reign of the intelligent computer over the human species is not close yet.

Make it static

Dynamic websites are great. But that’s a long time I wonder about the trade-off. If you update your blog every day, and have 500 visits, your dynamic setup is useful when you edit, and it’s a cost for each visitor. There are so many web applications that could be more clever about it. Especially that now the computation is going more and more client side.

Static pages have a really unbeatable response time, their security is really reliable, they are low dependencies and easy to deploy with a rsync.

When I get to think about making a new website, I always ask myself if it’s an application or a website. For sure some kind of applications are computation intensive. Making it all dynamic could make sense. But frankly, if it’s a website, it can have some fancy dynamic features without a huge dynamic setup.

I have seen so many websites made with php, mysql, 5 tables and 20 entries in each. Such site should have pre-generated content, data available as static json files, as a bit of js to make the magic happen. If there is a lot of data, fine, an API server makes sense.

So next time you gotta prepare a website, ask yourself how easy it could be to generate it and use tools like Jekyll or Middleman. Or you can even handle things with custom rake tasks (like I do for Green Ruby website), that’s not that hard. It’s a matter of cyberspace ecology.

2015-02-01

2 years

Ghost

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.

2015-01-25

More Screens

Some time ago, when I left Faria, I bought a laptop with a clear purpose. I wanted to have on linux the same screen experience that I had with the macbook pro connected to 2 thunderbolts. So I got an asus UX301L plus 2 Dell screens U2713HM who supports a 2560x1440 resolution. The laptop in itself is amazing, dazzling fast, and all worked well with an ubuntu install. This was not cheap but that was a while I didn’t spend anything on hardware.

I struggled a bit to find the proper connectors so I could enable the extra large resolution on connected screens. I ended up using the mini-hdmi connector plus a mini-display port converter to DVI for the second one. And finally it worked last week. I had to force the resolution in xrandr and now I have a damn huge double display for a total of 7680x1440. What a blast!

Debian, i3wm and urxvt

Well this is an old story. Some time ago I switched from debian + fvwm2/ion to ubuntu + cinnamon just because I had to know about it. The goal was to be able to convince my wife (and some other non-techies) to switch to ubuntu. But I had to know how it worked on a daily basis. And it was a success for most of it.

2 years ago at Faria I was given a mac. Well, it was good to know a bit more about it, my mac knowledge was dating from system 6.7 time. But if the hardware is really good, the OSX experience didn’t really satisfy the geek that was deep inside me.

Then I got back into a team that is deeply attached to pure linux traditions, when I joined Gandi. I now switched back to a debian jessie with i3wm on my work laptop. Wow this feels good to be back to such a rude but flexible environment. As a matter of fact all went perfectly well and all the tricks I knew 10 years ago are still very valid.

I also took that occasion to get back into urxvt, for my terminal emulator. It’s a very badly documented over-powerful tool. But when you get the grasp on it, possibilities are much more satisfying than with gnome-terminal. I’m still working on my configuration to match few features that gnome terminal had (like font resizing, clipboard management). The notification plugin, combined with dunst, gives amazing results.

It feels good to be back into the cave. To mark this change, I didn’t shave for 3 months so now I’m really bearded like the old-fashioned linux bears. Muhaha!

PS: no worry, I’m still fullstack at heart and I still love ruby!

2015-01-18

Greenruby 102

While42

This week I got in contact with Sylvain from while42. It’s a social network for french tech engineers, but with a special touch on it. There is no facebook page or google group. They intentionally decided to be irl-first. For people that are most likely to be online all the time, this sounds so therapeutic! So, I decided, with Thomas from Gandi, to setup a Taiwan chapter. If you want to know more (and are french, engineer, and living in Taipei) just drop me a mail.

Traveling ruby

This is a project from the Phusion people, called Traveling ruby. Its purpose is to make it easy to build auto-sustaining tarballs for ruby programms, including ruby binary and all gems in it. That way you can publish a tarball and your customer/user will just launch whatever you put in it. No need to install ruby or any gems.

I gave it a try yesterday on my zabbix-ruby-client gem, and after a few tweaks (mostly because I wanted to use an unpublished version of my gem), it all worked pretty fine. Result is a tarball of 8M. Uploaded to the server (an old squeeze), it just ran the self-contained ruby 2.1.5 with no hassle. It reminded me a bit of the feeling when you upload a go executable on the server. Really neat.

Palm control

There are tiny things that can change a lot. My recent tiny thing is the palm control technique. Every sunday when I prepare Green Ruby I do a huge amount of copy pasting all over the place. Recently I found on a post about keyboard someone talking about the palm control technique for avoiding the copypaste fatigue.

Well, you need to have a keyboard that makes it possible. Mine is a Logitech washable k310. I already liked its look, and even better, it’s perfect for this palm thing because keys are prominent. Use the palm to push control and then it’s only a matter of hitting c or v with the index. Honestly, it changed my life!

2015-01-11

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.