Codeguru Update eNewsletter - February 13th, 2007

==========================================================
CodeGuru Newsletter
February 13, 2007

http://www.CodeGuru.com

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

___________________________ Sponsors ________________________________
Pegasus Imaging Corporation
Business Objects
_____________________________________________________________________
==========================================================

TOPICS:

--> Editorial
--> Recently Published Books

--> New on CodeGuru:
        ==> Biztalk
                - A BizTalk Administration Solution for Real-Time Data Warehousing
        ==> DataGrid
                - Creating a Custom DataGrid Paging Control
        ==> Dialogs
                - A Yes/Yes to All/No/No to All MessageBox
        ==> Graphics
                - Creating Your Own Drawing Application with Visual Basic .NET
        ==> Java - J2ME
                - Simple Bluetooth Communication in J2ME
        ==> Office 
                - Using ExcelPackage to Create Excel 2007 Files on the Server
        ==> Vista - Dialogs
                - Task Dialogs in Vista
        ==> Vista - Security
                - Vista Improves Security Through Private Object Namespaces
        ==> Workflow
                - Building a Custom Activity in Windows Workflow Foundation

--> Discussion Groups -- HOT Threads 
        - Is there a function to check if file is being accessed? (VC++)
        - How to subtract time? (Java)
        - Breaking one large image file into 6 smaller ones (C#)

--> Highlighted new articles on Developer.com 
        1. Why Pair?: Challenges and Rewards of Pair Programming
        2. Internationalization Using String Resource References
        3. Working with Textual Data: Be Prepared for Unexpected Problems

/-------------------------------------------------------------------\
Are you building document imaging software to scan documents or
process forms? Pegasus Imaging provides the technology.
Create applications for image viewing, scanning, editing, annotation,
compression, cleanup, barcode, OCR, OMR, ICR, form identification and
form dropout. Products are delivered as .NET and ActiveX COM toolkits.
Visit www.pegasusimaging.com for full-featured trial downloads.
\--------------------------------------------------------------adv.-/

==========================================================
Comments from the Editor
==========================================================

I've mentioned quantum computing and quantum computers in the past. Today seems like a great day to bring the topic to the forefront once again.

Today, D-Wave is expected to demonstrate what they call the world's first commercially viable quantum computer in Silicon Valley. The computer that they have created uses quantum mechanics for its processing power rather than the conventional physics used in today's standard computers. D-Wave's quantum computer is based on the use of superconducting electronics for generating the quantum effects. This is the easiest type of quantum computer to build in that it doesn't require the use of technologies that do not fully exist yet.

The D-Wave prototype is built using 16 qubits. While this may not seem like a lot, a quantum compute calculations can be carried out simultaneously. In this case, roughly 65,000 calculations can be carried out simultaneously.

In conventional computers, a bit is said to contain a value of zero or one. This gives you two states to work with. In a quantum computer, a bit contains both zero *and* one, as well as all of the possible values in-between. It is this ability to contain all values that is one of the key elements that set quantum computing apart from conventional computing. It is also this difference that makes quantum computing exponentially faster.

One example often cited when discussing quantum computers is that of breaking cryptography. With today's computers, a 'key' is used to change the value of data items. By using a larger size for the key, you increase the number of possibilities. If you had a 2 bit key, then you could have 00, 01, 10, or 11 all work. In a conventional computer, you would be able to break this two bit key by trying each of the four values. As you add to the size of the key, the number of values goes up exponentially.

For example, with a third bit added, you now have 8 possibilities instead of just the four with two bits. With a fourth bit the possibilities go to 16. Many people use 64 bit or 128 bit keys today. This means the number of possible values you might have to try in order to figure out the key is very large. With conventional computers, you would need to try each key to see if it works. With a quantum computer, all the possible values can be tried at the same time. Thus a two bit quantum computer would be able to simultaneously try 00, 01, 10, 11. It would, in essence, take one calculation versus the four calculations of conventional computer. For a 16 bit key, a conventional computer would have to separately try each of the 65536 possible values. A 16 qubit quantum computer could try all 65536 options in essentially one calculation.

In the quantum world, if you have a 128 qubit processor, you could break a 128 bit key instantly because all of the different values that the key could be would be there at once. What would likely have taken years on a conventional system, can be done instantly.

Instantly.

The same is true with some of the most complex mathematical equations. Many that would take hundreds of years on conventional computers will be done in little time on a quantum computer.

Quantum computers will require a rethinking of algorithms and approaches. They will require fundamental changes to how computing is done. This is as different as using a slide ruler is different from using today's computers. Today's announcement from D-Wave is just the first commercial journey into quantum computing. We are still years - if not decades -- away from anything mainstream. The difference, however, will be greater than the difference between a slide ruler and today's computers.

For fun, I've listed a few of the newer quantum computing books in today's new book releases section. I've just gotten the Introduction book that I list first. Be forewarned, most books on quantum computing are not light reading!

D-Wave release:
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,e3zc,4hgi,jorm,i5r0

Until next week...

Brad!
---------------------------
Bradley L. Jones
www.CodeGuru.com
---------------------------

/-------------------------------------------------------------------\
Migrating Up From Old Crystal Reports
Access upgrade/migration resources designed to smooth your
transition from earlier versions of Crystal Reports and the
Crystal Reports component engines to our latest release
Start Now.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,8agw,1lj2,jorm,i5r0
\--------------------------------------------------------------adv.-/

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

--> An Introduction to Quantum Computing
      By Kaye, Laflamme, and Mosca for Oxford University Press
      288 pages for $54.00
      http://books.internet.com/books/019857049X

--> Quantum Information: An Overview (Hardcover)
      By Gregg Jaeger for Springer
      284 pages for $49.95
      http://books.internet.com/books/0387357254

--> The Physics of Quantum Information: Quantum Cryptography,
      Quantum Teleportation, Quantum Computation (Hardcover)
      By Springer
      314 pages for $89.95
      http://books.internet.com/books/3540667784

=========================================================
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,2zyd,1,fka1,909i,jorm,i5r0

This week's CodeGuru posts:

==> Biztalk

- A BizTalk Administration Solution for Real-Time Data Warehousing
    By Jeffrey Juday
Designing an administration solution for your real-time data warehouse is important to the long-term success of your BizTalk solution. Picking a platform your users are comfortable with is a good start.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,kkuq,ec9a,jorm,i5r0

==> DataGrid

- Creating a Custom DataGrid Paging Control
    By mendhak
Create your own custom DataGrid paging control over which you, the developer, will have more control.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,f06r,jkt2,jorm,i5r0

==> Dialogs

- A Yes/Yes to All/No/No to All MessageBox
    By Chris Johanson
This dialog was designed to work much like a standard Windows Message Box, but with a "memory" to recall user input when "Yes to All" or "No to All" are selected, and not display the message box any longer in a specific instance.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,cb5n,4tq4,jorm,i5r0

==> Graphics

- Creating Your Own Drawing Application with Visual Basic .NET
    By Hannes du Preez
Learn how to create your own drawing application, step by step. This part (Part 1) creates the framework for your drawing application.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,kck7,cmbz,jorm,i5r0

==> Java - J2ME

- Simple Bluetooth Communication in J2ME
    By Wolvorine
Learn how to use Bluetooth with a very simple way of using the wrapper class. It can be extended more by implementing new ideas in it.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,699m,8wf2,jorm,i5r0

==> Office

- Using ExcelPackage to Create Excel 2007 Files on the Server
    By John Tunnicliffe
Learn about ExcelPackage, a set of classes and wrappers that provides server-side generation of Excel 2007 spreadsheets.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,gbe7,bwht,jorm,i5r0

==> Vista - Dialogs

- Task Dialogs in Vista
    By kirants
If you have been using Vista, you would have noticed that MessageBoxes are passi. These have been replaced by the new Task Dialogs. Task dialogs are intended to make the experience more interactive and goal-oriented. Take a tour of the Task Dialog API.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,hobn,gs0o,jorm,i5r0

==> Vista - Security

- Vista Improves Security Through Private Object Namespaces
    By Nick Wienholt
Windows Vista allows you to define, secure, and use custom namespaces to prevent malicious applications from denying access to kernel object functionality.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,7rsc,e6db,jorm,i5r0

==> Workflow

- Building a Custom Activity in Windows Workflow Foundation
    By Mark Strawmyer
Activities are the building blocks of workflows. When you use Windows Workflow Foundation, you likely will want to build custom activities to fit your tasks.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,5o3z,40pc,jorm,i5r0

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

Check out the CodeGuru discussion forums at:

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

==> Is there a function to check if file is being accessed? (VC++)
        http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,hloe,49oy,jorm,i5r0

==> How to subtract time? (Java)
        http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,czzp,c1gi,jorm,i5r0

==> Breaking one large image file into 6 smaller ones (C#)
        http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,9nmt,6a39,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. Why Pair?: Challenges and Rewards of Pair Programming
    By Jeff Langr -
Take a close look at the advantages and disadvantages of Pair Programming and see if it is the right approach for your team.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,e8og,54z4,jorm,i5r0

2. Internationalization Using String Resource References
    By Garret Wilson -
Learn about a flexible technique of non-intrusive text referencing for application internationalization.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,94fh,lzsq,jorm,i5r0

3. Working with Textual Data: Be Prepared for Unexpected Problems
    By Alex Gusev -
Mobile development has steadily become more than just a 'nice-to-have' feature, thanks to the permanently growing power of PDAs. Many desktop applications were ported to run in a mobile environment. Learn about a few underwater stones you might face when handling textual data.
http://nl.internet.com/ct.html?rtr=on&s=1,2zyd,1,8van,a6w6,jorm,i5r0

==========================================================



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

  • Today's enterprise datacenter can be one of the most complex business environments with dozens (for smaller business), hundreds (for larger and midsize business), even thousands (for hyperscale businesses) of servers that must be managed and monitored. At this level, just managing the cords can be challenging — let alone keeping up with the growing need for more agility and scalability within the datacenter. Simply put, companies are aggressively looking for less complexity and more agility from their …

  • Entire organizations suffer when their networks can't keep up and new opportunities are put on hold. Waiting on service providers isn't good business. In these examples, learn how to simplify network management so that your organization can better manage costs, adapt quickly to business demands, and seize market opportunities when they arise.

Most Popular Programming Stories

More for Developers

RSS Feeds

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