A set of scripts and dotfiles to bootstrap swarm coding.
NOTE: Only the host of the swarming session needs to follow the instructions below.
- A *nix terminal. If you're on Windows, check out the PuTTY program.
- Basic familiarity or affinity to a terminal-based editor such as Emacs or Vim.
- Someone willing to host a swarm coding session.
Connect to a swarm host with the following commands*.
$ ssh swarm@$HOST_IP $ tmux attach swarming
* With PuTTY, you will actually be entering the host ip in a Windows dialogue, then prompted for the username later.
- Be on a *nix machine
- Have the ability to sudo
- Add a user with username swarm to your machine.
$ sudo adduser swarm --gecos "" # set password to swarm
- Log in as the swarm user: ssh swarm@localhost
As the User swarm:
$ git clone git://github.com/nuclearsandwich/swarming.git $ swarming/swarmup.sh
After bootstrapping leiningen and symlinking
the appropriate dotfiles for your chosen
$EDITOR, the last command
will start a tmux session called
swarming as well as print a message
that you can share with your swarm on how to connect.
==> Created tmux session ==> Bootstrapping Leiningen ==> Symlinking Editor Dotfiles ==> Direct the swarm to connect using $ ssh email@example.com ==> Happy Swarming
The dependency on the root sshd server is both a security risk to host machine and a pain point for flexible, yet precise instructions. It'd be cool to bundle an embedded ssh daemon (Dropbear?) and run it as the non-privileged swarm user on port 5022 or something.
Since Swarm coding is not, as a rule, bound to Clojure just as it was not bound to emacs, I would like to add support for other languages such as Ruby, Python, Go, or Racket.
Copyright © 2010-2012 the Seattle Clojure Group Released under the Eclipse Public License.