I use a PC laptop, Mac laptop, and a Linux box. Sending files between all three of them are a pain, and there are a lot of use-cases where Dropbox or something similar isn't particularly feasible either.
As per the Unix philosophy:
Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
Celerity leverages the amazing Hastebin to quickly upload and download code. I created it in a desire to optimize my experience, and I felt it worthwhile enough to clean and display to others, in hopes that it makes your workflow a little bit cleaner!
Celerity is meant to be a small, self-contained script. You can download/clone the repo if you want, but all you need is a copy of the 'main.py' file. An easy solution to this is:
alias celerity='python <(curl -s https://raw.github.com/jmduke/celerity/master/celerity.py)'
Please note that if you do this, you're downloading an (admittedly small) file from GitHub, so you're putting a small strain on them and things are gonna take a few seconds longer.
To post a file:
celerity post [<filename>]
> Uploaded to http://hastebin.com/<id>
You can post multiple files simultaneously by simply listing them, such as:
celerity post fileone.py filetwo.py
And you can even pipe input to celerity:
ls | celerity post
And to retrieve a hastebin:
celerity get <id> [<target>]
Python 2.x/3 (I haven't tested it on 3, but none of the libraries I use are deprecated) and a working internet connection!