Archive for the ‘ Teaching ’ Category

This is an expansion (and slight variation) of Joe’s answer in StackOverflow regarding the thread Find the maximum consecutive years for each ID’s in a table (Oracle SQL) using SQL Server. I’ve tested this in SQL Server 2014, but should work from SQL Server 2005 onwards where the ranking functions are supported.

The problem Joe solved is not uncommon – i.e. how to get the consecutive years of something (consecutive year sales, consecutive years in school, consecutive years volunteering etc), and his solution is pretty clever.

Let’s assume you are working on a sales database. You have multiple clients who could be purchasing from your store several times a year, or a couple of times every five years. You may want to know what’s the maximum consecutive years they’ve purchased from you. Why? Perhaps in a marketing campaign, you may want to give your loyal customers (purchased in 5 or more consecutive years) a special discount.

Your data may look like the following screenshot. Notice that in this example, Client 00001, 00002 and 00003 purchased only once. Client 00004 purchased several times, and it looks like there were purchases in consecutive years.

See full article here at

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

More reasons why I teach

This is my fuel. This is why I teach. Sure, I won’t please everyone. Not everyone will appreciate or will be happy with the way I teach, but even if there’s one person in the class who thinks the time they spent in my class was worth it – that’s all the reason I need.

(All names removed from cards below)

See full blog post at

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Step by Step Guide to Creating a SQL Server VM Using VMWare

Download PDF file

I typically use SQL Server VMs for my development and administration classes. I want the students to have full autonomy over the machines they are using, so that they can try out different features and configurations without worrying about wrecking a whole lab machine.

This tutorial steps the students through how to create and configure their own standalone SQL Server VMs. We will be using:

· VMWare Server

· Windows Server 2008

· SQL Server 2008


A few terms to familiarize yourselves with before we start:

Virtual Machine (VM) This is essentially a standalone computer installed within another platform/OS.

A virtual machine is also sometimes called a guest machine. This typically provides a complete system platform with its own set of operating system, hardware configurations, and installed software packages, but still runs on top of a “host” machine which has the main OS, and the physical hardware.

There are different applications that can create and run virtual machines:

VMware Server
MS Virtual Server

MS Virtual PC

Virtual Box

ISO file This is a disk image, an archive file of an optical disc in a format defined by the International Organization for Standardization (ISO). This contains archived CD/DVD content, and you can point your VM to an ISO file to read or use the content.

You can create ISO files using any CD/DVD image file processing tool, like:



FreeISO Creator
Nero Burning Software

Prep Work

1. Download and install VMWare Server (

You will need to register, and get the serial number for your free VMWare Server. Once it’s installed, you should have a link to VMWare Server Home Page from your Start > Programs menu.


2. Get your media for :

· your operating system (ex Windows Server 2008)

· SQL Server (up to you which version you want to install)

or better yet, or if you have MSDN/MSDNAA/Technet Subscriptions, download it from the Microsoft Site. If there is an option to download an .iso file, download the .iso file. Otherwise you will need to create this yourself later.

Read the rest of this entry »

VN:F [1.9.22_1171]
Rating: 10.0/10 (9 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

This Is Why I Teach

I have been teaching IT courses since 2002; I started as a TA for relational databases and Delphi. Right now I teach part time courses in web development/design, and database development and administration. Wow, it’s already been a while and yet I can still remember my first teaching gig as if it were just yesterday.

Some people ask me why I teach. This is why:

ty   ty2 ty3


I take pains when developing and delivering my courses. I treat teaching very seriously. When students take my class, I want them to really learn something from it. I want them to get their money’s worth (or more!). I want them to walk away with a new skill, or new knowledge, or new discovery, after each class. When they ask me questions I don’t know the answer to, I try to look for the answer – sometimes even spend sleepless nights trying out a few test cases – and present the answer in the next class.


Because I love doing this.

And because I want to make a difference. However small or trivial it may be.


My teaching style does not work for all of my students. I do not have all the answers to student questions, and no – not all the demos are flawless in front of the students.

But if I can help someone understand a concept, or look for a solution, or just be someone to bounce ideas with, then it’s all worth it. Or just encourage them to keep on going and not get discouraged …

And sometimes, some students take the time to let me know they appreciate this. And I can’t tell them how much gestures like this mean to instructors like me.

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)