I wanted to view all the different chat windows and the buddy list side by side in a single window. There is no such feature in stock Pidgin installation. Fortunately I found a plugin for same from this ticket.

This plugin is available on Github project dm0-/window-merge ( thanks to David Michael / dm0- for creating it ! ).

You can find the build / install instructions on the wiki, however here is how you can do it on Ubuntu 14.04 and other OSes.

First install Pidgin development headers

sudo apt-get install pidgin-dev

Now build the plugin

git clone https://github.com/dm0-/window_merge.git
cd window_merge
mkdir m4
autoreconf -fi
./configure
make install plugindir=~/.purple/plugins

Once it is installed, you have to enable it from Tools -> Plugins, then enable “Window Merge”. Here is a preview of window merge in action:

Enjoy!

In the year 2006, I had created a project as a part of my academics. I finally managed to find the source code and complete project report which I have uploaded to Github. Mainily, I have updated the source code to use cmake build tool. The project documentation is in Asciidoc. Although it is quite an old piece of code, it works:

plyloviz — Phylogenetic Trees Visualization

phyloviz: phyloviz is Phylogenetic Trees Visualization tool. For more details visit Generation and Visualization of Phylogenetic Trees.

Technologies: C, C++, Qt4, ClustalW 1.83, Coin3D, Bioinformatics

I hope it is useful for someone already working in the field of Bioinformatics / Computational Biology.

Everytime I load a heavy application such as Eclipse or Thunderbird, I see this annoying message which keeps repeating even if I press “Wait”.

"Eclipse" is not responding.
You may choose to wait a short while for it to continue or force the application to quit entirely.
[Force Quit] [Wait]

I tried to search for a solution and found that the question is unanswered in both Ubuntu forum as well as Fedora forum.

So I decide to figure out what code is making the popup window appear. It turns out that the function named delete_ping_timeout_func is called whenever a timeout happens. Code with exact line number is present here .

However I didn’t find any code which reads a timeout value from some configuration file. Is there a mechanism using which I can configure the delete window timeout value? Essentially I would like to make the timeout value to about 4 minutes.

As an aside, I see that metacity developers mailing list has not had any post since year 2011. So is it worth asking it on that mailing list?

OAuth2.0 supercedes OAuth1.0 protocol, specifically in making it simpler to use. It supports different workflows as described in its specification RFC-6749. The most concise pictorial representation I found is here.

I created a Play! 2.0 Application in Scala which supports server to server token exchange using OAuth2.0 Protocol. You can find the project source code on GitHub at play-oauth2-server. Its a complete working server codebase, with:

  • Basic User login
  • Client registration with Callback URL
  • Auth Code generation
  • Authentication Token and Refresh Token generation

This application also demonstrates the following:

  • Twitter Bootstrap library using WebJars
  • Typesafe Slick 2 library for database access
  • Scoverage for Scala code coverage
  • and Specification Tests

To play with it, folow project README document. Please report any issues here.

This post is about the talk I was supposed to give at Ruby Camp 2014, Delhi/NCR. After all the preparation, slides and code I missed it. Unfortunately, I fell sick overnight and I couldn’t make it. Apologies for that.

The best I could do is upload all the material online on GitHub and my website.

  • the code is on GitHub at this repository: tuxdna/rubyml.
  • the generated slides are also online here

Thats all!

Lets say you have a bunch of source code files in a project. Whenever you change them, you want some HTML to be generated. After that you go to browser to see how the change looks now. Here is the workflow:

  • Step 1: Change file(s)
  • Step 2: Run a build script to generate HTML
  • Step 3: Open / Reload the page in browser

Well we can automate all the three steps into one using a couple of tools and some scripting magic. We will need a inotify-tools, NetCat nc tool and MozRepl.

Install inotify tools and netcat:

sudo yum install -y inotify-tools nc6

Install MozRepl as described here: Refresh Firefox page from Emacs

Make sure that you have started MozRepl by restarting Firefox. Then Alt+T then Select MozRepl then Start.

Now create a simple script to watch for changes like so:

while inotifywait -r -e modify src/
do
  # put your command here to generate the html from modified files
  make

  # now refresh the browser
  echo "BrowserReload();" | nc localhost 4242  > /dev/null
end

Keep this script running while you make changes to the source code. You can also automate this with other build tools ( such as Maven, SBT etc. ) and editors ( such as Emacs )

References

I was using Chromium Browser on Linux, to see World Cup 2014 videos on YouTube. Some videos were not available in my region because of restrictions by region. If you are also seeng the same message, the you may want to setup a SOCKS proxy, and use that to bypass the YouTube restriction. For this to work, you need an SSH server what is located in some region from where you can access such videos.

Setup Socks v5 proxy:

ssh -CND 1080 user@some-ssh-server.example.net

Start Chromium browser with this proxy by default:

$ chromium-browser --proxy-server="socks5://localhost:1080" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"
ATTENTION: default value of option force_s3tc_enable overridden by environment.

Now you can watch those restricted by region videos.

Enjoy!

References

Download the Scala IDE from here, unzip it at ~/software/scala-eclipse, such that the contents look as follows:

$ pwd
/home/saleem/software/scala-eclipse
$ ls
artifacts.xml  configuration  eclipse  eclipse.ini  epl-v10.html  features  icon.xpm  META-INF  notice.html  p2  plugins  readme

Create a launcher script for Scala IDE /bin/scala-ide, and make it executable:

$ cat /bin/scala-ide
#!/bin/bash
/home/saleem/software/scala-eclipse/eclipse
$ chmod +x /bin/scala-ide

Configure launcher icon ~/.local/share/applications/scala-ide.desktop. You can copy a config file from /usr/share/applications/ directory and make changes as follows:

$ cat ~/.local/share/applications/scala-ide.desktop
[Desktop Entry]
Version=1.0
Name=Scala IDE
GenericName=Scala IDE
Comment=View and edit files
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=/bin/scala-ide %F
TryExec=scala-ide
Icon=/home/saleem/software/scala-eclipse/icon.xpm
Type=Application
Terminal=false
Categories=Utility;Development;TextEditor;
# StartupWMClass=

Now you can invoke scala-ide from shell ( command line ) or via desktop search (Alt+F2).

References:

This post is coming after a long time. Apologies for that.

Alright, this one is for the fans of Apache Mahout and Scala programming language. I had given a talk on Machine Learning with Apache Mahout and Scala ( slides ) at OSDConf.in. The code examples are present on GitHub at this repo.