CodeGuru is a huge Internet site geared towards programmers working in Microsoft programming languages like Visual C++ (my language), Visual Basic and Visual C#. It consists of thousands of pages with information, tips and tricks, and example code. Contributions come from all over the world, from professional programmers, hobby programmers and students alike. It’s a very lively community and the general level is high.

CodeGuru is far from unique and it is not even the biggest programmers forum on the Internet. But I used to prefer it, because the leading articles are thoroughly reviewed by a bunch of very competent peers from all over the world. How I know? Because I once was a CodeGuru reviewer myself.

A few years ago (a lot of years, actually) I published some articles on CodeGuru. They're not bad, really, but most of them will be quite outdated now. In fact, CodeGuru removed most of the illustrations, which makes the articles hard to follow. Maybe, one day I will find the time to restore them.

My Articles

They are mainly about computer graphics and image manipulation. I tend to switch from one subject to the other rather frequently, so that might change. They're also listed on my CodeGuru profile page.

  • Playing with ColorMatrix — You can do great things with ColorMatrix in GDI+. Use the QColorMatrix class to open up the possibilities. You’ll be able to affect gamma, saturation, contrast, brightness, hue, and more. (July 31, 2003. Updated: August 12, 2003)
  • Flicker-Free Drawing Using Bounds Accumulation — Use the versatile QBufferDC class for double-buffered drawing to the screen. (August 15, 2003)
  • Scaling, Rotating, and Shearing with QTransformTracker — This CRectTracker on steroids not only lets you move and scale screen objects, but also rotate and shear them. (August 25, 2003. Updated: September 2, 2005)
  • Weird Warps — GDI+ lets you ‘warp’ graphics objects. At least, that’s the story. In reality, the method is buggy to an unacceptable degree. (September 2, 2003)
  • ‘Rubber Sheeting’ with QWarpTracker — Warping is the most drastic way to change the form of a GDI+ graphics object. The class QWarpTracker lets you do it interactively. (September 9, 2003. Updated: September 1, 2005)
  • Look Closer with QZoomView — Build an extended CScrollView with added zooming capabilities. (October 1, 2003. Updated: October 15, 2003)
  • A Sharp View with QGaussFilter — Despite its somewhat confusing name, Unsharp Mask is an important procedure to enhance the quality of bitmap pictures. The QGaussFilter class performs Unsharp Mask, and more. (October 9, 2003. Updated: February 4, 2004)
  • Image Properties Revealed — Learn everything you always wanted to know about your bitmap pictures, and more, with QImageProperties. (November 4, 2003)
  • Better GIFs ith Octrees — Use adaptive color quantization to create better GIF files with GDI+. (February 6, 2004)
  • Delaunay Triangles — Learn about an algorithm to calculate this intriguing and important data structure in computer graphics. (December 28, 2004. Updated: January 19, 2005)
  • Polygon Clipping — It's one of those humble tasks computers have done for ages, but the hunt for the perfect clipping algorithm is still open. (January 6, 2005)
  • Drawing Curved Objects — Add support for interactive curve drawing to your MFC app by dropping in theQBezierTracker class. (August 9, 2005)
  • QPerformanceTimer — ‘Profile’ a block of C++ code with just one include file and two variable definitions. (August 16, 2005)
  • Make GDI+ Less Finicky About Fonts — Windows GDI+ understands only half of the fonts out there. Use the QGraphicsText class to work with the other half. (September 23, 2005)
  • Let Your Characters Dance and Wiggle — This versatile class arranges the characters of a text string along any curve. (October 24, 2005)
  • Mould Text in Any Shape — Sometimes, putting text in a rectangular block may just be a little too straight. (February 7, 2006)