Thursday, August 16, 2007

CodePlex and SQLAnalyzer.NET

CodePlex is Microsoft's open source project hosting web site. At workplace we have lots of tools and applications to manage our software projects. But when it comes to our personal (hobby or serious) projects that we undertake after work hours, it is really hard to keep track of all the aspects of the project, if it is little too bigger. For the open source enthusiasts, CodePlex provides the solution by giving a completely free source code hosting platform with integrated tools for configuration management, release management, issue tracker, discussion forum, licensing and collaboration.

I immediately liked the wiki based interface that was simple yet cool and powerful. Making a higher and better version of my earlier tool SQLAnalyzer was there in my To Do List since long back. So I started a new project in CodePlex and named it as SQLAnalyzer.NET.


The tiny tool called CodePlex Client provides access to the CodePlex Team Foundation Server (where the source code will be stored) using an edit-merge-commit style of source control access. This tool was so easy to use and the ability to checkout and check-in source codes remotely through Internet was faster than one could imagine.


My ideas for SQLAnalyzer.NET is posted on the CodePlex page and I plan to keep it updated. Here is the initial technical details of the plan:


- Consists of a Client Host Application and pluggable functional modules
- Host is coded in VB.NET with .NET 2.0 ( A future version can use WPF if required)
- Host application provides framework for connecting to database server and getting the objects and their details
- Functional modules (Plug-ins) can be developed in any .NET language
- Plug-ins will refer Host Application libraries and will provide independent functionalities


I am also looking forward to having more developers involved in this project. If you are interested you can register in CodePlex and post a message in the forum of SQLAnalyzer.NET.

Saturday, August 11, 2007

Windows Live SkyDrive

Remember those old days when there were lots of online companies offering free storage space on internet? During 2000, I had uploaded lots of my files into one such net drive, only to find later that they became a paid service. Even though I liked the convenience of online storage compared to the problematic floppy drives (USB Drives were not common those days), I wasn't ready to pay for that.

Then came the storage capacity boom in email services and I stored all my important files as attachments in GMail, Yahoo Mail and Hot Mail. It worked fine, but was not very convenient to locate and download files. USB drives still helped but there were many situations where I needed to access one of my files when I wasn't carrying my USB drive.

Now I heard about the new service from Microsoft branded under the Live group. It was initially called as Live Folders. I signed up for the beta and after waiting for few weeks, they opened it up on 2007-August-01. I liked it immediately as it had a simple interface. Besides the 500 MB storage option which we can use to store any kind of files on net organized under folders, it also provided options to share these files to a defined group or public. That was an excellent way to pass on those huge files, when you don’t have access to the FTP server.



This week, Microsoft renamed this service to SkyDrive to indicate that all our files are there in the clouds of the internet. They have also refined the user interface and added support for drag and drop and the thumbnail preview option for image files. Let us wait and see how Google is going to beat this now? Will that GDrive from Google with infinite storage become a reality soon?

Link: skydrive.live.com

A sample shared file:

Wednesday, August 08, 2007

At Microsoft With Miguel Castro

Attended one more .NET User Group meeting from here at Dallas. This one was from Dallas Dot Net User Group which meets regularly at Microsoft Office in Las Colinas, which is very near to my place.

The speaker was Miguel Castro of SteelBlue Solutions and he did a wonderful presentation about Extensibility Design & Patterns to a full pack of audience of more than 100!

He talked about designing applications for extensibility to avoid breaking the code when the customer demands more features to existing applications. He demonstrated a lot of code samples to showcase Strategy Design Pattern based Providers concept, Plug-Ins and Modules.

Apart from the interesting session, the User Group coordinators also conducted a lucky draw and some real lucky ones won stuff like T-Shirts, .NET Books, etc while I had to be satisfied with pizzas and some copies of ASP.NET Pro and CoDe magazines.

Sunday, August 05, 2007

Stylish Stylus

During my short vacation to India, I proudly showcased my Olympus E500 Digital SLR camera to all my friends and family members. As expected, everyone was awestruck. But my younger brother claimed my older camera, the Mju 400 which was so dear to me for years. He was right... why do I need this little camera when I have a bigger one.

The bigger one was good for major shootouts. But if I go for a small party or a casual outing, this bigger one was too clumsy and embarrassing to take out from its even bigger bag. Moreover, my wife wanted a gift on our wedding anniversary. As those wise people say, whenever you buy gifts to your own family, make sure you buy something useful for yourself. So I decided to buy another small point and shoot camera.


The buying process starts from deciding on the brand. The experience with my E500 had only increased my love for Olympus. So I didn't even consider other brands. Now need to decide on the model as Olympus had a lot of options. The Stylus (Mju) series seemed to be a better option as they were slim, stylish and weather proof. The different versions of that added more confusions but after reading lots of reviews and user comments from various sites, decided on the 760. The optical zoom was less (3x compared to 5x of some other models), but everything else looked great including the price.


I preferred buying it from Amazon, as they had better deals and free shipping with no taxes. Selected the pink color (Remember... its for my wife!) and got it for $199.94. I placed the order today and I am not waiting for it to arrive to write about it... I trust both Amazon and Olympus and I am sure things will go great.


Saturday, July 07, 2007

Being a Movie Maker

I was never a fan of video cameras (and I am still not), even though I had used them a couple of times. Carrying a video camera on a vacation or function spoils the whole idea of enjoying that occasion as we end up in holding the camera and recording all nice events. Besides, it takes lot of effort to edit the output and store/organize them properly due to the huge size of these video files.


But when I decided to visit my home country for the first time from US, I felt like buying a small handycam to capture the scenes from here, so that it will be more fun for my friends and family to know our life here. A better option than listening to my boring narrations as they can fast forward or skip any time. :) And, my younger brother wanted a gift from me and this served both the purposes.


Since I was never into camcorders, I knew nothing about them. The buying process started with extensive research on the net and I learnt lot of new things. First of all I had to choose the type of recording medium. Built-in hard disk were the new trends, but many people on discussion forums and reviews reported that it is still not very proven and quality will be less as they had to compress the output. DVDs were popular but they also had this same quality issue. I was not interested in tapes, as I thought they are very cumbersome and require conversion devices to get the video transferred into computer. I was wrong and there were these mini DV tapes which records video in digital format. Then I learnt that there is something called firewire port (like USB ports but with higher transfer rates) in computers and buy buying an additional firewire cable it is possible to transfer videos from these tapes to computer easily.


I compared various models from Canon and Sony after knocking out JVC and other brands from the list. The actual user comments from various online store sites helped in getting the right feel of the products early enough to make a wise buying decision. Due to the noise issue, Canon ZR850 was knocked out in the last minute and decided on the Sony DCR-HC38.
Visited various stores like Frys, Best Buy, Walmart and Circuit City near Irving (Dallas, USA) to actually feel the product and get the details of their deals. Also compared prices from popular online stores like Amazon, B&H, etc and finally got the better deal from Amazon with free shipping and no taxes.



Since the free shipping takes more days to deliver, I was bit worried about getting it delivered before my vacation. But it did arrive just two days before my travel and I was really surprised to know that how easy it has become to shoot quality videos with this tiny camcorder. I spent a whole day shooting all near by places and used the firewire cable to transfer the video to my laptop using Sony's software that came with the camera. The files were in avi format, and for the first time I used almost all the features of Windows Movie Maker that came along with my Vista, to make a not so bad video. Adding titles, effects and background music was a breeze and the final output in wmv format was more compact than I thought.

I have its specs at http://wayfarer.bizhat.com/about/camcorder.html

Sunday, May 06, 2007

Going SLR

The transition from point and shoot digital camera to SLR was obvious. But the buying process wasn’t that easy as I thought. I am sure my wife will never forget those days I spent in front of the computer every evening reading reviews after reviews to decide on my first major camera purchase. Also the long discussions I had with my friends who owned SLRs... asking the same questions again and again.

Canon's Rebel XT and XTi versions were in the last list along with Olympus Evolt E500. The two lens kit and the better price together with features that helps a novice with SLR photography made sure that Olympus got my bet.


Since the research process took more time than expected, I had to buy the camera as soon as possible to get ready for my first big vacation trip from here to Las Vegas and Canyons. I had placed this camera in the shopping cart of Amazon, few days back only to find it out of stock when I finally decided to buy. My hopes on the prices of these cameras to come down also seemed diminishing when I noticed prices going up in some online stores. So I rushed to Circuit City shop where I had examined this camera before. I had to spend some tensed moments at the store when they insisted that I need to place the order online first to get the better deal. I did that from the connected computer in the store and got my package right there. Within no time, I was into exploring its details and got immediately hooked into this new gadget.
I have all the details of this camera at http://wayfarer.bizhat.com/about/cameraslr.html

Saturday, April 14, 2007

SQL Server 2005 Compact Edition

Here is my problem… I need to develop a PIM (Personal Information Management) application. It will be a small client application that users can take along with them on their laptops or USB drives or even PDAs. What are my storage options in this scenario?

Having an XML or text file to store complete data for this application is not even worth of thinking when you know that your data is growing and there will be sensitive information that needs to be stored securely and searched quickly.

Another option is MS Access mdb file. It has its own issues and the debate of whether it is a better choice is still going on. Now that I heard about SQL Server 2005 Compact Edition (CE) (previously SQL Mobile or SQL Everywhere), I would certainly choose it just because I can leverage on my SQL skills and be consitent all across.


Microsoft SQL Server 2005 Compact Edition is the next version of SQL Server Mobile adding the desktop platform. SQL Server Compact extends the SQL Server Mobile technology by offering a low maintenance, compact embedded database for single-user client applications for all Windows platforms including tablet PCs, pocket PCs, smart phones and desktops. Just as with SQL Server Mobile, SQL Server Compact is a free, easy-to-use, lightweight, and embeddable version of SQL Server 2005 for developing desktop and mobile applications.


Unlike SQL Server 2005 Express Edition, CE is much smaller (less than 2 MB) and can have a database within a password protected single file (with sdf extension). I completed its installation within a minute. I used Visual Studio 2005’s Server Explorer Data Connection to create a new database and to connect to it. Same interface can be created to design and populate tables. You can also use SQL Management Studio to mange the database.


To use it in an application, add a reference to System.Data.SqlServerCe. Then connecting to this database is a breeze.

Imports System.Data.SqlServerCe

Dim objConn As SqlCeConnection
Dim strCon As String

strCon = "Data Source=FirstDB.sdf;Encrypt Database=True;Password=Welcome123;File Mode=shared read;Persist Security Info=False;"
objConn = New SqlCeConnection(strCon)
objConn.Open()

Inserting data is also very simple:

Dim objComm As SqlCeCommand
Dim strSQL As String

strSQL = "INSERT INTO TestTable (ColName) VALUES ('" + txtName.Text.Trim() + "')"
objComm = New SqlCeCommand(strSQL, objConn)
objComm.ExecuteNonQuery()

Getting the data back:

Dim objAdapter As SqlCeDataAdapter
Dim objDataset As DataSet
Dim strSQL As String

strSQL = "SELECT ColID as [ID], ColName AS [Name] FROM TestTable"

objAdapter = New SqlCeDataAdapter(strSQL, objConn)
objDataset = New DataSet()
objAdapter.Fill(objDataset, "Products")

dgResult.DataSource = objDataset.Tables("Products")


I created a small windows .NET 2.0 application that insert data into a local CE database and populate it on a grid as shown in the above code. I could make it work in other machines where CE is not installed by copying all the CE dlls along with my executable. It is that simple and easy.
The advantages are many. It is in-proc and supports transactions. When the application grows, it is easy to migrate to SQL Server. The synchronizing features helps to get the local data synchronized with a central server using RDA (Remote Data Access) or Merge Replication.


The issues? It does not support views, triggers, stored procedures or user functions. Though you can have SQL scripts embedded in your project separated with GO statements and get them executed together. The key minds from Microsoft behind this technogy, Steve Asker and Anil Nori explined in their web cast that they are not planning to provide support for stored procs, etc, not just because that the size of this product will grow, but mainly because they dont want the business logic to be residing in the database.

Sunday, April 08, 2007

Virtual PC 2007

I first encountered with this wonderful virtualization product from Microsoft sometime back when we had to setup 20 computers with identical software installations for a training purpose. The software packages we required were really huge taking up hours to install (SQL Server 2005 and Visual Studio Team System 2005). Virtual PC helped us here. All we had to do was to setup one Virtual PC image with all of them and it was just the matter of copying these files into the computers and installing only the VPC software on them.


Now that I have a new laptop with Windows Vista, I didn’t want to install all my development tools on it to make it slower and problematic. Solution? Virtual PC! The new version 2007, which is totally free, now supports Vista as both host and guest. So I have a Windows XP Virtual PC with old favorites like VB6, and another VPC with Windows 2003 and VS 2003 and VS 2005. Another one is in making with Vista and .NET 3.0.


Virtual PC also helps me in trying out any software without disturbing my original system. And whenever I get new software that is not working in Vista, I can use them in XP or 2003. Now I am a complete Virtual PC enthusiast!

Sunday, April 01, 2007

Windows Media Player 11 And Codecs

Windows Media Player 11 that comes loaded with Windows Vista is certainly great… lot more features and interesting look and feel… but wait a minute… Does that mean I don’t have to use Winamp any more… not exactly… again its based on our personal comfort feeling… I have been very comfortable with Winamp… I thought the new version of WMP will make sure that I do not require any third party tools to play my media files… But soon I realized I needed my Winamp back to quickly load and play my MP3s with better quality.


Then it was about video files… I have a huge collection of my favorite movies in my external hard disk. It was of all kinds of file types starting from dat to rmvb, avi and mp4. Most of them didn’t work in WMP. Some played just the audio track. After spending a good time on googling for suitable codecs to make it work the way I wanted, I ended up downloading DIVX and FFDSHOW. That did the trick. Now my WMP plays all kinds of video files. It just need some breathing time in the beginning to change to proper codecs. Then there was REAL ALTERNATIVE to play all RealMedia files without the need of installing the actual Real player with nagging registration forms.

Friday, March 23, 2007

Modifying Windows Gadgets

One of the things I like to be on my desktop all the time is my ‘To Do List’. It keeps on increasing, and hence having a look at the list everyday is necessary to remind me that I still need to do those things.

Windows Vista comes with a cute and tiny Notes gadget with a sticky note kind of look. But it was too small for me and I wondered why they never had settings to decide its size.



I tried downloading some similar gadgets, but none was satisfying. They either lacked features or were too clumsy. After reading a white paper on gadgets, I found it was very easy to make a gadget of our own. But it was easier to modify an existing one with the features we wanted. :)


I took a copy of the Notes gadget source files from C:\Program Files\Windows Sidebar\Gadgets\Notes.Gadget and placed it in C:\Users\Sameer\AppData\Local\Microsoft\Windows Sidebar\Gadgets\LongNotes.Gadget folder. Edited the settings.html file to add a text box for height and modified the javascript files to change the height of notes according to the settings. It was that easy and I had the ‘Long Notes’ I wanted.

Thursday, March 22, 2007

My Windows Vista Experience

As Microsoft promised, Vista really made me say Wow! Everything looked pretty and clear. It was easy to find and manage things. The glass like Aero looks were impressive. Flip 3D feature wass interesting.


Already Windows is known for working slowly and I hated loading it with more utility software… But those Windows XP days, it was necessary… Windows Search was the slowest and hence I ended up using Google Desktop Search. For picture management, there was Picasa. Another utility I loved from Google was their side bar with useful gadgets.

Now it looks like Microsoft has integrated all these utilities as Windows features. Search box is everywhere and it works instantly. Windows Sidebar looks stunning with lots of gadgets available for download. Windows Photo Gallery works exactly like Picasa and gives more control on folders and displays more information about pictures.



Speech Recognition is well integrated and I managed to open a notepad file and write some sentences without touching the key board or mouse. But I had a tough time making the computer understand what I really meant (thanks to my accent!). It kept on wondering ‘What the heck you are talking?’


And the Vista Security feature of popping up a window with ‘Cancel or Allow’ question whenever I try to run something, makes me laugh again and again… after watching that Apple Mac’s new ad.





So what is the sad part of it? Well… with a Core 2 Duo Processor and 2 GB RAM, I expected my laptop to perform with supersonic speed. But it is not. Sometimes it takes really a good amount of time to get things loaded. Other than that, everything looks great. I will write more as I explore more features.

Wednesday, March 21, 2007

Have you heard about AGLOCO?

It was in the air since 2006. But I just heard about it through a forwarded mail that was no different from the normal spamming mails that tell you about making money from internet. But I was curious to know what that word meant (coz it sounded funny?!) and followed the link. I had to do a lot of googling to see that it meant 'A GLobal COmpany'. And their logo looked pretty cool and the motto was also interesting. "Own the Internet".



There were lots of such scams like this including the offer to own a piece of land in moon. I was always against these ideas and used to delete such mails just by getting an hint from the subject line.

Just in case, if you want to know more about what I found out by spending (or wasting) more than an hour on this, read on...

AGLOCO is a new internet startup promising its users to pay money for the time they spend surfing the net. It works on building up on the pyramid model where one user refers another one and benefits from the referral. You also need to install a browser toolbar which will be available later.

I always believed that there is no such thing as free money from internet. But further reading on AGLOCO showed that there was a similar venture named AllAdvantage and it actually paid its users, though ultimately it fell victim to the dot-com bubble burst.

Considering that Ad-words model from Google is now a successful model (and one of my close friends confirmed that he started getting money from Google by having Google Ad-words advertisements on his site) and the same Stanford MBAs behind AllAdvantage are the leaders of this startup, there is a chance that this could take off well.

If you google for AGLOCO you will find lots of sites and blogs, some supporting it and some against it. But nobody is saying that it is not worth trying.

So for the first time in the history of my internet usage :) , I decided to try it out and signed up using an email id I rarely use and using a referral code I got. If you also want to try this out use my referral code link by clicking at http://www.agloco.com/r/BBCQ8478

I also would like to hear what you think of this.... :)

Some links for your reference:
AGLOCO site: http://www.agloco.com
Venture Beat comment > http://venturebeat.com/2006/11/20/agloco-luanches-wants-to-pay-you-to-surf-the-internet/
Wikipedia about AllAdvantage: http://en.wikipedia.org/wiki/AllAdvantage

Tuesday, February 06, 2007

My First Personal Laptop

Once you have a desktop of your own, the next thing you wanted to have will be a laptop. And these days the laptops are no more a status symbol which only hi-fi guys can afford. But I never had a compelling reason to buy one as I had good desktops at both office and home. And I knew that laptops are much cheaper and better in US than in India. So I kept telling myself that I will buy my first laptop when I reach US one day.

When I landed here few months back, company gave me a laptop to work. This was the first time I was using a laptop for my day to day work. It wasn’t that exciting as I thought and soon I started having wrist pain. The only advantage I found was the mobility (which is of course the main purpose of laptops) that helps me use my computer from any where. Now I use external keyboard and mouse to make working on laptops more comfortable. I even wear a wrist-pad to reduce pain and also to prevent things like carpel tunnel syndrome.

Now that my wife is also here, need for another computer came into my thoughts. There were lots of things to consider when I was finally ready to buy my first laptop. The biggest question was whether I should wait for Vista to launch so that laptops come with pre-loaded Vista. This was important as the Vista was much dependent on hardware capabilities and I should not end up having a laptop that cannot support latest OS. The next thing was the screen size. I never liked those bigger laptops which makes carrying them around very difficult though the screen helps in better movie watching experience. But I wanted a wide screen where the screen can accommodate all my ‘Code Window’ even though the ‘Properties Window’ is made visible in Visual Studio.

Regarding the brand, I never had a second thought. Dell was the number one choice for value for money. It had good and reliable laptops at very reasonable price. Deals2Buy (http://www.deals2buy.com) had many Dell deals displayed regularly and I kept watching till Dell started shipping laptops with Vista.

I also compared different editions of Vista and found Business as the best one that suites me. Ultimate had extra features like bit encryption which I am not going to use any way.

On 2007 January 28, Dell site started displaying laptops with Vista. So I placed the order online from home. I chose the ‘Dell Inspiron E1405’, which was smaller and had RoadReady design. The Dell site offered choosing components and I picked the best available options in each section. But the next day when I discussed this with my colleague I noticed that I missed to notice the processor type. It was ‘Core Duo’ and not Core 2 Duo’. I called Dell immediately and requested for a change and the additional cost was just 50 dollars.


So here is the final specification:
Dell Inspiron E1405 Intel Core 2 Duo Processor T5200 (1.6GHz / 2MB L2 Cache / 533MHz FSB), 14.1 inch wide screen LCD Panel, 2GB RAM and 120 GB Hard Disk, with Genuine Windows Vista Business. I have the complete details at http://wayfarer.bizhat.com/about/laptop1.html

On 2007 February 05, this laptop got delivered at my apartment here in Dallas and I immediately fell in love with that. I will write more about my usage experience later on.