CodeGuru Update eNewsletter – February 1st, 2005

CodeGuru Newsletter
February 1, 2005

This newsletter is part of the, EarthWeb, and networks.
Jupitermedia Corporation

______________________________ Sponsors
newsletters are sent from the domain “”
If configuring e-mail
or Spam filter rules, please use this
domain name (not the entire “from”
address, which varies).



–> Editorial – Developing for the TV

–> New Articles
on CodeGuru::).

        ==> Beginning Visual
– Discovering Visual Basic .NET — The
– [Updated] Changing the Background Color of an Edit
        ==> Database
– Generic Code to Execute Stored
        ==> Encryption (VB /
– Encrypt DataSets for Offline
        ==> Managed
– Authenticating Users via Hash
– Read Image Data Using the ADO.NET
– How DesktopRAPIInvoker Launches the HTML Viewer on the CE
        ==> System
– Three Ways to Retrieve Processor
– [Updated] Windows Message Broadcaster

–> Discussion Groups (including Hot threads)

–> Highlighted new articles on

        1. Building
Web Services with User-Defined Data
        2. Product Review: Sun Java
Studio Enterprise 7
        3. Coming in

Java? Is it really possible to build a Java application
server that never
goes down? Thomas Smits, a Development Architect,
has posted his paper,
“Unbreakable Java,” on the SAP Developer
Network. (If you don’t already have
one, just create a user I.D.
and password to look it over.),1d9c,1,h637,5w,jorm,i5r0

from the Editor

… Developing for the TV

TiVo Released an SDK Yesterday!

In simple terms, TiVo is a system that works on digital video recorders to
allow you to manipulate live television – including recording pausing,
rewinding, and more. Additionally, the TiVo service gives you the ability to do
such things as specify your favorite actor and it will then start looking for
and recording shows for you if that actor will be on a specific show. These are
just a few of the services that TiVo can do.

If you have a Series 2 TiVo and you hook it into your home network, you then
can display images or listen to your favorite music on your television through
the TiVo system. The music is stored on your PC, so if you have multiple TiVos,
you can access it from any of them on your network.

Just added to the TiVo services is the ability to record shows from your
TiVo/television onto your computer so that you can watch them on your computer,
or take them with you on a notebook computer or DVD. Prior to this addition
(called TivoToGo), you could transfer a television show from one TiVo (Series 2)
to another through your network, but you could not pull copies onto your

To fully understand a TiVo, you have to play with one. An in-law of mine has
just received their first TiVo. When she mentioned it to a friend, her friend
responded that her [my in-law’s] life was going to change.

That is a pretty strong statement.

The truth is, a TiVo does change how you watch television. I’m not here to
sell you on TiVo.

Rather, this announcement is about the fact that TiVo is working to change
how you can interact with the television on an even greater level. I’ve talked
about programming platforms and various clients. TiVo has now added the
television as a viable, possible target for your applications.

Yesterday, TiVo released an SDK. This allows you to start developing
applications that will work with TiVo Series 2 devices. In simple terms, a TiVo
is simply a Linux box with a hard drive for storing television programs. By
using the SDK, you will be able to tap into this system and create applications
that can work on the television using any TiVo Series 2 device that is hooked
into a network. There are a few other requirements for making this work as well,
but all are easily obtained:

– You must be using a Series 2 TiVo.

– It must be hooked into a network and have the TiVo server running

– If you are already running the TiVo server (needed for home media options),
you may need to upgrade it to 2.0.

– It must have Java 1.4 or later.

– You must have the software in your TiVo updated.

The development is done by using standard Java and the SDK can be downloaded
now from,1d9c,1,hx82,fa3z,jorm,i5r0

The only critical issue is that software in your TiVo has to be updated to
the most recent version. This is an automatic update that you can get by
requesting it on the TiVo site. If you have updated your Tivo for TivoToGo, you
already have it.

With everything in place, you can begin developing applications that will run
on your PC and interact with your TiVo Series 2 to display on your television.
You can use a number of the keys on the TiVo remote to interact with the
developed applications.

The end result is that you can use your television to run applications and
the TiVo remote to interact with them. Expectations are that there will be games
and applications that take advantage of single and multiple users. Additionally,
you’ll be able to tap into advanced program and movie guides, giving the ability
to deliver a different style of application. The possibilities are open.

Of course, if you haven’t requested the update for TivoToGo, then you will
hit a roadblock – a roadblock I consider very serious because it has
implications. In the words of TiVo customer service:

Even with being on the list for the priority, it can still take three to
four weeks to receive the download for the new software that will enable the
TiVoToGo feature.”

If you request the update to your TiVo today, you will be put on a waiting
list. You can ask to be put onto a priority list; however, the stated wait time
for being on the priority list is up to three to four weeks. I don’t know what
the wait time is if you are not prioritized.

In other words, download the SDK, upgrade the software on your PC, and then
wait a month before you can see how it looks on your TiVo. This is a delay that
the developers at TiVo will need to overcome if this is to be considered a
serious platform. While I believe that this is a very cool SDK with huge
potential, I have to step back and question the viability of a system that could
take a month to update. With many TiVo’s wired into the Internet for updates,
this delay seems outrageous.

I’m currently working on a basic tutorial for writing a program for TiVo. As
a teaser, here is a TiVo application:

public class HelloWorld extends Application
   protected void init(Context context)
                                  "Hello, world!"));

As you can see, this is straightforward Java. This is your standard “Hello
World” application written for TiVo.

Until next week!

Brad Jones, Microsoft MVP

& Updated Articles on

Following are short descriptions of new articles on CodeGuru. If you are
interested in submitting your own article for inclusion on the site, then you
will find guidelines located at,1d9c,1,fka1,909i,jorm,i5r0

This week’s posted CodeGuru articles:

==> Beginning Visual Basic

– Discovering Visual Basic .NET — The
   By Bill Hatfield
Are you new to Visual Basic
.NET? Best-selling “Dummies” author Bill Hatfield teaches you the basics of
Visual Basic .NET.,1d9c,1,m8lp,i7z7,jorm,i5r0

==> Controls

– [Updated] Changing the Background Color of an Edit
    By Kevin Bond
Learn how to change the
background color of a text box.,1d9c,1,4z8y,aevj,jorm,i5r0

==> Database (C#)

– Generic Code to Execute Stored Procedures
By Sriram Surapureddy
Generic code to execute any stored procedure/batch of
stored procedures with different number of parameters and data types.,1d9c,1,ceuf,im4x,jorm,i5r0

==> Encryption (VB / .NET)

– Encrypt DataSets for Offline Storage
By Paul Kimmel
Learn how to encrypt offline data, .NET style. Paul Kimmel
offers you the opportunity to experiment with ADO.NET, XML serialization,
streams, and the DPAPI — technologies you can use to encrypt user data.,1d9c,1,7f27,evb4,jorm,i5r0

==> Managed C++

– Authenticating Users via Hash Codes
   By Tom
Archer –
For situations when a company doesn’t want the responsibility of
maintaining a user password file, Tom Archer presents a mechanism that stores
and uses the hash codes of passwords instead of the actual passwords to validate

==> Managed C++

– Read Image Data Using the ADO.NET
   By Tom Archer –
Tom Archer illustrates
step-by-step instructions for using the .NET DataReader class to read image data
from a database, and he presents a generic function that will write this data to

==> Mobile

– How DesktopRAPIInvoker Launches the HTML Viewer on the CE
   By Nancy Nicolaisen
Explore the mechanics of
launching an HTML viewer on your CE device.,1d9c,1,dku2,eysx,jorm,i5r0

==> System (C++)

– Three Ways to Retrieve Processor
   By Marius Bancila
Learn how to retreive
CPU information such as name, vendor name, speed, or supported features, using
CPUID assembly instruction, Registry stored information, or Platform SDK

==> System

– [Updated] Windows Message Broadcaster
Ali Rafiee
Use this class to broadcast a message to multiple windows, or
different views without having to have their handles.,1d9c,1,ez1p,j01g,jorm,i5r0



Check out the CodeGuru discussion forums at:,1d9c,1,bcr8,cx5j,jorm,i5r0

Forums include Visual C++, General C++, Visual Basic, Java, General
Technology, C#, ASP.NET, XML, Help Wanted, and much, much, more!


Some of the current threads with the most activity are:

==> A bug in std::stable_sort ??!!?,1d9c,1,dbt1,kiya,jorm,i5r0
(Spoiler: The answer is no)

==> Loop (VB 6),1d9c,1,gekn,824o,jorm,i5r0

==> Code for converting different files into

Articles on

Below are some of the new articles that have been posted to

1. Building Web Services with User-Defined Data
   By Nandhini Arumugam –
Creating Web services
out of complex, user-defined data types remains one of the challenges of the
next generation of Web services. Discover here how to create Web services from
complex data types opening up a wide area of possible applications in

2. Product Review: Sun Java Studio Enterprise
   By Michael Klaene –
Take a look at the key
features of Sun Java Studio Enterprise 7, released just last month.,1d9c,1,tsk,5irj,jorm,i5r0

3. Coming in 2005
   By Bradley L. Jones –

Curious of what to expect in 2005 out of the development community? Check
out Bradley Jones’ yearly forcast on what to anticipate.,1d9c,1,m51x,bqn,jorm,i5r0

If you are interested in advertising in our newsletters, call Claudia at
information about advertising opportunities, visit

For details on becoming a Commerce Partner, contact David Arganbright
1-203-662-2858 or go to


To learn about other free newsletters offered by or
change your subscription visit

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~’s network of more than 160 Web sites is organized into 12

Small Business


To find an answer –


Looking for a job? Filling an opening? –
newsletter is published by Jupitermedia Corporation
Copyright (c) 2005
Jupitermedia Corporation. All rights
information on reprinting or linking to Jupitermedia content:

More by Author

Previous articleEnumerate WFP Files
Next articleComing in 2005

Must Read