*NIX

How to convert passwd to userdb for ISPConfig

According to my previous howto regarding ISPConfig and Courier's userdb, there are some problems with some crypted passwords. In particular, passwords may contain the delimiter (|) and the back quote (`) for evaluation in bash shell. As a result, the generated userdb will be invalid. Below is the script to fix these problems.

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.

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.

How to generate Key-pair using OpenSSL

RSA is one of the most well-known security infrastructure based on PKI. I'm talking about how to generate a key-pair to be used in applications.