Wednesday, December 10, 2008

Course Schedules for Feb and March 2009

I have just uploaded the brochures and application form for the courses scheduled for Feb and March 2009.

These includes the three new courses - Programming Mapping Applications, Programming Windows Forms Applications, and iPhone Programming.

Some of the topics covered in these courses are:
* Location-based services using GPS and Cell ID technologies.
* Integrating with hardware devices such as Web cams, fingerprint readers, etc.
* Integrating maps from Microsoft and Google.
* iPhone Programming using the Apple's SDK

You can download the application form here.

Wednesday, December 03, 2008

Inside the iPhone: Getting Started

I am extremely excited to inform you that my first iPhone article is now live at Devx.com!

Apple has lifted its NDA and developers are now free to talk about developing for the iPhone. In the first part of this series, you'll get familiar with the SDK by building a simple application and get a preliminary taste of what it's like to work with the mysterious Object-C.

Tuesday, December 02, 2008

Course Schedules for March 2009

Quite a number of you have requested for the schedule of courses next year. For your ease of planning, here are the schedules of courses in March 2009:

4-6 March (Wed-Fri) - Windows Mobile 6.1 Programming (S$997)
9-10 March (Mon-Tue) - Android Application Development (S$798)
12-13 March (Thu-Fri) - iPhone Application Development (S$997)
17 March (Tue) - ASP.NET AJAX Development (S$399)
25-27 March (Wed-Fri) - C# 3.0 Programming (S$1099)

* receive a S$100 discount if you register one-month before the commencement of the course.

More details will be released shortly. Meantime, if you have any questions, feel free to email me at: weimenglee@learn2develop.net.

C# 3.0 Programming Course (SINGAPORE) 15-17th Dec 2008

This is your last chance to enrol for the C# 3.0 Programming course (15-17th Dec 2008).

Besides learning all the fundamentals of C#, this course will introduce several technologies that would be of interest to a C# developer:

* Developing and deploying smart clients using ClickOnce
* Developing AJAX web applications
* Developing and consuming Web services

Participants will also receive a copy of my latest book - C# 2008 Programmer's Reference (S$69) free of charge.

For quick registration, please email me at: weimenglee@learn2develop.net.

Friday, November 21, 2008

Go Public with Your Android Application: Signing and Deployment

In order to deploy your application on Android devices (and on the Android Market), you need to sign it. Luckily, you can generate your own certificate and use it to sign your application. Find out how the process works.

Friday, November 07, 2008

Connecting to the Web: I/O Programming in Android

Learn how to connect your Android app to the web using an HTTP connection and how to parse XML files to extract useful information.

Wednesday, October 29, 2008

T-Mobile G1 skin for your Android Emulator

Sick of your default Android emulator maroon skin? Well, if you are one of the many folks drooling over the G1 but unable to get your hands on one, fret not.

Jeffrey Sharkey has just released a new G1 skin that you can use for your emulator. At least you will now feel better than your fellow developers who are still using the same old boring maroon skin!

Try it out! I have tried it and love it!

Tuesday, October 28, 2008

Location-Based Services Using CellID

Though GPS functionality has become hugely popular, it doesn't work indoors and not all devices have built-in GPS receivers. How do you get around this? Learn how to find and use CellID to locate your device and use Googe maps to display it.

Thursday, October 23, 2008

Extend SMS Messaging to the Desktop Using Windows

When you think of SMS messaging, you probably think about your mobile device. But what if you could SMS someone from the comfort of your own desktop? This article shows you two messaging applications: One application to write the messages on your desktop and one application to send the messages from your device.

Sunday, October 12, 2008

3-day C# 3.0 Programming Workshop (Singapore) - 15-17 Dec 2008

Since the release of the Microsoft .NET Framework in July 2000, the C# programming language has gone through a few revisions, with the latest version 3.0. Over the years, the C# language has gained a lot of followers, partly due to its familiar syntax to Java and C. The clear syntax of the language made it easy to learn, and is a popular choice for beginning programmers.

The latest version of C# 3.0 comes with .NET Framework 3.5. It contains many new features that make the language more intuitive and powerful. Coupled with Visual Studio 2008, Microsoft’s flagship development environment, developing applications using C# is now available to a wide audience. In this fast-pace 3-day course, attendees will gain a solid foundation in C# programming and learn the various new features in C# 3.0.

Topics
· Basics of the .NET Framework
· C# language foundation
· Class and Objects
· Interfaces
· Inheritance
· Delegates and Events
· Strings
· Generics
· Threading
· Files and Streams
· Exception Handling
· Arrays and Collections
· Language Integrated Query
· Assemblies
· Projects

All attendees will receive a copy of Wei-Meng’s C# 2008 Programmers Reference (Wrox)
Fees
$1099 (Register before 18th Nov 08 and receive a $100 discount)
For quick registration, please email weimenglee@learn2develop.net.

Friday, October 10, 2008

Tips for Debugging Windows Mobile Network Programming using Real Devices and Emulators

If you are a Windows Mobile developer, chances are you need to write applications that allow the Windows Mobile device to talk to the host computer. In such cases, you need to know a little about the IP address assigned to the device or emulator. The following is a little research that I have done and hopefully the information presented here will make your life a little easier.

Assumption: The host computer's IP Address is 192.168.1.100.

For Windows Mobile Classic/Professional Devices or Emulators

If you connect your device to ActiveSync, the following IP addresses will be assigned:
Comp: 169.254.2.2
Device: 169.254.2.1

If you connect your emulator to Activesync, the following IP addresses will be assigned:
Comp: 192.168.1.100
Emulator: 192.168.1.101 (next available IP address)

If you use Network Card Mapping for your emulator, the following IP addresses will be assigned:
Comp: 192.168.1.100
Emulator: 192.168.1.101 (next available IP address)

Hence, for sockets programming testing using emulator, set the server and client to rendezvous at the computer's IP address and not 169.254.2.2.

For sockets programming testing using real device, set the server and client to rendezvous at 169.254.2.2.

For Windows Mobile Standard Devices or Emulators

If you connect your emulator to ActiveSync, the following IP addresses will be assigned:
Comp: 192.168.1.100
Emulator: 192.168.55.101 (next available IP address)

If you use Network Card Mapping for your emulator, the following IP addresses will be assigned:

Comp: 192.168.1.100
Emulator: 192.168.1.101

Hence, for sockets programming testing using emulator, set the server and client to rendezvous at the computer's IP address and not 169.254.2.2 and use network card mapping.

Thursday, October 09, 2008

Android Programming Course (SINGAPORE) - 18-19 Dec 2008

Announcing the next run of the Android Programming Course!

Android is Google’s operating system for mobile devices. Using the Android SDK, developers can develop applications on the Android platform using the Java Programming language. In this course, participants will learn the various techniques to program their Android devices.

This feature-packed course will show you how to get started in Android development, right from the start till deployment.

Topics
* Setting up the development environment using Eclipse
- Installing the ADT plug-in
- Configure the Android SDK
* Using the Android Emulator
- Configuring the emulator
- Tips and Tricks using the emulator
* Understanding Activities, Views, Intents, and Content Providers
* Building the UI of an Android Application
* Error Logging using the Eclipse IDE
* Using the Notification Manager
* Persisting data
* Using Google Maps
* Sending and receiving SMS messages
* Using the built-in camera
* Creating Services
* Downloading files using HTTP GET and POST
* Location based services using GPS and CellID
* How to deploy Android applications

Fee

S$798 (register before 18 Nov and get a $100 discount!)

For quick registration, please email weimenglee@learn2develop.net.

Thursday, October 02, 2008

iPhone SDK NDA lifted!

I am extremely excited to hear that Apple has lifted the NDA on the iPhone SDK! This is definitely good news for developers who have been clamoring for more information on developing for the iPhone platform.

At the same time, this means that I can now openly announce that I will be conducting a course on iPhone programming in the very near future. If you have not bought a Mac yet, this is the perfect reason to get one now! I will be announcing the dates soon, but meantime, I will be very busy over the next few months working on my iPhone workbook! Hope to see you at an iPhone course near you!

Update
The course dates have been scheduled to be on 13-14 March 2009. Outlines for the course will be released shortly!

Fees
$997 (register before 31st Jan and receive a $100 discount!).

For quick registration, please email weimenglee@learn2develop.net.

Wednesday, October 01, 2008

You Are Here: Using GPS and Google Maps in Android

In the next installment of this Android series, you'll learn how to incorporate GPS and Google Maps into your Android application, so your users can see where they are, all the time.

Using Google Maps in Android

In a continuing exploration of Android, this article will show you how to incorporate Google Maps in your Android application.

Wednesday, September 17, 2008

Getting Started with Android Development Using Eclipse

While the latest version of the Android SDK contains many new bells and whistles, it also contains some breaking changes. This series helps you explore the new SDK, starting with this introductory tutorial.

Monday, September 01, 2008

Are you ready for Android?

Google has recently released the latest version of the Android SDK - 0.9 Beta. This brings developers one step closer to the 1.0 release eagerly anticipated by developers. 0.9 beta of the Android SDK contains many breaking changes from the previous m3 and m5 releases, and so if you are already familar with the older SDKs, you need to know that your applications need some updating.

If you want to get ready for Android, come join us this 25-26 Sep for a course on Android programming. Amongst the many concepts I will be covering, I will show you how you can use a GPS receiver to dynamically display your current location on the Google Maps.

You can download the application form here.

Saturday, August 30, 2008

DLS Signature Control for Windows Mobile (Pocket PC)

Introducing the versatile signature-capture control for Windows Mobile! If you write Windows Mobile (Pocket PC) application that needs to capture users’ signatures, this is the only control you need. The DLS Signature control is a versatile Windows Mobile control that captures user’s signature and allows you to save the signature either as a string or as a binary image.

It supports the following features:
· Packaged as a single .DLL file.
· Runs on Windows Mobile 5.0, 6, and 6.1.
· Saves signature as a string (ideal for compression, transportation and storage) or as a bitmap image (ideal for archival).
· You can create your own custom background image. E.g. incorporate your company’s logo.
· Supports different pen width and color.
· Signature control can also be used on desktop Windows Forms application to display signature (for viewing only).

Programming the DLS Signature control is straightforward:

//---creating a Signature object---
SignatureControl.Signature sig;

//---instantiating the control---
sig = new SignatureControl.Signature()
{
Location = new Point(5, 180),
Size = new Size(230, 73),
Enable = true,
PenColor = Color.Black,
PenSize = 2
};

//---set the background image---
Bitmap wallpaper = new Bitmap(Properties.Resources.signature);
sig.InitSignature(wallpaper, true);

//---adds the control to the Form---
this.Controls.Add(sig);

//...
//...

//---get the signature of the user as a string---
string str = sig.Signature;

//---save the image to an image file---
Bitmap img = sig.SignatureImage;
img.Save("Wei-Meng Lee.bmp", ImageFormat.Bmp);

//---clears the signature---
sig.Clear();



Pricing
· US$29.95 (1 Developer License)

To purchase the DLS Signature Control, please send an email to weimenglee@learn2develop.net.

Friday, August 15, 2008

C# 2008 Programmer's Reference - Calling all Professors

I am extremely excited to inform that I have finished writing my latest book - C# 2008 Programmer's Reference (available in Nov 08). This is by far the largest book that I have written - close to 800 pages and containing 20 chapters and three appendices. It covers the C# language and also the different types of cool applications you can write using it - Windows app, ASP.NET apps, Silverlight, Windows Mobile apps, and WCF.

This book is ideally suited to be used as a course book for a semester course on C# programming and would be useful to students as well as practitioners embarking on C# programming. Hence, if you are a professor in an institution teaching a course in C# programming and would like to review this book for possible adoption, please send me a message at weimenglee@learn2develop.net and I would be happy to send you a review copy. For your convenience, I have provided the tables of contents for the book below:

Part 1 – Language Fundamentals
* Chapter 1 introduces the .NET Framework. You will gain an understanding of the key components in the .NET Framework as well as the role played by each of the components. In addition, you will also learn about the relationships between the various versions of the framework, from version 1.0 to the latest 3.5.
* Chapter 2 covers the use of Microsoft Visual Studio 2008 as the tool for C# development. Visual Studio 2008 is an extremely versatile and powerful environment for developing .NET applications. This chapter explores some of the commonly used features that you will likely use in the process of your development work.
* Chapter 3 introduces the syntax of the C# language and covers all the important topics - C# keywords, variables, constants, comments, XML documentation, data types, flow control, loops, operators and preprocessor directives.
* Chapter 4 covers one of the most important topics in C# programming—classes and objects. Classes are essentially templates in from which you create objects from. In C# .NET programming, everything you deal with involves classes and objects. This chapter will give you a firm foundation in the use and creation of classes for code reuse.
* Chapter 5 discusses how interfaces can be used to define the contract for a class. You will learn the difference between an interface and an abstract class.
* Chapter 6 looks at how inheritance facilitates code reuse and allows you to extend the functionality of code that you have already written. After this chapter, you will learn about the different types of inheritance and how to define overloaded methods and operators.
* Chapter 7 introduces the concept of delegates and events used in object oriented programming. You will learn what a delegate is and how delegates are used to implement events.
* Chapter 8 examines strings handling in C# and the various ways to manipulate them. For more complex strings pattern matching, you can use regular expressions. This chapter also covers the various ways to format your strings data.
* Chapter 9 discusses the basics of generics and how you can use it to enhance efficiency and type-safety in your applications. Generics enable developers to define type-safe data structures without binding to specific fixed data types at design time.
* Chapter 10 explains how to write multithreaded applications using the Thread class in the .NET Framework. You will learn how to create and synchronize threads as well as how to write thread-safe Windows applications.
* Chapter 11 examines the concepts of files and streams in .NET. With streams, you can perform a wide range of tasks including compressing and decompressing data, serializing and de-serializing data, and encrypting and decrypting data. This chapter covers the various ways to manipulate files and the various stream objects in .NET.
* Chapter 12 covers exception handling. An exception is a situation that occurs when your program encounters an error that it is not expecting during runtime. Understand how to handle exceptions will make your program more robust and resilient.
* Chapter 13 examines arrays and collections. It discusses the many collection classes that you can use to represent groups of data in .NET.
* Chapter 14 introduces the new feature in .NET 3.5 – Language Integrated Query (LINQ). It covers all the important implementations of LINQLINQ to Objects, LINQ to XML, LINQ to Dataset, and LINQ to SQL.
* Chapter 15 explores the concept of assemblies. In .NET, the basic unit deployable is called an assembly. Assemblies play an important part of the development process where understanding how they work is useful in helping you develop scalable and efficient .NET applications.

Part 2 – Applications Development using C#
* Chapter 16 demonstrates how you can build a Windows application using the C# language. The sample application demonstrated shows how to perform FTP using the classes available in the .NET Framework. You will also learn how to perform printing in a.NET application and how to deploy Windows applications using the ClickOnce technology.
* Chapter 17 demonstrates how you can use C# to build an ASP.NET web application. You will learn to perform data-binding using the new LinqDataSource control and how to AJAX-enable your web pages.
* Chapter 18 illustrates Windows Mobile development using the .NET Compact Framework, a subset of the .NET Framework. You will learn the basics of the Windows Mobile development and build a sample RSS reader application. Finally, you will create a professional setup package for your application so that it can be distributed to your readers for installation.
* Chapter 19 helps you get started with Silverlight, and provides an opportunity for you to get a feel for how Silverlight development works. It covers Silverlight 1.0 and 2, and contains several examples showing the capabilities of Silverlight – animation, media, .NET integration, etc.
* Chapter 20 provides a quick introduction to the new Windows Communication Foundation (WCF) technology and shows how it addresses some of the limitations of today’s web services technology. While most books and conference focused heavily on the theory behind WCF, this chapter shows you how to build WCF services and then explains the theory behind them. It ends with an example that shows how to build a ticketing application that allows multiple clients to obtain updated seta information real-time.

Part 3 – Appendices
* Appendix A lists the various keywords in C# that are predefined and have special meanings to the compiler.
* Appendix B summarizes the features of the various versions of the .NET Framework and how to use the Object Browser feature in Visual Studio 2008 to browse the available namespaces and classes in the .NET Framework.
* Appendix C shows you how to generate MSDN-style documentation for your project using Visual Studio 2008 and a third-party documentation generation tool—Sandcastle.

Monday, August 11, 2008

Eliminate Server Polling with WCF Callbacks

Client applications that share centralized information typically poll a central service to get updated information—a pull model. But by using WCF callbacks, the central service can push updated information to the clients in near-real time.

Course Schedules for Sep and Oct 08

Here are the schedules for the courses in Sep and Oct 08.

Course Date Fee
1-day Windows Communication Foundation (WCF) Workshop
22rd Sep 08 (Mon) $299

1-day Silverlight Workshop
24th Sep 08 (Wed) $299

2-day Android Programming Workshop
25th-26th Sep 08 (Thurs – Fri) $698

3-day Windows Mobile 6 Programming Workshop
30th Sep, 2nd to 3rd Oct 08 (Tue, Thu – Fri) $897

For more information, please download the brochures and application forms here.

SMS Messaging Using the .NET Compact Framework

SMS messaging may have it's drawbacks, but it's benefits make it a viable solution for many of today's enteprise applications. This article uses a sample hospital application to show you how to integrate SMS messaging using the .NET Compact Framework.

Understanding Windows Mobile Security

Learn about the security provisioning of Windows Mobile devices and how you can provision your own Windows Mobile device using the Device Security Manager (included with Visual Studio 2008).

Tuesday, July 08, 2008

After Lightning Strikes, One iMac Becomes Two

Here is an article that shows you how you can share an Internet connection over a firewire cable if lightning strikes your Mac. It references an article I have written sometime back on how to share an Internet connection using a Firewire cable. Thanks Phil for letting me know about this article!

Sunday, July 06, 2008

Tip: Bringing a .NET CF Application to the Foreground

In the .NET CF, there is no API to easily bring your application to the foreground. For example, your application may be intercepting incoming SMS messages and is switched to the background when the user uses other applications. When a SMS message is received, you often need to bring your application to the foreground so that the user is notified of the event. To do so, you need to understand that Windows Mobile applications are single-instance. That is, only a single instance of an application can run at a time.

To bring the application to the foreground, first use reflection to find the path of the current application. Then use the Process.Start() method to run the application again. Since Windows Mobile applications are single-instance, using the Start() method on an already running application simply brings it to the foreground:

String appPath =
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
System.Diagnostics.Process.Start(appPath, "");

Thursday, July 03, 2008

Mastering the Windows Mobile Emulators

The latest versions of the Windows Mobile 6 Professional and Standard SDKs allow you to test phone and SMS functionalities using the built-in Cellular Emulator—without needing to use a physical device. Learn how to master the Windows Mobile emulators.

在Windows Mobile中应用智能设备框架(Smart Device Framework)

Sometime back in Dec 2007 I wrote an article on using OpenNETCF's Smart Device Framework (Using the Smart Device Framework for Windows Mobile Development‏). A reader from China,
YuanHui, has done a great job translating it into Chinese. If you are a Chinese reader, do check out the article in Chinese here.

Tip: Convert image to byte array and vice versa

Very often, when you are developing a Windows Mobile application you need to convert an image displayed in a PictureBox control to a byte array. You can do so using:

public byte[] ImageToByteArray(Image img)
{
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}


You can call this function like this:

byte[] data = ImageToByteArray(pictureBox1.Image);

Conversely, if you want to convert a byte array to back to an image so that it can be displayed in a PictureBox control, you can use the following function:

public Image ByteArrayToImage(byte[] data)
{
MemoryStream ms = new MemoryStream(data);
Image img = new Bitmap(ms);
return img;
}

You can use this as follows:

pictureBox2.Image = ByteArrayToImage(data);

Sunday, June 29, 2008

Build Occasionally Connected Systems Using Sync Services for ADO.NET v1.0

When workers aren't always connected, Occasionally Connected Systems (OCS) can help. Find out how Visual Studio 8's Sync Services for ADO.NET enables OCS, synchronizing databases between different devices and computers.

Persisting Data in Your Windows Mobile Device

Learn about the three methods of persisting data and which is the right one for your device.

Thursday, June 19, 2008

Build Occasionally Connected Systems Using Sync Services for ADO.NET v1.0

When workers aren't always connected, Occasionally Connected Systems (OCS) can help. Find out how Visual Studio 8's Sync Services for ADO.NET enables OCS, synchronizing databases between different devices and computers.

Wednesday, June 18, 2008

New Courses - Windows Mobile & AJAX

Foundation of Windows Mobile Programming (25th July 2008) - S$399
This course will introduce to participants the various techniques to program their Windows Mobile 6 devices. This feature-packed course will show you how to get started in Windows Mobile development, right from the start till deployment.

* Introduction to the Windows Mobile platform
* Introduction to Windows Mobile 6
- Windows Mobile 6 Classic, Standard, and Professional
* UI Design and guidelines
- Orientation aware and screen-resolution aware
* File I/O
* Integrating with built-in applications
- Outlook Mobile
- Calendar
- Tasks
* Web services
- Developing web services
- Consuming web services
- Transferring binary data using web services
* Database Access
- Database access using SQL Server Compact Edition
- Database synchronization using Remote Data Access (RDA)
* Deploying Windows Mobile applications o Creating CAB files

Programming ASP.NET 3.5 AJAX (28th July) - S$399
This course is targeted at Web developers who need to get jumpstarted to ASP.NET 3.5 AJAX
development in the shortest amount of time. It will introduce to participants the various
techniques to AJAX-enable their Web applications using the latest ASP.NET 3.5 AJAX framework.

* Architecture of the ASP.NET AJAX Framework
* How to update part of a Web page without a page reload
* How to auto-complete user inputs
* How to update a panel at regular intervals
* How to create a panel that’s always floating and visible
* How to populate a DropDownList control without a page refresh
* How to display a confirmation dialog on a page
* How to call Web/WCF services directly from a web page
* How to access the properties of a Profile property from a Web page
* How to add drag and drop functionality to a control
* How to give users control of the information shown by a panel

Details and application forms to be published shortly!

Monday, June 16, 2008

.NET Tip - Get the filename, not the path

One of the problems with using the OpenFileDialog class is that the FileName property always returns the full path name of the file:

OpenFileDialog openFileDialog1 = new OpenFileDialog()
{
Filter = "Text files (*.jpg)*.jpg"
};

Console.WriteLine(openFileDialog1.FileName); //---e.g. C:\Windows\text.txt---

To retrieve only the filename and not the path, feed it to the FileInfo class, like this:

FileInfo fi = new FileInfo(openFileDialog1.FileName);
Console.WriteLine(fi.Name); //---text.txt---
Console.WriteLine(fi.Directory); //---C:\Windows---

Cool, isn't it?

Wednesday, June 04, 2008

Windows SideShow for Windows Mobile Developer Preview

Microsoft has just released the Windows SideShow for Windows Mobile Developer Preview, an application for Windows Mobile 5.0 and 6 devices that converts your Windows Mobile device into a SideShow device. Go check it out and this is a good time to check out my book as well. I am proud to say that it also been translated into Spanish and Russian! ;-)

Friday, May 30, 2008

Keeping Up with the Joneses: Windows Mobile 6.1's New Upgrades

With their Windows Mobile 6.1 release, Microsoft attempts to keep their position in an increasingly competitive market. Find out how these new improvements can benefit you.

Windows Mobile: Communicating with the Outside World

Explore the various options available on the .NET Compact Framework that allow your apps to connect with the outside world.

Tuesday, May 27, 2008

Learning Windows Communication Foundation course (16th June 2008)

If you have not enrolled in the Learning Windows Communication Foundation course yet, be sure to do so this week as the early bird discount ($100; fee is $299 after discount) ends this week. After that, the full price of $399 will apply.

Here are the things you will learn in this course:

• Introduction to the Windows Communication Foundation
• The ABCs of WCF
• Developing WCF Service Library using Visual Studio 2008
• Developing a WCF Service and consuming a WCF Service
• Consuming a WCF Service asynchronously
• Deploying WCF Services
• Implementing Callbacks using WCF
• Implementing Transactions using WCF
• Securing WCF Services

In addition, you will:
* build a Cinema Ticketing application project using WCF that shows in real-time the number of seats booked and seats remaining!
* learn about the latest synchronization technology using Sync Services for ADO.NET and how you can synchronize your database over a WCF service.

Tuesday, May 20, 2008

Learning Windows Communication Foundation (WCF) - 16th June 2008 (Mon)

By now, you must have heard of one of the latest buzzwords in the industry – WCF (Windows Communication Foundation).

According to Microsoft,

Windows Communication Foundation (WCF) is Microsoft’s latest technology for developing service-oriented applications. WCF simplifies development of connected applications through a new service-oriented programming model. WCF supports many styles of distributed application development by providing a layered architecture. At its base, the WCF channel architecture provides asynchronous, untyped message-passing primitives. Built on top of this base are protocol facilities for secure, reliable, transacted data exchange and broad choice of transport and encoding options.

You may also have attended numerous conference sessions on WCF. Most presentations focus on explaining the rationale and the motivation behind WCF. But what really is WCF from a developer’s point of view? How does a typical “hello, world” WCF application look like?

In this one-day workshop, you will learn the basics of building a WCF service and how to test it. At the end of the workshop, you would have a solid understanding of the capabilities of WCF and how you can use it to develop SOA (service-oriented architecture) applications!

DATE
Time: 9am to 5pm.
16th June 2008 (Mon)

COURSE FEE
S$399
Register before 31st May and receive S$100 discount (S$299 after discount).
Inclusive of 1 lunch and 2 tea breaks

Thursday, May 15, 2008

Free 1/2 Workshop on Windows Mobile 6 Programming

Have you ever wondered how you can program your Windows Mobile 6 device but do not know how to get started? Now, you can can jumpstarted in Windows Mobile 6 programming in half a day! And for FREE!

Here are the details:
* You need to bring along your own notebook for the course.
* You need to preinstall your own notebook with Visual Studio 2008 Professional (free 90-day trial edition is available for download from Microsoft's web site). Instructions on what to install will be emailed to selected participants.
* This workshop is intended for beginners to Windows Mobile development (if you are already developing Windows Mobile applications, then you are not the target audience for this course).
* At the end of the workshop, you will achieve the following:
- Learn how to get started in Windows Mobile programming
- Understand how to use the Windows Mobile emulators for testing
- Understand how to use the Cellular Emulator for testing phone and SMS messaging applications
- How to test your application using a real device
- How to deploy an application after development
- Basic understanding of the .NET Compact Framework 3.5
- Ready to embrace enterprise-ready applications

Venue
Motorola Enterprise Mobility Business
230 Victoria Street #12-06/10
Bugis Junction Office Tower
Singapore 188024

Date: 6 June 2008 (Fri)
Session #1: 9am to 12.30pm
Session #2: 1pm to 4.30pm

As spaces are limited, registrations are on first-come-first-serve basis (subject to maximum 2 seats per company). Please send an email to weimenglee@learn2develop.net, indicating the session you would like to attend.

Saturday, May 03, 2008

Book - Inside Steve's Brain

If you are a fan of Apple then you must also be a fan of Steve Jobs. If that is the case, I think you will enjoy this latest book by Leander Kahney - Inside Steve's Brain. Leander Kahney is also the author of The Cult of Mac and Cult of iPod.

In his latest book, Leander talked about what made Apple so special, with Steve Jobs at the helm. If you think that working under a fussy and demanding boss is a bad thing, think again. The bright side to this is that your work will be much more refined and of higher quality. And that's why Apple's products are so different from the rest of the competitors.

Overall, this book is an easy and interesting read and made me rethink about the quality of my work. If you are always curious about Steve Jobs and how he works, I strongly recommend this book. I have enjoyed it greatly and I am sure you will too. And one more thing, hug your fussy and perfectionist boss the next time you meet him at the office - he drives the best out of you.

Cruising the Interstate with Windows Mobile 6 Development

One benefit of choosing Microsoft technologies for your mobile apps is an integrated, streamlined development process. Find out how easy it is with this tutorial on the basics of developing Windows Mobile apps with the the .NET Compact Framework.

My new book - C# 2008 Programmer's Reference

I guess the cat is out of the bag...I am now working hard on my latest book - C# 2008 Programmer's Reference. This book covers all the important things you need to know to become a proficient C# programmer. It covers C# 3.0 using Visual Studio 2008. It will also include several chapters on developing Windows, Web, Silverlight, and Windows Mobile applications. Writing this book is actually much more involved than I had earlier expected, but I am enjoying every minute of it. When will be it be out? Well, sometime 3Q this year.

Pre-order it now. ;-)

Kindle-ready - Practical .NET 2.0 Networking Projects

I am excited to learn that my book - Practical .NET 2.0 Networking Projects, is now available on the Amazon.com's Kindle.

I have always wanted to be able to bring my books along with me when I travel, but I do not want to lug 10kg of paper with me. With Kindle, it is now possible to bring your favorite books with you without needing to worry about extra luggage. I think this is especially useful for technology books, which nowadays are huge - usually more than 1000 pages.

Right now, here are the various books that I want to put on my Kindle: Silverlight, ASP.NET 3.5, WCF, and iPhone. ;-)

If Kindle allows me to load my PDF documents onto it, I will give it a perfect score. Never mind if you say that it looks fugly...like Amazon said, when using the Kindle you are not suppose to know its presence.

Thursday, April 17, 2008

3 new Visual Studio 2008 courses in June 2008!

I have just launched 3 new courses in Jun 2008! Here are the 3 courses:
Course #1: Learning C# 3.0 (11th June 2008 Wednesday)
Course #2: Foundation of Windows mobile programming (12th June 2008 Thursday)
Course #3: Programming ASP.NET 3.5 AJAX (13th June 2008 friday)

For more information, please download the course brochure here.

Sunday, April 13, 2008

Media Guide

Wei-Meng Lee introduces the Silverlight MediaPlayer control, and demonstrates how to use it to save development time and effort.

Download the free PDF issue of aspnetPro magazine here.

Implementing Drag and Drop in Your Windows Application

One of the important features of Graphical User Interfaces (GUI) is drag and drop.Using a mouse you can drag and drop a file from one location to another or you may drag a file and drop it onto an application to launch it.

However, not many developers take the effort to implement drag and drop functionality in their applications. While it does take considerable effort to implement, the support for drag and drop in your application will greatly increase its usefulness. In this article, I will show you how to implement drag and drop functionality in your Windows Forms application.

Adding Multi-Touch to Your Windows Mobile Application's User Interface

What if you could convert your devices to use the kind multi-touch technology you see in an iPhone? It requires modifications to the OS and an overhaul to the entire UI, but it can be done.

What's New in Visual Basic 9.0? Part 2

The release of Visual Studio 2008 updates Visual Basic to version 9.0, with several key language enhancements and LINQ support. Part Two of this series will walk you through VB 9's new LINQ support features and other time-saving enhancements.

What's New in Visual Basic 9.0? Part 1

The release of Visual Studio 2008 updates Visual Basic to version 9.0, with several key language enhancements and LINQ support. Part one of this series will walk you through using nullable types, type inference, the If operator, and other time-saving enhancements.

Friday, March 21, 2008

New Course - Windows Mobile Network Programming and Hardware Interfacing using the .NET Compact Framework

This course introduces to participants the various techniques to program their Windows Mobile 5.0/6 Pocket PC devices to communicate with the outside world. Far from being an introductory course, this lab-intensive course will show you how to interface with external devices and communicate wirelessly with other devices.

What you will learn
* Introduction to the Windows Mobile 5.0/6 SDK
* Introduction to the .NET Compact Framework
* Using the Cellular Emulator
* Communicating with the outside world:
- SMS
- Web Services
- Infrared
- Bluetooth (Serial port)
- Sockets
* Interfacing with External devices
- Camera
- Barcode Reader
- GPS receivers
- Smart card reader
*Projects
- Implementing a call manager using SMS messaging
- Building a location-aware application using GPS
- Transferring Binary Data using Web Services
- Transferring data using infrared
- Data Synchronization using Sockets
- Activating the built-in camera
- 1D/2D Barcode scanning using the built-in camera
- Reading magnetic card information
- Accessing the SIM card information
- Voice recording using the OpenNetCF’s Smart Device Framework

Date
* Time: 9am to 5pm daily
* 25th April 2008

Course Fee
* $299
* Inclusive of 1 lunch and 2 tea breaks

Venue
* Motorola Enterprise Mobility Business
230 Victoria Street #12-06/10
Bugis Junction Office Tower
Singapore 188024

Download application form here.

Sunday, March 16, 2008

New Jumpstart Course - ASP.NET 3.5 AJAX

SYNOPSIS
This course is targeted at Web developers who need to get jumpstarted to ASP.NET 3.5 AJAX development in the shortest amount of time. It will introduce to participants the various techniques to AJAX-enable their Web applications using the latest ASP.NET 3.5 AJAX framework.

WHAT YOU WILL LEARN

  • Architecture of the ASP.NET AJAX Framework
  • How to update part of a Web page without a page reload
  • How to auto-complete user inputs
  • How to update a panel at regular intervals
  • How to create a panel that’s always floating and visible
  • How to populate a DropDownList control without a page refresh
  • How to display a confirmation dialog on a page
  • How to call Web/WCF services directly from a web page
  • How to access the properties of a Profile property from a Web page
  • How to add drag and drop functionality to a control
  • How to give users control of the information shown by a panel
DATE
  • 1 day, 9am to 5pm.
  • 18th April 2008 (Fri)
COURSE FEE
  • S$299
  • Inclusive of 1 lunch and 2 tea breaks
VENUE
HDB Learning Center
HDB Hub 480 Lorong 6,
Toa Payoh
Singapore 310480

Download the course application here.

Tuesday, March 11, 2008

New Jumpstart series of courses!

I am excited to announce that I will be launching a new series of courses next month. This new series is known as the JumpStart series.

What is the Jumpstart series?
Developers like you and I are constantly faced with the prospects of learning new technologies. And often, products literatures are often littered with jargons to make the technology look impressive. But to developers, what they want to know is really how it works, what can it do, and how do they do it. It is with this philosophy that the Jumpstart series of courses is designed. All Jumpstart courses are 1-day in duration and true to the developers' spirit they contain intensive lab exercises. You won't get product advertisements; what you get are labs after labs of hands-on exercises that show what you need to know about a technology. At the end of the day, you would have enough knowledge to explore the technology on your own and create more sophisticated solutions.

And to companies, we understand that cost is one huge factor to consider when deciding to send staff for training. Hence, all Jumpstart courses are priced at S$299.

So what are the new courses?
For a start, we will be rolling out the following courses:
  • 18th April - ASP.NET 3.5 AJAX
  • 25th April - Windows Communication Foundation (WCF)
  • In the pipeline - Developing Offline Windows Mobile Web applications using Google Gears
  • In the pipeline - Developing Silverlight 2 Applications

Check this site for updates as application forms will be available shortly. Meantime, if you are interested in any of the above two courses, send me an email at: weimenglee@learn2develop.net.

Monday, March 10, 2008

Free Mobility Touchdown Workshop - April 9-11 2008

I am proud to inform you that in collaboration with Microsoft, Development Learning Solutions has been appointed to conduct the Mobility Touchdown workshop in 2008.

The Mobility Touchdown workshop is a 3-day hands-on course that covers all the important topics related to Windows Mobile development. It covers topics like the .NET Compact Framework 3.5, SQL Mobile, Windows Mobile application design, and more.

The target audiences for this course are:
· ISVs who have not gone into Windows Mobile development but who are thinking about it
· ISVs who are planning to extend their LOB application to Windows mobile
· Institute of Higher Learnings (IHLs) who need to teach and/or supervise mobility modules/projects

If you are interested in this course, please send an email to weimenglee@learn2develop.net with the following information. If you are selected, you will be able to attend the 3-day course at no cost to you (you will, however, be responsible for your own travel and expenses).

Company:
Name:
Designation:
Primary business:
Plans revolving Windows Mobile (please provide as much details as you can):

As seats are limited, please provide as much information as you can so that we can correctly determine your eligibility for the course. Selected participants will be notified 2 weeks before the commencement of the course.

Training Date
· April 9-11 2008

Venue
· Microsoft Singapore
· Lab PCs will be provided for the training.

Tuesday, February 19, 2008

Learn .NET 3.5 core technologies, WPF, WCF and more

Sign up for the What is new in Visual Studio 2008 & .NET 3.5 course and learn some of the latest .NET 3.5 technologies. Here are some exciting things you will learn:

* New controls in ASP.NET 3.5.
* Foundations of WCF (Windows Communication Foundation).
* Learn how to write WCF callback applications. Callbacks are useful for building client-server applications like chat and messaging applications.
* Foundations of WPF (Windows Presentation Foundation).
* Learn how to spice up your Windows application using XAML.

DATE
• Time: 9am to 5pm daily
• 12th to 14th (Wed to Fri) March 2008


COURSE FEES
• $1099
• To qualify for Early Bird Discount, register at least 2 participants from the same company ($899 after discount)
• Inclusive of 1 lunch and 2 tea breaks for each day

Untapped Silverlight Powers: Create Your Own Media Player

My previous article on Silverlight demonstrated how to use the MediaElement control to playback media files. This bare-bones control simply plays back a media file—it does not have visual controls allowing you to pause or advance the media (although you can do this programmatically). This article will show you how to build a Silverlight application that reassembles the YouTube player, allowing you to visually control the playback of the media.

Sunday, February 17, 2008

Slides for Visual Studio 2008 Kickstart

I have uploaded the slides for the Visual Studio 2008 Kickstart event held on 12th Feb 2008.

Stay tuned to this site as I will post the links to some articles/code related to the topics that I have presented shortly.

Thursday, February 14, 2008

Learn how to program touch UI for your Windows Mobile applications!

If you want to learn how to implement touch UI for your Windows Mobile application, be sure to sign up for the 27-29 Feb Windows Mobile Programming course!

Visual Studio 2008 Kickstart - Thank you!

A big thank you for those of you who turned up for yesterday's event! I sincerely appreciate your taking the time to attend the talk and hope the talk was useful to you. For those who could not attend, I hope to see you at a future event.

I am happy to announce that if your company is planning to enroll 2 or more participants in one of the following upcoming courses, you will still be eligible for the early-bird discounts. As places are limited, do sign up early.

(1) Windows Mobile 6 Programming - 27 to 29 Feb 2008 ($798; $598 after discount)
(2) What is new in Visual Studio 2008 & .NET 3.5 - 12 to 14 March 2008 ($1099; $899 after discount)
(3) Web Development using ASP.NET 3.5, AJAX, and Silverlight - 18 to 20 March 2008 ($1099; $899 after discount)

What You Will Get
1. A 2GB Thumb Drive containing all the course-related SDKs and source code
2. A lab-intensive course workbook developed by Wei-Meng Lee
3. A free copy of CoDe magazine
4. A free one-year online-only subscription to asp.netPRO magazine (US$14.99 value) (only for course (2) and (3))

Sunday, February 03, 2008

Early-bird discount when you enroll 2 or more participants

I am happy to announce that if your company is planning to enroll 2 or more participants in one of the following courses, you will still be eligible for the early-bird discounts. As places are limited, do sign up before the places are taken.

Courses
(1) Windows Mobile 6 Programming - 27 to 29 Feb 2008 ($798; $598 after discount)
(2) What is new in Visual Studio 2008 & .NET 3.5 - 12 to 14 March 2008 ($1099; $899 after discount)
(3) Web Development using ASP.NET 3.5, AJAX, and Silverlight - 18 to 20 March 2008 ($1099; $899 after discount)

What You Will Get
1. A 2GB Thumb Drive containing all the course-related SDKs and source code
2. A lab-intensive course workbook developed by Wei-Meng Lee
3. A free copy of CoDe magazine
4. A free one-year online-only subscription to asp.netPRO magazine (US$14.99 value) (only for course (2) and (3))



Friday, February 01, 2008

Free practice-based training from InnerWorkings

With collaboration with InnerWorkings, I am pleased to announce that InnerWorkings is giving away a free sample of their practice-based training to all readers of this blog. This offer includes 2 hours of top quality hands-on learning on the important new features of C# 3.0 and VB 9.0, and includes a special 10% discount on all items in the InnerWorkings catalog.

To get the free 2 hours training, click the following link.