Twitter SQLBingo at the PASS Community Summit

Who are the people in your SQL neighborhood?

Stuart Ainsworth (Blog, Twitter), Brent Ozar (Blog, Twitter), and some other really bright and creative folks in the SQL Community have gotten together to create what’s sure to be a great networking game at the upcoming PASS Community Summit. It’s called SQLBingo.

Essentially, it’s like normal Bingo except instead of having someone calling letters and numbers like “B-19″, you look for the Twitter folks printed on your card wandering around the Summit. When you find one, go up, introduce yourself, and make a new friend. Then ask for their code word and write it in their square. Once you’ve filled in the day’s design, turn it in and you could win something.

Remember the goal isn’t really to win something, though that’s a nice encouragement. The goal is to get to know the people in your SQL Community.

Some cards will have my mug shot. So all during the week of the PASS Community Summit, I’ll tweet my locations and plans using the hashtag #sqlbingo. If you’re playing along and want to meet, just follow my tweets, or search for #sqlbingo. I also blogged about some of my scheduled activities in yesterday’s post.

For more specifics, visit Brent’s blog or Stuart’s blog posting on the game.

See you next week in Seattle!

Special Events at the PASS Community Summit

If you’ve ever been to a PASS Community Summit, you know that each day is packed with a ton of great activities. Sure the sessions are top notch, unparalleled for technical education pertaining to SQL Server. But there is much, much, more. There are fun networking activities and games to help you mingle with other SQL Server enthusiasts. There are side-bar meetings such as the Chapter Leaders’ meeting to help you find like-minded people from around the world. And there are impromptu “let’s have a cup of coffee and catch up” times. Those are the ones that I really like.

Each one of those activities by themselves are great. And I find it hard to say “No” to any of them. As a result, my days at PASS are usually busy from about 6:00am to after midnight. But it’s worth it.

If you’d like to hook up to sit down for one of those coffees I mentioned before, I’d love to chat with you. I know I have several commitments during the week – some are public and some are for specific groups of people. Here are some of the places I know I’ll be:

Birds-of-a-Feather (BOF) Lunch
I’m hosting a table at the BOF Lunch on Tuesday, November 3, 2009, from 11:45am to 12:45pm in Expo Hall 4B. If you’re interested in IT Consulting, please come join me for lunch.

Enhance your T-SQL Skills for Better Performance
I’m presenting a couple of sessions this year at PASS. If you write T-SQL for a living, you may find some interesting tips and tricks to help your queries run faster in this session. It’s November 3, 2009, from 1:30pm to 2:45 in Room 615-617.

SQL Server MVP Deep Dives Book Launch & Signing
As one of the 53 authors that joined together to write a technical book to benefit a very worthwhile charity, I’ll be at the official book launch and signing on Wednesday, November 4, 2009, from 11:30am to noon.

Creating Data-Driven Subscriptions in Reporting Services
In this Spotlight Session, I’ll discuss how standard reports can be updated and turned into a report that can be readily used as a basis for data-driven subscriptions. I’ll demonstrate how to keep state in a stateless environment. It’s in Room 604 on Thursday, November 5, 2009, from 10:45am to 12:15pm.

Other Activities
I’ve listed some of the official activities that I’ve signed up for during the week of PASS. I have some other non-official meetings and activities planned such as the SQL Server Appreciation Event at GameWorks, but those may be hit or miss for me.

Techies for Jesus
As a person of faith, I also plan to attend a couple of prayer breakfasts and a lunch. The breakfasts were the brainchild of Mike Walsh who would like to gather Christians from around the world to encourage and spur one another on while in Seattle. The “Techies for Jesus Lunch” is an initiative by Brian Moran to connect Christians not only at the event itself but perhaps afterwards somehow. I’m looking forward to both.

See you in Seattle next week.

Joe

SQL Saturday #21 Orlando Presentation Materials

I’m back in the office now after having a great time in Orlando this past weekend for SQLSaturday #21 in sunny Orlando, Florida! Andy Warren (twitter), Jack Corbett (twitter) and everyone else who had a hand in putting it together did a great job. Their hard work definitely paid off.

The technical content at these kind of events is great! An excellent job was done by all of the speakers that I saw.

But for me the best part of the event is getting to catch up with friends that I only get to see a couple of times a year, meeting Twitter-friends for the first time, and walking around talking with other SQL Server enthusiasts.

With this event, I enjoyed meeting Twitter-friends Jorge Segarra (twitter), Kendal Van Dyke (twitter), and Pam Shaw (twitter), among others for the first time. It was also good to catch up again with Andy Leonard (twitter), Buck Woody (twitter), Kevin Kline (twitter), Jonathan Kehayias (twitter), and so many others. I know I’m leaving many people out, but not intentionally. It’s just that there is so many people to talk with during the event.

Anyway, as promised in my sessions, here are the materials I used. I hope you find them useful and thanks for coming!

  • SQL Server Locking & Blocking Made Simple (presentation)
  • Creating Data-Driven Subscriptions in Reporting Services (presentation)

The PASS Board of Directors Election

There has been some great discussion about the upcoming PASS Board of Directors election over on Brent Ozar’s blog. If you haven’t been following along, you should go check it out. Great big kudos to Brent for putting together the Meet the PASS Candidates series of blog postings!

Having served on the PASS Board for six years, culminating my tenure as the EVP of Finance, I have great PASSion for the organization. In my mind, “PASS” and “the SQL Community” are synonyms; they describe one and the same thing. So, it is with great interest that I am following this election.

To that end, let me share some thoughts about the election. At the end of the post, I’ll even share with you how you should vote. So, read on.

How does one run for the PASS Board?

SQLGal was a star at one PASS Summit

There are lots of people who are interested in running for the PASS Board of Directors. And why not? From the outside, it appears like a great volunteer role. You get to represent and lead the community. You get to make decisions about where the conference will be held, how the money will be spent, and what kind of programs will be offered. Heck, you even get to rub elbows with SQLGal.

Obviously there’s much more to being on the PASS Board than that. It’s a lot of hard work. A lot of hard work. But that’s for another post.

Each year, PASS puts out a Call for Nominations to the SQL Community.  Anyone can through their hat into the ring. Yes, that’s right anyone. No prior experience is required.

What’s the role of the Nominating Committee?

It’s the job of the Nominating Committee to narrow down the list of potential candidates to a manageable and realistic number. The committee members work incredibly hard and put in lots of hours to thoroughly vet each candidate. They strive to ensure that every candidate that makes the final slate is well qualified. To make it to the final list is a great accomplishment in itself. Congratulations to all of this year’s candidates!

Although I didn’t serve on this year’s Nominating Committee, I have served on several in the past. I’ve even served as Committee Chair. So, I have every confidence that the candidates that appear this year are there for a reason.

What are some things I should consider before voting?

As you look enter the voting station and prepare to cast your ballot, how can you be sure that you’re voting for the right people? What should you consider as you reach to pull the lever?

The candidate should have a proven track record
I mentioned earlier that no prior experience is required to run for the PASS Board. That’s true. However the Nominating Committee considers a person’s past track record as a volunteer as it makes its decisions. And you should too.

  • Has the person served as a volunteer with PASS?
  • Has he demonstrated a love for the SQL Community?
  • Has he proven reliable in his follow through on commitments?
  • Can he get along with others?

How do you know the answers to these questions? Ask them. Email them and ask. Or ask someone who has worked with them as a volunteer.

The candidate should complement the existing board
PASS represents the entire SQL Community. And as such, the elected board should be representative of the SQL Community, the whole SQL Community.

The Board should have people from all walks of business life – Fortune 1000 companies, governmental agencies, non-profits, independent consultants, educational institutions, etc. If the board is too heavily weighted toward one market, toward one segment, toward one group, it cannot effectively represent the entire SQL Community.

  • Does the candidate complement the other existing Board Members by his industry or employer?
  • Does the candidate represent an industry that is similar to mine?
  • Will the candidate tip the balance of the PASS Board composition too much in one direction?
  • If elected will the Board have too many consultants? Too many big businesses? Too many vendors?

The election is not a popularity contest
PASS is a great volunteer organization and PASS does a lot of great work for SQL Professionals around the world. It is altruistic; it seeks to serve the community.

But PASS is also a business. There are budgets to balance. There are tough decisions to make that have great impact on the long-term and even short-term viability of the organization.

There’s a balance that must be preserved. PASS can be too altruistic and go out of business due to mismanagement. PASS can be too business minded and loose sight of the fact that it is “by users, for users” and alienate the very people it seeks to serve.

This should not be the candidates plan for long term viability

This should not be the candidates plan for long term viability

Running a multi-million dollar organization like PASS is not a trivial matter. Just because someone has written some books on SQL Server that doesn’t mean that person will make a good board member. And conversely just because someone doesn’t make a living working hands on with SQL Server doesn’t preclude him from making a good board member.

What does make a good board member is a love for the SQL Community, a good sense of purpose for serving the community, and a business mind to know how to balance the service with staying afloat as an organization. As a prior Executive Director for PASS once put it to me, “You can serve steak and caviar for lunch every day at the conference and the attendees will love you for it. But you won’t be in business to serve those very same attendees six months from now.” Members of the PASS Board must be able to balance those things.

  • Does the candidate have a heart for the SQL Community?
  • Can the candidate manage a budget?
  • Does the candidate have enough business acumen to run the organization?

The PASS Board is very “hands on”
Serving on the PASS Board of Directors takes quite a bit of time. During my last year on the Board we underwent a tremendous amount of change, all of it for the better. We changed the fiscal year; we changed management companies; we changed event management companies; we recreated our chart of accounts; we recreated most every process and procedure that we had before.

working_handsDuring that time I was routinely spending 15 to 20 hours per week on PASS related activities.  I was using my knowledge from my MBA to help straighten out our finances. I was using my negotiating skills and contract-reading skills that learned as an independent consultant to help change management companies.

The PASS Board is very “hands on”. So, the skills that each PASS Board member brings to the table is important. Those skills may be directly applicable to some area of PASS.

  • Does the candidate’s day job lend itself to a need that the PASS organization has?
  • Does the candidate have skills that the PASS Board is needs?

Okay, for whom should you vote

Okay, I’m not going to give you names. No, that would be too easy.

But I will tell you that you should give careful consideration and follow up on the questions I’ve outlined in this post. Email the candidates. Ask them questions until you’re satisfied with your knowledge and you can confidently make your decision.

Then reach, tentatively at first, and pull the lever with authority and conviction. Just don’t forget to make sure there are no chads hanging down.

The Future of Technical Education

microphone-2009-10-15Some people just love to talk. I guess I’m one of those people. I admit it. But there is a time and place for everything. I’m not one of those annoying people that sits next to you one the airplane or on the commuter train that doesn’t know when to be quiet. No, I am not one of those people. At least, I hope not. But I do enjoy speaking and I’m fortunate that I get to do it in an organized setting regularly.

Different Types of Events

Over the next four weeks, I have three speaking engagements scheduled – two sessions at SQLSaturday in Orlando, two sessions at the PASS Summit in Seattle, and a session at the .NET User Group meeting right here in Music City, USA.

Combine those events with the remote User Group meeting in September, the DevLink conference, and the TechNet webcast in August, and I’ve spoken at most every kind of event imaginable. (The exception is that SSWUG Virtual Conference and I’d love to be a speaker at that one day)

The events that I’ve spoken at range from a single 90 minute session held during business hours to a full blown 150+ session conference complete with pre and post conference seminars. They range from 20 people to over 2,000 people. And they range from an absolutely free event to a hefty registration fee of a couple grand.

Here a Speaker, There a Speaker, Everywhere a Speaker

But despite the different formats and widely varying prices, there is one striking similarity in the events – the speakers. The same people who regularly share their knowledge and experiences at conferences frequently speak at user group meetings, code camps, and SQLSaturdays.

For example, this weekend at the free SQLSaturday event in Orlando, Brian Knight, Kevin Kline, Andy Leonard, Jonathan Kehayias, Joe Celko, Buck Woody, and I, among many others, are speaking. If you visit the Speakers page of the PASS Summit web site, you’ll notice that we’re all speaking at that conference, too. Brian, Kevin, and Woody are speaking at the SSWUG Virtual Conference. And the list of events and speakers goes on and on.

The Changing Landscape of Technical Education

So we, as technologist, have more choices and opportunities than ever before for education and networking with our peers. And that’s good. I’m glad we have these opportunities. Not everyone can afford, especially in this economy, to travel to a conference.

But all of these opportunities make me wonder about the changing landscape of technical education. How long can these different vehicles for technical education and networking coexist?

Some questions come to mind:

  • Are these complementary events? Or do they compete for attendees? If an attendee goes to a SQLSaturday event, is he more or less likely to attend a conference like the PASS Summit?
  • How long will top-notch speakers be willing to travel at their own expense to speak at free events such as Code Camps, User Group meetings, and SQLSaturdays?
  • With the proliferation of low-cost regional events that draw well-known speakers, will attendees continue to find a significant Return On Investment in distant conferences with a high registration fees?
  • What do attendees value more? Local and regional networking? Or networking at a global scale and with Microsoft developers and Product Managers?
  • Does all this really depend on each individual attendee? Will employees of Fortune 1000 always go to larger events since their employers pay for it? Will employees of Small to Medium size businesses gravitate toward the lower cost events?

I don’t know the answers to these questions. I’m just posing them. But, I’d love to hear your thoughts on the matter. What is the changing landscape of technical education? Or is there one?

Joe

Generate Lots of Test Data with CROSS JOIN

“Joe Test”

“Joe Test2″

“Joe Test3″

“Arrgh! There has got to be a better way to create some test data!”

Ever had that conversation with yourself? You need to create lots of data to load test an application or to create a demo. But going about it one row at a time is not only slow and tedious, but its results are less than stellar. …Joe Test101.

So, how can you create lots and lots of data without lots and lots of effort? Simple, let SQL do it for you.

Enter the Forgotten Join Type, the CROSS JOIN

Fortunately, SQL Server has a oft forgotten JOIN type that helps for occasions such as this. We’re all pretty familiar with INNER JOIN, LEFT JOIN, and RIGHT JOIN. But do you recall the most famous join type of them all? The CROSS JOIN?

A CROSS JOIN takes each row from the first table and combines it with every row from the second table. This produces a Cartesian product of the two tables.

For example, if my first table has 3 rows of data – Mary, Mark, Luke – and my second table has 2 rows of data – Jones, Smith – the Cartesian product will result in 6 rows of data. Mary Jones, Mary Smith, Mark Jones, Mark Smith, Luke Jones, and Luke Smith

The CROSS JOIN is much maligned. Most everyone who has ever written a SQL statement has accidentally produced a Cartesian product at some point. A query that you expected to return 12 hundred rows produced 12 billion rows. But we can harness that power for good and use it to create lots and lots of test data.

What’s in a Name?

inspector-2009-10-09Where can we get a good, long, list of names to use with our CROSS JOIN? Who captures that kind of information?

The United States Census Bureau, that’s who! Their site has a list of the most popular male, female, and family names. And they make the list available in files for download.

When I last checked, there were a total of 5,494 Given Names and 88,799 Family Names in the three files (the Given Names were broken into two files, male and female).

Creating a Cartesian product of that many names would produce a whopping 487,861,706 unique names (88,799 * 5,494). That’s far more than I typically require for my testing. So, I’ve pruned the list down quite a bit in my environment, down to 2,500.

Using the CROSS JOIN

After importing the files, I used the following script to create my test data.

–clean up the imported names
UPDATE
First_Names
SET
Given_Name = RTRIM(Given_Name)

UPDATE
Last_Names
SET
Family_Name = RTRIM(Family_Name)

–create a very simple customers table
CREATE TABLE Customers
(
Customer_ID INT NOT NULL IDENTITY(1,1)
,Last_Name VARCHAR(20) NOT NULL
,First_Name VARCHAR(20) NOT NULL
,Email_Address VARCHAR(50) NULL
)

–create the test data
INSERT INTO
Customers
(
Last_Name
,First_Name
,Email_Address
)
SELECT
f.Given_Name
,l.Family_Name
,f.Given_Name + ‘.’ + l.Family_Name + ‘@hotmail.com’
FROM
First_Names AS f CROSS JOIN
Last_Names AS l

My new Customers table now has 13,735,000 rows in it. A real business should be so fortunate!

Joe

BI Bootcamp with an Industry Expert

Bootcamp2-2009-10-08

I’ve been a regular speaker at the DevTeach/SQLTeach events in Canada for the past several years. Jean-Rene Roy and his team of volunteers do an incredible job of putting on a high quality yet down to earth event that is both educational and fun to attend. I really look forward to those events each year.

Recently, the DevTeach/SQLTeach team has brought that same vigor and passion for the SQL and Dev Communities to a series of bootcamp events, two-day events designed to get you up to speed very quickly in a certain topic.

Next week it’s Business Intelligence (BI). SQL Server MVP, ronowned industry expert, and my friend, Rushabh Mehta (twitter, blog), will present two days of BI training in Toronto that’s sure to be a hit.

I’ve sat through some of Rushabh’s sessions at conferences and I know that he brings great knowledge and passion to his sessions. They are well organized and informative. And I’m sure that this one will be no different.

So, whether your company is entering the BI space with new initiatives to help them make better decisions, or you simply want to expand your knowledge to prepare for the future, this event may be the starting point you’re looking for.

Alternating Background Colors in Reporting Services

In most Microsoft SQL Server Reporting Services (SSRS) implementations, there are dozens, if not hundreds, of reports available for viewing. These reports provide glimpses into the sea of data that the organization collects. From these reports hopefully trends can be discovered and better decisions can be made. At least that’s the goal.

Don’t neglect presentation

There are many attributes of a good report. Broadly speaking the report must be based on accurate data, it must be delivered in a timely fashion, and it must be presented in a way that is easily consumed and interpreted by the users.

Unfortunately, many report developers focus exclusively on the first two elements – making sure the data is right and that the report doesn’t take too long to run. Those are important, of course, even essential. But often the presentation of the report is relegated to an afterthought. Data is slathered on a report form for the user to do with what he pleases.

Using alternating background colors

The topic of report presentation best practices is a broad one, far too broad to cover in just one post. Perhaps, I’ll tackle some of these issues in a series of posts in the coming months. In the meantime, there are minor and easily implemented improvements that can be added to reports that will make them immensely more readable.

For example, consider a report based on a table data region with row after row of information. Let’s say it’s an employee phone list report as shown below.

To make the report a little easier to read horizontally, we’d like to change the background color of every other row. To do so, let’s highlight the detail row of the data table in the layout tab.

In the properties window, find the BackgroundColor property for the highlighted row and choose <Expression…>. Add the following conditional formatting statement in the Edit Expression window.

Click Ok, and preview the report.

And there you go, a report that alternates the background color for each row. This makes it much easier to read.

But a word of caution: give some consideration to what the users will do with this report. If it’s likely to be printed, the alternating background color will consume additional toner or ink making the report more expense to print. In that case, consider using a single underline between each row.

What tips do you have for make reports easier to read?

Joe

Choosing a career path; which way do I go?

Should I get an MBA or an MCSE?” What an odd question. At least these days it seems odd. But, my how things have changed. Ten years ago, I regularly fielded that question from students in my technical training classes. I answered it so much in fact that I still remember my response almost word for word. I’ll give you a hint, it started with “Well, it depends.”

I like giving that answer just about as much as people like hearing it. I really don’t like giving an ambiguous response. I like to be able to definitively answer questions, to settle an issue.

And, I can give a purely logical answer to this question. I can give an answer based on ROI, projected market conditions, the life span of the education, etc. But we’re talking about people and their preferences. Logic and ROI are a little less well defined in that realm.

The Real Question

Although the questioner may have thought he was asking a simple, straightforward question, his real question goes much deeper than that. What he was really asking was “What direction do I want to take my career? Do I want to stay technical? Or go into management?”

But really, those are the wrong questions to ask. Those questions are really shallow proxies for more substantive questions. What you should be asking yourself are questions like these:

  • Where do I find real enjoyment?
  • Do I enjoy working with others? Or do I prefer to focus and get a job done?
  • Where do I find real satisfaction in my job? What about in my spare time?
  • Do I look forward to the next release of the product?
  • What would others say I’m really good at?
  • Do I get frustrated easily with others?
  • Do I really like to help to bring out the best in others?

What makes you happy?

These questions will help you get to the heart of the matter. Some of us love technology for technology’s sake. And that’s OK. Others of us use our skills in technology as a means to work with other people. And some of us find fulfillment equally in both areas.

None of this is to say that a “people person” cannot be a great technologist, he can. Nor am I implying that a “people person” will automatically make a good manager. He won’t.

My point is that rather than looking outwardly for the best career path. Look inwardly at what you really like doing, what really turns you on, and do that.

The Same Answer

So, all of these years later, my answer is still the same: it depends. Find what you enjoy and go with that. Life is too short to be stuck in a job or career that you don’t find rewarding. But don’t loose heart, whatever you decide, you can always change your mind later.

Joe

Follow

Get every new post delivered to your Inbox.