More presentations coming up

So the pre-/post-con submission I made for the PASS Summit in November didn’t get picked up (although I’m still hoping to get a regular session or two), but in the meantime, I have other presentations going on.

Those who participated in the 24 Hours of PASS event last month will know that I was a late inclusion when one of the speakers couldn’t make it. Those sessions are now available for free download (but you need to sign up if you’re not already a PASS member) at – mine was Session 20.

Late next week, I will be presenting to the chapter in Columbus, Ohio (via LiveMeeting, as it’s a long way to go from Adelaide, a trip which would involve kayaks). I’ll be doing some more investigation into T-SQL techniques, but not the same ones I covered in the 24HOP session. I figure that since I was prepared to do a whole day of stuff, that can easily cover several different User Group presentations without doubling up.

And then in early August, I’ll be doing another presentation for the PASS AppDev Virtual Chapter. Also via LiveMeeting. I haven’t worked out a topic yet, or even the times of day, but it’s the August 10th gathering.

So if you enjoyed my 24HOP session (as I hope some of you did), or you were unable to listen because of time zone constraints (it was during the early hours of the morning for most Americans), then why keep your eye out for the links to these sessions and join us.

Christian’s book – not just Brent’s

I like to joke with Christian Bolton (@christianbolton) about the time when he got accused of claiming to have written Brent’s book. Of course, he didn’t write Brent’s book – Brent wrote some of Christian’s. And it’s an excellent book.sql-server-2008-internals-and-troubleshooting-book[1]

For a start, I should point out that I know several of the authors. Christian’s a great guy who lives about 2 miles from my grandparents. Amongst the other authors, there are fellow Arsenal supporter James Rowland-Jones, presenter-extraordinaire and exceptional (if you vote) DBA Jonathan Kehayias, and some guy called Brent who used to work for a consulting firm which I hope LobsterPot is never like (Brent’s a good friend too). So I’m sure the others that I don’t know (Justin, Cindy & Steven) are great people, and I’ll look forward to meeting them.

The book concerned is Professional SQL Server 2008 Internals & Troubleshooting, and I have to confess that it sat on my bookshelf for too long waiting to be read – I’d looked through some parts, but not given it a proper read, getting distracted by other things. But it’s actually very good, and not just because I could hear the author’s voices as I read it (making up ‘appropriate’ voices for the authors I didn’t know – who would’ve guessed Cindy sounds Glaswegian!).

There are definitely a lot of books about SQL Server available in bookshops these days, and it can be hard to pick the better ones. My bookshelf includes books by recognised SQL authors such as Kalen Delaney, Louis Davidson, Paul Nielsen, and others, and Christian’s contribution is certainly not out of place there.

PASS Chapter map

Displaying information on an interactive map really isn’t that hard to do. My friends John & Bronwen have been doing this stuff for ages through their company Soul Solutions, and have done lots of talks about how to do this. They have the ability to take that stuff far beyond what I can, but as it’s a significant aspect of data visualisation, it’s an area in which I like to be fairly fluent.

I wrote a blog post last month on how to fetch latitude and longitude values for addresses, which I did using PowerShell, but the same technology applies just as easily in any language capable to calling web services (including SSIS, it’s worth noting). I love how simple it is to do this, and being .Net, it’s even very straight forward to make a CLR object that can be called using T-SQL.

So once I have the latitude and longitude, I can easily get that into my database.

For example, if I look up an address in Chicago, I might get Lat/Lng as 41.885889, –87.632323. This is the location of PASS HQ. To use this with the spatial type, I can use something like: select geography::STGeomFromText('POINT(-87.632323 41.885889)',4326). And of course, once I have a database with that information, I can easily write some code which can loop through them, adding pushpin images to a Bing Maps Silverlight control.

And now, PASS have linked to the map I put together on their site. So if you go to, you can more easily find a chapter location near you (or wherever you want to go).

Click through to actual page

This map (not the screenshot of it above) lets you zoom in, switch to aerial, everything you’d expect from a Bing Map, and if you mouse-over the pushpin, you can see some more information about the particular chapter. If you’re a chapter leader, and want to get some information updated, I’m sure you can get that information to me somehow…

What makes a great place to work

Co-incidentally, I’ve been looking for office space for LobsterPot Solutions during the same few days that Luke Hayler (@lukehayler) has asked for my thoughts (okay, he ‘tagged’ me) on what makes a great place to work. He lists People and Environment, and I’m inclined to agree, but with a couple of other things too.

I have three children. Two of them (both boys) are in school, but my daughter is only two. For the boys’ schools, we quickly realised that what they need most is a feeling of safety. This same principle applies to people in a marriage, or in a work environment. One of the most basic human requirements (just ask Maslow) is this same  feeling of safety. I don’t mean job security, I mean genuine safety. My kids have seen bullying close-up, both by other kids and by teachers, and I’m sure we can all remember having colleagues who are also bullies. This is lousy though, and we need to be able to trust our employers, colleagues and even clients – all the people who surround us. Clients may not be an obvious inclusion on this list, but again, I’m sure we all remember clients who have made us feel “not so safe”. And so I tell my staff I will always go into bat for them – in the same way that I go into bat for my kids. I don’t liken my staff to children, but I certainly recognise that not every staff member feels that they can stand up to a client who doesn’t do the right thing by them. Being the company owner, I feel part of my responsibility is to provide a safe workplace.

Assuming that this is in place, then by all means, the people are probably the next best aspect. Primarily the colleagues, but also the clients. The enjoyment of a puzzle can be excellent in itself, but if this enjoyment can be shared by interested and enthusiastic colleagues, who will learn from you and help you in return, then the enjoyment can be enhanced significantly. This is also a feature which I hope is encouraged at LobsterPot. As we learn from each other, see new and improved ways of solving problems, we share a journey that wouldn’t be the same with different people. And if there are clients who aren’t a pleasure to work with, then for the sake of my employees, I have no problem with losing them.

But as for the physical location – this is a tougher aspect. LobsterPot currently doesn’t have a permanent office. It suits us to work largely out of client sites, especially as a significant part of what we do is to help clients learn more about the project they’re undertaking. If we get involved, we want to leave the staff there with skills they didn’t have before, and help them strengthen their existing ones. The downside to working this way is that the company can be fairly nomadic, and not have a permanent physical home. I’ve looked at options for LobsterPot today, from ‘virtual office’ scenarios up to an office in a building that has a pool, spa, gym and sauna on the roof. One end of the market provides somewhere to get some work done (but still no real home), while the other end would be overkill.

So I don’t think a physical location is necessarily all that important. Any place of work needs to be at least adequate, but I think it’s mostly comes back to the points I’ve made above. Maybe it comes back to 1 Corinthians 13, paraphrased here as “If I give people a free gym membership, and hold meetings in the sauna, but have no respect for my colleagues, then I am only a clanging cymbal…”

One thing that I should include is a short commute. You need to be able to get back from your workplace to those you love quickly. You might really love your job, but that’s not an excuse to neglect your family. We’ve all (right?) been guilty of staying back in the office to finish stuff off, or spending too long online in the evenings (don’t ask me when I wrote this – I know I’m being hypocritical), but if you have a long commute, then is that really helping your home life? Get home in time to see your kids before they go to bed. Eat with them when you can, read bed-time stories and tuck them in, and sing to them on the potty (but stop this when they become teenagers). Again, something which I try to encourage with my staff.

The things that make a great place to work are the things that make your home a better place to live, which is about how you are when you’re at home. If you can’t sleep because you’re stressed about work, then that’s a problem. If you don’t like your colleagues, you won’t enjoy going to work. It’ll stop you enjoying people so much, making you grumpy, and not a better spouse or parent. And you have to be home to enjoy your kids, otherwise they might grow up without you.

My favourite feature of SQL 2008 R2

TSQL2sDay150x150Interestingly, my favourite new feature of SQL Server 2008 R2 isn’t any of the obvious things.  You may have read my recent posts about how much I like some of the new Reporting Services features, such as the map control. Or you may have seen my presentation at SQLBits V on StreamInsight, which I think has great potential to change the way many applications handle data (by allowing easier querying of data before it even reaches the database). Next week the Adelaide SQL Server User Group has a session about MDS. There are plenty of really cool things in SQL 2008 R2.

But actually, nothing that appears in any What’s New lists are my favourite features of this new release.

My favourite thing about SQL 2008 R2 is in the name. It’s the fact that it is an R2. The same product, just the second version of SQL 2008. This means that people who are currently running SQL 2005 should be able to embrace SQL 2008 now (in its R2 form). I keep hearing the “I’m waiting for SP1” line, except that many organisations seem to have missed that SQL Server 2008 SP1 got released last August.

There is a healthy paranoia about data that means that many organisations are often very slow to upgrade systems. This is a good thing, despite the fact that it frustrates database professionals like myself, who would like to see clients upgrade to take advantage of new features. But new features aren’t things that can persuade someone to upgrade their currently-working-just-fine-thanks-all-the-same system until many others have tested the waters.

And this is where R2 can come into play. Technically it’s a new version, yes – but it’s a .5 release. It sorts out a few things, such as Unicode compression, and it adds features that are somewhat peripheral, but on the whole, the product is unchanged – like an overly significant service pack.

So my hope for R2 is that we see a new influx of organisations adopting it. It’s very good that it wasn’t called SQL Server 2010. That could’ve introduced a renewed paranoia about the stability of the product, with most people waiting for another service pack (or two) before rolling it out. Calling it R2, and acknowledging the lack of differences in the Database Engine and Analysis Services is in many ways, the best feature of SQL Server 2008 R2.