Helping First Time Presenters

Nic Cain (@SirSQL) has a blog post that I highly recommend reading if you attend User Group meetings or SQLSaturdays: An Open Letter To SQLSaturday & User Group Organizers.  I think Nic tells a good story with a very relevant example of how a new speaker could have a negative first speaking experience.  And he has a great call to action for organizers and presenters.

I suggest that we raise that call to action to include veteran speakers.  For example…my local user group is the Ohio North SQL Server User Group.  To anyone who is also a member of this group and wants present at a local meeting: let me know.  I am more than happy to help you get started, provide feedback, and be there for your first session.  Further, I’m attending SQLSaturday #304 in Indianapolis next month.  If you’re presenting there for the first time and want me to be there for your session, let me know!

This is an open offer, with no expiration, and I do hope that someone takes me up on my offer.  And I would be remiss if I did not mention the following individuals who were there for my some of my first sessions and supported me:

  • Allen White (@SQLRunr) – my first session was at our user group in December 2010, and Allen stood in the back the entire time, in my line of sight in case I needed him
  • Mike Walsh (@mike_walsh) – with whom I co-presented at my first SQLSaturday in Feburary 2011, something I would recommend new speakers consider (it’s not a great fit for everyone, but I enjoyed presenting with Mike)
  • Kendra Little (@kendra_little) – who sat in on my first solo session at that SQLSaturday in 2011, and laughed at my jokes icon smile Helping First Time Presenters
  • Rob Farley (@rob_farley) – even though Rob fell asleep during my first solo Summit session (Friday afternoon, end of the week, jet lag, and too many late nights, etc. :), he provided feedback I still remember to this day
  • Ted Krueger (@onpnt) – he helped me fine tune one of my favorite sessions (during a speaker dinner no less…I still owe Jes for that) and then sat through it and helped fill in some gaps when I needed help

To those of you that have been speaking for a while, I encourage you to seek out potential speakers – whether it’s in the community or at your office – and offer your help.  And for new speakers, please do not be afraid to ask for guidance.  Everyone starts at the beginning, with the same pile of nerves and fears about what could happen.  There are so many people who are willing to help make the process easier – seek them out, and have fun!

 

PASS 2014 Nomination Committee

Late last Friday afternoon PASS announced the results of the 2014 Nomination Committee election, and thanks to many of you, I was selected for the committee.  I appreciate all of the PASS members that voted (539 people this time), whether the vote was for me or not.  Every active PASS member with an updated profile can vote in elections, and I do believe it’s important to cast your vote each and every time.  It’s one opportunity to help direct the path of the organization.

I am fortunate to now have this opportunity to help shape “how things work” within PASS.  We have our first NomCom meeting this week, and I’m looking forward to getting plans in place for the summer and preparing for candidate application reviews and interviews…and of course, the process.  There is a significant portion of the election process that we will review, and I expect passionate discussion from my fellow committee members.

I will share relevant NomCom information on my blog as I can.  For those of you thinking about running, I recommend reviewing the Board of Elections Timeline, and note that the call for applications opens on August 6th (just 56 days away, in case that’s the way your brain works icon smile PASS 2014 Nomination Committee ).  If you’re thinking about running, I’d encourage you to do the following:

  • Start talking to current and past Board members.  Get an idea of what the job requires, not just in terms of time, but in terms of what they really do.  Does it match your expectations?  Is that where you want to invest your time within PASS?  Can you make the time commitment?
  • Start reading up how PASS works, as an organization.  Get familiar with the website, read the latest Board meeting minutes.
  • Talk to other members of the community about your interest, seek out individuals who would support you and ask if they would write a recommendation on your behalf.
  • Be prepared to explain why you’re running for the Board, you’ll get asked many times, many different ways.

Thanks again to all who voted!

 

 

 

PASS 2014 Nomination Committee Campaign Information

Hello PASS members! This post is the landing page for information related to my campaign for the PASS 2014 Nomination Committee and has a fair bit of information, so thanks in advance for reading!

If you haven’t reviewed my application, submitted to PASS, and my reasons for running, please visit my PASS Nomination Committee page.  On that page you can read a bit more about me, and also download my application.  To see the other candidates, please check out the main NomCom page.

My PASS application has information about why I’m running and my experience.  But just in case you haven’t read that, the quick summary is:  I was on the 2013 Nomination Committee and am running again this year because there are tasks we started as a committee last year that I feel I should help finish, and because I believe my experience as a committee member last year will provide valuable insight during candidate review.  I greatly value the opportunity to represent the PASS community and would be honored to help select the slate for this year’s Board of Director nominees.

If you want to review my NomCom-related posts from last year, I’ve provided the links below:

PASS Board of Directors Applications

Thoughts on the Nomination Committee and PASS Board of Elections

As I write additional posts this week, I will add those links below.

Finally, the PASS site is hosting a discussion page for the Nomination Committee elections here.  Please feel free to ask questions there, or in the comments below.  You can also contact me directly via email or say hi on Twitter.  I look forward to hearing from you, and please don’t forget to vote on June 3rd, 4th, 5th, or 6th!

 

Further Testing with Automatic Updates to Statistics

A new question on an older post, Understanding When Statistics Will Automatically Update, came in this week.  If you look in the comments, you see that Rajendra asks:

…I want know, whether schema change of a table (adding new / (deleting an existing) column) also qualifies for UPDATE STATS?

It’s an interesting question that I’d never considered before.  I had an instinct about the answer, but the scientist in me wanted to test and prove it, so here we go.  The scenario and code are similar to my original post, so this should be a quick read for many of you icon smile Further Testing with Automatic Updates to Statistics

The Setup

Start with a copy of the AdventureWorks2012 database, which you can download from CodePlex, on a 2012 SP1 instance, and confirm that the Auto Update Statistics option is enabled:

IF (SELECT COUNT(*) FROM [sys].[databases] WHERE [name] = 'AdventureWorks2012' AND [is_auto_create_stats_on] = 0) = 0
BEGIN
ALTER DATABASE [AdventureWorks2012] SET AUTO_UPDATE_STATISTICS ON
END;

Create a copy of the Sales.SalesOrderDemo table for our testing, and add the clustered index and one nonclustered index:

USE [AdventureWorks2012];
GO

SELECT *
INTO [Sales].[TestSalesOrderDetail]
FROM [Sales].[SalesOrderDetail];
GO

CREATE CLUSTERED INDEX [PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID] ON [Sales].[TestSalesOrderDetail] ([SalesOrderID], [SalesOrderDetailID]);
GO

CREATE NONCLUSTERED INDEX [IX_TestSalesOrderDetail_ProductID] ON [Sales].[TestSalesOrderDetail] ([ProductID]);
GO

Validate the current statistics and modifications; the statistics should be current since we just created the indexes, and modifications should be 0 since we haven’t run any inserts, updates, or deletes:

/*
Note: I refer to this query throughout the post as "the sys.stats query", rather than including it multiple times!
*/
SELECT
OBJECT_NAME([sp].[object_id]) AS "Table",
[sp].[stats_id] AS "Statistic ID",
[s].[name] AS "Statistic",
[sp].[last_updated] AS "Last Updated",
[sp].[rows],
[sp].[rows_sampled],
[sp].[unfiltered_rows],
[sp].[modification_counter] AS "Modifications"
FROM [sys].[stats] AS [s]
OUTER APPLY sys.dm_db_stats_properties ([s].[object_id],[s].[stats_id]) AS [sp]
WHERE [s].[object_id] = OBJECT_ID(N'Sales.TestSalesOrderDetail');
1 1024x56 Further Testing with Automatic Updates to Statistics

Current statistics and no modifications

Excellent, we’re starting with a clean slate.

The Test

Let’s first add a little bit of data (1000 rows), to up our modification count:

BULK INSERT [AdventureWorks2012].[Sales].[TestSalesOrderDetail]
FROM 'S:\SQLStuff\Dropbox\Statistics\Data\sod_1000.txt'
WITH
(
DATAFILETYPE = 'native',
TABLOCK
);

When we run our sys.stats query again, we see the 1000 modifications for both indexes, because both indexes had rows added:

2 1024x56 Further Testing with Automatic Updates to Statistics

Statistics and modifications after adding 1000 rows

Great.  Now add a new column to the table…let’s pretend that we have a new ProductID, but we want to keep the existing one for historical reasons, so our new column is, creatively, NewProductID:

ALTER TABLE [Sales].[TestSalesOrderDetail] ADD [NewProductID] INT;

Did adding this column cause statistics to update?  This was our main question, and if we run our sys.stats query we see:

3 1024x56 Further Testing with Automatic Updates to Statistics

Statistics and modifications after adding new column

Nothing changed…  Adding a new column to the table does not invoke an automatic update to statistics.  Nor should it.  We haven’t modified data in any existing statistics.  We would certainly expect a change in query plans, for existing queries that are modified to use this new column, but adding a new column to a table does not cause any existing statistics for the table to update.

More Testing (because it’s good practice to keep proving out what we expect)

Just for fun, let’s see what happens if we modify some more data:

UPDATE Sales.TestSalesOrderDetail SET ProductID = 717 WHERE SalesOrderID = 75123;
GO

If we check sys.stats, we see that our nonclustered index, IX_TestSalesOrderDetail_ProductID, has three more modifications than it had previously, but not enough data has changed overall for statistics to be invalidated.

4 1024x56 Further Testing with Automatic Updates to Statistics

Statisitics and modifications after updating 3 ProductIDs

What happens if we update NewProductID?

UPDATE [Sales].[TestSalesOrderDetail]
SET [NewProductID] = [ProductID] + 1000;

Well, we updated 122317 rows, but only the NewProductID column, which isn’t part of either the clustered index or nonclustered index key.  Therefore, no update to statistics:

5 1024x56 Further Testing with Automatic Updates to Statistics

Statistics and modifications after updating NewProductID

To prove this out further, create a nonclustered index on NewProductID:

CREATE NONCLUSTERED INDEX [NCI_TestSalesOrderDetail_NewProductID] ON [Sales].[TestSalesOrderDetail] ([NewProductID]);
GO

And if we verify the statistics and modifications, we see that our new NCI has zero modifications, as expected.

6 1024x74 Further Testing with Automatic Updates to Statistics

Statistics and updates after adding the nonclustered index on NewProductID

We’ll make another massive update to NewProductID, because the first update wasn’t correct, and then check sys.stats again:

UPDATE [Sales].[TestSalesOrderDetail]
SET [NewProductID] = [ProductID] + 10000;
7 1024x74 Further Testing with Automatic Updates to Statistics

Statistics and modifications after updating NewProductID a second time

Now we see the modifications – all 122317 of them.  If we query the NewProductID column now, we should invoke an automatic update to statistics, because they are invalid:

SELECT NewProductID, SalesOrderID
FROM [Sales].[TestSalesOrderDetail]
WHERE NewProductID = 10718;
8 1024x74 Further Testing with Automatic Updates to Statistics

Statistics and modifications after an auto update was invoked

And there you have it.  Adding a column to a table will not cause an automatic update to statistics to occur.  Automatic updates occur only when the threshold for modifications has been exceeded for a statistics key.

/*
clean up code
*/
USE [AdventureWorks2012];
GO
DROP TABLE [Sales].[TestSalesOrderDetail];

SQLSaturday Cleveland – Just Around the Corner

It seems like this winter is dragging along, especially if you live anywhere where it snows, as I do here in Cleveland.  But at the same, I cannot believe that our SQLSaturday event is less than two weeks away!  If you live within a couple hours of Cleveland, I strongly recommend that you check out our event, which is on Saturday, February 8, 2014 in Westlake, OH.  You can find the schedule here, but let me list a few highlights for you:

  • 42 sessions
  • 38 different speakers
  • 18 sponsors and counting
  • 13 SQL Server MVPs
  • 4 SQL Server MCMs
  • 2 Microsoft PFEs

We have an amazing line-up of speakers and I am so thrilled with the content our event will provide to our local SQL Server community.  We have speakers coming from all over the US – Washington, Colorado, Minnesota, Georgia, and Massachusetts – to name just a few states from which colleagues will be traveling.    Thank you to our speakers that will brave the cold, snow, and wind to come to Cleveland (I’m hoping for a heat wave where we get above freezing, but let’s be honest, Mother Nature hasn’t been very kind this year).

In addition to our fantastic day-of sessions, we also have two pre-cons for which you can still register!  Argenis Fernandez will be hosting A Day of SQL Server Internals and Data Recovery, and Allen White will present Automate and Manage SQL Server with PowerShell.  Registration details can be found on our main SQLSaturday page, and the cost for these pre-cons is a great deal.  Both speakers have been selected for pre-cons at the PASS Summit previously, and the rate for those events is much higher.  Don’t miss this opportunity!

If you have any questions about our SQLSaturday, please don’t hesitate to contact us.  We hope to see you next Saturday, February 8th, and until then, stay warm!

Statistics Starters Presentation: Scripts, the Database, and Some Answers

This past Tuesday I presented “Statistics Starters” for the PASS DBA Fundamentals Virtual Chapter.  You can read the abstract here, and as you may have guessed from the title, it was a 200 level session on statistics appropriate for anyone who knew of statistics in SQL Server, but wasn’t exactly sure how they were created, how they were updated, how to view them, etc.  Over 300 people attended (thank you!) and I had some great questions.  I plan to answer the questions in a series of posts, starting with this one.

Question: Can we get a copy of the scripts in your demo?  And where can we get a copy of the database you used?

Answer: The scripts, slide deck, and database can be downloaded from the SQLskills demos and databases resource page.  The database I used for these demos, which I plan to continue to use for presentations, is the Lahman baseball database.  While the AdventureWorks database is well known and widely-used, I admit that I have a hard time thinking of good Sales and Product examples in my demos.  I know baseball a lot better than I know sales icon smile Statistics Starters Presentation: Scripts, the Database, and Some Answers

Question: Are we able to rollback newly created statistics if the plans created after an update are bad?

Answer: (edited 2014-01-23 2:45 pm) Great question.  The answer is no kind of.  This is one feature that exists in Oracle that I would be interested in seeing in SQL Server.  Oracle provides the ability to save and restore statistics.  You can even export statistics from one database and import them into another.  Pretty cool…potentially dangerous, but still cool; however, it is not possible to restore statistics in SQL Server if you save out the stat stream first, and then update the statistic with the stream.  Thanks to my colleague Bob Beauchemin (b) for pointing out how it can be done (I learn something new every day).  Johan Bijnens also messaged me to point out that you can script out statistics – which I always forget.  The next step is to update statistics with stats_stream that you script out.  Take note: it is a hack.  Thomas Kejser blogged the steps here, and he has a fantastic disclaimer at the beginning because the method described is unsupported.  Before I write any more about the “feature”, I’m going to do a little testing and hacking of my own.  More to come!

Question: Why should I use the UPDATE STATISTICS command…isn’t sp_updatestats always the best option?

Answer: See my post Understanding What sp_updatestats Really Updates to see why I don’t recommend using sp_updatestats.

Question: Is it good to update statistics after rebuilding an index?

Answer: This is not recommended.  Remember that rebuilding an index updates statistics with a full scan – if you run a command to update statistics after a rebuild, you are wasting resources and the statistics may update with a smaller sample.   This is sometimes not ideal, because depending on the sample, it can provide less accurate information to the optimizer (not always, but it’s possible).

Question: Is it good practice to update statistics if I reorganize the index?

Answer: In general, yes, because reorganizing an index does not update statistics.  I recommend that you pro-actively manage your statistics, and not rely solely on automatic updates (assuming you have the AUTO UPDATE STATISTICS option enabled for your database).  If you are only reorganizing your indexes, make sure that you have another step or job that does update statistics.  If you either rebuild or reorg (or do nothing) based on the level of fragmentation, then you need to make sure you manage statistics accordingly (e.g., don’t update if a rebuild has occurred, do update if you’ve reorganized).

I’ll answer a few more questions in my next post, thanks for reading!

Refer a Friend, Get a Gift Card!

Yesterday I made this video:

Cold, snow, and wind in CLE

Notice at the end I mention Tampa and IE0IE0 is our Immersion Event for Accidental DBAs and it’s a newer course that Jonathan and I teach.

Not an Accidental DBA?  Doesn’t matter, please keep reading icon smile Refer a Friend, Get a Gift Card!

If you refer a friend or colleague for IE0 or IEHW – that’s Glenn’s two-day hardware classYOU get a $50 Amazon gift card!

See, I would bet that the Accidental DBA/Involuntary DBA/Junior DBA/person-who’s-managing-the-SQL-Server-instance-but-isn’t-quite-sure-what-they’re-doing does not read my blog.  They may not know about SQLskills, they might not even know who Paul and Kimberly are (it does happen…NO ONE in my extended family has ever heard of them, can you believe it?).

But you know that person needs training.  And we can help.

So reach out to a fellow member of your user group, a colleague at work, or someone you know is new to SQL Server, and let them know the Accidental DBA training that we provide.  You can send them this link to learn more about our training and Immersion Events, and if they sign up for IE0, they can learn how to keep their SQL Server up and running, and you can buy something you probably don’t need but really want (and you won’t have to share it because we won’t tell anyone you got a gift card).

And…in case you’ve been eying an IE course…today (January 3) is the last day for discounted pricing for Tampa classes!  Book now, or book for one our May events in Chicago.

We hope to see you, and a friend, in 2014!

An Early Present

It’s Friday. December 20…the last day of the school year for my kids and we wake up to no power, rain, and 40 degree temps. On the way to school my 6-year old daughter threw up in the car. Huh…one of those days.

But you know what’s great about today? Voting for the first annual Tribal Awards opens. Not sure what those are? Check out one of these posts at SQLServerCentral or Simple-Talk. Why am I mentioning it? (And why am I asking so many questions this morning?!) Well, I was nominated for something…which is really, really cool. I consider it a huge compliment to have individuals who attended my Extended Events session at the PASS Summit nominate it for best presentation, and it’s even more humbling when you see the other speakers on the ballot. I did not see everyone else’s session (except Dr. DeWitt’s, which I live-blogged), but I know Rob Farley, Steve Jones, and Neil Hambly to be great speakers with deep technical knowledge. I find myself in good company, and I am honored. And I have Rob to thank for helping me make my presentation better. The day before my session at Summit, I spent about an hour with Rob talking through it, asking for his feedback and insight. Thank you, Rob!

Finally, I’d like to give a shout out to my SQLskills team members for their nominations. Glenn, Kimberly, and I each have one, and Paul and Jonathan each have three. I am so incredibly proud of our team and everything that we’ve accomplished this year.

Congratulations to all nominees in all categories, and if you want to vote, you can use this link. And in case I don’t post again before the end of the year, I hope you all have a wonderful holiday. Thanks for reading, and here’s to an amazing 2014!

Extended Events Usage Survey

Last week at the PASS Summit I presented my Making the Leap from Profiler to Extended Events session, and one of the questions I always ask at the beginning is how many people have used Profiler (usually most of the attendees) and how many have used Extended Events (very few).  I’m giving this session again this week and next, and I thought it would be interesting to get feedback from the community as a whole about Profiler and XE use based on SQL Server version.  So in Paul Randal style, here’s my first poll.


I will summarize the results in a post next week.  Thanks for your help!

PASS Summit 2013: Final Recap

I haven’t traditionally written recap posts for the PASS Summit, but this year was just phenomenal, and I think that down the road I would regret it if I didn’t take a few minutes to summarize the highlights.

Summit1 1024x768 PASS Summit 2013: Final Recap

Perry and I arrive at the PASS Summit

In no particular order…

#SQLRun

On Wednesday morning about 70-some people congregated in downtown Charlotte for the now-traditional #SQLRun.  Organized by Jes Borland (whom I really don’t have enough wonderful adjectives to describe), it was a 3.4 mile run with fellow SQL runners in the complete dark.   It was the perfect way to start Day 1 of the Summit.  A run, when it includes friends, is never bad.  I met a couple new people that I saw throughout the week, proving again that common interests outside SQL Server help facilitate those relationships within PASS.  Whatever your passion, I encourage you to find people with the same non-SQL interests at conferences and SQLSaturdays.  You just never know who you’ll meet.

My Sessions

My first session was Wednesday morning after the keynote, and it was Making the Leap from Profiler to Extended Events.

Summit2 1024x768 PASS Summit 2013: Final Recap

Perry checking out the crowd before my XE session

This was one of my favorite topics to cover this year, and based on feedback throughout the week, it hit home with many people.  Over 300 attendees made it to the session (the picture above was taken 15 minutes before I started), and I had great questions throughout and finished right on time.  In case you missed it, I’ll be giving a shorter version of the same session this Wednesday at noon EDT for the DBA Virtual Chapter (sign up here) and again next week at SQLIntersection.  Scripts can be downloaded from the PASS site, or from the SQLskills site under the Conference Demos heading.

My second session was Friday morning at 8 AM, How to Avoid Living at Work: Lessons from Working from Home.  Despite the early hour, we had a good number of attendees and a great discussion.  As I mentioned in a post back in August, I’m still adjusting, but it’s going well icon smile PASS Summit 2013: Final Recap

The WIT Panel

I had the honor of sitting on the WIT Panel on Thursday, and even though I probably said less than the other panelists, I had the opportunity to address a couple great questions (including one from an audience member).

Summit4 PASS Summit 2013: Final Recap

2013 WIT Panel (L to R: Gail Shaw, Kevin Kline, Cindy Gross, Rob Farley, me, and moderator Mickey Stuewe)

You can view the recording here, and since Thursday I’ve had a lot of time to reflect on what else I could have said, particularly when I answered the question from the audience member.  I want to include it here, for reference, and if you watch the video it starts at 59:11:

I had an interesting experience.  I was walking around the Expo yesterday and after having a short conversation with someone, someone said to me, well, you are a woman working in technology, you are a foreigner, you are a former collegiate athlete, and you are young.  You have all this working against you, how are going to make it in this industry?

My reply to her was that I would have said, “How am I NOT going to make it?”  Because here’s the thing: YOU decide what you can and cannot do, what you will and will not do.  You are in complete control of your destiny.  People will doubt you.  People will tell you that you aren’t good enough, don’t know enough, that you’re not “something enough”.  Don’t listen to them.  Know who you are…and if you don’t know, figure it out.  I firmly believe that once you fully accept the person that you are, and you like that person, that nothing will stop you.  Have confidence in yourself and then go forth and conquer.  And to the guy that said that?  There’s one part of me that wants to kick his @$$.  The other part of me feels sorry for him.  He has no idea what he’s up against.

The SQLskills Team

A conference bonus is that I get to see the SQLskills team.  It’s not often we’re all together because we’re scattered throughout the US.  I had time with every member of the team, including a couple dinners which really provide time to catch up in a relaxed setting.  I also moderated Kimberly’s session, Skewed Data, Poor Cardinality Estimates, and Plans Gone Bad, on Thursday, which was a lot of fun.  If you have any interest in statistics, go watch her session on PASS TV.

Summit3 PASS Summit 2013: Final Recap

Me and Kimberly – notice how tall I am?! (photo credit @AmazingScotch)

SQL Sentry

I cannot say enough good things about SQL Sentry.  They sponsored many events at the Summit including (and if I miss one please let me know):

  • Quizbowl at the Welcome Reception
  • Karaoke on Tuesday night
  • #SQLRun on Wednesday morning (they marked the path and provided t-shirts to those who registered early)
  • WIT Panel Luncheon (including a cool USB hub for swag)
  • The SQL Sentry shuttle on Tuesday, Wednesday, and Thursday nights that provided transportation for Summit attendees around Charlotte

In addition to being a community leader, SQL Sentry is simply a remarkable company.  I have met many members of their team, and it’s a close-knit group that values their customers, and just puts out great products.  I have been a fan of the company and its team since I joined the community, and they raised the bar even further this year.  Well done.

Dr. DeWitt’s Keynote

On Thursday morning Dr. DeWitt returned to the PASS Summit…I actually have no idea how many times he’s given a talk at the PASS Summit, but I know that for each of the past four years that I have been there, he’s been there.  This year his topic was Hekaton and of course it did not disappoint.

summit5 768x1024 PASS Summit 2013: Final Recap

Perry listening to Dr. DeWitt talk about Hekaton while I type rapidly

I live-blogged his session and was able to capture a fair bit of his content.  Dr. DeWitt explains complex database topics in a way that many understand – he’s not just a smart guy, he’s a great teacher.  Thank you Dr. DeWitt for your session, and thank you PASS for bringing him back again.  Can we do it again next year?

My Peeps

I cannot list everyone here.  You would all just end up looking for your name icon smile PASS Summit 2013: Final Recap But seriously, there are so many factors that contribute to a successful Summit for me, and one of them is most certainly seeing friends and meeting new people.  Whether we had a 5 minute chat, discussed a technical problem and how to solve it, or enjoyed a beer at some point: thank you for being part of the SQL community, and for being part of my world.  I feel so fortunate that I have a group of individuals, within my professional field, I call true friends.

Ok, ok…I have to give a special shout out to Johan Bijnens who brought me chocolate all the way from Belgium, and Aaron Bertrand who brought me Kinder Eggs from Canada.  Thank you both for feeding my addiction icon smile PASS Summit 2013: Final Recap

I’m already thinking about next year’s Summit, but I hope to see you all before then.  Have a great week, and good luck catching up on email!

p.s. One of my favorite pictures from the week, courtesy of Jimmy May.  And if you’re wondering why the heck this Perry the Platypus stuffed animal shows up in all these pictures…well, I take him with me on trips and then take pictures to send back to my kids.  They think it’s hilarious.  Ok…I do too.

summit6 1024x768 PASS Summit 2013: Final Recap

Perry and me before my XE session