CodeGuru Update eNewsletter - April 26th, 2005


Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame

CodeGuru Newsletter
April 26, 2005

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

___________________________ Sponsors ________________________________
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).


--> Editorial - 
       ... From Asta to Cryptyc to SLAM 
       ... Recently Published Books

--> New Articles on CodeGuru: 
       ==> Date/Time
              - Yet Another Nullable DateTimePicker Control
       ==> Generics
              - Generics in .NET: Type Safety, Performance, and Generality
       ==> Graphics
              - [Updated] Color Take
       ==> Managed C++ 
              - Search Entire Directories for Specified Files with Managed C++
       ==> Misc.
              - Outsourcing, a Mega-Trend that Forces Changes onto Every IT Organization
       ==> MFC
              - [Updated] Matrix-Like Credits for MFC Applications
       ==> Multimedia
              - DirectShow Single-Frame Capture Class Without MFC
       ==> Syntax
              - Logic-Grid: An Elegant Alternative to Your If-Else Nightmare!
       ==> Syntax - VB .NET 2005
              - Defining Operators in VB .NET 2005

--> Discussion Groups (including Hot threads)
              - Serial port communications with threads.
              - Convert a object to string.
              - Need C# function similar to Java's invokeLater(r);

--> Highlighted new articles on Developer.com 
       1. Tutorials: Discover UML
       2. Mobile Development: Why Should I Care? A Q&A with Nokia
       3. Writing BREW Extensions

The company that brings developers cutting-edge technologies
like BPEL and ADF will soon bring one lucky developer to the
edge of space.Enter now for the Oracle Space Sweepstakes for
a chance to win a Space Adventures suborbital space flight,
along with other prizes including Mac PowerBook G4s,
20GB Apple iPods, and Star Wars Trilogy DVD sets.

Comments from the Editor

Each week I get to take a few minutes to write an editorial here in the CodeGuru newsletter. Each week I have a number of different things I'd like to write about, unfortunately time doesn't always allow.

One of the things on my list has been Cω (C-omega). A couple of people have suggested Cω as a topic for me to mention. This is an experimental programming language — actually an extension to C# — that focuses on distributed asynchronous concurrency and XML manipulation. This is a combination of research projects that were formally known as polymorphic C# and Xen (and X#). For more on this, you can check out:


Another topic I've not covered, that would be interesting is Cryptyc. This is a tool for type-checking security protocols. In fact, the name stands for "Cryptographic Protocol Type Checker." For more on this interesting tool and its concepts, you can check out:


The item I've had near the top of my list the longest is Fugue. This is a tool for helping you write better .NET code. It is a "defect detection" tool. Fugue will do things such as check for fields that shouldn't be null, check for use of objects after they've been disposed, check to verify that methods are used in the proper order, and much more. Using Fugue, you record a set of rules for using a class or interface. Fugue will then verify that the rules are followed.


This is just three of the many things I want to begin digging deeper into. There are more things that have caught my interest as well, including -

SLAM - A project for investigating the relationships between software -S-pecifications, -L-anguages, -A-nalysis, and -M-odel checking.

Behave! - A project for building tools to checking things such as deadlock freedom, invariant checking, and message-understood properties in behavior properties of asynchronous, message-passing programs.

Phoenix - A software optimization and analysis framework that is to be the basis for all future Microsoft compiler technologies.

Asta - A project investigating algorithms for detecting cloned code.

Abstract IL (ILX) - A toolkit for accessing the contents of .NET Common IL binaries . Among its features, it lets you transform the binaries into structured abstract syntax trees that can be manipulated.

AsmL - An Abstract State Machine Language. I believe you may find all of these things interesting as well.

If you've worked with any of them, then I would request that you submit an article to CodeGuru to share what you've learned with the rest of the CodeGuru community!

Until next week!

Brad Jones, Microsoft MVP

... Recently Published Books

For those of you keeping up by reading books. The following are just a few of the new books that have been recently released. If you've read any of these, feel free to write a review to be posted on CodeGuru. See the submission guidelines at:


      Secrets of Reverse Engineering
      By Eldad Eilam for Wiley
      400 pages for $40

 How to deconstruct software in a way that reveals design and implementation details, sometimes even source code. Find weak spots so you can target your security efforts. Learn when it reverse engineering is legal, and when it isn't. See how  hackers use reversing to defeat copy protection. Includes  information on reverse engineering on the .NET platform.

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


This week's posted CodeGuru articles:

==> Date/Time

- Yet Another Nullable DateTimePicker Control
   By Claudio Grazioli
Learn about a DateTimePicker control that can show null values and therefore works when bound to database DateTime values that can be null.


==> Generics

- Generics in .NET: Type Safety, Performance, and Generality
   By Mark Strawmyer
Generics, a new addition in version 2.0 of the .NET Framework, offer a combination of type safety, performance, and generality in the defined type. Find out why generics are valuable and what they can add to your applications.


==> Graphics

- [Updated] Color Take
   By Roger65
Get pixels from the desktop.


==> Managed C++

- Search Entire Directories for Specified Files with Managed C++
   By Tom Archer
Tom Archer presents a generic Managed C++ function that searches a directory hierarchy for all instances of a specified file name, utilizing the .NET DirectoryInfo and FileInfo classes.


==> Misc.

- Outsourcing, a Mega-Trend that Forces Changes onto Every IT Organization
   By Klaus Salchner
Take a closer look at which IT functions are and are not outsourced. Also, take a closer look at how to manage an outsourcing relationship successfully.


==> MFC

- [Updated] Matrix-Like Credits for MFC Applications
   By John Lindal
This simple class displays Matrix-like credits in MFC applications.


==> Multimedia

- DirectShow Single-Frame Capture Class Without MFC
   By Audrey Mbogho
Learn how to use DirectShow to capture a frame into a Windows DIB from a DV Camera or Web Camera, FireWire, or USB.


==> Syntax

- Logic-Grid: An Elegant Alternative to Your If-Else Nightmare!
   By Narendra Venkataraman
Deeply nested if-else and giant switch statements are a common sight in any complex logic implementation. Maintaining such a messy chunk of code is really a nightmare. Learn a very effective technique that I call logic-grid technique to implement rule engines and finite state machines (FSM).


==> Syntax - VB .NET 2005

- Defining Operators in VB .NET 2005
   By Bill Horst
Read about an introduction to new functionality in VB .NET 2005 to define operators.


Discussion Groups

Check out the CodeGuru discussion forums at:


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:

==> Serial port communications with threads.

==> Convert a object to string.

==> Need C# function similar to Java's invokeLater(r);

New Articles on Developer.com

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

1. Tutorials: Discover UML
     By Mandar Chitnis, Pravin Tiwari, & Lakshmi Ananthamurthy -
Are you new to UML or need a refresher course? These tutorials will quickly get you up and running.


2. Mobile Development: Why Should I Care? A Q&A with Nokia
     By Bradley L. Jones -
Developer.com has a candid conversation with Srikanth Raju, Senior Technology Manager at Nokia, on why developers should care about developing for mobile devices. Get the candid information on why you should be considering the mobile platform and what Nokia recommends for you to do to get started.


3. Writing BREW Extensions
     By Ray Rischpater -
QUALCOMM BREW's mechanism for providing additional components extensions, in QUALCOMM parlance.offers an excellent avenue to ensure modularity and reuse between BREW applications. Learn how to begin writing extensions for public or private use with QUALCOMM BREW.


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:

About the Author

Bradley L. Jones



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

  • You must have javascript enabled in order to post comments.

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

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date