Archive of articles classified as' "research"

Back home

open source project management tools



  1. Taiga
  2. OpenProject
  3. LibrePlan
  4. ProjectLibre
  5. Redmine
  6. Tuleap
  7. Trello

p.s.) sandstorm apps –

No Comments

Rudimentary Netperf Testing


I’ve done some rudimentary netperf testing based on the two guides [1], [2]. Before performing the test, you need to install “netperf” in your system (I personally use Ubuntu 14.04 LTS), and “netperf-wrapper” [3] as well.

I’ve run the test from my home server ( to and, where the results are presented below.

  1. between and
  2. between and

It is an interesting point to compare plots in

Note: uses SK Broadband with speed of 10 Mbps (downlink).

No Comments

HTTP Live Streaming (HLS)


I have been searching for a software that can create HTTP Live Streaming (HLS) segments over generic Linux machine out of pre-recorded video sequences, and found one good solution today. Carson McDonald, a software engineer, wrote a blog post about this some time ago, and the source code is opened in GitHub repository.

Another good reference would be this blog post. Apple’s official webpage about HLS can also give us useful information.

No Comments

About Video Streaming and Quality Test



related research papers


No Comments

Efficient String Manipulation in WebKit


I found a useful Wiki for WebKit that can manipulate String type more efficiently. Followed by this Wiki, there were two WebKit bugs that reflected this tip: and

It would perhaps improve WebKit performance, though what I didn’t clearly understand is why “parsing null string is more efficient than parsing empty string”.

No Comments

USENIX Security Symposium 2012


This year we would be able to download and see the whole papers and audio/video clips from their homepage:


No Comments

WebRTC integration with WebAudio


As part of the MediaStream Integration, the WebAudio API recently landed createMediaElementSource(). It allows you to hook up an HTML5 <audio>  element as an input source to the WebAudio API, in that you can visualise HTML5 audio, real-time sound mutation, filtering, etc where the WebAudio API normally works by loading a audio file via XHR or file input.

There are a number of examples at MediaStream Integration, among which the below code [1] appeared to be the most simplistic:


As mentioned in [1], once we hook up <audio>  element together with the WebAudio API, you can wire up navigator.webkitGetUserMedia() to to pipe audio input to an <audio>  tag, which then you could visualise them using the WebAudio APIs.


No Comments

Building WebKit Gtk+ over Ubuntu 10.04


As instructed at, it depends on unreleased versions of glib, and some other packages which I will describe how to install them in this post.

Note: This post is tested under Ubuntu 10.04 LTS, 32-bit version. You may experience different errors used with other versions of Ubuntu or Distros.

Firstly, you might want to try this command to build WebKit GTK port:

Then, it is likely you will meet a bunch of config errors, for example, shown here – it basically complains there isn’t a suitable version of libgail, in which you cannot install with aptitude. You would have to get a fresh copy of gtk+ as shown below:

Note: The official tarball can be accessed at

Okay, so far so good. However, if you try continuing to build, you may encounter another config error as shown here – it complains that you don’t have the right versions of glib, atk, pango, and gdk-pixbuf packages (or installed versions are not met). Again, these are the packages that are not available from aptitude.

First, download Glib and install it:

In doing so, it may complain about libtiff dependency if you haven’t installed it previously. In that case, you could simply install it:

Second, download atk, pango, and gdk-pixbuf, and install them:

Likewise, it may complain about libtiff – this can be installed using aptitude:

Import Note: If you have installed other versions of any of the above packages in your system previously, it is wise to run ldconfig before continuing:

In order to build GTK port, you would need to install libgeoclue as shown below:

Finally, you would need to download and install gstreamer, and gst-plugins-base from here. I have downloaded ‘gstreamer-0.10.35.tar.gz‘ and ‘gst-plugins-base-0.10.35.tar.gz‘ to build WebKit.

Import Note: WebKit Gtk build script tries to find these installation under /usr/ by default, so you may want to give proper prefix options when configuring these sources, for  example:

You would also need to install gst-plugins-good, but this time you should configure under /usr/local as WebKit GTK tries finding it there – don’t ask me why though.

You can now go on to the WebKit directory and run the build script:

,meaning GTK port (debug build) with web-audio enabled, and fullscreen-api, but w/o WebKit2 build.

No Comments

WebKit, HTML5 media, and GStreamer



1 Comment

remote pair programming using SSH, screen, and Vim


There is a convenient way to perform pair programming remotely using SSH, screen, and Vim. First of all, you need to set .screenrc file something like as shown below:

You may need to chmod if necessary:

Also, screen has to be the right mod as shown below:

Apart from screen settings, you would need to know some screen command:

  • screen -S sample: start a screen session at a server
  • screen -x <username>/sample: attach to an existing session
  • ctrl+a, F: fit screen to my terminal size
  • aclchg <userid> -w "#": make <userid> read only (he will still be able to watch you)


Useful Screen Command

Key Action Notes
Ctrl+a c new window
Ctrl+a n next window I bind F12 to this
Ctrl+a p previous window I bind F11 to this
Ctrl+a “ select window from list I have window list in the status line
Ctrl+a Ctrl+a previous window viewed
Ctrl+a S split terminal horizontally into regions Ctrl+a c to create new window there
Ctrl+a | split terminal vertically into regions Requires debian/ubuntu patched screen 4.0
Ctrl+a :resize resize region
Ctrl+a :fit fit screen size to new terminal size Ctrl+a F is the same. Do after resizing xterm
Ctrl+a :remove remove region Ctrl+a X is the same
Ctrl+a tab Move to next region
Ctrl+a d detach screen from terminal Start screen with -r option to reattach
Ctrl+a A set window title
Ctrl+a x lock session Enter user password to unlock
Ctrl+a [ enter scrollback/copy mode Enter to start and end copy region. Ctrl+a ] to leave this mode
Ctrl+a ] paste buffer Supports pasting between windows
Ctrl+a > write paste buffer to file useful for copying between screens
Ctrl+a < read paste buffer from file useful for pasting between screens
Ctrl+a ? show key bindings/command names Note unbound commands only in man page
Ctrl+a : goto screen command prompt up shows last command entered


No Comments

expanding byte bruteforce


This program tests a weakness in the shrinking process. It bruteforces values that could generate bytes as the base offsetting.

No Comments

visualization of quick sort


We have studied the quick sort algorithm in January: When we gave an example of the algorithm, we tried visualizing the sorting algorithm. Today, I have came across an excellent video in YouTube visualizing the algorithm very well – a robot is sorting a number of colored balls.

Interestingly, here is an audio-video visualization of a number of different sorting algorithm. It has visualized of what different sorting algorithms sound like: a brilliant idea.


For your reference, this is a tutorial about the quick sort algorithm.

No Comments



Graphviz is an automatic visualization tool for a structured information in a way of diagrams, charts, and nodes. It is used widely for a paper publication in software engineering, networks, web design, and many other visual interfaces in other domains.

I’d like to copy and paste some of the useful examples along with my own sample graph. Of course, the references will be adequately cited where necessary! Note: it uses DOT language to represent the diagrams.

Let’s start with a typical “Hello World” example.

To generate a PNG file, one could execute the following command:

You could generate other formats (gif, jpg, ps, eps, svg) as well: see –

Now, we could demonstrate color in the graph.

This sample yields:

Now, we could add labels.

which generates

You can change the node shape:

which yields:

Here is my sample diagram:


There are lots of helpful tutorials and information on the web – I have linked some of them as below.



Control Theory for Networks


Recent Advances in the Application of Control Theory in Network and Service Management

No Comments

course material about P2P applications


Today, a French researcher released his course material on P2P applicationss via TCCC mailing list: here.

No Comments