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

Riding The Cloud of Multi-million Worth of Infrastructure

Do you still remember the OLPC (One Laptop for Child) program and other (if any) with similar purpose? Let me help you lessen the time for googling by citing the mission of this program from its official cite, “To create educational opportunities for the world’s poorest children by providing each child with a rugged, low-cost, low-power, connected laptop with content and software designed for collaborative, joyful, self-empowered learning.”  From a recipient’s point of view, what could this be? The meanings and implications may differ however one thing for sure, the recipient -given the condition he/she can’t afford laptop at normal price- is given luxury at very affordable price, the luxury of owning the gate to access the advancement of technology.

Similar story now may be repeated in the near future in computation area. It’s less than decade from year 2000 but if we compare the computing power of a node (e.g.: standalone PC, server, workstation) in that year with today’s, the discrepancy is very significant. In less than a decade we have seen how computers are becoming faster and how hardware prices are becoming cheaper. These days, multi core processors are becoming more common thus multiplying the computation speed of those of single core.

Continue reading

A New Toy Namely Google App Engine Has Arrived

Google seems to love and hate me at the same time. Some moments ago (I forgot the date I filled the application), I submitted application form for testing its App Engine. I was just curious about its cloud computing environment and wondered if the infrastructure they built could properly address some issues common in grid computing or cloud computing architecture. Also, I thought it would also be nice for me, although I’m not exposed to the details of the architectural implementation, to use their infrastructure for research purpose as I’m currently researching on distributed systems.

I received an email from Google containing the approval of my application. No need to explicitly express how radiant I was to receive such notification because it really means something, to be frank. The caveat is, current SDK provided only supports Python programming language, a language I am not so familiar with. I have never spent hefty amount of dedicated time learning Python, to get to know what’s inside and out. Lacking the knowledge can be a taxing obstacle, but let’s just see if I am up to the challenge.

Later, I will provide an article about cloud computing for those who want to know why it’s often said as a promising architecture for future web computation.

In the meantime, if you have ideas about applications to build or good references for Python, just let me know. The comment section is open 😉

Statistical Data of Year 2008 for This Blog and Plan for 2009

It’s been two years since I managed to write my concerns, opinions, and thoughts about technology-related topics in my own blog, which is this blog. Although the blog was originally intended to be supplementary since it’s not the main part of my future plan, it has evolved to be the façade, main terrace of a partly unveiled palazzo.

It has captured its own audience, visitors coming mainly from search engine results page using several keywords. This is mainly because I exerted minimum marketing and public relation in order to analyze how prospective the blog itself if it only relies on third party marketing, hence search engine crawl results and people discussing one of my posts and then put a link to the original content. Efforts put to expose this blog to broader audience may seem to be minimal. By seeing traffic statistics during year 2008, however, the trend infers positive outlook, a signal for me as the blog author to keep posting quality posts containing valuable information for people who might need it, avid tech blog readers, or just random visitors happen to drop by. Continue reading