Saturday, January 27, 2007

XAMPP

XAMPP is a software bundle created by www.apachefriends.org which includes everything you need to install Apache/MySQL/PHP/Perl in one go. It is available for Windows, Linux and Solaris. Particularly on a Windows machine, this is definitely the fastest way to get up and running with these tools, as someone else has done the integration and DEFAULT configuration work for you.
The philosophy behind XAMPP is to build an easy to install distribution for developers to get into the world of Apache, PHP and MySQL. To make it convenient for developers XAMPP is configured with all features turned on. The default configuration is not good from a security point of view and it is not secure enough for a production environment. Since v0.9.5 you can make your XAMPP installation securer by calling "security" from XAMPP admin web interface, from which you can tighten up the loose ends.

Labels:

Tuesday, January 23, 2007

Change Data Range For Existing PivotTables

Say you have a existing PivotTable in Microsoft Excel Speadsheet to summarize the number of accounts in a list of banks. If you change the values in the data source, you need to Refresh the PivotTable and PivotChart to bring the updates from the data source. However these changes are updated only for the data values fallen within the original data range when the PivotTable was initially created. For instance, you have a table with these values:



Based on this data source, you have created a simple pivotTable like this one:



Now add an extra row in the data source table, and refresh pivotTable, you will find the pivotTable is not updated. Why? The reason is that the data range is set to "Sheet1!$A$1:$B$5" when you first created the pivotTable. It is not obvious how can one change the data range in the pivotTable. Right clicking the pivotTable does not give you any options, nor do the menu items.
The trick is to re-enter the PivotTable wizard from the existing pivotTable. The Wizard shows the step 3 of 3 like this:



You need to go back one step to step 2 of 3, like:



From there you can update the data range to "Sheet1!$A$1:$B$6" to include newly added data row, such as this:



Now you can finish the wizard, voilĂ , the pivotTable is updated with newly added data row included:-)



For more Excel tips visit: MrExcel...

Labels:

Enterprise AJAX

In one of my recent projects, I have used Backbase AJAX Framework for JSF to create rich user interface for an B2B telco ebilling application. Backbase AJAX platform consists of a client-side AJAX Engine, JSF Runtime, JSF Components (UI Widgets) and a Developer Tools.
The Backbase AJAX Engine is developed in JavaScript and provides a number of generic and reusable client side features, such as drag-and-drop, animations, back-forward button support, bookmarks, focus model, state management, data binding and templating.
The Backbase JSF runtime performs the AJAX component rendering in the JSF presentation framework. It extends the JSF request lifecycle to work in a Single Page Interface environment, it synchronizes client-server state and facilitates data binding.
The Backbase AJAX JSF Components includes over 30 customizable UI components with built-in AJAX features.
The Backbase AJAX Developer Tools provide a complete set of development tools with a plug-in for the Eclipse platform and debugging tools within the web browser itself.
It offers a 30-day trial version which contains the full functionality.

Labels:

Tuesday, January 16, 2007

Mobizines

When I started using Mobizines about 18 months ago, I was enjoying reading the BBC News mobizine on my Nokia 9300 smart phone around the world. I could download the mini version of BBC News onto my phone whenever I have a GRPS connection and read it at anytime I like even on the plane in offline mode. However for a long time BBC News was the only mobizine available to download. Very recently I switched my phone over to Nokia E62 for its better email capability, I needed to re-install mobizines on that. Surprisingly I found they have grown the collection to around 50! Including popular magazines like Timeout, TechDigest, CNet, and even GQ:-) You can get it started by registering your phone on their website. With Nokia E62's WiFi connection I can download these mobizines via office/home/hotspots wireless broadband connection which costs nothing. I have told everyone at my work about it, they all love the service!
Enjoy...

Labels:

Installing OpenSUSE 10.2 on an aging IBM A21p ThinkPad

I have a decommissioned IBM A21p laptop from my workplace. It has been used occasionally to browse the Net in one of our bedrooms via wireless broadband connection through a PCMCIA Cardbus interface D-LINK DWL-G650. There were a few free hours in hand during last weekend, so I thought it might be a good idea to turn this into a Linux based thin client with the intention to be used as a web surfing machine.
We have a few Red Hat and Fedora installations in our workplace, so I decided to give OpenSUSE a shot. This is a short replay of the installation experience. Since there are a number of good tutorials already on Linux forums and OpenSUSE web site, I am not simply repeating the whole procedures. My intenstion is to document a couple of small glitches I have encountered for any future reference.
OpenSUSE offers two types of the installation: 1) Local installation, 2) Internet installation. Since we have 4Mb broadband connection at home, I choose the internet installation to avoid burning all the 6 installation CDs needed. With the internet installation, all you need is a boot CD which you can download from OpenSUSE. A simple mistake I made there was burning the CD as a normal data CD which can be used as bootable CD. This is partially due to the fact I have a standard edition of Sonic RecordNow on my home PC which does not have "burn as image" feature. Solved the problem by using my laptop from work which has professional edition of the RecordNow installed. Burned the openSUSE-10.2-GM-i386-mini.iso as a CD image, and kicked off the installation process immediately. I found it is much quicker to download from the UK Mirror site than OpenSUSE itself. For the same reason I also used the mirror site address for the rest of the installation. Followed the procedures documented on OpenSUSE Documentation, it was a very straight forward experience indeed. The whole installation of the OpenSUSE completed after around 2 hours. I guess most of the that time were spent on downloading the CD images.
With the OpenSUSE working happily as a web surfing machine view wired Ethernet connection, I moved onto the task of installing the wireless PCMCIA cardbus card. Due to some vendors do not release specifications of the hardware or provide a Linux driver for their wireless network cards. Ndiswrapper project implements Windows kernel API and NDIS (Network Driver Interface Specification) API within Linux kernel. A Windows driver for wireless network card is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation. OpenSUSE offers ndiswrapper as part of its standard distribution in 10.2 to avoid everyone having to compile the ndiswrapper from the source. Unfortunately the ndiswrapper install comes with OpenSUSE 10.2 did not work for me. I completed all the necessary steps documented on OpenSUSE without any errors. But the iwconfig does not show any wireless interfaces such as wlan0, and dmesg|grep ndiswrapper indicates ndiswrapper failed to initialize the windows driver neta3ab. After tried various steps found on Linuxforums without any success, I followed the steps contributed by Andrew18 to download the latest ndiswrapper from Sourceforge to compile and make install the source directly. The newly compiled ndiswrapper worked straight away.
Here is a summary of the configured components:
Hardware
1. IBM A21p laptop;
2. DWL-G650 High Speed 2.4GHz (802.11g) Wireless 108Mbps Cardbus Adapter.
Software and Drivers
1. OpenSUSE 10.2;
2. ndiswrapper 1.34;
3. DWL-G650 Windows XP driver version 3.4 -- NetA3AB.inf and A3AB.sys.

Have fun and Go OpenSUSE...openSUSE.org

Labels: