Reviews of some of the best websites, software, and technologies around the Web
15 Aug

If you have been a Windows application developer for the past 10 years, you would remember that when building a small, desktop sized application database driven application, perhaps the only viable option for a database would have been the Microsoft Jet Engine, which is what Microsoft Access is based upon. It used to get the job done, but with multiple users, the typical problem was that since it was file-based, the database would get corrupted as multiple simultaneous record updates took place.
Then at the turn of the century, along came a well-kept secret, the free Microsoft Desktop Engine, also known as MSDE 2000. This was essentially a scaled down version of the SQL Server 2000, with a size limit of 2GB. Microsoft did not over-advertize this database, and it did not even come with its own Management Tool. So you either had to use Microsoft Access as a front end (yes its possible, we will cover this in another post), or you had to purchase a third party tool such as MSDE Manager by Vale Software. This allowed many people to develop desktop and web applications on the Windows platform, with a more reliable database.
Subsequently, Microsoft a similarly scaled down version of the SQL Server 2005 database and branded it as Express. So it was called Microsoft SQL Server 2005 Express edition. This worked just as well as the MSDE 2000, and was also Vista compatible, in addition to having a larger data limit of 4 GBs. These two factors moved a large number of developers to switch from MSDE 2000 to MS SQL 2005 Express edition.
Currently, SQL Server 2008 Express edition is the latest free database offering from Microsoft. It comes with many more features compared with the humble MSDE 2000, including its own Management Tool, reporting, and full-text search. To obtain a copy of this database, head over to : The SQL Server 2008 Express homepage.
The database is powerful enough to handle most desktop and workgroup applications. The good thing is that if you start off with the Express edition and find that you need a more robust database, you can easily switch to the one of the many versions of the full-fledged SQL Server 2008. Click here for a full comparison of all the versions of SQL Server 2008, including the free Express edition.
Just a word of advise, SQL Server 2008 Express edition starts in a “lockdown” mode. To prevent security risks, you will need to enable any features which you need on the server. Even simple network access within a local area network is disabled. Its designed to work only in Shared Memory mode when first installed. To get access to the server over TCP/IP, you will need to fire up the SQL Server Configuration Manager. Under SQL Server Services, first make sure that the SQL Server Browser service is running. Next, expand the SQL Server Network Configuration, and under Protocols for SQLEXPRESS, right click on TCP/IP and click on Enable. Now, double click on TCP/IP and under the IP addresses tab, you will see all the IP address which are associated with your server. Make sure you change those which you need to Enable and Active. Phew talk about lockdown security. If you still cannot access your SQL Server, you may also want to enable the NetBIOS protocol on your network connection, and also Enable the Named Pipes protocol in your Protocols for SQL Express.
Hopefully these steps you help you save some frustration in connecting to your SQL Server 2008 Express edition. Would love to hear from your on your experiences.
7 Apr
Many people use domain name forwarding or masking in order to present a professional image to their readers while being able to host their websites on shared or low-cost hosting. For example, if someone has a free website at www.geocities.com/samplewebsite, they may want to allow users to access it using a personalized domain name such as www.theirwebsite.com.
One option is to purchase a web hosting account from a hosting provider and associate that hosted account with the domain name of their choice. While this is a good option, it may not be the most cost-effective method, since some people may have many domain names, and would instead like to share one web hosting account across all those domains.
The solution to this is domain-name forwarding, which is essentially a simple frame page which hosts the original site within it. This service is usually provided free of charge by most domain name registrars with the purchase of a domain name. The end-user can then key in the more meaningful domain name, while the original domain name is loaded in the background.
However, if you were to host a site based on Wordpress / Joomla or a similar CMS based on the PHP/MySQL platform, you may encounter that you are unable to use the user login (and admin login) feature if you were to access your site from the forwarded domain name, but works fine if you were to login using the original domain name.
The reason for this is that Internet Explorer uses the address bar in the browser to set the cookie (and not the URL of the originating content), therefore causing the inability to login. I first faced this issue when I developed a site using Mambo a long time ago, and found a solution which worked. Since then, I have successfully implemented this in my other sites using Wordpress and Joomla.
If you are facing this same problem, I would like to share the solution with you, and this is what needs to be done. Open up wp-login.php (it should be in your Wordpress root folder), and just below line 9 (in Wordpress 2.x) – the line that says header(bla bla), put this line: header( “P3P: CP=CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE”);
What this does is that it adds a P3P Compact Privacy Policy to your site. Just by doing this, you should be up and running already, and nothing else needs to be done. However, if you need to know more about P3P or what this is doing in detail, let me refer you to the Mambo support page where I discovered this solution : http://forum.mamboserver.com/showthread.php?t=13076
All the best and do let me know if you need help with this workaround.