Monthly Archives: September 2009

Sizzling Upload Progress Bar in PHP with APC, Part 1: APC Installation

After some series of “political” technical notes, I think it’s the right moment to supply some more technical posts to fellow developers. This time I will write about creating sizzling upload progress bar in PHP. In the past, there had been heated debate in PHP internal list about RFC 1867 implementation on PHP core code. If you were there, you might still remember that we had to patch the file main/rfc1867.c and some other files and then recompile PHP to get the upload progress bar hack working. Some harsh critics even mentioned that without the built-in capability of upload progress, PHP was years behind Java and Perl and lacked its capability as a web programming language.

Fortunately, since PHP 5.2 (especially after PHP 5.2.6 release), showing upload progress is not a big deal in PHP. Thanks to APC developers -mostly are also core PHP developers- who contributed to changes in APC that led to the availability of this long-waited feature. With APC we’ll be able to track the progress of file upload and provide our users better convenience when using our application.

Still, APC is not a part of core PHP shipped as a bundled package. We need to install it manually. In Windows, we can simply load the dll file to get it working. However, Linux users may need some pointers about how to install and enable this package. Hence, I will provide some guide for APC installation which was tested on veteran RHEL 4 and energetic young Fedora 10. So, let’s just go to the installation part. Continue reading

Collectibles After Months of Seclusion

You may have noticed that the postings in this blog become scarcer even though it was already scarce before. This doesn’t mean that I have lost the interest in writing posts here. Instead, the sabbatical period (in another sabbatical period) has brought me a lot of new findings, interesting and exciting things to explore. Here, in this post, I write some of the stuff you may find yourself curious about too.

Wolfram the Knowledge Engine and Knowledge Discovery

Wolfram Alpha logoSome have speculated that Wolfram will be the Google-killer although by purpose they are a bit different (and the Wolfram dev team also clearly mentioned about this on their site). Wolfram is a knowledge engine with its own data repositories which is capable of answering questions to very diverse domains. Different with search engines in which data are collected from various sources and then ranked based on relevance, utilizing page rank algorithms, the knowledge engine stores data that are “factual” and representative for the knowledge. For each given question, it computes the answer based on the model that represents the question. Two pertinent fields to this application are machine learning and data mining. Key issue in developing application like Wolfram is that it should be smart enough to interpret the question and provide relevant and factual answers thus less being subjective. Continue reading