Channels ▼

Jonathan Erickson

Dr. Dobb's Bloggers

Odds and Ends...

May 21, 2010

...and in no particular order.

Scott Ambler is currently running the 2010 Project Success Survey that explores how we define success as professionals and what our actual project success rates are. Please take a few minutes and share your thoughts. You also have a chance to win a copy of Reflections on Management by Watts Humphrey and William R. Thomas.

GTC 2010, the upcoming GPU technology conference, will take place September 20-23 and encompass three concurrent GPU-focused summits in one location -- the Emerging Companies Summit, GPU Developers Summit, and the NVIDIA Research Summit. Interested speakers can submit proposals at the GTC Call for Submissions until June 1, 2010.

Have I mentioned the handy floating hub thing we added to It's worth taking a look at. Go to and mouse-over "Visual Studio 2010" (at the bottom of the Channel list, left side) and "Open QuickLinks" will pop up:

You can take it from there. Like I said, a handy gadget.

One man's ornithopter is another's robotic butterfly. Researchers in Japan have built a fully functional replica model of a swallowtail butterfly. A thing of graceful beauty, as you can see in this video. Using motion analysis software, the researchers monitored the ornithopter's aerodynamic performance, showing that flight can be realized with simple flapping motions without feedback control, something that can be applied to future aerodynamic systems.

Article of the day. Don't miss Eric Bruno's article Improving the Development Process, in which his point is that it's just as important to have good development processes as it is a good system architecture. Read it and don't be shy about leaving a Comment at end of Eric's article.

Over the years, programmers have incorporated all kinds of machine-learning techniques to automatically classify documents. One such machine-learning technique is naive Bayesian text classification. A text classifier is an automated means of determining some metadata about a document. Text classifiers are used for everything from spam filtering and suggesting categories for indexing a document created in a content-management system, to automatically sorting help desk requests.

In general, naive Bayesian text classifiers are fast, accurate, simple, and easy to implement. For instance, John Graham-Cumming presented a complete naive Bayesian text classifier written in 100 lines of commented, nonobfuscated Perl in his article Naive Bayesian Text Classification.

Programmers at Microsoft, however, have ratcheted Bayesian inference up a notch or two with Infer.NET, a very cool framework that's designed to run Bayesian inference in graphical models.

Developed by Tom Minka, John Winn, John Guiver, and Anitha Kannan, Infer.NET can be used to solve many different kinds of machine-learning problems, from standard problems like classification or clustering, to domain-specific problems. Infer.NET has been used in a variety of domains including information retrieval, bioinformatics, epidemiology, vision, and many others.

Infer.NET works by compiling a model definition into the source code needed to compute a set of inference queries on the model. The steps are:

  1. The user creates a model definition (using the modeling API) and specifies a set of inference queries relating to the model.
  2. The user passes the model definition and inference queries to the model compiler, which creates the source code needed to perform those queries on the model using the specified inference algorithm. This source code can be written to a file and used directly if required.
  3. The source code is compiled to create a compiled algorithm. This can be manually executed to get fine-grained control of how inference is performed, or...
  4. Using a set of observed values (such as arrays of data), the inference engine executes the compiled algorithm according to the user-specified settings, so as to produce the marginal distributions requested in the queries. This can be repeated for different settings of the observed values without recompiling the algorithm.

Infer.NET provides the state-of-the-art message-passing algorithms and statistical routines needed to perform inference for a wide variety of applications. It can be used from any .NET language, including C# and F#.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.