Archive for the ‘Coding’ Category.

Matrix Multiplication Performance in C++

A few days ago, I ran across this article by Dmitri Nesteruk. In his article, he compared the performance between C# and C++ in matrix multiplication. From the data he provided, matrix multiplication using C# is two to three times slower than using C++ in comparable situations. Continue reading ‘Matrix Multiplication Performance in C++’ »

Two Level Tree and Its Applications — II

In my previous post, I discussed how to merge and split a two level tree. Before moving on to discuss its applications, let us take a look at the output of the sample program I gave before.  Continue reading ‘Two Level Tree and Its Applications — II’ »

Two Level Tree and Its Applications — I

A two level tree is a simple tree data structure. Unlike in a typical tree where the tree depths could be arbitrary, a two level tree has only two levels as its name suggests. Two level tree is also equivalent to a star. Continue reading ‘Two Level Tree and Its Applications — I’ »

PD1001 Webcam on Hardy Heron

I have an old webcam (Creative PD1001) which is not officially supported on Linux. Fortunately, Endpoints EPCAM USB Camera Driver is known to work with PD1001 on many Linux distros. Continue reading ‘PD1001 Webcam on Hardy Heron’ »

SQL Injection Attacks Still Common

Once a while, I would comb through my server logs to see i there is any unusual activities. Among all types of "attacks" that I could identify within my server logs, It seems that SQL injection attacks are still the most common type of attack. Continue reading ‘SQL Injection Attacks Still Common’ »

TIFF Merge/Split Utility EncoderValue

A While ago, I created a TIFF Merge and Split Utility that can be used to merge multiple TIFF files into a single file or split a multi-frame TIFF file into multiple single-frame TIFF files. Continue reading ‘TIFF Merge/Split Utility EncoderValue’ »

TBB Mandelbrot Set

In an earlier post, I created a simple prime finding program using Intel’s TBB (Thread Building Block). The main benefit of using TBB is that threading and thread synchronization mechanism are abstracted away within the TBB library so we do not need to deal with threads explicitly. Also, TBB is optimized for performance and scales nicely as the number of processing unit increases. Continue reading ‘TBB Mandelbrot Set’ »

An Obscure System.Web.Mail Error Message

Today I encountered a rather obscure error while maintaining some old ASP.Net code (Framework 1.1). Continue reading ‘An Obscure System.Web.Mail Error Message’ »

Producer-Consumer: A Duplicate File Finder

Processes tend to benefit greatly from multi-core processors if they are CPU bound (i.e. computational intensive tasks). The actual speedup depends on the portion of the code that must remain sequential. Continue reading ‘Producer-Consumer: A Duplicate File Finder’ »

Extending the GridView — Part IV

In the previous three posts(I, II, III), I showed you how to inherit from GridView control to create an extended control that can bind to a generic list of objects. In this final post of the series, I will show you a simple example to illustrate how to use the GridViewEx control. Continue reading ‘Extending the GridView — Part IV’ »

Extending the GridView — Part III

In Part II, I showed you how to extend the GridView control so that we can bind a generic list to it. Because GridViewEx inherits from GridView, it has all the functionalities GridView has (i.e. paging). Sometimes, it is desirable to change the number of items displayed on a page dynamically, to accommodate this, we will create a GridViewPager control (ascx). Continue reading ‘Extending the GridView — Part III’ »

Extending the GridView — Part II

In Part I, I talked about why we needed to extend the GridView and some of the benefit in doing that. In this post, I will discuss how to extend the standard GridView control to take advantage of binding to the type safe value objects mentioned previously. Continue reading ‘Extending the GridView — Part II’ »

On Windows Vista UAC

It seems that a lot of people do not like Windows Vista UAC’s. While UAC looks and feels a lot like sudo in Debian Linux (e.g. Ubuntu), it behaves quite differently than sudo. Continue reading ‘On Windows Vista UAC’ »

Extending the GridView — Part I

Most business applications require presenting result sets to the end users in the form of some kind of grid views. Continue reading ‘Extending the GridView — Part I’ »

Malware that Disguises as Antivirus Software

The techniques malware writers use nowadays are becoming more and more sophisticated. The last time I spotted a malware was almost two years ago. At that time, a page that I was visiting contained a JPEG image that was exploit by a zero-day vulnerability. Continue reading ‘Malware that Disguises as Antivirus Software’ »