Programming Theory

Best practices, structuring of code, dissecting algorithms and talking about the “Why?”

BozoSort Definitive (C++, C#, VB.NET, Java, PHP)

WARNING: PLEASE USE WITH EXTREME CAUTION! CONTENTS MAY BE FUNNY BUT NOT FOR PRODUCTION USE. Programmer Discretion is Advised! Hey you bozos out there, now there is a sort even for you! For those who don't know, a Bozo Sort is a joke sorting algorithm that actually sorts but at horrible timing and is very inefficient. It is good to see it at work from a theoretical stand point but it ...

Stair-step Table Access in VB.NET

There are various methods to access information in a table "lookup" structure. Indexed access, sequential access, etc but the type of access you go with always depends on the data. Many times on the board I have noticed people asking about setting up some type of scale. Most of them are usually working on a grading program of some sort. How does someone determine if the student got an A ...

Timezone Arithmetic With Classic ASP

As a casual reader of my blog, you may know I like to do an occasionally weird post that I stick in my "General Discussion" category just for kicks. I figure that programming doesn't always have to be a chore. It can be fun if you want it to, playing around with certain features. In this entry I play around with time zones and how you can find out a ...

Structs vs Classes in C#

Many times on the forum people have asked about the differences between structs and their big brother "classes". How do the two differ and where are they the same? How do I know when I need one or the other and why don't I just use classes all the time? We will attempt to explore the differences from a basic introductory standpoint so that the beginner can understand. We will ...

Dijkstra’s Algorithm for C++

Who doesn't like graph theory? Come on... it is the foundation of all living beings! Ok maybe not but it is still a bit interesting from a theoretical standpoint. Graph theory is the study of graphs and their relationships between points on that graph and their overall collection. It is often made up of vertexes (aka nodes) and the connections between them known as edges. Linked together they form a ...

Speaking Mouse to Hunt Down a Popup Menu

The mouse is one of the most abused input devices on today's computers. Second to maybe the keyboard, it is essential for gathering input from the user. We tell it what to do but what if we stopped a second and had our application listen to it? I mean, REALLY listen to it and not just that listening you do when your favorite show is on TV and your girl ...