30 March 2012

tmux + ssh-agent

Lately I've been using tmux on remote servers. This allows me to maintain task-specific sessions on remote servers, regardless of what computer I work from or if my internet connection get severed.

The biggest wrinkle in my setup has been ssh-agent forwarding. When I reconnect the remote side no longer knows where to find SSH_AUTH_SOCK. I found a solution.

Step 1. On the remote host, create $HOME/.ssh/rc, make it executable, and add the following contents:

Don't forget: chmod 755 $HOME/.ssh/rc

Step 2. Add these two lines to your .tmux.conf:


A few things kept me from getting this working straight away. You have to disable the default behavior of updating SSH_SOCK_AUTH (that's what the first line does), then you have to set SSH_SOCK_AUTH to point at the symlink created by the script in step 1.

Edit: I mistakenly thought previously that you have to use an absolute path to the symlink because tmux won't expand "$HOME"or "~". Turns out, if you don't quote the path then tmux can do the right thing with ~.

23 March 2012

Life at Galois

At Galois, we believe in seeking out and solving important problems to make the world a better place.  This philosophy runs through everything we do. From internal interactions on an individual level to the interesting technical challenges we take on to the way we orient to the external world.

We hire the best people, we help them to better understand their own passions, and then together we take on important problems.  It just so happens that we have skilled software engineers with a passion for functional programming who take on challenges in crypto, critical systems, secure networking, and so on.

For me, the very compelling reasons to work at Galois are: a strong cultural emphasis on freedom to choose your roles within the organization including seeking external funding to work on whatever you want; strong commitment to open source, and; a cultural emphasis on functional programming and formal methods.

You may have seen the recent article by an ex-google employee explaining why he left Google. One of the themes in the post is that the cultural emphasis, what Google believes, changed. What a organization believes has a deep and profound impact on how you spend your time at the organization, who the organization attracts, and what impact the organization will have in the world.

We have no shortage of interesting problems to tackle in our quest to make the world a better place. If you'd like to join our cause, we're always accepting applications. At the moment, we're especially interested in hearing from potential project leads and principal investigators, but even if you don't fit those roles we may still have room for you. We are also interested in applications for internships.