It’s not <br /> — it’s <br>, and there’s damned good reason for it. Here’s a great explanation of why.
A project to catalog (every?) interesting algorithm and data structure, ever.
The examples on this site are in a variety of languages. I generally prefer to use C++ for algorithms, since the STL provides a great framework for expressing algorithms that work on a variety of data types. I code up most data structures in Java, both because the Collections framework allows them to be integrated in seamlessly with other applications and because automatic garbage collection simplifies some of the resource management. Every now and then I’ll find an algorithm or data structure that is best represented in a different language like Haskell, in which case I’ll forgo my usual language conventions.
I’ve just crossed the two year mark of working from Brooklyn, New York as a member of a team based in Austin, Texas. Working remotely has taught me one very clear lesson — I must leave the house, every day.
As great as the *idea* of commuting 10 feet every morning is, in practice it can take a pretty serious toll. A day of not leaving the house can be fine, occasionally, but somewhere between the second and fifth day comes a transition into mild agoraphobia, and soon thereafter a trip out for coffee starts to look like a kamikaze mission.
So I spend my days on an endless coffee shop tour of Brooklyn. After a while it gets so that when your friends mention the new sandwich shop down the block, your ad hoc review isn’t about the food or the service — it’s about the wifi, the availability of power, and how many hours the owner will tollerate you hogging a table. Turns out that after a while even the kindest of baristas will not-so-gently remind you that she isn’t running a f**king boarding house.
So I move, a lot.
What if I could shave a few pounds of bag weight by leaving the MBP at home and going ultralight with my iPad and a nice Bluetooth keyboard?
This guy seems to have it all figured out.
Twelve months later and I find I’m still working like this. A combination of Vim and GNU Screen for development, Pages for writing, Keynote for presentations, Jump and VNC for unavoidable X windows work, Mobile Safari for web apps and a hefty dose of python scripts to smooth off all the edges. I use it for development, for presentations, for my side projects, for everything.
So I’m ticking off the must haves and finding alternatives which make an all-tablet life potentially tolerable — and give me the freedom to spend some sunny afternoons in the park, happily working further from the power grid than I’d have ever dared in the past.
Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes.
Mosh is a replacement for SSH. It’s more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.
Mosh is free software, available for GNU/Linux, FreeBSD, and Mac OS X.via mosh.mit.edu
Put simply, Mosh is ssh for a wireless world. Suffer no more your high-latency connections and the constant possibility a connection may disappear for seconds to minutes at a time.
This is epic, amazing and, way overdue.
s is the dead-simple command line ssh configuration management tool you’ve always wanted. Built to do one thing well—remember ssh connections and recall them as simple, single word configuration aliases. Written in bash and licensed as freeBSD so you can use it nearly everywhere.
Use ssh a lot? I do. I also hate remembering which username goes with which key goes with which remote system. And, how many three minute chunks of my life have I wasted adding a public key to yet another server? I shudder to think.
So I created ‘s’.
Designed to be mostly syntax compatible with ssh, s remembers all the details and lets you simply give any user/host/key/(and soon, port forwarding options) combination a name.
Need to add a key to a remote system? No sweat. s will generate a new key for you, install it on the remote, and save the connection you just created—all in one step.
wget https://raw.github.com/grobertson/s/master/bin/s -O /tmp/s && cd /tmp && chmod 700 /tmp/s && ./s --install system && rm -f /tmp/s
- Mac OS X, Linux, openBSD, freeBSD – Written completely in bash, so it works almost anywhere you do
- One-line install from any shell
- Self-configuring, self documenting—Never touch a config file, *ever*, unless you *want* to.
I’ll be adding features on the reg, and you can too! Fork s at Github and contribute instantly.
- Instantly install s on a remote
- Clone a configuration from remote with s installed
- Complete coverage of most ssh command line options
- Support for commands which use ssh like git, rsync and scp
- Auto check for/install updates