Thursday, June 23, 2005

Busy day 2

Huh? I can't install Oracle free edition in lab? Yeah it's true coz it will break the policy. Now I understand. Dr. Janet instructed me not to do it. But the student can install it at home. She wanted to discuss this issue further with her colleagues back in Australia on how to get Oracle free or with discounted price for educational institution. She said that Oracle Malaysia is nasty. huh?

Day 2 meeting revolved around various subjects will be taught and softwares required. I was surprised to hear that for Computer Graphics subject, Java Swing Package will be used throughout the course. Students are expected to develop Computer Graphics applications with it. I have learned it for quite some time and it is quite difficult. They have to remember many Swing APIs and the RAM should be higher than 256 MB to run it smoothly as Java programs will chew up your memory in an instant.

Wednesday, June 22, 2005

A busy day for a lazy man

Today is so full of meeting from nine to 5. meeting packed day. I have a meeting with Flinders University regarding courses ShahPutra want to offered here. They have strict requirements regarding students intake, softwares and technology that we have here.
"We are very Java" - said Dr. Janet, the IT Head
The course will be offered is Bac. Of Comp. Sc And IT. I, as an system administrator should provide them with softwares required to run the program such as Java, C/C++, A web server (Apache), JDK 1.4, J2EE, Linux OS, Oracle and also MySQL. Thank god I can download the free edition of Oracle on Oracle website. That will save cost as our boss like. Students can run Oracle server on their own PCs and do their work.

Last night I read the RAID manual for the 10th times. I realized that for RAID 5, I should make RAID 1 first and booting can be done from it. I have three disks that I could make RAID 5. It is no automatic process for this as many installers do not support configuring RAID 5 on first setup.

Slackware is still my Linux distro of choice although many of my friends run some sort of modern distro like Xandros, Mandrake (now Mandriva) and Fedora. I just think that it is easy for me since i first started using Linux with it. I learned many essential things on Linux by using Slackware and also my friends told me that it is similar but not the same as BSD family OS.

Tuesday, June 14, 2005

Williams F1 gives green light to Linux

HP Linux supercomputer aids aerodynamics modelling for team cars
Peter Williams, 02 Oct 2003

The BMW Williams Formula 1 (F1) team has dramatically improved its high-resolution aerodynamic modelling of team cars by introducing an HP Linux supercomputer cluster.

The company, which currently lies second in this year's F1 Constructors' Championship, has added "several hundred" HP ProLiant Intel-based servers to its Oxfordshire headquarters.

Apart from driver skill, competitive advantage can be achieved through tyres, engine power, chassis and aerodynamics, with the latter the most difficult to control.

"Last year showed us that our chassis was a model of reliability but that there's still room for improvement, particularly on the aerodynamic front," said Patrick Head, technical director at Williams.

"[This] has given us the necessary technological leadership and expertise to design the revolutionary FW25 [this year's F1 car] rather than a modified version of last season's FW24."

A spokesman for Williams F1 added that the main driver behind the decision to expand the team's supercomputing resource was the need to reduce the time taken to perform a complete analysis for a given size of model.

The team then selected the technology that gave it the biggest reduction in total analysis time within its budget.

"We performed a number of benchmarking tests using typical models and selected the Linux cluster from the results of these tests," the spokesman told

"The main benefit we have gained is indeed in time: we are now running a complete analysis on large models overnight, so that engineers can send a job to run in the evening and then have the results available in the following morning.

"This shortens our overall time to produce a design iteration, which means we can bring performance to our car more quickly."

Williams F1 is now studying the scalability of the Linux cluster and other solutions in order to understand how it can increase model sizes while continuing to get solutions to run overnight, "so that we can get more precision in our analysis without sacrificing any time", the spokesman said.

Tim Bush, engineering manager for HP EMEA, who was responsible for the installation on HP's side, added: "There was genuine surprise at the performance and its impact on the design cycle from the Williams F1 personnel."

Linux is popular for exploiting off-the-shelf applications that require heavy compute capability, while extra performance had come through using a very high-bandwidth, low-latency processor interconnection, explained Bush.

The result, according to Williams F1, has been a threefold enhancement of its simulation capabilities through more detailed computational fluid dynamics simulations.

This halved design, development and testing time has also provided more capacity to experiment with new car design concepts.

The multi-rack Intel-Xeon processor-based system, which is controlled through a head node HP Integrity (Itanium 64-bit) server, was delivered preconfigured in May.

HP is a major BMW Williams F1 team sponsor and technology partner, and the system is attached to a central HP storage area network which runs to many terabytes.

There are also two ruggedised race systems, one travelling with the team and the second with the test team, and crash and structural testing systems running on HP-UX (Unix).

Source :

Linux revs up Renault F1 testing

Linux revs up Renault F1 testing

IBM e1350 Linux cluster cuts simulation time from three weeks to 18 hours
Robert Jaques, 15 Mar 2005

Linux has helped the Renault Formula 1 team to slash its engine and chassis computational analysis time by 90 per cent.

The team dramatically cut the time it spends performing computational analysis, and ultimately reduced development costs, by deploying an IBM e1350 cluster running Linux. The system is based on IBM eServer e325 and e326 servers with AMD Opteron processors.

In addition, Renault Formula 1 has deployed two IBM eServer pSeries 630s running AIX, and one TotalStorage DS 4300 storage server, to capture and store the computational data generated by the e1350 cluster.

Christophe Verdier, Renault F1 Team IT director, said: "The performance of this system has enabled Renault F1 to fully optimise its V10 engine capability. This has given the team a considerable advantage, since a race is as much won in the factory as it is on the track.

"With xSeries and Linux we have a high-performance, low-cost cluster that will help us to run ever more accurate simulations. With 12 IBM e325 servers working in parallel, a simulation operation which can take three weeks is now completed in 18 hours."

-- source : IT Week

Firefox Browser Adoption Rates Slow

Open-source Web browser Firefox is continuing its spread across Europe, although the pace of adoption has slowed somewhat, according to a recently released report. French Web metrics company XiTi noted that Firefox now accounts for about 14 percent of browsers in Europe, up from 13 percent in April and 11 percent in March. The numbers fall in line with U.S. usage, which is approximately 13 percent. Finland shows the largest Firefox use, with over 30 percent of Web users employing the browser. The country is followed by Germany, with over 24 percent, and Hungary, with about 22 percent. At the bottom of the adoption list were Luxembourg, with 10 percent, Lithuania, at 7 percent, and Monaco, with 6 percent.

Slow Down
Mirroring a trend seen in the U.S., Europe's Firefox adoption rate appears to be slowing. Analysts point to several possible factors for the trend, including recent security flaws involving cross-site scripting and remote system access vulnerabilities. The flaws were rated as "extremely critical" by security company Secunia .A more likely explanation for the adoption slowdown, though, simply might be saturation. The browser's expected adopters have downloaded Firefox already, making new growth dependent on slower-adoption strategies like word of mouth and advertising. Despite the lower growth rates, the Mozilla Foundation is emphasizing the strength of Firefox in Europe as well as other parts of the world. Currently, the browser has been downloaded over 62 million times.

Steady Growth
Now that Firefox has gotten off to a blazing start, many analysts have predicted that it will grow steadily but more slowly in the future. In Europe, where Linux is being employed in several high-profile projects and government offices, Firefox should continue to have momentum for some time to come, said AMR Research analyst Paul Kirby.

"Europe has shown that it embraces open source," he said. "So it wouldn't be surprising to see Firefox be popular in many countries where open source has taken hold."

-- source :

Monday, June 6, 2005

RAID - Revisited

I'm still researching about RAID. I have done software RAID before and am looking for some hints on hardware RAID and the advantageous over software-based RAID. Let's get some basic picture of RAID and beyond.

What does RAID stands for ?
In 1987, Patterson, Gibson and Katz at the University of California Berkeley, published a paper entitled "A Case for Redundant Arrays of Inexpensive Disks (RAID)" . This paper described various types of disk arrays, referred to by the acronym RAID. The basic idea of RAID was to combine multiple small, inexpensive disk drives into an array of disk drives which yields performance exceeding that of a Single Large Expensive Drive (SLED). Additionally, this array of drives appears to the computer as a single logical storage unit or drive.

The Mean Time Between Failure (MTBF) of the array will be equal to the MTBF of an individual drive, divided by the number of drives in the array. Because of this, the MTBF of an array of drives would be too low for many application requirements. However, disk arrays can be made fault-tolerant by redundantly storing information in various ways. Five types of array architectures, RAID-1 through RAID-5, were defined by the Berkeley paper, each providing disk fault-tolerance and each offering different trade-offs in features and performance. In addition to these five redundant array architectures, it has become popular to refer to a non-redundant array of disk drives as a RAID-0 array.

The different RAID levels

RAID Level 0 is not redundant, hence does not truly fit the "RAID" acronym. In level 0, data is split across drives, resulting in higher data throughput. Since no redundant information is stored, performance is very good, but the failure of any disk in the array results in data loss. This level is commonly referred to as striping.
Two disks
Three disks
RAID Level 1 provides redundancy by writing all data to two or more drives. The performance of a level 1 array tends to be faster on reads and slower on writes compared to a single drive, but if either drive fails, no data is lost. This is a good entry-level redundant system, since only two drives are required; however, since one drive is used to store a duplicate of the data, the cost per megabyte is high. This level is commonly referred to as mirroring.
RAID-1 (mirroring)

RAID Level 2, which uses Hamming error correction codes, is intended for use with drives which do not have built-in error detection. All SCSI drives support built-in error detection, so this level is of little use when using SCSI drives.

RAID Level 3 stripes data at a byte level across several drives, with parity stored on one drive. It is otherwise similar to level 4. Byte-level striping requires hardware support for efficient use.

RAID Level 4 stripes data at a block level across several drives, with parity stored on one drive. The parity information allows recovery from the failure of any single drive. The performance of a level 4 array is very good for reads (the same as level 0). Writes, however, require that parity data be updated each time. This slows small random writes, in particular, though large writes or sequential writes are fairly fast. Because only one drive in the array stores redundant data, the cost per megabyte of a level 4 array can be fairly low.

RAID Level 5 is similar to level 4, but distributes parity among the drives. This can speed small writes in multiprocessing systems, since the parity disk does not become a bottleneck. Because parity data must be skipped on each drive during reads, however, the performance for reads tends to be considerably lower than a level 4 array. The cost per megabyte is the same as for level 4.

RAID-0 is the fastest and most efficient array type but offers no fault-tolerance.
RAID-1 is the array of choice for performance-critical, fault-tolerant environments.In addition, RAID-1 is the only choice for fault-tolerance if no more than two drives are desired.
RAID-2 is seldom used today since ECC is embedded in almost all modern disk drives.
RAID-3 can be used in data intensive or single-user environments which access long sequential records to speed up data transfer. However, RAID-3 does not allow multiple I/O operations to be overlapped and requires synchronized-spindle drives in order to avoid performance degradation with short records.
RAID-4 offers no advantages over RAID-5 and does not support multiple simultaneous write operations.
RAID-5 is the best choice in multi-user environments which are not write performance sensitive. However, at least three, and more typically five drives are required for RAID-5 arrays.

Hardware RAID
The hardware based system manages the RAID subsystem independently from the host and presents to the host only a single disk per RAID array. This way the host doesn't have to be aware of the RAID subsystems(s). The controller based hardware solutionDPT's SCSI controllers are a good example for a controller based RAID solution.The intelligent contoller manages the RAID subsystem independently from the host. The advantage over an external SCSI---SCSI RAID subsystem is that the contoller is able to span the RAID subsystem over multiple SCSI channels and and by this remove the limiting factor external RAID solutions have: The transfer rate over the SCSI bus.

The external hardware solution (SCSI---SCSI RAID)
An external RAID box moves all RAID handling "intelligence" into a contoller that is sitting in the external disk subsystem. The whole subsystem is connected to the host via a normal SCSI controller and apears to the host as a single or multiple disks.This solution has drawbacks compared to the contoller based solution: The single SCSI channel used in this solution creates a bottleneck. Newer technologies like Fiber Channel can ease this problem, especially if they allow to trunk multiple channels into a Storage Area Network.4 SCSI drives can already completely flood a parallel SCSI bus, since the average transfer size is around 4KB and the command transfer overhead - which is even in Ultra SCSI still done asynchonously - takes most of the bus time.

Software RAID (aka poor man's redundancy)
The MD driver in the Linux kernel is an example of a RAID solution that is completely hardware independent.The Linux MD driver supports currently RAID levels 0/1/4/5 + linear mode. Adaptecs AAA-RAID controllers are another example, they have no RAID functionality whatsoever on the controller, they depend on external drivers to provide all external RAID functionality. They are basically only multiple single AHA2940 controllers which have been integrated on one card. Linux detects them as AHA2940 and treats them accordingly.Every OS needs its own special driver for this type of RAID solution, this is error prone and not very compatible.

Hardware vs. Software RAID
Just like any other application, software-based arrays occupy host system memory, consume CPU cycles and are operating system dependent. By contending with other applications that are running concurrently for host CPU cycles and memory, software-based arrays degrade overall server performance. Also, unlike hardware-based arrays, the performance of a software-based array is directly dependent on server CPU performance and load.

Except for the array functionality, hardware-based RAID schemes have very little in common with software-based implementations. Since the host CPU can execute user applications while the array adapter's processor simultaneously executes the array functions, the result is true hardware multi-tasking. Hardware arrays also do not occupy any host system memory, nor are they operating system dependent.

Hardware arrays are also highly fault tolerant. Since the array logic is based in hardware, software is NOT required to boot. Some software arrays, however, will fail to boot if the boot drive in the array fails. For example, an array implemented in software can only be functional when the array software has been read from the disks and is memory-resident. What happens if the server can't load the array software because the disk that contains the fault tolerant software has failed? Software-based implementations commonly require a separate boot drive, which is NOT included in the array.

Sunday, June 5, 2005


If you are lazy to update your website, there's an alternative to it. It is called RSS feeder. With it, you have no need to update your website with latest news from other sites. If the sites provide RSS, you can feed your website with their news with RSS feeder and it's done automatically. But before that, you should know how to setup one. There are many RSS feeders in the market and I personally use MagPieRSS.

Add RSS feeds to your Web site using MagpieRSS
Syndication of material from other sites is a good way to get fresh content on your site. As visitors arrive at your site they can see a teaser for the syndicated content and a link to the publisher. If they are interested in an item they can follow the link to the original location. You can add syndicated content to your site using the Really Simple Syndication (RSS) protocol and a bit of PHP code in the form of an application called MagpieRSS. Here's how.

MagpieRSS is an RSS parser written in PHP. It supports RSS 0.9 and 1.0, with some RSS 2.0 support. MagpieRSS is a simple object-oriented backend which includes automatic caching of parsed RSS to reduce load on external Web sites. To use MagpieRSS on your Web site you will need PHP 4.2.0 (or greater) with XML (expat) support or PHP5 with libxml2 support. Download MagpieRSS. Extract the four main files (,,, and and the directory extlib and copy them to a directory named magpierss in the document root (where your web pages are stored) on your Web server.

Next, decide where the syndicated content will go on your site. If you want the content to appear on your front page then most likely you need to edit index.php. If you only have an index.html (not .php) then rename it to index.php as now you are adding some PHP code to it. Edit the file and add the following line at the top:


To actually fetch and parse the RSS add a call to fetch_rss() in your web page replacing the URL with the URL of the content you are syndicating.This function will return an array ($rss) that contains the syndicated content as an array of syndicated items along with some publisher information, such as the the name of the publisher (which is stored in $rss->channel['title']) and an optional description of the publisher (e.g. "The Online Newspaper for Linux and Open Source") which can be found in $rss->channel['description']. There is also $rss->channel['link'] which contains a general link to the publisher.The syndicated items can be accessed via $rss->items. A simple loop can be used to transverse the items one at a time:

foreach ($rss->items as $item)
// Your code here

Each item contains a title, link and description. $item['title'] contains the title of the article or story, $item['link'] is the link to the original and $item['description'] is the description of the story which is often the introduction paragraph or some sort of summary. To display a simple list of syndicated items use the following code:

foreach ($rss->items as $item) {
$href= $item['link'];
$title = $item['title'];
$desc = $item['description'];
echo "$title";
echo $desc;

Of course, the output is simple HTML, but from here you should be able to expand the code to suit the style and design of your site.

In the 0.91 version of the RSS specification the title is restricted to 100 characters and the description to 500. However there are no length limits in RSS 0.92 and greater. This can cause a problem for your Web site. Keeping a consistent look and feel to your Web site is important. If syndicated items are displayed too freely your site may start to look out-of-joint. Imagine you have similar code to the above listing news items in a side bar. What will happen if the description of a particular item is several thousand characters long? Or what if there was 50 items being syndicated?

Length validation is an important aspect to putting syndicated items on your site. To limit the number of items displayed, the easiest thing to do is slice the resulting array into a smaller chunk. After calling fetch_rss(), but before any processing, add the following line: $items = array_slice($rss->items, 0, 10); Which will shrink the array to contain only the first 10 items. Now the foreach loop can be run without any worries.

To validate the length of the description use the strlen() function:

if (strlen($desc) >= 80)
$desc = substr($desc,0,79)."...";

Here the description is shortened to be less than 80 characters with ... at the end to show that there is more text available. If you have shortened the description you might what to offer a link to the full syndicated text rather than a link to the original. That way users remain on your site longer. The full version of the syndicated item would then contain the link to the original. To do this you will need a script called something like readmore.php which uses MagpieRSS to display the full text as the main item on the web page along with your normal navigation, side bars and advertising. The parameters to the readmore.php would be the URL of the RSS feed and the item number you wish to display. One thing to watch is that some descriptions contain HTML as well as plain text. Blindly chopping the string could cause the string to be cut half way through a tag. Smart chopping is needed but that is beyond the scope of this article. However a crude solution is to use the PHP function strip_tags() which will remove all the HTML tags from the string. The full text version of the item displayed by the readmore.php can leave the tags intact.

To speed up your Web site and save unnecessary traffic for the publishers web server it is important to set up caching. MagpieRSS has built-in automatic caching. With caching MagpieRSS will only fetch and parse RSS feeds when the cache is too old.

To enable caching add the following lines to your script:

define('MAGPIE_CACHE_ON', 1);

By default MagpieRSS will cache items for one hour. This can be overridden using:

define('MAGPIE_CACHE_AGE', 1800);

Where 1800 is the number of seconds to cache objects (e.g. 30 minutes, 60*30).

MagpieRSS makes it easy to add syndicated content to your Web site, with only a small time investment you can improve the content of your site. Remember "content is king."

Thanks to Gary Sims for this article.
Source :

Friday, June 3, 2005

Do your softwares suit your business or are you trying to fit your business to your softwares?

When I was reading Linux Format magazine yesterday, I came across this statement of an advertisement. This mag is hard to find in Kuantan (only at a bookshop in MegaMall which I think I'm the only one who buy it :) ). Other mags I have on my bookshelf is Linux Users And Developers and Linux Magazine which my friend sent me from London. Thanks Mark.

It's good to read Linux mags every night before going to bed. You will fall asleep when you start reading it. :-)