Codeguru Update eNewsletter – February 13th, 2007

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

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


https://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


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

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read