Development

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.

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.

Let's translate

Drupal 5 RC1 has been released for a while. In this version, strings are frozen. All translators are encouraged to contribute again. I have merged the translated strings in Drupal 4.7 to Drupal 5. You are welcome to make Drupal 5 the perfect CMS for Thai.

Create Python package with dependencies using setuptools

I have not worked with packaging Python module for so long. It seems distutils was deprecated since Python 2.4. The recommendation is to use setuptools instead. It offers lots of useful functionalities, e.g., easy install with automatic dependencies resolver.

To create a package with setuptools, the package should have

pyedxl - a python library for handling EDXL

I am proud to announce my latest work called which is a python library for handling OASIS Emergency Data Exchange Language (EDXL) Distribution Element. At this time, it partially supports most of specification version 1.0 published on March 14, 2006. The main purpose to develop this library is to learn how to use lxml effectively. For those who can't stand to read, you might directly go to the .

Working with XML and namespace in Python

One important thing in programming today is XML. Many applications rely on XML because it want to store hierarchical data in persistent storage aka file. This truth is applied to most Java application because it seems, in my opinion, Java has the most larger sets of XML libraries from the top to the ground. In other words, ones may do anything with XML in Java very easy. Unfortunately, I am not a good Java programmer in any point of view. My favorite language is Python and OS is Linux. XML in Python is not as good as that one in Java. That's a problem.