Quick shots

A few months ago, I got an iPhone, and I've been playing with Instragram since then. If you're curious about the random shots I take from time to time, check out this url. Cheers!

Another step in the wrong direction

From now on, any person who habitually consults websites that advocate terrorism or that call for hate and violence will be punished," he said in a statement. "France will not tolerate ideological indoctrination on its soil.

Quoting M. Sarkozy (via: Reuters).

Next thing, M. Sarkozy will ask Google to censor the web, oh wait no this has been done a long time ago. Now, the french government would just openly monitor every citizen with military-grade software: Libya proved us this tactic works quite well (j/k).

If terrorism is about using violence to make a point, this guy made a good job at worsening France's Internet regulations. :(

My little ssh hell

An "old" computer of mine is nicely hosted at my $work offices in France. This machine serves as a VPN server for each and every worker that would like a remote access to our local network in Paris. I'm my first client, so it's not that unfair that I used my own computer (plus some company time...) to setup some services.

The office is linked to the net through a fiber with very decent up/down rates, plus a backup on two DSL lines, just in case. Some ports are simply NAT-ed to out little VPN server. Let's call her polaris, since it's kinda pointing home.

I couldn't not abuse this setup, so my IRC client is sitting on polaris, and is used for (mostly) professional discussions. However, I can't really rely on the VPN to be up all the time to connect to the machine, and a proper out-of-band channel was needed.

Out of pure boredom, I decided I would use another server of mine as a tunnelling outpost where I'd forward polaris' local SSH port. Using a crontab, I'll just launch periodically a script that looks just like this one:

#!/bin/sh
count=`pgrep -cf oz@outpost.tld`
if [ $count -eq '0' ]; then
# Root is needed to forward privileged ports...
sudo -u oz ssh -fNi /home/oz/.ssh/outpost-key oz@outpost.tld -R 2222:localhost:22
fi

On my laptop I would then add the following lines to ~/.ssh/config:

Host tunnel-outpost
User oz
Host outpost.tld
LocalForward localhost:2222 localhost:2222

To connect to polaris, from my laptop, I'll have a background ssh -fN tunnel-outpost running, so I can connect to polaris ssh oz@localhost -p 2222

I'm sorry sir, but that's way too simple. I also want to use my IRC client (irssi) as a bouncer/proxy. For this, you'll have to /load proxy in irssi and then set a port for each network you want to proxy using /set irssiproxy_ports network_name=PORT (quite fastidious IMHO...). Let's add a few more SSH config lines to my laptop then:

Host tunnel-polaris
User oz
Host localhost
Port 2222
LocalForward localhost:4242 localhost:4242
LocalForward localhost:4243 localhost:4243
# One line per forwarded IRC network (I have like 6 of those...)

Now I'll have to run two backgrounded SSH tunnels to have my ports tunneled: ssh -fN tunnel-outpost && ssh -fN tunnel-polaris. This is getting fun (or ridiculous?) I can now run whatever IRC client I want connecting it to the forwarded TCP ports on localhost... Let's do one more silly thing while we're at it. Let's imagine, I'm sitting in a Starbucks somewhere in Mexico, and one of our beloved clients decided she would open her secret development service only to a few public IPs, including my office's. That's a very weak security measure, but sadly not uncommon. Well that's a job for a proxy.

Using SSH, you can setup a really dumb Socks proxy in seconds. I typically use DynamicForward. So my SSH config is now starting to look like this:

Host tunnel-polaris
User oz
Host localhost
Port 2222
LocalForward localhost:4242 localhost:4242
LocalForward localhost:4243 localhost:4243
# One line per forwarded IRC network (I have like 6 of those...)
DynamicForward 4200

And... That's how you get a spaghetti SSH config.

As a side note, I should add, that I fell in love with SSH's ControlPersist feature, that allows you to share a connection to the same server between several SSH clients (I'll let you check the excellent ssh_config manpage for this). In the end, my laptop's SSH config is more in the lines of:

ControlPath "/home/oz/.ssh/%h-%p.sock"

Host tunnel-polaris
ControlMaster yes
ControlPersist yes
User oz
Host localhost
Port 2222
LocalForward localhost:4242 localhost:4242
LocalForward localhost:4243 localhost:4243
# One line per forwarded IRC network (I have like 6 of those...)
DynamicForward 4200

*cough* ... :)

Sadly, I have a few of these things. Hosts should be in different countries or it's pointless and spoils all the fun, and maybe you could add Tor proxying here and there for those times when invisibility is more important than latency.

So, as a conclusion, I'm so not publishing my dotfiles to Github.

How to disappear

_why and later Pilgrim committed the first infosuicides of our information age. However their methods seem to be lacking, since all their online presence has been thoroughly backed-up by magical Internet gerbils around the globe. I've come to think that another way, maybe better, is to let content rot and fall into obsolescence.

With time, and less linking to old content, your online presence gradually fades. You've become a fossil, and really few people wonder about those things. Don't cancel all your domain names, don't erase all your public code/prose from the net, just let it rot here for the world to forget.

Hipster not

Chromium has become half of my day-job environment. It has the nicest debugger out there, it's snappy, and that's all I need for testing web apps lately. On the other end, Firefox's (currently beta 11) is my goto-browser for everything else. The Pentadactyl extension is a blessing for my fingers (except when dealing with web-apps that try to dispute the keyboard with pentadactyl: It won't let them), and the mouse... well who uses mouse anymore? All you need is a keyboard and/or a touch-screen.

Recently, one thing struck me in this setup. Chromium has opened tabs that deal with Ruby, Ruby on Rails, and the likes of it, while Firefox is all about nodejs, and coffee-script. Lately, it seems that there's a growing trench between what I do to eat, and what I enjoy in computers.

A few things on the Corona music fest in Oaxaca

This week-end I was at a beer-sponsored concert in Oaxaca with big names like Molotov, Fobia, Sussie 4, etc. If you never heard of them, don't worry too much, I hadn't either: I have tons of work to know more this place... That being said it was the first time I went to a big concert in Mexico so I have to admit I was surprised by a few things.

The first is being told I couldn't get in with a messenger bag (outdoor concert: clothes), which was easily solved by the security-guy checking it really thoroughly until he took away a ball-point pen forgotten in there... I wonder if he seriously thought I could kill someone with a pen. Well that's not really mexican, I've had my fair-share of zealous checks in Europe too.

The second weird thing for me is the habit a few mexicans have of throwing all kind of stuff in the air to express their feelings. Best case: they start throwing their beers. Worst case: one wasted guy's too lazy to walk to the bathroom ; yummy. In the end, I was quite pleased I could get in with a hoodie. :p

Stand-up meetings are so 1914

Holding meetings standing up isn't new. Some military leaders did it during World War I, according to Allen Bluedorn, a business professor at the University of Missouri. A number of companies have adopted stand-up meetings over the years. Mr. Bluedorn did a study back in 1998 that found that standing meetings were about a third shorter than sitting meetings and the quality of decision-making was about the same.

From: No More Angling for the Best Seat; More Meetings Are Stand-Up Jobs

We've been doing our fair share of stand-up meetings at af83 for a while, following one cool “agile” method or another. The “agile” world changes quite a lot, and it's a good thing: it means we are trying to improve. The fact is our sometimes improvised stand-up meetings have annoyed the people nearby: those not attending (willing-fully). That's because the office is setup in an open-space fashion, and many still have trouble with the whole “let's book a room” thing.

Stand-up meetings are definitely shorter and more to the point, however I've come to appreciate sitting through meetings in a chair thousands of kilometers away from my team mates. Or better, lazily resting in a hammock: stress-less meetings at their best. But then I wonder how does that stand-up meeting revolution work with remote work? Does it mean each person is standing alone in front of her microphone and/or webcam? Silly.

The next best thing is no meetings.

 1 2 3 … 269 Next →