Roy K. Clemmons

Software Professional

Irrefragable Apriorisms

Tip: In .NET, use the RNGCryptoServiceProvider class to generate random numbers instead of the Random class. This class implements a cryptographically strong algorithm which means the resulting number will be more enthropic (random) than that produced by the Random class.


Jeffrey Richter is one of the better authors on Windows development. Here, he presents a very simple, but powerful and efficient class for thread synchronization.


Scott Mitchell, founder of 4GuysFromRolla.com, provides an excellent article on Master Pages and site map navigation.


Peter Femiani uses Ildasm to take a look behind the scenes of the “using” keyword. The "using" keyword in C#


Are you multi-thread savvy? Take Walter Finethen's threading quiz and find out. See "Brain vs. Brain"


The Enterprise Library is important to Software Factories - Microsoft’s strategy for industrializing software development. In this article, Tom Holland describes the Application Block Software Factory - included in v3 of the Enterprise Library - that builds application blocks


The Interactivate web site contains free, online courseware to visually explore science and mathematic topics. It appears to be oriented to the middle school age bracket but I found it not only a refreshing overview of elementary concepts, but applicable to software developers.

Venn Diagrams for example, are used to supplement class diagrams to visually model class constraints and overlapping responsibilities.

Whereas class diagrams depict class relationships, constraint diagrams visualize properties and compositions of those relationships. Here is a good paper on the use of constraint diagrams to model software.


Google offers a new feature to create customized search engines tailored to your interests.

For example, I created a customized engine to that restricts searches to ASP.NET 2.0/C# sites. Thus, when I type in, say, bilinear formulation for supersymmetric boson equations, the result set is reduced and more relevant to my needs.  Way cool!

Moreover, you can create as many tailored sites as you want.

Imagine customized search engines for Quantum ElectroDynamic (QED) theory, Brane cosmology, apodeictic reasoning and theodicy! The possibilities are limited only by your interests.


A neural net is an interconnected system of nodes collaboratively working to solve a problem. Often used in Artificial Intelligence applications, neural nets are also used in games like chess, pattern recognition and other applications typically too complex for a standard deterministic architecture.

The Hopfield neural net is one of the easiest neural nets to understand. This article does an ok job of describing depicting a Hopfield net but the math foundation is distracting. Math geeks will salivate but the ordinary reader will likely fall asleep. The real value of the article is found in the C# sample code and its use of the generic List class.

Here is a simpler explanation of the Hopfield net without all the math and technical jargon.

Chess geeks might appreciate the solution of the n-Queens problem using the Hopfield net.


Google recently released a single point site to search publicly available source code. Now developers can use one web site to search for that efficient, clean implementation of a z-buffer image space algorithm or for the ergodicity of geodesic flow in symmetric spaces!


Find out the secrets for a great reseach paper that will capture your reader's attention and propel you to greatness.


CodeKeep Repository is a great place for sharing and storing code snippets. It's an Internet toolbox for software developers.


Swish is easier to use and less than Flash.


Listen to legendary Computer Scientist Donald Knuth's lectures on God and Computers.