Friday, December 30, 2005

Data Binding in Windows Forms 2.0 and An Overview of Windows Presentation Foundation

I have two articles published in CoDe Magazine in the Jan/Feb issue. They are:

Data Binding in Windows Forms 2.0
"Data binding is one of the common tasks that developers working with data have to perform. In Windows Forms 2.0, the new BindingNavigator and BindingSource objects can save you a lot of effort in data binding. This article will show how to perform tasks such as sorting and searching records using data binding. I will also show how to display master-detail relationships between tables using data binding in Windows Forms 2.0. "

An Overview of Windows Presentation Foundation
"These acronyms include WinFX, WinFS, WCF (Windows Communication Foundation; codenamed Indigo), and WPF (Windows Presentation Foundation; codenamed Avalon). In recent months there has been a lot of buzz going around WPF, which is one of the core components of WinFX. In this article, I will take you on a whirlwind tour of what WPF is and how you can start preparing for Vista by developing applications today using the available SDK. "

Review of Visual Basic 2005 Jumpstart

Here is a nice review of my book - Visual Basic 2005 Jumpstart, in ASP.NET Pro Magazine.

Saturday, December 24, 2005

"ASP.NET 2.0: A Developer's Notebook" Updated for Final Release of Visual Studio 2005

I have recently updated my book - ASP.NET 2.0: A Developer's Notebook, to be compliant with the final release of Visual Studio 2005. While most of the code in the book will work without problem in Visual Studio 2005, I have taken this opportunity to fix some of the bugs in the book as well as update the few sections which contain code that break in the final release of Visual Studio 2005 (most notably the Client Callback Manager section). I hope this book will give you a quick overview of the new features in ASP.NET 2.0 and get you jumpstarted on new projects.

Looking for Sudoku puzzles testers

I am currently looking for testers of my Sudoku puzzles. As part of my new book, I am showing readers how to generate Sudoku puzzles of varying levels of difficulties, using a computer. I wanted to get readers feedback on how difficult my puzzles are, and whether they really fit in to the level of difficulty they are categorized in.

Beta testers will need to do the following:

1. Solve 3 puzzles for each level. There are total 4 levels - Easy, Medium, Difficult, Very Difficult.
2. Rate the level of difficulties for each puzzle.
3. Provide additional feedback (optional).

While I won't be able to offer financial incentives for being a beta-tester, what I can promise is lots of fun (if you are a Sudoku addict) and a complimentary copy of my book when it is published.

If you are interested, send me an email at and I will get back to you. Thanks and have a nice holiday!

Programming Sudoku (Technology in Action)

I have been slow in updating my blog recently as I have busy working on my latest book - Programming Sudoku.

Here is a brief synopsis of the book:

"Sudoku is the wildly popular new puzzle game. Sudoku puzzles are 9x9 grids, and each square in the grid consists of a 3x3 subgrid called a region. Your goal is to fill in the squares so that each column, row, and region contains the numbers 1 through 9 exactly once. And some squares already contain numbers or symbols, which lend clues toward the solution.

Programming Sudoku provides you with great approaches to building and solving Sudoku and other similar puzzles. Using ingenious artificial intelligence and game theory techniques, you'll learn how to get a computer to solve these puzzles for you.
This is a fun, intriguing read whether you're a novice or advanced programmer. It acknowledges the.NET platform as a base, but you'll find this book interesting whatever your programming background. The core techniques in the book enable you to solve Sudoku on any programming platform.

This book will show you how to solve Sudoku puzzles programatically as well as generate puzzles of varying levels of difficulties. It would be a fun read for both Sudoku beginners and Sudoku addicts. Even if you don't want a computer to solve your Sudoku puzzles, the techniques described in this book will help you to solve Sudoku puzzles in a systematic way.

Take the Pain Out of Deployments with ClickOnce

Deploying Windows applications in the age of client-server computing has never been easy. But smart client architecture offers a revolution that makes deployments and maintenance stress-free. Find out how to use the ClickOnce technology to turn your clients into smart clients.

What Is Virtualization

Virtualization lets you have multiple "virtual machines," each with its own operating system running in a sandbox, shielded from each other, all in one physical machine. But why would you want to do this? Wei-Meng Lee explains, and takes you on a tour of some of the most popular virtualization software available: Microsoft Virtual PC 2004, VMware Workstation 5.0, and Microsoft Virtual Server 2005. Check out the article.

Wednesday, December 07, 2005

Check out Gadgets for Geeks

If you are a gadget freak, you have to check out the new Gadgets For Geeks blog - Edited by yours sincerely, Gadgets For Geeks is an online publication targeted at geeks, by geeks. Check it out today and let me know what you think!

Sunday, December 04, 2005

VP-820-L NEXPHONE Homephone Adapter

Rather than buying a Skype phone at the moment, I opted for a VoIP gateway instead. And so today I got the VP-820-L NEXPHONE Homephone Adapter. It is a slim device and plugs directly into my computer via USB. One phone jack plugs into the PSTN line while the others connect to my regular phone. The beauty of this device is that I can continue to use my regular phone for Skype calls as well as regular PSTN calls. And if I want, I can even plug in my cordless phone for making Skype calls. Of course, you won't have Skype integration into the handset, much like the Linksys phone. But for now, I have no complaints.

Sunday, November 20, 2005

The ideal Skype handset – The Linksys CIT200 Cordless Internet Telephony Kit

The Linksys CIT200 Cordless Internet Telephony Kit is a cordless handset that works seamlessly with Skype on your computer.

Here are its advertised features:

* You don't have to sit in front of your computer to talk to your friends with Skype™

* USB Base Station connects to your PC and puts your Skype contact list on the handset's screen -- just choose and talk

* Handset features illuminated Caller ID screen, speakerphone, call waiting, and intercom to other (optional) handsets

* Also supports SkypeOut™ dialing and incoming SkypeIn™ calls

Check it out at:

I am going to get one if I find one locally!

Tuesday, November 15, 2005

Karen's VS Blog: Q&A With MVP Wei-Meng Lee

Recently I had an interesting Q&A with Karen Watterson, editor for Visual Studio Developer. Karen asked some interesting questions that bring back fond memories of the past. You can read my answers to these questions at: Karen's VS Blog: Q&A With MVP Wei-Meng Lee.

Be sure to also check out the Karen's:

Thursday, November 10, 2005

My new toy!

I just got a new toy - the i-Mate JasJar! It's the world's first Windows Mobile 5.0 3G-enabled GSM/GPRS mini-laptop with Wi-Fi. Everything you want on a Pocket PC, it has it! Wi-Fi, Bluetooth, USB 2.0, SD slot, VGA screen, rotatable screen, landscape and portrait modes, phone capability, built in cameras (2, one on the back and one at the front of the screen for video conferencing), illuminated keyboard....basically it has all the right stuff in the right place!

Wednesday, October 12, 2005

Application Settings in Windows Forms 2.0

Thanks to the new Application Settings in Windows Forms 2.0, it's a lot easier to persist both user and application settings. In this article, I will show you how.

What's New in Windows Mobile 5.0?

Microsoft recently released the latest version of the Windows Mobile platform, Windows Mobile 5.0. What's cool and new? This article gives you the rundown of the best new features.

And if you are in the market for a good Windows Mobile 5.0, the Dell Axim x51V seems like a good buy!

Tuesday, October 11, 2005

O'Reilly Book Covers

If you are always facinated with the animals on O'Reilly book covers, wait till you check out this list of spoof covers.
And if you are really curious about why a particular animal is chosen for a title, you got to read this: Animal Magnetism: Making O'Reilly Animals.

Saturday, October 08, 2005

New language on the block - KPL (Kids Programming Language)

From TechWeb:

"Microsoft has signed on to promote a new programming language intended to replace BASIC as the first step students take towards learning how to code. The Kid's Programming Language, or KPL, was developed under the direction of Jonah Stagner, and his colleagues, ex-Microsoft program manager Jon Schwartz and former NCR engineer Walt Morrison. The three run the software consultancy Morrison-Schwartz Inc. "

You can download KPL from:

Here is a screenshot of the KPL IDE:

One cool feature is that you can directly translate KPL code into C# and VB.NET, making KPL a very good language for getting kids started on programming and then eventually moving into .NET programming using C# or VB.NET:

Friday, October 07, 2005

Sample projects for Visual Basic 2005 Jumpstart (O'Reilly)

Some readers wrote in and asked if the code samples for my Visual Basic 2005 Jumpstart is available for download. Yes, it is now available at this O'Reilly site (click on the Examples link). The two sample projects include a Windows application called LibraryApp that allows you to keep track of your libary of books. It connects to web service and pulls information down to your computer. Hey, if you connect a barcode scanner to your computer, this app can actually automatically build your own library system, complete with book covers and detailed book information. Way cool!

The second app shows how to build a simple shopping cart application using the new features in ASP.NET 2.0. Shows quite a number of features - Master pages, Profile services, etc.

Check them out (even if you don't have the book)!

Avalon series at

Tim Sneath, Windows Vista Technical Evangelist at Microsoft, blogged about the series of Avalon articles that I have written for

Here is the list:

Be an Avalon Test Pilot and Build the Windows UIs of Tomorrow
Avalon, the nascent framework for building next-generation user interfaces in Windows Vista, is available now in beta, but you don't have to wait for Vista (a.k.a. Longhorn) to get started. We unpacked it early in order to give you a jump start on building the UIs of tomorrow.

Learn Navigation in "Avalon"—the Windows Presentation Foundation
Windows Presentation Foundation, the nascent framework for building next-generation user interfaces in Windows Vista, is available now in beta, but you don't have to wait for Vista to get started. In this second article in the series, we show you how to use the new navigation model.

Create Data-Aware Applications in "Avalon"—the Windows Presentation Foundation
In WPF you can bind UI elements to a wide variety of data sources, including XML data, Web services, as well as databases. Learn how data-binding works in the Windows Presentation Foundation with this sample project using an XML data source.

Globalize and Localize Your "Avalon" Applications Using LocBaml
You already know that internationalizing your applications can propel you into new markets. But did you know that the Windows Presentation Framework can make it easier than ever to do? Learn how to write culture-aware WPF applications using this example.

Thanks, Tim!

Globalize and Localize Your "Avalon" Applications Using LocBaml

You already know that internationalizing your applications can propel you into new markets. But did you know that the Windows Presentation Framework can make it easier than ever to do? Learn how to write culture-aware WPF applications using this example.

Wednesday, September 28, 2005

Enhancing Skype

If you're a Skype fan, you know it can be used to make internet phonecalls. But did you know about all the cool tools you can use to enhance it? Checkout my latest article on

Sunday, September 25, 2005

What is ASP.NET?

If you are new to ASP.NET, you might want to take a look at a recent article I wrote for O'Reilly Network. Here is the scoop:

What Is ASP.NET by Wei-Meng Lee -- Part of the .NET Framework, ASP.NET allows developers to build dynamic web apps and web services using compiled languages like VB.NET and C#. Wei-Meng Lee provides a look under the ASP.NET hood, describing how it works, its improved support in areas like state management and tracing and debugging, and important new features in version 2.0.

MVP Summit 2005

I will be attending the Microsoft Global MVP Summit at Redmond from 28th Sep to 1st Oct 2005. If you are also attending, I would be happy to meet up with you and perhaps we can have a chat over coffee. See you!

Friday, September 16, 2005

Writing A Custom Membership Provider for your ASP.NET 2.0 Web Site

If you have an ASP.NET Web site that stores any registration or log in information for your users, you probably know that the Membership provider in ASP.NET 2.0 uses a SQL Server Express 2005 database. But what if you want to use something else? This article will show you to use your own data source for storing membership information.

Friday, September 09, 2005

Visual Basic 2005 Jumpstart Published!

I just received my advance copy of the Visual Basic 2005 Jumpstart today; looks very good and feels great!. This is a book that I spent a good five-month working on, rewriting a couple of times to ensure that it is not only useful to beginning VB programmers, but more importantly it should be a effective jumpstart for VB6 programmers. I had the honor of working with Jay Roxe (Product Manager of Visual Basic at Microsoft), who provided a lot of feedbacks and advice for the book. If you are new to Visual Basic and want to work on the .NET platform, give it a look and let me know what you think of it.

Thanks to the various technical reviewers and advisors - Robert Green (formerly Visual Basic team at Microsoft), Jeff Barr (, Paul Yuknewicz (Microsoft), and Joseph Binder (Microsoft).

Thursday, September 08, 2005

The new iPod nano

Apple has just released the incredibly small and pencil-thin iPod nano. With a 1.5-inch (diagonal) color LCD with LED backlight and weighing a mere 1.5 ounces, the new iPod nano comes in two versions - 2GB (US$199) and 4GB(US$249). There are also two colors to choose from - White and Black. Enough said, check it out yourself!

Wednesday, September 07, 2005

WinFS StoreSpy

If you recently downloaded the Beta 1 bits of WinFS, then you really need to try out the included WinFS StoreSpy application. Using StoreSpy, you could easily search for files stored in your WinFS stores by executing queries against it.

The StoreSpy application is located in the C:\winfsbeta1\Unsupported\StoreSpy folder. Have fun!

Using Your Webcam for Surveillance

Webcams are useful for videoconferencing, but videoconferencing has not really caught on. So if you own a webcam, you know that most of the time it is lying around gathering dust. But if you have a webcam, you can put it to better use than videoconferencing. In this article, I will show you how you can set up your webcam as a surveillance system using the appropriate hardware and software.

Create Data-Aware Applications in "Avalon"—the Windows Presentation Foundation

My third article in the Avalon series has recently published - check it out here. Here is the synopsis:

"In WPF you can bind UI elements to a wide variety of data sources, including XML data, Web services, as well as databases. Learn how data-binding works in the Windows Presentation Foundation with this sample project using an XML data source. "

Tuesday, August 30, 2005

WinFS Beta 1 Released to MSDN Subscribers

Microsoft has just posted the WinFS Beta 1 in the MSDN Subscriber download site. I have downloaded and installed it in my Windows XP Professional SP2 machine. I will post a review as soon as I have tried it out. Stay tuned!

There is also a video about WinFS on Channel 9.

Monday, August 29, 2005

Thursday, August 25, 2005

Google Talk (beta)

Google has just joined the Instant Messaging market with the new Google Talk (beta). Using the Google Talk, not only can you send instant messages to your friends, you can also participate in voice calls, for free. I have not tried the voice call feature yet, but if you want to try it out, call me at :-)

My article on Sep/Oct '05 issue of Code Magazine

The Sep/Oct '05 issue of Code Magazine features my latest article on "Using the New Security Controls in ASP.NET 2.0". If you want to know how to use the new security controls in ASP.NET 2.0 to perform tasks such as user logins, registration, password changes, and more, with no more effort than dragging and dropping controls onto your Web form, check out the article now!

Wednesday, August 24, 2005

Avalon Programming on Windows XP

I did a session on "Building Windows Vista (Longhorn) client application using Avalon" today at TechEd '05 Singapore. If you are interested to test out Avalon today, you simply need to have Windows XP, together with the following free downloads from Microsoft:

In addition, to help you create Avalon UI using XAML, you can try out the following third-party tools:

Have fun!

Friday, August 19, 2005

Changes in Client Callback in Visual Studio 2005 July CTP

If you use the July CTP of Visual Studio 2005, you might have noticed that the RaiseCallbackEvent event (in the ICallbackEventHandler interface) has now been split into two separate events:

  • PrepareCallbackEvent

  • RenderCallbackResult
That means that the Client Callback example in my book - ASP.NET 2.0: A Developer’s Notebook, will break. Fortunately, a reader named Cindy Kee alerted me to the problem and helped to change the code listed on page 266 and 267 of the book to use the two new events. Here they are, in C#:

void ICallbackEventHandler.PrepareCallbackEvent(string eventArgument)
this._eventArg = eventArgument;

string ICallbackEventHandler.RenderCallbackResult()
if (this._eventArg.StartsWith("1:"))
//--strips away the command
this._eventArg = this._eventArg.Substring(2);
//--get city and state based on Zipcode
switch (this._eventArg)
case "95472":
return "Sebastopol,CA";
case "02140":
return "Cambridge,MA";
throw (new Exception("ZipCode not valid!"));
else if (this._eventArg.StartsWith("2:"))
//--strips away the command
this._eventArg = this._eventArg.Substring(2);
//--get states and cities related to country
switch (this._eventArg)
case "Sing":
return "Singapore,";
case "US":
return "Alabama,California,Maryland,Massachusetts,New York,Oklahoma,Wisconsin,";
case "UK":
return "Birmingham,Cambridge,Christchurch,Leeds,Sheffield,";
return "";
return "Command not recognized";

In essence, the two events above replace the original function that handled the RaiseCallbackEvent event. The rationale for the changes is to ensure callbacks work with asynchronous data sources.

For VB2005 readers, it should not be difficult to modify the original code in the book. Thanks, Cindy, for pointing that out to me!

Thursday, August 18, 2005

Blogger for Word Add-in

Google has just announced the release of the Blogger for Word Add-in that allows users to publish their post in via Microsoft Word. Using the Blogger for Word Add-in, you will be able use Microsoft Word to:

  • Publish to your blog
  • Save drafts
  • Edit posts

I have tried it and it works pretty neat! However, my only complain is that it can’t handle images yet and I still have to edit my post using Blogger Dashboard.

Avalon series

I recently did a three-part article series on Avalon (now officially known as Windows Presentation Foundation, or WPF for short) for Part 1 talks about the basics of XAML (the UI markup language for Avalon applications) and Part 2 talks about the navigational topology in Avalon applications. If you are interested in developing application for the upcoming Windows Vista, do check them out and be in the know of what is to come. Note that the articles were all based on Beta 1 of the WinFX SDK, and hence they are not guaranteed to be valid in the final release.

iPod Photo

When Apple first released the iPod Photo in late 2004, I was one of the first to order one, in addition to the third generation 20GB iPod I already have. I was intrigued with the fact that you can display photos and album artworks with the iPod photo and perhaps with some hacks you can play movies with it (no one really managed to do it, but close).

That prompted me to write the eDoc - All About Your iPod Photo (PDF), for O'Reilly. In it, I shared some of the ways in which you can:
  • Save photos for viewing on a TV
  • Use it for presenting PowerPoint slides
  • View photo slideshows with background music
  • View and listen to Podcast

However, recently Apple has decided to put color screens on every iPod, meaning that all new iPods you buy today are essentially iPod photos. This further proves that color is a necessity for the iPod and that a separate line of iPod with color capabilities does not justify the higher price tag (at least consumers would not be willing to pay for it).

Nevertheless, my eDoc is still useful if you have a color iPod :-) It is available as a PDF file for US$5.95. I am not sure if people are willing to folk out cash for buying bytes, but do let me know if you have reached the stage where you buy books based on content rather than on something physical.

Tuesday, August 16, 2005

Have you seen the new IE 7 Icon and Logo?

Have you seen the new IE 7 icon and logo? IEBlog talks about it.

An In-Depth Look at Vista, Part 1 and 2

Microsoft has recently released Windows Vista (formerly codenamed Longhorn) Beta 1. These two articles (Part 1 and Part 2) on detailed some of the new features in this new OS.

Friday, August 12, 2005

Missing Generate Local Resource menu item in Visual Studio 2005?

Some of you have pointed out to me that when doing localization for your ASP.NET 2.0 web application, you could not locate the Generate Local Resource menu item under the Tools menu in Visual Studio 2005.

While I do not know the exact cause of the missing menu item (probably it went missing after you install some third-party tools in Visual Studio 2005). However, you can get it back easily. Here are the steps:

Go to Tools->Customize.

Select the Tools catagory and click on the “Rearrange Commands…” button.

In the Menu Bar list, select Tools and click Add… to add the Generate Local Resource menu item.

That should add the Generate Local Resource menu item back into the Tools menu.

Allow your users to use your website in their own language

Globalization and Localization support is much improved in ASP.NET 2.0. If you are into writing international web applications, check out my article on

Tabbed browsing, RSS support, and more

My first look at Microsoft Internet Explorer 7 (IE7) Beta 1. This is the version that comes with Windows Vista Beta 1. If you are a big-fan of tabbed-browsing, then IE7 should be good news to you. Also, RSS support is built-in. However, do not expect all the niceties to be in this Beta 1.

Visual Basic 2005 Jumpstart

I have a new book that is going to be published in early September '05. This book is targeted at VB6 programmers who are hesitating to move to the new Visual Basic 2005. While it is understandable why VB6 programmers are reluctant to move to the .NET platform, Visual Basic 2005 should ease their migration woes as a lot of familar features in VB6 are available in Visual Basic 2005. Go on, take a look at the book and let me know if it is useful to getting you started in .NET.

Here is a brief synopsis of the book:

"Okay, VB6 developers--time's up. Microsoft no longer supports this version of Visual Basic, but VB 2005 offers several attractive reasons to upgrade. Our jumpstart guide lets you test-drive the beta version of VB 2005 with three hands-on projects that let you learn the new syntax quickly. It's the painless way to migrate, and the perfect training manual for moving to the world of .NET. "

More information available at:

Wednesday, August 10, 2005

ASP.NET 2.0 : A Developer's Notebook

So far, there have been positive reviews of my latest book - ASP.NET 2.0 : A Developer's Notebook, on

Here is the brief synopsis of the book:

"To bring you up to speed with ASP.NET 2.0, this practical book offers nearly 50 hands-on projects. Each one explores a new feature of the language, with emphasis on changes that can increase productivity, simplify programming tasks, and help you add new functionality to your applications. You get the goods straight from the masters in an informal, code-intensive style. Part of our new Developer's Notebook series."

For more information, check out: