CodeGuru Update eNewsletter – April 26th, 2005

==========================================================
CodeGuru Newsletter
April 26, 2005
http://www.CodeGuru.com



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


___________________________ Sponsors
________________________________
Oracle
_____________________________________________________________________
==========================================================
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
– 
       … 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.
http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,1frn,cl3w,jorm,i5r0
————————————————————–adv.-/


==========================================================
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:


http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,crwg,a55z,jorm,i5r0


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:


http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,gl71,7isj,jorm,i5r0


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.


http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,9s99,6rwg,jorm,i5r0


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!
—————————
Brad Jones, Microsoft
MVP
www.CodeGuru.com
—————————


… 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:


http://www.codeguru.com/review-guidelines.php


–> REVERSING
     
Secrets of Reverse Engineering
      By Eldad
Eilam for Wiley
      400 pages for
$40
      http://books.internet.com/books/0764574817


 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


http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,fka1,909i,jorm,i5r0


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.



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,6osu,eeg1,jorm,i5r0


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



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,3zgs,kf56,jorm,i5r0


==> Graphics


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



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,1edx,jk7a,jorm,i5r0


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



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,ewij,ks4o,jorm,i5r0


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



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,bs71,9v5k,jorm,i5r0


==> MFC


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



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,811,loy9,jorm,i5r0


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



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,ic24,jiqs,jorm,i5r0


==> 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).



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,gd4v,eeqp,jorm,i5r0


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



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,lvc4,8xnb,jorm,i5r0


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


Check out the CodeGuru discussion forums at:


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


==> Serial port communications with
threads.
       http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,buuk,cur1,jorm,i5r0


==> Convert a object to string.
       http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,1778,ltll,jorm,i5r0

==>
Need C# function similar to Java’s
invokeLater(r);
       http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,fn1r,gn0k,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. 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.



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,3ns2,m9x8,jorm,i5r0


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.



http://nl.internet.com/ct.html?rtr=on&s=1,1kay,1,48n3,4kwg,jorm,i5r0


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.



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

More by Author

Must Read