Weblog for Costin Manolache

Technical stuff

Wednesday, November 16, 2011

Code search

With google code search going away, I did a quick eval of the options. It was surprisingly easy - I just tried an android search, only one found answers: Grepcode

  • includes android trees
  • eclipse/intellij integration
  • API - you can see all source code they crawl, including versions
  • even allows binary download for jar/javadoc/source
Other options: 
http://www.koders.com - no android

http://opensearch.krugle.org - even fewer projects indexed



Monday, November 14, 2011

Direct connection to an xpra window in winswitch

Use case:

  • you have a server with winswitch, where you run your applications
  • server is behind a firewall - only SSH port open
  • a client computer - you don't want to install the full winswitch, only Xpra 
On server: "xpra list" -> find the port number ( :64 in my case )

On client: 
  • copy .winswitch/server/sessions/PORT/session.pass to local machine
  • xpra attach ssh:HOST:PORT --password-file=...session.pass
Winswitch seems to start (for an xpra session ) one Xvfb-for-Xpra server, dbus and gnome-keyring -daemon.  Haven't tried VNC sessions - I'm experimenting with xpra, will try NX next. The cool thing so far with xpra is that it's very easy to resize the application window - not so easy with VNC or normal 'desktop' sharing. 


Sunday, November 13, 2011

Remote display - done right

It's mostly a wrapper around various existing technologies - VNC, NX,
and the new http://xpra.org/.  But it's cross-platform, and very easy to use - shocking in today's world of hard to configure and complex software.

The main goal is to start an app on a machine, and than continue to use it on a different machine. I start Eclipse and chrome on my main desktop, than when I use the laptop I just 'attach' to them. Speed is pretty good, certainly faster then running it on the laptop ( which has far less RAM ).

Xpra is similar with VNC - it starts a dedicated Xvfb server for each application to keep them isolated. The wrapper and Xpra are python - I looked briefly, pretty clean code.

On the 'easy to use' - uses mDNS for discovery, it creates the needed SSH tunnels between machines transparently. Each machine runs a small server that handles the attach/detach and additional ports.


They provide easy instructions to install on mac, windows and many versions of linux.


Issues: I'm not sure I fully understand the authentication and the protection of various ports. The firewall should help a bit, but I need to look more into the configs.

I also think using XMPP or some other common protocol for the machine-to-machine communication would have been better.