Wednesday, May 26, 2010

Configuring Web Servers for HTTP Load Balancing

The load balancer plug-in installation program makes a few modifications to the web server’s configuration files. The changes made depend upon the web server.

Note
The load balancer plug-in can be installed either along with Sun Java System Application Server Enterprise Edition, or separately, on a machine running the supported web server.
For complete details on the installation procedure, see Sun Java System Application Server Installation Guide.

Modifications to Sun Java System Web Server

The installation program makes the following changes to the Sun Java System Web Server’s configuration files:
  1. Adds the following load balancer plug-in specific entries to the web server instance’s magnus.conf file:
  2. ##EE lb-pluginInit fn="load-modules" shlib="web_server_install_dir/plugins/lbplugin/bin/libpassthrough.so" funcs="init-passthrough,service-passthrough,name-trans-passthrough" Thread="no"
    Init fn="init-passthrough"
    ##end addition for EE lb-plugin
  3. Adds the following entries specific to the load balancer plug-in to the web server instance’s obj.conf file:
  4.  NameTrans fn="name-trans-passthrough" name="lbplugin" config-file="web_server_install_dir/web_server_instance/config/loadbalancer.xml" ObjectType fn="force-type" type="magnus-internal/lbplugin"PathCheck fn="deny-existence" path="*/WEB-INF/*"Service type="magnus-internal/lbplugin" fn="service-passthrough"Error reason="Bad Gateway" fn="send-error" uri="$docroot/badgateway.html"
    lbplugin is a name that uniquely identifies the Object, and web_server_install_dir/web_server_instance/config/loadbalancer.xml is the location of the XML configuration file for the virtual server on which the load balancer is configured to run.
After installing, configure the load balancer

Modifications to Apache Web Server

Before installing the load balancer plug-in on Apache, see information on compiling and configuring Apache

Modifications Made by the Installer

The load balancer plug-in installation program extracts the necessary files to the libexec (Apache 1.3) or modules (Apache 2.0) folder under the web server’s root directory. It adds the following entries specific to the load balancer plug-in to the web server instance’s httpd.conf file:
 machine_name:443>
##Addition for EE lb-plugin
LoadFile /usr/lib/libCstd.so.1
LoadModule apachelbplugin_module libexec/mod_loadbalancer.so
#AddModule mod_apachelbplugin.cpp

  config-file 
webserver_instance/conf/loadbalancer.xml
locale en
machine_ip_address>
DocumentRoot "
webserver_instance/htdocs"
ServerName server_name
##END EE LB Plugin ParametersVersion 7

Note
  • On Apache 1.3, when more than one Apache child processes runs, each process has its own load balancing round robin sequence.

    For example, if there are two Apache child processes running, and the load balancing plug-in load balances on to two application server instances, the first request is sent to instance #1 and the second request is also sent to instance #1. The third request is sent to instance #2 and the fourth request is sent to instance #2 again. This pattern is repeated (instance1, instance1, instance2, instance2, etc.)

    This behavior is different from what you might expect, that is, instance1, instance2, instance1, instance2, etc. In Sun Java System Application Server, the load balancing plug-in for Apache instantiates a load balancer instance for each Apache process, creating an independent load balancing sequence.
  • Apache 2.0 has multithreaded behavior if compiled with the --with-mpm=worker option.

Modifications After Installation

Additional Modifications on Microsoft Windows

If you are running Apache on Microsoft Windows, after installing the plug-in, some environment variable changes are required:
Add a new path to the Path environment variable by clicking Start->Settings->Control Panel->System->Advanced->Environment Variables->System Variables. Edit the Path variable to include the following:
application_server_install_dir/bin
In addition, set the environment variable NSPR_NATIVE_THREADS_ONLY to 1 before starting Apache web server.
On the Environment Variables window, under System Variables, click New.Enter the following name and value pair:
Variable name: NSPR_NATIVE_THREADS_ONLY
Variable value: 1
Restart the machine.

Modifications to Microsoft IIS

To configure Microsoft Internet Information Services (IIS) to use the load balancer plug-in, modify certain properties in Windows Internet Services Manager. The Internet Services Manager is located in the Administrative Tools folder in the Control Panel folder.
Make these modifications after installing the Sun Java System Application Server.
  1. Open the Internet Services Manager.
  2. Select the web site for which you want to enable the plug-in. This web site is typically named the Default Web Site.
  3. Right click on the web site and select Properties to open the Properties notebook.
  4. To add a new ISAPI filter, open the ISAPI Filters tab, click Add, and follow the steps given below:
    1. In the Filter Name field, enter Application Server
    2. In the Executable field, type C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.dll
    3. Click OK, and close the Properties notebook.
  5. Create and configure a new virtual directory:
    1. Right click on the default web site, select New, and then Virtual Directory.
    2. The Virtual Directory Creation Wizard opens.
    3. In the Alias field, type sun-passthrough.
    4. In the Directory field, type C:\Inetpub\wwwroot\sun-passthrough
    5. Check the Execute Permission checkbox. Leave all other permission-related check boxes are left unchecked.
    6. Click Finish.
  6. Add the path of sun-passthrough.dll file and application_server_install_dir/bin to the system’s PATH environment variable. Restart the machine.
  7. Stop and start the web server for the new settings to take effect.
  8. To stop the web server, right click on the web site and select Stop. To start the web server, right click on the web site and select Start.
    Next, type the following in a web browser to access the web application context root:
    http://webserver_name/web_application
    where webserver_name is the hostname or IP address of the web server and /web_application is the context root that you listed in the C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.properties file. Verify that the web server, load balancer plug-in, and Application Server are operating correctly.
The installer automatically configures the following properties in sun-passthrough.properties. You can change the default values.

Table : Automatically configured sun-passthrough.properties for Microsoft IIS
Property
Definition
Default Value
lb-config-file
Path to the load balancer configuration file
IIS_www_root\sun-passthrough\loadbalancer.xml
log-file
Path to the load balancer log file
IIS_www_root\sun-passthrough\lb.log
log-level
Log level for the web server
INFO

Configuring Multiple Web Server Instances

The Sun Java System Application Server installer does not allow the installation of multiple load balancer plug-ins on a single machine. To have multiple web servers with the load balancer plug-in on a single machine, in either a single cluster or multiple clusters, a few manual steps are required to configure the load balancer plug-in.
  1. Configure the new web server instance to use the load balancer plug-in, as described in "Modifications to Sun Java System Web Server", "Modifications to Apache Web Server", or "Modifications to Microsoft IIS".
  2. Copy the sun-loadbalancer_1_1.dtd file from the existing web server instance’s config directory to the new instance’s config directory.
  3. To use the same load balancer configuration, copy the loadbalancer.xml file from the existing web server instance’s config directory to the new instance’s configdirectory.
  4. To use a different load balancer configuration:
    1. Create a new load balancer configuration using asadmin create-http-lb-config.
    2. Export the new configuration to a loadbalancer.xml file using asadmin export http-lb-config.
    3. Copy that loadbalancer.xml file to the new web server’s config directory.
    4. For information on creating a load balancer configuration and exporting it to a loadbalancer.xml file

How To: Load Balancing & Failover With Dual/ Multi WAN / ADSL / Cable Connections on Linux

In many location, including but definitely not limited to India, single ADSL / Cable connections can be unreliable and also may not provide sufficient bandwidth for your purposes. One way to increase reliability and bandwidth of your internet connection is to distribute the load (load balancing) using multiple connections. It is also imperative to have transparent fail-over so routes are automatically adjusted depending on the availability of the connections. With load balancing and fail-over you can have reliable connectivity over two or more unreliable broadband connections (like BSNL or Tata Indicom in India). I present you with the simplest solution to a complex problem with live examples.

Note: Load balancing doesn't increase connection speed for a single connection. Its benefits are realized over multiple connections like in an office environment. The benefits of fail-over are however realized even in a single user environment.

The load balancing mechanism, to be discussed with example below, in Linux caches routes and doesn't provide transparent fail-over support. There are two solutions to incorporate transparent fail over - 1. compiling and using a custom Linux kernel with Julian Anastasov's kernel patches for dead gateway detection or 2. user space script to monitor connections and dynamically change routing information.

Julian Anastasov's patches have two problems:
1. They work only when the first hop gateway is down. In many cases, including ours, the first hop gateway is the adsl modem cum router which is always up. So we need a more robust solution for our purposes.

2. You have to compile a custom kernel with patches. This is somewhat complex procedure with reasonable chances of screwing up something. It also forces you to re-patch the kernel every time you decide to update your kernel. Overall I wouldn't recommend anyone going for kernel patching route unless that is the only option. Also in that case you should look for a rpm based solution (like livna rpm for nVidia drivers) which does it automatically for you.

A better solution is to use a userspace program which monitors your connection and updates routes as necessary. I will provide a script which we use to constantly monitor our connections. It provides transparent fail over support with two ADSL connections. It is fully configurable and can be used for any standard dual ADSL / Cable connections to provide transparent fail over support. It can also be easily modified to use for more than two connections. You can also use it to log uptime / downtime of your connections like we did.

Let's first discuss load balancing with two ADSL / Cable connections and then we will see how to provide transparent fail-over support. The ideas and script provided here can be easily used for more than two connections with minor modifications.

Requirements for Load Balancing multiple ADSL / Cable Connections
1. Obviously you need to have multiple (A)DSL or Cable connections in the first place. Login as root for this job.

2. Find out the LAN / internal IP address of the modems. They may be same like 1921.168.1.1.
Check if the internal / LAN IP address of both (or multiple) modems are same. In that use the web / telnet interface of the modems to configure one of the modems to have a different internal IP address preferably in different networks like 192.168.0.1 or 192.168.2.1 etc. If you are using multiple modems then you should configure each of them to have different subnets. This is important because now you can easily access the different modems from their web interface and you don't have to bother connecting to a modem through a particular interface. It is also important because now you can easily configure the interfaces to be associated with different netmasks / sub-network.

3. Connect each modem to the computer using a different interface (eth0, eth1 etc.). You may be able to use the same interface but this guide doesn't cover that. In short you will make your life complicated using the same interface or even different virtual interface. My recommendation is that you should use one interface per modem. Don't scrimp on cheap ethernet adapters. This has the added benefit of redundancy should one adapter go bad down the road.

4. Configure the IP address of each interface to be in the same sub-network as the modem. For example my modems have IP addresses of 192.168.0.1 and 192.168.1.1. The corresponding addresses & netmasks of the interfaces are: 192.168.0.10 (netmask: 255.255.255.0) and 192.168.1.10 (netmask: 255.255.255.0).

5. Find out the following information before you proceed with the rest of the guide:

IP address of external interfaces (interfaces connected to your modems). This is not the gateway address.
Gateway IP address of each broadband connections. This is the first hop gateway, could be your DSL modem IP address if it has been configured as the gateway following the tip below.
Name, IP address & netmask of external interfaces like eth1, eth2 etc. My external interfaces are eth1 & eth2.
Relative weights you want to assign to each connection. My Tata connection is 4 times faster than BSNL connection. So I assign the weight of 4 to Tata and 1 to BSNL. You must use low positive integer values for weights. For same connection speeds weights of 1 & 1 are appropriate. The weights determine how the load is balanced across multiple connections. In my case Tata is 4 times as likely to be used as route for a particular site in comparison with BSNL.
Note: Refer to Netmask guide for details on netmasks.

Optional step
Check the tips on configuring (A)DSL modems. They are not required for using this guide. However they are beneficial in maximizing your benefits.

How to setup default load balancing for multiple ADSL / Cable connections
Unlike other guides on this topic I will use a real example - the configuration on our internal network. So to begin with here are the basic data for my network:

#IP address of external interfaces. This is not the gateway address.
IP1=192.168.1.10
IP2=192.168.0.10

#Gateway IP addresses. This is the first (hop) gateway, could be your router IP
#address if it has been configured as the gateway
GW1=192.168.1.1
GW2=192.168.0.1

# Relative weights of routes. Keep this to a low integer value. I am using 4
# for TATA connection because it is 4 times faster
W1=1
W2=4

# Broadband providers name; use your own names here.
NAME1=bsnl
NAME2=tata

You must change the example below to use your own IP addresses and other details. Even with that inconvenience a real example is much easier to understand than examples with complex notations. The example given below is copy-pasted from our intranet configuration. It works perfectly as advertised.

Note: In this step fail-over is not addressed. It is provided later with a script which runs on startup.

First you need to create two (or more) routes in the routing table ( /etc/iproute2/rt_tables ). Open the file and make changes similar to what is show below. I added the following for my two connections:

1 bsnl
2 tata

To add a default load balancing route for our outgoing traffic using our dual internet connections (ADSL broadband connections from BSNL & Tata Indicom) here are the lines I included in rc.local file:

ip route add 192.168.1.0/24 dev eth1 src 192.168.1.10 table bsnl
ip route add default via 192.168.1.1 table bsnl
ip route add 192.168.0.0/24 dev eth2 src 192.168.0.10 table tata
ip route add default via 192.168.0.1 table tata
ip rule add from 192.168.1.10 table bsnl
ip rule add from 192.168.0.10 table tata
ip route add default scope global nexthop via 192.168.1.1 dev eth1 weight 1 nexthop via 192.168.0.1 dev eth2 weight 4

Adding them to rc.local ensures that they are execute automatically on startup. You can also run them manually from the command line.

This completes the load balancing part. Let's now see how we can achieve fail-over so the routes are automatically changed when one or more connections are down and then changed again when one or more more connections come back up again. To do this magic I used a script.

How to setup fail-over over multiple load balanced ADSL / Cable connections
Please follow the steps below and preferably in the same order:

First download the script which checks for and provides fail-over over dual ADSL / Cable internet connections and save it to /usr/sbin directory (or any other directory which is mounted available while loading the OS).
Change the file permissions to 755:
chmod 755 /usr/sbin/gwping
Open the file (as root) in an editor like vi or gedit and edit the following parameters for your environment:
#IP Address or domain name to ping. The script relies on the domain being pingable and always available
TESTIP=www.yahoo.com

#Ping timeout in seconds
TIMEOUT=2

# External interfaces
EXTIF1=eth1
EXTIF2=eth2

#IP address of external interfaces. This is not the gateway address.
IP1=192.168.1.10
IP2=192.168.0.10

#Gateway IP addresses. This is the first (hop) gateway, could be your router IP
#address if it has been configured as the gateway
GW1=192.168.1.1
GW2=192.168.0.1

# Relative weights of routes. Keep this to a low integer value. I am using 4
# for TATA connection because it is 4 times faster
W1=1
W2=4

# Broadband providers name; use your own names here.
NAME1=BSNL
NAME2=TATA

#No of repeats of success or failure before changing status of connection
SUCCESSREPEATCOUNT=4
FAILUREREPEATCOUNT=1

Note: Four consecutive success indicates that the gateway is up and one (consecutive) failure indicates that the gateway went down for my environment. You may want to modify it to better match your environment.

Add the following line to the end of /etc/rc.local file:
nohup /usr/sbin/gwping &
In the end my /etc/rc.local file has the following lines added in total:

ip route add 192.168.1.0/24 dev eth1 src 192.168.1.10 table bsnl
ip route add default via 192.168.1.1 table bsnl
ip route add 192.168.0.0/24 dev eth2 src 192.168.0.10 table tata
ip route add default via 192.168.0.1 table tata
ip rule add from 192.168.1.10 table bsnl
ip rule add from 192.168.0.10 table tata
ip route add default scope global nexthop via 192.168.1.1 dev eth1 weight 1 nexthop via 192.168.0.1 dev eth2 weight 4
nohup /usr/sbin/gwping &

An astute reader may note that the default setup with dual load balanced routing (7th line) is really not required as the script is configured to force routing based on the current status the very first time. However it is there to ensure proper routing before the script forces the routing for the first time which is about 40 seconds in my setup (can you tell why it takes 40 second for the first time?).

Concluding thoughts
In the process of finding and coding the simple solution above, I read several documents on routing including the famous lartc how-to (many of whose commands didn't work as described on my Fedora Core system) & nano.txt among several others. I think I have described the simplest possible solution for load balancing and transparent failover of two or more DSL / Cable connections from one or more providers where channel bonding is not provided upstream (requires cooperation from one or more DSL providers); which is the most common scenario. I would welcome suggestions and improvements to this document.

The solution has been well tested in multiple real and artificial load condition and works extremely well with users never realizing when a connection went down or came back up again.

Networking is a complex thing and it is conceivable that you may run into issues not covered here. Feel free to post your problems and solutions here. However, while I would like to, I will not be able to debug and solve individual problems due to time constraints.

I may however be able to offer useful suggestions to your unique problems. It may however be noted that I respond well to CafĂ© Estima Blend™ by Starbucks and move much quicker on my todo list. It is also great as a token of appreciation for my hard work. The "velvety smooth and balanced with a roasty-sweet flavor this blend of coffees is a product of the relationships formed between" us.

In a followup article I discussed how to configure single / dual / multiple ADSL / cable connections, firewall, gateway / NAT With Shorewall Firewall.

Tuesday, May 25, 2010

Pac-Man play to stay at Google


HERE TO STAY: You can play Google's version of Pac-man anytime you like

Google made permanent a playable Pac-Man doodle posted in tribute to the classic arcade game's 30th birthday.
"We've been overwhelmed, but not surprised, by the success of our 30th anniversary Pac-Man doodle," Google vice president of search products and user experience Marissa Mayer said in a blog post.
"Due to popular demand, we're making the game permanently available."
The Pac-Man game, which spent the weekend incorporated into a logo atop the Google online search homepage, was given a new venue at www.google.com/pacman.
The game designed by Toru Iwatani was first released by Japan-based Namco into arcades on May 22, 1980.
The Google doodle Pac-Man comes complete with the arcade game's trademark music and sound effects, and an "Insert Coin" button where Google's "I'm feeling lucky" button usually is.
It was the first time Google made an interactive logo at its homepage, which routinely features artistic touches in keeping with holidays or special occasions

Thursday, May 20, 2010

Review: Foxconn Mini Tablet powered by Android and Nvidia



Somebody publish the prototype for the above Foxconn-manufactured, Tegra 2-powered Android prototype, and we’ll be honest — it was awfully sweet. There wasn’t much going on beyond some gaming action — we didn’t see it boot into standard Android — though it was running the 3D football title you see above at a pretty healthy clip (check out the video after the break). NVIDIA reps weren’t very keen on sharing info about the device, though we can tell you that it’s apparently got 1GB of RAM inside cuddled up to that 1GHz ARM Cortex 9 CPU, a front-facing camera, and the WSVGA screen measures 8.9-inches (it’s also a much wider aspect ratio than something like the iPad). We’re going to hold any judgment till we see this thing cooking with a full UI, but we’re not knocking it — get this in at the right price, and we’ll likely be first in line.

Review of HTC EVO 4G Android


As a mobile platform, the EVO 4G’s Android foundation is still an infant — well, okay, perhaps it’s a tweener — but in its two-odd years in the public spotlight, the list of truly revolutionary devices to use it has been a significant one: the G1 for being the first to market; the Nexus One for ushering in a new (and subsequently killed) retail model; perhaps the CLIQ for introducing Motorola to the platform or the Droid for bringing the company some desperately needed, long overdue success. For the moment, anyway, a whopping fraction of the world’s most important phones are running Google’s little experiment.
Needless to say, Sprint, HTC, and quite frankly, many of us have come to expect the EVO 4G to join that short list for some obvious reasons. Put simply, its magnificent list of specs reads as though it was scribbled on a napkin after a merry band of gadget nerds got tipsy at the watering hole and started riffing about their idea of the ultimate mobile device: a 1GHz Snapdragon processor, 4.3-inch WVGA display, 8 megapixel camera with 720p video recording, HDMI-out, and WiMAX compatibility. Of course, the list of potential deal-breakers for a phone is as long as the EVO 4G’s display is wide; to put it another way, there are countless ways HTC, Sprint, or even Google could’ve screwed this thing up. So does this moderately intimidating black slab of pure engineering and marketing
more on engadget

Wednesday, May 19, 2010

Thinkpad Lenovo X100e: Reviewed

Business users looking for more than what a netbook can provide should check out what Lenovo's ThinkPad X100e has to offer.
THE latest ThinkPad X100e is more of an entry-level ultraportable notebook than a netbook.
Instead of the usual Atom-based processor, it runs on an AMD Athlon Neo X2 Single-Core MV-40 processor.
Supporting the processor is an integrated ATI Radeon HD 3200 IGP 128MB, which provides a boost when playing videos or running graphics-intensive apps on the machine. That's not all, it also has a bigger 11.6in widescreen monitor and the keyboard... well, it's probably one of the best that we have used on a notebook (more on this later).

Of course, being a ThinkPad it wouldn't be complete without having a trackpoint pointing device around. For the uninitiated, it is the tiny red dot that you see in the middle of the keyboard. However fret not if you are not used to the trackpoint as the notebook also has the usual trackpad.
Stay clean
The X100e is available in either the standard non-glossy black or red - which is what we received for review. However, no matter which colour you choose, the interior will always be black.
At first glance, the red review unit looked dull due to the non-glossy coating. Heads will not turn but on a positive note this ThinkPad will stay cleaner, especially from fingerprint smudges, a lot longer than its glossy brethren.
As a matter of fact, we only had to wipe the lid when it was time to return the review unit.
However, for this particular model you will likely notice that not all of the exterior is covered in red. From the rear, you will see the black six-cell battery pack sticking out like a sore thumb.
Seriously, it makes the whole notebook design look awkward. Perhaps, Lenovo will be able to come up with a better design in the future to make the battery pack less conspicious for the coloured models.
TAKE NOTE: Half of the inserted SD card also sticks out from the built-in slot, so don't forget to take it out when moving the notebook around.
Unfortunately that is not the only thing that protrudes from the notebook. Half of an inserted SD card also sticks out from the built-in slot, so don't forget to take it out when moving the notebook around.
As mentioned earlier, the X100e offers a slightly bigger screen than usually found on a netbook.
Its 11.6in WXGA screen is able to display an image at up to 1,366 x 768-pixel resolution, which allows users to view widescreen movies with ease.
To complement the video is a built-in sound system that produces decent audio even at full blast.
It is also worth noting that the notebook supports the company's ThinkVantage suite of professional security features such as Access Connections, Power Manager and Active Protection to give business users peace of mind while using the X100e.
Fast operation
The AMD processor with help from the integrated ATI graphics card and 2GB of RAM ensure fast and smooth notebook operation. It is able to play 1080p HD videos well and handles photo-editing tasks without a fuss.
NICE: The X100e has an excellent keyboard and two navigation methods, trackpad and trackpoint.
It is a shame then that the model does not offer any HDMI connectivity. Users will just have to make do with the built-in VGA port when connecting to a HDTV for a larger viewing.
One feature we liked a lot is the keyboard. Unlike a typical full-sized island-type keyboard, the one on the X100e takes it slightly further where each matte key is curved as if it has been moulded to neatly fit your fingertip.
Plus the keys are raised in order to provide maximum tactility and the keyboard is also spill-resistant.
Some rarely-used keys such as Pause/Break, Scroll Lock and SysRq have been removed, leaving more room for the rest of the keys. Other changes include much smaller Function buttons and two full-sized Shift keys.
However the keyboard is not without its fair share of problems especially in the form of lots of "mis-pressing" due to the different key layout.
On the X100e, the Delete key now sits three keys away from its regular position at the end on the top right corner. The position of the Fn and Ctrl keys are also reversed, with the former now located at the far end on the right bottom corner.
All these switches led to us pressing the wrong keys or key combinations when trying to delete some files fast or when executing certain commands.
2-in-1
As mentioned earlier, the X100e offers both the trackpad and trackpoint, with two mouse buttons for each. Some people find the extra navigation method an unnecessary addition to the notebook but we beg to differ. There are times when you would like to use one over the other.
For instance, based on our experience, the trackpoint allows us to finely position the pointer especially when editing photos while for faster access to the notebook's functions we prefer the touchpad.
Plus the touchpad also has multi-touch capabilities for quick zooming. In any case, the notebook allows you to disable either function if you prefer to use only one method.
SPOILER: The black six-cell battery pack at the back of the notebook sticks out like a sore thumb.
One area users need to be aware of is the heat - the notebook gets pretty hot especially on the left side and bottom. Our advice is to make sure you put it on the table and not on your lap when using it.
What really surprised us was the battery life. Unfortunately, not in a good way.
Despite being equipped with a six-cell battery, the notebook only managed to last slightly more than three and half hours, compared to five hours as claimed by Lenovo.
As a comparison, most Intel Atom-based netbooks with a six-cell battery pack that we have used before can last way longer than this.
However this could be down to the power management, larger screen or simply that the Neo processor needs more juice than its Atom-based competitors.
Nevertheless, the result here is still a disappointment.
The legacy... continues
The first things that come to mind when one sees the name "Thinkpad" are reliability and solid construction.
We are glad to note that the legacy continues with the X100e series. It also ships with enough firepower to let you go about your daily computing life with ease and it feels as fast as other full-fledged notebooks that we have tested before.
Of course, the awesome keyboard helps to give the X100e an edge over the competition in comfortable typing.
While it's impressive in many ways, we simply cannot ignore the heat and rather poor battery life that seem to plague this notebook. And the mismatched colour battery pack definitely ruins an otherwise clean exterior design.
In any case, if you think these drawbacks are something you can live with, then the X100e could just be the good companion that you are looking for when travelling.
Pros: Good performance; reliable; solid construction; excellent keyboard; dual navigation method.
Cons: Unappealing colour; positions of Ctrl, Fn and Delete keys have been switched; poor battery life; runs hot.

X100E RED

(Lenovo)
Ultraportable notebook
PROCESSOR: AMD Athlon Neo X2 Single-Core MV-40 (1.60GHz, 512KB)
MEMORY: 2GB 667MHz DDR2
DISPLAY: 11.6in HD AntiGlare (1,366 x 768-pixels)
GRAPHICS: ATI Radeon HD 3200 IGP 128MB
STORAGE: 320GB hard drive
CONNECTIVITY: WiFi, Bluetooth, 10/100 Ethernet
PORTS/SLOTS: Three USB 2.0 ports, VGA port, Ethernet LAN port, 4-in-1 card reader, heaphone and mic combo jack
BATTERY: Six-cell lithium-ion
OPERATING SYSTEM: Windows 7 Professional 32-bit
OTHER FEATURES: Trackpoint, multi-gesture touchpad, low-light sensitive webcam
DIMENSIONS (W x H x D): 282mm x 209mm x 15-29.5mm
WEIGHT: 1.5kg
PRICE: RM2,200

Saturday, May 15, 2010

Desktop Linux (Puppy Linux 5.0): Reviewed

It’s time for a review of Puppy Linux 5.0!
Puppy Linux, in case you aren’t already familiar with it, is a lightweight version of Linux that is designed for portability.
The .iso file of Puppy Linux 5.0 weighs in at an incredibly petite 128 MB. It’s much, much smaller than all of the usual desktop heavyweight distros. But don’t let its small size fool you, Puppy Linux 5.0 is anything but an also-ran in terms of functionality and usability.
Puppy Linux 5.0 is built from Ubuntu Linux 10.04 (Lucid Lynx) binaries, so it’s…er…pet name is Lucid Puppy. Like a lot of other things about Puppy Linux, the name is cute and adorable. I felt like giving Puppy Linux a dog bone and a pat on the head when I started using it.
What’s New In This Release
Quickpet is a great addition to Puppy Linux that lets you easily add more programs and drivers with one click. You can access Quickpet by clicking on the icon on the desktop.
The Quickpet menu is broken down into the following categories of applications (pets):
Popular Pets
GIMP
Pwidgets
Audacity
Songbird
Wine
Clan Bomber
Internet Pets
Firefox
Seamonkey
Chromium
Opera
Thunderbird
Kompozer
Useful Pets
Lxmusic Versatile Music Player
Dia Diagram Editor
Cinelerra Video Editing
JRE Java Runtime Environment
Foxit Reader
Inkscape
Drivers
Radeon HD
Nvidia 195
Update
Lucid Puppy Update
Before you try to use Quickpet, be sure that your network connection is configured. I forgot about that and got an error message when I tried to download Opera. To configure your network, just click the blue Connect icon on your desktop.
Puppy Linux 5.0 also now boots right to the desktop (don’t worry you can personalize your desktop, see that section of the review for more information).
And you get to choose your default browser as well. Firefox, Sea Monkey, Chromium and Opera are all available. What you choose to use is entirely up to you. You can also opt to simply use PuppyBrowser, which is a version of Firefox.

Use Quickpet to install applications with one click.

When you click to install a pet, it will download onto your system automatically.


Hardware Requirements & Installation
Hardware Requirements
I could not track down the exact hardware requirements for Puppy Linux 5.0. There don’t seem to be any in the release notes or on the Puppy Linux site. It’s possible that I missed them. I apologize if I did. If you have the requirements, please feel free to post them in the comments.
Suffice to say that Puppy Linux is a lightweight distribution so it’s perfect for older hardware or less powerful contemporary hardware.
Installation 
You can install Puppy Linux in a number of different ways. Given its size, it’s obviously a prime candidate to be installed to USB key chains and other portable, bootable devices. Alas, my USB key chain is still missing in action. I know it’s around here somewhere but I’ll be damned if I know exactly where it went. Someday I’ll find it or I’ll get another one. But for this review I just opted to run Lucid Puppy in a VMWare virtual machine.
Booting & Login
Bootsplash
The bootsplash screen is unmistakably Puppy Linux. It looks like no other distro. Hit the F2 key for a list of boot options. You can hit Enter to boot right away or simply wait five seconds for Puppy Linux 5.0 to boot automatically.
You have to hand it to the Puppy Linux developers. The logo is adorable and adds a lot of humor and personality to this distribution.

You can't mistake Puppy Linux 5 for any other distro when you see the bootsplash screen
Login Screen
There was no need for me to login to use Puppy Linux 5.0. I just booted right into the desktop from the bootsplash screen.

Helpful information about Puppy Linux 5 that appeared after logging in.
The Desktop
When you first boot into the desktop, you’ll see the First Run Configuration menu. This lets you adjust your Locale, Time zone, Date and Time, Keyboard and Video Resolution, and Network Setup.
The panel contains a Menu button, along with icons for viewing the desktop, free space and launching a browser. You can also access multiple desktops, and volume controls.
Click the Menu button to access application categories, system settings, etc. See the software section to see more about the software that comes with Puppy Linux 5.0.
Desktop Icons
The Puppy Linux 5.0 desktop is definitely not an uncluttered one. There are a lot of icons on it. But if you look closely, you will notice that they are laid out in a particularly arrangement.
At the top of the desktop you have the following icons:
File
Help
Mount
Install
Setup
Edit
Console
Under that you have:
Write
Calc
Paint
Draw
Then you have:
Browse
Email
Chat
Then:
Plan
Play
Etc.
The desktop icons are basically grouped in functionality categories. This helps prevent the Puppy Linux 5.0 desktop from collapsing into a total mess of icons. But those who are used to booting into an icon-free desktop might be taken aback momentarily when they first view see Puppy Linux 5.0. Don’t let all the icons rattle you; it’s very easy to make sense of them once you take a closer look.

The Puppy Linux 5 desktop is filled with useful icons and colorful wallpaper.
Wallpaper
I love the Puppy Linux 5.0 wallpaper. It’s very cute and has the name “Lucid Puppy” on it. The wallpaper fits in well with the desktop icons and isn’t too over the top.
If you find that you dislike the wallpaper, themes, etc. just right-click your desktop and choose Desktop then Desktop Settings. You can make all the changes you want from the Desktop Settings controls.
Sound and Multimedia
YouTube & Flash
Flash comes with Puppy Linux 5.0. So I was able to watch YouTube videos without having to install it. Sound worked fine and my YouTube videos looked good.
Problems & Headaches
For the most part, I had a good experience with Puppy Linux 5.0.
However, I did have two lockups while playing YouTube videos. I was forced to restart Puppy Linux 5. I’m not sure what the problem was but FYI for those who want to use YouTube via Puppy Linux 5.0.
Another thing I didn’t like about Puppy was that it doesn’t auto-detect and configure Internet connections. I guess I’ve gotten so used to this in desktop distros that I find it annoying when a mini-distro like Puppy doesn’t do the same thing. I’m probably nitpicking or just being lazy here though.

YouTube videos played but Puppy Linux 5 crashed twice while playing them.


Where To Get Help
You can always post a note in the Desktop Linux Reviews Forum and we’ll do our best to offer feedback or at least point you in the right direction. You might also want to check out the Puppy Linux forumsinstall instructions, and the Puppy Linux technical and developer page.
Final Thoughts & Who Should Use It
Puppy Linux 5.0 was a real treat for me to review. I love this distro’s personality and humor. Everything from the lingo, to the logo, to the wallpaper radiates fun. You can’t help but smile when the Puppy Linux desktop pops up.
Puppy Linux 5.0 is perfect for intermediate and advanced Linux users. However, I worry about recommending Puppy Linux 5.0 to beginners. The network configuration might throw some Linux newbies off and the application menus in Puppy teem with applications. It might be overwhelming to someone who is new to Linux. But if you’re an adventuresome Linux newbie, feel free to give Puppy Linux 5.0 a shot.
Puppy Linux 5.0 is well worth a download, and it deserves a chance to become your preferred portable distro. Check it out.
What’s your take on this distro? Tell me in the comments below. Visit the DLR forumfor more discussions. Visit JimLynch.com for opinion columns.
Summary Table:
Product:Puppy Linux 5.0
Web Site:http://www.puppylinux.com/
Price:Free
Pros:Quickpet makes it easy to add applications, drivers and updates with one-click. Boots right to the desktop. Good selection of bundled software. Tiny file download size.
Cons:YouTube videos seemed to lock up Puppy Linux 5.0 twice. Internet connection requires some configuration.
Suitable For:Intermediate and advanced Linux users. Adventuresome beginners might also want to play with it and see if it’s right for them.
Summary:Puppy Linux 5.0 is a terrific lightweight, portable distro. It’s well worth putting on a USB key chain or other portable device. Puppy Linux 5.0 is tiny but it packs a powerful bite.