Site Archive (Complete)
C++
void main(void)

Calls, Returns and In-Between.

by Kevin Carlson

August 2006


August 29, 2006

Pass the Event Buck


When the events you need to handle can come from many discrete and independent sources (such as machines on a network), it's often a good idea to keep your event-handling classes similarly discrete and independent, and let responsibility for an event cascade from one handler to the next. In his article "The C++ Chain of Responsibility Pattern and Network Events," Stephen Morris demonstrates just how useful this concept can be when building a network monitoring system.

Posted by Kevin Carlson at 01:40 PM  Permalink |


August 28, 2006

Sun's DNA Viable?


Maybe Sun Microsystems has life in it yet. The latest evidence that Sun is still alive and kicking comes from the Institute for Genomic Research, where three of Sun's Opteron-based Sun Fire servers recently outperformed an existing bank of Alphas the institute had been using for its very demanding gene sequencing applications. It's a PR win for Sun, but it's also solid evidence that Sun's switch to x86 was a wise move. Full story here.

Posted by Kevin Carlson at 04:31 PM  Permalink |


August 24, 2006

Hone Your Abstractions


So much of good programming is about envisioning the proper abstractions and keeping your model coherent both in your head and in your code. In C++, template metaprogramming is at the heart of abstraction. Which is why I was pleased to see that Boost's David Abrahams will be leading a two-part class on the subject at

Posted by Kevin Carlson at 02:28 PM  Permalink |


August 22, 2006

There's Work Yet to Do


It's easy to feel like all the good ideas in software are already out there. We can just pull from our existing toolbox of proven concepts, plug it all together, debug, and go. But conceptual innovation in software development is not dead; take it from Herb Sutter. He argues that we're just getting started, and in fact we're on the verge of a revolution every bit as significant as the object revolution of the '80s and '90s.

Posted by Kevin Carlson at 02:08 PM  Permalink |


August 15, 2006

Mother Nature, Hacker


Sometimes emulating nature is the smartest and easiest course of action. Instead of building complex, monolithic solutions, it sometimes pays to do our best Thoreau imitation and sit for a while contemplating ants. An ant colony solves problems with sheer numbers: One ant can't do much, but thousands of ants are a formidable problem-solving engine. Ant Colony Optimizers (ACOs) are the algorithmic embodiment of this idea. In his article "Ant Colony Algorithms," Andrew Colin shows how useful such tools can be, especially for problems like network routing over changing topologies.

Posted by Kevin Carlson at 12:53 PM  Permalink |


August 08, 2006

An Error You Can't Refuse


It's notoriously easy to ingore the error code returned by a function. Yet exceptions sometimes seem like too blunt an instrument. The concept of mandatory error codes falls somewhere in the middle, encouraging good practice, yet not detonating the process. In "Mandatory Error Codes Revisited," (http://www.ddj.com/dept/cpp/191601612) Guy Peleg modifies Andrei Alexandrescu's idea, fixing a few niggles that made it problematic.

Posted by Kevin Carlson at 02:24 PM  Permalink |



November 2007
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  


BLOGROLL
 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies