Linux

Implementing barrier in Pthreads

According from my previous post, the most useful thing in parallel programming is barrier. Usually, barriers are available in Pthreads at least below 3 functions.

int pthread_barrier_destroy(pthread_barrier_t *barrier);
int pthread_barrier_init(pthread_barrier_t *barrier,
      const pthread_barrierattr_t *attr, unsigned count);

int pthread_barrier_wait(pthread_barrier_t *barrier);

Unfortunately, above functions may be not available on some architecture, e.g., Cygwin. That's why I need to implement one.

Analysis of Camfrog Protocol

Camfrog is one of the most popular video chat system because of its performance and scalability. It is not as simple as you think. Camfrog is in press so often in Thailand. See below for some examples.

  • Manager Online 1 2
  • Daily News 1
  • ThaiRath 1 2 3

Parallel Programming with Pthreads

As of today, parallel programming paradigm has been backed for a while in processor level so all of us should change programming model to utilize this advanced architecture efficiently. The easiest way to consume all processor is to use multi-threaded model. In particular, you need to know basic concept of thread in general and POSIX Threads aka Pthreads for specific implementation.

How to automatically mount NTFS removable devices with NTFS-3G on Ubuntu Edgy

NTFS in Linux is not complete stable yet. Anyway, the state of the art is not that far from perfect. I'm talking about NTFS-3G which enables both read and write operation using user space driver cooperated with FUSE. By the way, it is still in beta and the latest version has just released on December 12, 2006 or about 6 days ago. In other words, NTFS-3G has not been tightly integrated into Ubuntu Edgy yet.

Improve performance of Apache HTTPD by Expires

Apache HTTPD is one of the most popular web server in this world. It may handle wide range from light load to heavy load. Another popular one is lighttpd. There are so many benchmarks to compare these two softwares. For lighttpd, lighttpd is the best. In other view, Apache HTTPD is the best for themselves. These benchmarks are just to measure performance under heavy load. Another approach to improve performance is to reduce load.

Installing Jabber for Access Grid Tool Kit 3 - A long tale

I'm not familiar with Jabber server for so long. Anyway, I used its client all day all night to access . Jabber is one of the most powerful open-source instant messaging software based on XMPP. Actually, installing Jabber should be quite easy as long as you don't need SSL support. I used to setup Jabber long time ago. At that time, it was very easy so I expected to just do it again by recent version as a backend for Access Grid Text Chat.