Monday, January 30, 2006

TenderSystem : Open-Source Procurement

Somebody was interested in a procurement system that exploits the Internet to reach business partners in a cost-effective and timely manner. So off I went to sourceforge and searched for procurement. I have been a regular visitor of so most of the entries look familiar … except … for … TenderSystem!

According to its author …

TenderSystem is an Internet based electronic tendering system to source, award and manage the total procurement process.

This tried and tested technology leverages the age-old principle of supply and demand, through reverse auction, ensuring that products are purchased at the best possible price, at a lower administration and management cost, than any other method.

You can run the demo here.

Or you can build your own site. I decided to do both.

I installed the application on my Windows XP desktop successfully but with a lot of side-installs and much tweaking. Since this is a web-based application, one has to install other support apps to deploy it. All in all, I installed four different packages, namely: Apache 2.054, PHP 5.1.2, MySQL 5.0.18 (server and client), and TenderSystem Beta 0.8

PHP Installation Download the zip package from Do not use the installer package as this does not include the PHP extensions required by TenderSystem. Modify PHP.INI to activate the following directives:

short_open_tag = On
extension_dir = “/php/ext”

Modify your Windows PATH to include the PHP installation directory (c:\php) otherwise the dlls included with the PHP package will not be available to Windows and the extensions will not be loaded.

Apache Installation Download apache2.054 from and install the package. To activate php support, modify the configuration file (httpd.conf) to contain the following directives:

# Allows Apache to serve these files if a directory was invoked.
DirectoryIndex index.html index.html.var index.php
# Load PHP as a module
LoadModule php5_module “C:/php/php5apache2.dll”
PHPIniDir “C:/php”
# Add-type entries
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

TenderSystem Installation Download the package and extract it under apache’s htdocs directory.

If you don’t set (or can’t, since you don’t control your server) short_open_tag on, you’ll be greeted with a code dump when you open your browser to http://localhost/tendersystem. A little sleuthing uncovered three (so far) php scripts which use the PHP short tags:


Take a test drive and give me your comments.

Sunday, January 29, 2006

MMCplus : MMC on steroids

The MMC specification up to version 3.x stipulated a clock frequency of 0-20 MHz and a 1-bit data bus. Since the original version of SD was already supporting 4-bit data bus at 25 MHz, the best MMC performance was nowhere near that of SD. The adoption of the MMC Version 4.x standard has addressed these limitations and gave birth to a new breed of cards called the MMCplus.

MMCplus are designed to operate at a clock rate of up to 52 MHz and an 8-bit data bus. To support the wider bus width, the MMCplus was fitted with 13 pins, 6 more than that of the original MMC. To maintain backward-compatibility with the earlier devices, the 13 pins are so laid out so that a pin coincides with each of the 7 pins of the original MMC.

Based on the specifications, the maximum theoretical data transfer rate of MMCplus is 416Mbps or 52MBps or 347X.

Pin layout of MMC (left) and MMCplus (right)

SD Ver 1.1 : The faster SD

Whereas the SD 1.01 standard specifies a maximum clock rate of 25 MHz, the newer SD 1.1 version doubles the clock rate to 50 MHz. Using 4-bit mode data transfer, this increases the theoretical data transfer rate of the newer SDs to 25MBps or 166X.

There are sites which state that the SD 1.1 standard allows for an optional 8-bit data bus width. If this is so, this can only be possible by adding more pin connectors like what was done with the 13-pin MMCplus (original MMC had only 7). The current 9-pin SD bus currently uses 4 pins for data, 3 for power/ground and a line each for clock and command/response signals.

As of this writing, the fastest SD card available is 133X~150X and comes in a 9-pin package.

Wednesday, January 25, 2006

Measuring MMC Speed

Multimedia Card (MMC) is the type of flash card popularly used in Nokia phones. As of this writing, aside from the Nokia 6270 which uses mini-SD, the rest can accept only MMC or its variants (reduced-size, dual-voltage).

I use Sisoftware’s Sandra (System ANalyser, Diagnostic and Reporting Assistant) to measure the speed of my flash cards. You can download Sandra here.

You would need a USB card reader to make the flash card accessible to your computer. Once plugged in, Windows XP should automatically load the required driver and show your flash card as one of the available drives.

Select the module Removable Storage/Flash Benchmark and indicate the drive corresponding to the flash card. Sandra will measure the read, write and delete performance of your card using file sizes of 512B, 32kB, 256kB, 2MB, and 64MB. Performance ratings are expressed in operations per minute and kB per second.

Whereas most vendors use the equivalence of 1X=150kBps, take note that Sandra uses 176kBps. To get the standard benchmark rating, multiply the Sandra X-rating by 176/150 or 1.17.

Flash Card Speed Rating - The X-factor

You may have noticed that some flash cards, notably Compact Flash and Secure Digital, have X-ratings emblazoned on their packaging. Just like in the optical drive industry, the X-ratings give a measure of how fast the device can handle data.

So how fast really is a 133x SD card? A 1x speed rating corresponds to a transfer rate of 150 kilobytes (KB) per second, so a flash card rated at 133x can attain speeds of around 20 megabytes (MB) per second.

Some vendors use different names for their high-speed flash cards. Kingston labels their higher speed SD as Elite Pro SD (45x-50x) and SD Ultimate (120x-133x). On the other hand, Sandisk has their Ultra II SD (10MBps read/9MBps write) and Extreme III series (20MBps).

Now, tell me, what is the equivalent X-rating of a Sandisk Ultra II SD?