Thursday, September 27, 2012

Easily Enable/Disable SVN Proxy

To configure SVN proxy settings you need to edit the servers file in svn. In Linux, this can be found at ~/.subversion/servers.

Open this file in a text editor and change the settings as following by including the proxy host and port under the [global] section. Uncomment those two lines and remove any leading spaces.

# http-proxy-exceptions = *,
http-proxy-host =
http-proxy-port = 1234

# http-proxy-username = defaultusername
# http-proxy-password = defaultpassword
# http-compression = no
# http-auth-types = basic;digest;negotiate
# No http-timeout, so just use the builtin default.
# No neon-debug-mask, so neon debugging is disabled.
# ssl-authority-files = /path/to/CAcert.pem;/path/to/CAcert2.pem

If you get any errors, make sure that there are no spaces at the start of those lines.

For most of us, proxy is used only at school/university/work. Everywhere else you don't use proxy. So Most of the time you need configure the settings once. But you will have to enable/disable proxy every time. That means opening this file in an editor and commenting/uncommenting manually every single time.

After getting fed up with doing this every time I move to and from university, I came up with a better way to do this.

Sunday, May 27, 2012

Custom Launcher for IntelliJ IDEA in Ubuntu Unity

IntelliJ IDEA does not install a program launcher during installation. You only get a start-up script. So you need to create a custom launcher to quickly and easily run the program without going to the terminal.

In previous versions of Ubuntu we had this to quickly create a launcher.

But in Unity it is not so easy.

Wednesday, February 8, 2012

Gossip Protocol: An Introduction

Gossip Protocol is a type of communication protocol used mostly in large scale distributed systems. It is based upon gossip conversations which is common in many social circles. Gossip Protocols are becoming increasingly popular in distributed application due to its simplicity, scalability and high reliability even in constantly changing environments. Gossip Protocol involves periodic message exchanges between node pairs, which eventually results in information being spread throughout the system which is similar to human gossiping. It is sometimes referred to as epidemic protocols because the information spread is similar to the spread of a virus.

The operation of a gossip protocol is as follows.
  • Each node has some data associated with it and periodically gossips that data with another node
  • Node A randomly selects a node B from a list of nodes known to it
  • A sends a message to B containing the data from A
  • B sends back a response containing its data
  • A and B update their data set by merging it with the received data