Remote editing addiction on [2013-01-12 Sat 08:06]

I've had an insufferable itch for the past 6 months to remotely develop on my windows laptop. I need to run windows because I'm running .NET. The journey started as follows:

Editing Files

  1. Run dropbox and edit files through dropbox. Let them sync.

    Result: Not real time enough

  2. Run unison on both and edit locally and have unison sync it. Unison is fast and painless but it's not real time. I had to bolt on an inotify call so that it would trigger the unison sync whenever I saved.

    Result: Too much complexity. Unable to remotely execute programs (e.g. to execute SQL)

  3. Run cygwin sshd and ssh into the server and edit locally.

    Result: Somewhat complex to set up. Pretty decent solution but it was laggy over my wifi. Also, cygwin is a large setup

  4. Run dropbear sshd. My hope was that I could compile dropbear under mingw and run it without cygwin. Not possible. I've been able to get it to run with a slightly smaller cygwin install but still required cygwin.

    Result: Turns out that it requires most of cygwin.

  5. Run emacs w/TRAMP. OK, now I get the benefit of instant feedback.

    Result: No real issues. Sometimes tramp gets hiccups but that may be because of a botched cygwin install that occasionally blows up on forks.

  6. Run a vagrant VM box w/mosh and mosh into the server and vim/emacs locally.

    Result: Best option so far. No dropped connections and quick keys feel realtime.

Remote Execution

I also need the ability to connect to SQL from linux to my windows box.

  1. Run sqlcmd while from ssh connection to host

    Result: Works well if I ssh into the box, but won't work if I am sshing into the linux VM

  2. Run winexe from remote connection

    Downloaded from:

    ./winexe -U joebo -W WORKGROUP -n joebo-PC // "powershell.exe -file -"

    Result: Gives me a shell which I can run sqlcmd from

  3. Run sqsh from remote connection

    Installed via apt-get install sqsh

    sqsh -S -U sa

    Prerequisites: set up tcp listener on SQL and enable mixed mode auth.

Prev: Markdown support  Next: Moshing it on my phone