CodeGuru Update eNewsletter - February 1st, 2005

==========================================================
CodeGuru Newsletter
February 1, 2005

http://www.CodeGuru.com

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

______________________________ Sponsors ________________________________
SAP
_____________________________________________________________________
==========================================================
All newsletters are sent from the domain "internet.com."
If configuring e-mail or Spam filter rules, please use this
domain name (not the entire "from" address, which varies).
==========================================================

TOPICS:

--> Editorial - Developing for the TV

--> New Articles on CodeGuru::).

        ==> Beginning Visual Basic 
                - Discovering Visual Basic .NET -- The Series
        ==> Controls
                - [Updated] Changing the Background Color of an Edit Control
        ==> Database (C#)
                - Generic Code to Execute Stored Procedures
        ==> Encryption (VB / .NET)
                - Encrypt DataSets for Offline Storage
        ==> Managed C++
                - Authenticating Users via Hash Codes
                - Read Image Data Using the ADO.NET DataReader
        ==> Mobile
                - How DesktopRAPIInvoker Launches the HTML Viewer on the CE Device
        ==> System (C++)
                - Three Ways to Retrieve Processor Information
        ==> System
                - [Updated] Windows Message Broadcaster

--> Discussion Groups (including Hot threads)

--> Highlighted new articles on Developer.com
        1. Building Web Services with User-Defined Data Types
        2. Product Review: Sun Java Studio Enterprise 7
        3. Coming in 2005

/-------------------------------------------------------------------\
Unbreakable 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.)
http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,h637,5w,jorm,i5r0
\--------------------------------------------------------------adv.-/

==========================================================
Comments 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 computer.

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 (free).

- 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

http://nl.internet.com/ct.html?rtr=on&s=1,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) 
   {
      root.setResource(createText("default-36-bold.font",
                                  Color.white, 
                                  "Hello, world!"));
   }
}

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

Until next week!

Brad!
---------------------------
Brad Jones, Microsoft MVP
www.CodeGuru.com
---------------------------

=========================================================
New & Updated Articles on CodeGuru
==========================================================

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 http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,fka1,909i,jorm,i5r0

This week's posted CodeGuru articles:

==> Beginning Visual Basic

- Discovering Visual Basic .NET -- The Series
   By Bill Hatfield
Are you new to Visual Basic .NET? Best-selling "Dummies" author Bill Hatfield teaches you the basics of Visual Basic .NET.

http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,m8lp,i7z7,jorm,i5r0

==> Controls

- [Updated] Changing the Background Color of an Edit Control
    By Kevin Bond
Learn how to change the background color of a text box.

http://nl.internet.com/ct.html?rtr=on&s=1,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.

http://nl.internet.com/ct.html?rtr=on&s=1,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.

http://nl.internet.com/ct.html?rtr=on&s=1,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 users.

http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,a5ji,da37,jorm,i5r0

==> Managed C++

- Read Image Data Using the ADO.NET DataReader
   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 disk.

http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,31az,7y3c,jorm,i5r0

==> Mobile

- How DesktopRAPIInvoker Launches the HTML Viewer on the CE Device
   By Nancy Nicolaisen
Explore the mechanics of launching an HTML viewer on your CE device.

http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,dku2,eysx,jorm,i5r0

==> System (C++)

- Three Ways to Retrieve Processor Information
   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 functions.

http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,fsw1,jxft,jorm,i5r0

==> System

- [Updated] Windows Message Broadcaster
   By Ali Rafiee
Use this class to broadcast a message to multiple windows, or different views without having to have their handles.

http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,ez1p,j01g,jorm,i5r0

 

==========================================================
Discussion Groups
==========================================================

Check out the CodeGuru discussion forums at:

http://nl.internet.com/ct.html?rtr=on&s=1,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!

... HOT THREADS ...

Some of the current threads with the most activity are:

==> A bug in std::stable_sort ??!!?
        http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,dbt1,kiya,jorm,i5r0
        (Spoiler: The answer is no)

==> Loop (VB 6)
        http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,gekn,824o,jorm,i5r0

==> Code for converting different files into pdf
        http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,c12n,d776,jorm,i5r0

==========================================================
New Articles on Developer.com
==========================================================

Below are some of the new articles that have been posted to Developer.com (http://www.developer.com).

1. Building Web Services with User-Defined Data Types
   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 e-commerce.

http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,fdy5,5djt,jorm,i5r0

2. Product Review: Sun Java Studio Enterprise 7
   By Michael Klaene -
Take a look at the key features of Sun Java Studio Enterprise 7, released just last month.

http://nl.internet.com/ct.html?rtr=on&s=1,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.

http://nl.internet.com/ct.html?rtr=on&s=1,1d9c,1,m51x,bqn,jorm,i5r0

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Advertising: If you are interested in advertising in our newsletters, call Claudia at 1-203-662-2863
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For information about advertising opportunities, visit http://www.jupiterweb.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For details on becoming a Commerce Partner, contact David Arganbright
on 1-203-662-2858 or go to www.jupitermedia.com/corporate/licensingform.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To learn about other free newsletters offered by internet.com or
to change your subscription visit http://e-newsletters.internet.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

internet.com's network of more than 160 Web sites is organized into 12 channels:

Developer http://internet.com/webdev/
Download http://internet.com/downloads/
International http://internet.com/international/
Internet Lists http://internet.com/lists/
Internet News http://internet.com/news/
Internet Resources http://internet.com/resources/
IT http://internet.com/it/
Small Business http://internet.com/sb/
Linux/Open Source http://internet.com/linux/
Windows Technology http://internet.com/win/
Wireless Internet http://internet.com/wireless/
xSP Resources http://internet.com/xsp/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To find an answer - http://search.internet.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Looking for a job? Filling an opening? - http://jobs.internet.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This newsletter is published by Jupitermedia Corporation
Copyright (c) 2005 Jupitermedia Corporation. All rights reserved.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For information on reprinting or linking to Jupitermedia content:
http://www.jupitermedia.com/corporate/permissionform.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



About the Author

Bradley L. Jones

bjones@jupitermedia.com

Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: October 29, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Are you interested in building a cognitive application using the power of IBM Watson? Need a platform that provides speed and ease for rapidly deploying this application? Join Chris Madison, Watson Solution Architect, as he walks through the process of building a Watson powered application on IBM Bluemix. Chris will talk about the new Watson Services just released on IBM bluemix, but more importantly he will do a step by step cognitive …

  • QA teams don't have time to test everything yet they can't afford to ship buggy code. Learn how Coverity can help organizations shrink their testing cycles and reduce regression risk by focusing their manual and automated testing based on the impact of change.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds