Building the Right Environment to Support AI, Machine Learning and Deep Learning
February 13, 2007
This newsletter is part of the Developer.com, EarthWeb, and
Pegasus Imaging Corporation
--> Recently Published Books
--> New on CodeGuru:
- A BizTalk Administration Solution for Real-Time Data Warehousing
- Creating a Custom DataGrid Paging Control
- A Yes/Yes to All/No/No to All MessageBox
- Creating Your Own Drawing Application with Visual Basic .NET
==> Java - J2ME
- Simple Bluetooth Communication in J2ME
- 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
- Building a Custom Activity in Windows Workflow Foundation
--> Discussion Groups -- HOT
- 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
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.
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.
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!
Until next week...
Bradley L. Jones
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
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:
--> An Introduction to Quantum Computing
By Kaye, Laflamme, and Mosca for Oxford University Press
288 pages for $54.00
--> Quantum Information: An Overview
By Gregg Jaeger for Springer
284 pages for $49.95
--> The Physics of Quantum Information: Quantum Cryptography,
Quantum Teleportation, Quantum Computation (Hardcover)
314 pages for $89.95
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 CodeGuru posts:
- A BizTalk Administration Solution for Real-Time Data
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.
- Creating a Custom DataGrid Paging
Create your own custom DataGrid paging control over which you, the developer, will have more control.
- A Yes/Yes to All/No/No to All
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.
- Creating Your Own Drawing Application with Visual Basic
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.
==> Java - J2ME
- Simple Bluetooth Communication in
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.
- Using ExcelPackage to Create Excel 2007 Files on the
By John Tunnicliffe
Learn about ExcelPackage, a set of classes and wrappers that provides server-side generation of Excel 2007 spreadsheets.
==> Vista - Dialogs
- Task Dialogs in Vista
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.
==> Vista - Security
- Vista Improves Security Through Private Object
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.
- Building a Custom Activity in Windows Workflow
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.
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!
... HOT THREADS ...
Some of the current threads with the most activity are:
==> Is there a function to check if file is being accessed?
==> How to subtract time?
==> Breaking one large image file into 6 smaller ones
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
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.
2. Internationalization Using String Resource
By Garret Wilson -
Learn about a flexible technique of non-intrusive text referencing for application internationalization.
3. Working with Textual Data: Be Prepared for Unexpected
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.