Dec 03 2012

HDInsight, Finally

See this:

That’s right. The install worked. All I had to do was get a completely clean server set up. No domain controller. Now to get my learn on.

Microsoft has a web site with a number of introductory samples. I’ll start there and work through them. The very first example gets me set up with some data that it builds by running a Powershell script, importdata.ps1. But I’m not going to just blindly follow along. I want to see what the heck is happening so I can start understanding this stuff. By the way, thank you Microsoft for making the samples in PowerShell and not forcing me to relearn Python or something else. That would have been frustrating.

The script is really simple. It has two scenarios you can pass it, w3c or RunTraffic. They just change directory and run another PowerShell script, import.ps1, from two different directories. I’ll be the scripts are different. I’m running the w3c scenario, so let’s see what that script is doing.

Ah, now things are getting interesting. There are two functions, one for data generation which uses an executable to make up test data. The other a mechanism for calling Hadoop. Basically it uses two objects, System.Diagnostics.ProcessStartInfo and System.Diagnostics.Process. The ProcessStartInfo is for defining startup information for a process that you then define using the Process command. In this case it’s setting the location of hadoop:

$pinfo.FileName = $env:HADOOP_HOME + "\bin\hadoop.cmd";

Then it sets up arguments, if any. The actual calls to this from the code use a command, dfs, which has different settings -mkdir and -copyFromLocal. From what I can tell, it’s creating a storage location within Hadoop and then moving the data generated over. I’m good with all the scripts I can see except knowing where this dfs thing comes from.

Data load ran just fine:

Data loaded, time to test out a Map/Reduce job. Again there’s a powershell script included for running a simple job, so I check it out. First run, fails. Great. More stuff to try to troubleshoot in order to be able to see this work. This is not going to be easy.

Stepping through and running the scripts might not be the best way to learn this. So, I’m going to now start reading the Big Data Jumpstart Guide. I’ll post more as I learn it.

 

Nov 21 2012

Final 2012 Learning Opportunity

There’s still a little time left in the year. I know some businesses have allocated training budgets and if they don’t spend the money, they lose it from their budget. So a few of you might still be looking for opportunities to get your learn on. I’ve got one more big one before the end of the year. You can try heading down to Florida for the Live 360 conference. I’ll be there along with several friends (love my #sqlfamily). I’m presenting two sessions, one on setting up an environment for performance testing using the new distributed playback capabilities from SQL Server 2012 and one on introducing the accidental DBA to backups. You can still register here to attend these sessions and all the other great ones being presented. Last chance to use up that training budget for the year, so don’t miss it.

Sep 24 2012

Interviewing a DBA

I’m not a fan of trivia style interview questions. Yes, I ask a few because you have to in order to immediately eliminate the completely unqualified applicants. Even those types of questions, in my opinion, need to be focused on concepts and not syntax. The reason we have the Books Online with SQL Server is because you shouldn’t have to memorize every possible command along with all their parameters. Want to know how to write a MERGE query? Look it up. What does a MERGE query do? That you ought to know. I think concepts are important. Questions about the recovery models within SQL Server aren’t trivia about the system, they’re trying to get to your understanding of how point in time recovery works.

I don’t really like posting interview questions. And most of the time when I’ve seen interview questions posted (even mine), they’re pretty trivial stuff that doesn’t really get to whether or not the person you’re trying to hire is a good fit for the position and your team. I also don’t like posting interview questions because some people will try to use them to study up and attempt to BS their way into a position they frankly don’t deserve and haven’t earned. SQL Server knowledge and experience comes from using it to solve problems out in the world and protecting the information generated by a business.

That’s why I love this question. And I don’t mind sharing it with you because you can’t really memorize an answer to it:

You get a call from one of the business people. They tell you that the database is running slow. What do you do?

This is completely and utterly open-ended. It can go anywhere. In fact, it’s going to go where you lead it. For example, you could say “I first look at the Windows server error logs.” OK, that’s fine (several people I’ve interviewed started there). What indications would you find there that the server is running slow or what would you find there to show why the server is running slow? Suddenly, maybe you don’t want to look at the error logs for the server any more, or maybe you do. But you get the idea. There is no single correct answer here. There are however, lots of very problematic paths, and I’m going to let you go down them. I had one guy insisting that the very first thing he needed to do after the phone call was take a look at the application code to see the method used to make the call to the database. We spent quite a bit of time exploring why this seemed to be the best approach to him. Was it? I’m not saying. No hints on this one. Your answer for this question, is your answer, and that’s why I love it.

Further, as we explore this question, and I’ve spent anywhere from 10 minutes up to an hour working on it as part of an interview, I’m also getting to see how you deal with problematic situations, what your logic chain looks like, what your understanding of SQL Server is, and, most importantly, how you fit into the team. Because with an open-ended question like this, we get to talk. We’re way beyond silly trivia contests now.

Before you think this is unfair to people who aren’t performance experts, fine, let’s talk about what happens when you get an alert that the server is offline. Not a systems person? OK, we just got an alert that a database consistency check failed, now what? See, the point is to go on an adventure where we explore your knowledge and approach. I just have to work hard to make sure we stay somewhat on topic so that I can assess your knowledge and skill level.

Now, if I approach any of these questions and your response is to reject them out of hand, something I’ve run into, then we’re done. I’m not going to focus on trivia, which is how lots of people prep for interviews. I expect you to have concepts, process, logic, and methods available from your time studying and learning. So if we interview, be ready for this exploration, not a trivia contest. And the only way to really prepare is to get experience and knowledge by actually working with SQL Server.

Oh, and sometimes, I ask questions or make statements that are wrong. Sometimes it’s on purpose. Other times, it’s because I screwed up or was ignorant. But you can’t sit there agreeing with me. You better be paying attention because I might be testing you further.

This type of question is just too perfect for understanding how much you know about SQL Server.

Want to start to prepare for answering this kind of question? I’ve got an opportunity for you. At the PASS Summit 2012 this year, I’ll be running an all-day pre-conference seminar called Query Performance Tuning: Start to Finish. In it, I’ll cover quite a bit of what might make it possible for you to answer this question should you be presented it in an interview. No, I’m not guaranteeing you’ll answer it correctly. I’m just offering a chance to prepare. Sign up for the Summit today. There’s still a discount in place that can help you offset the cost of the seminar until the 30th of September.

Jul 16 2012

SQL In The City: London 2012, Recap

Presenting on Ring BuffersWow!

How’s that for a recap?

The concept for the SQL in the City events is pretty simple. Put on a free event that instructs people on SQL Server, Azure, and related technologies along with a healthy smattering of Red Gate tools. All teaching is done by some of the best people in the business (and me).

This was the second event in London. The concept was launched there last year and succeeded quite well. This year the event filled it’s registrations so quickly that Red Gate felt obligated to have a second day, which almost completely filled up too. There were more than 350 people in attendance on Friday, and then, on Saturday, a day off, another 250+ people showed up. That’s well over 600 attendees over the two days. And what people! The UK audience is just excellent. These people really pay attention to what you’re saying. They don’t make many comments while the presentation is going on, but oh my gosh the detailed questions you get afterwards. It’s just wonderful. Plus, these guys are part of my #sqlfamily. I got to meet several people that I’ve met before in both the US and the UK. I love spending time with Tobiasz, Dave, Kev, Annette, Jonathan, Thomas, Neil. I also got to meet people that I had interacted with only online and they’re wonderful in person. Thanks to everyone who sought me out, especially Colin and Stephanie. It was a real privilege to meet you two (although neither of you knows the other). It’s the interpersonal aspects of these events that makes them great.

It’s so nice to be able to relax and show people something like how to get a sandbox environment set up, but all the ways that using Red Gate tools to do it can help you make the job easier, faster and cheaper. Normally you can’t give an open answer when someone asks how to do something better or easier during a session. This venue makes that possible.

I put on three sessions during the day. One on how to improve performance, yours and your code, in T-SQL. I got to regale the crowd on all the evils of ddltbl (not a typo, you had to be there) as well as common, simple, mistakes made all the time in T-SQL code. I also did a session on sandbox deployments. While I’m personally against giving everyone & their brother a copy of the production database for development, I acknowledge that it is a good set of data to develop against. So, if you have to do it, you may as well use Virtual Restore to save some space. Finally, my last session was on some of the lesser used performance metrics that are actually more useful than people give them credit for.

I sat in on some of the other presentations and they were great. I really liked Steve Jones (blog|twitter) session on handling disasters. I also liked watching a new speaker, Annette Allen (twitter), stretch her legs for the first time. She was good. UK user groups take note. You have another resource available.

I had a blast presenting all these sessions, twice, and the crowds seemed receptive. I really appreciate everyone who attended and the excellent feedback that they politely (but firmly) provided. Then we had beer.

Yeah, you heard me. Wonderful, glorious, Red Gate beer served right there at the event. It was a great batch of Select * Ale. Highly recommended at the end of a hard day of T-SQL learning and networking.

It was a magnificently run event. The only complaint I heard was that we had an inadequate number of bathrooms for the men (which, I learned, are not called stalls in the UK, some humor doesn’t translate well). Thanks to Annabel Bradford and all the team at Red Gate who put the event together (even if I do work for them, it was a really well run event). You guys are magnificent.

If you missed a session while you were there or you want to see a session again, keep an eye on the SQL In The City web site. Videos of the sessions will be uploaded. If you weren’t there, you missed it. But, I have good news.

We’re taking the show on the road. We’re going to be hitting five cities in the US in September and October and then Seattle in (which I think is still in the US) in November. It’s going to be a lot of the same people presenting the same topics, but it’s also going to include a ton of excellent local speakers at each of the cities we hit. This means the excitement and education that SQL In The City represents will be accessible to lots more of you soon.

Dec 05 2011

Resolutions: Outcome

Earlier this year, I wrote a post about my upcoming plans for the year in response to a question asked by Jen McCown (flat out, one of my favorite people, blog|twitter). It was supposed to be about resolutions, but I just don’t make those. I make plans.

Here we are, close to a year later (11 months). How did the plans work out?

The first one, hinted at the time, was to start a new job. Well, that’s done and it’s going swimmingly, thank you very much. The job has turned out to be harder than I thought it was going to be. I travel more than I thought I was going to travel (although we’re keeping it within the limits we agreed to, I love my new company). Frankly, I’m concerned that I’m doing a good enough job, pretty much all the time. But, I love it. Thank you, everyone at Red Gate Software.

Next one was setting up the home office. I’ve got that done too. It proved to be quite difficult, but with lots of help from Glen Berry (blog|twitter) and several other people on Twitter and elsewhere, I finally have a functional set of systems. Currently I have three computers, my glorious Lenovo W510 laptop (sporting lots and lots of flair), a POS Dell desktop (which, as soon as it crashes & burns again, I’m replacing), and a nifty little HP Proliant MicroServer that I’ve named Bob. I even have a little Iomega raid array. I’ve learned how to set up AD and have these things humming along well enough. I’m able to set up tests and get done what I need to get done for my job. I won’t lie. It’s been a pain in the bottom having to set it all up myself. I’m still spoiled from working at a large corporation where I didn’t have to sweat this stuff, but I’ve managed to get done what was needed. I learned how to set up virtuals and I’ve been using a couple of them for most of the last year while working with SQL Server 2012. Trivial stuff for a lot of you, but a leap forward for me.

Then I promised to drill down on a new set of tools. Once again, referring to my glorious job at Red Gate. Man, I had no idea those guys worked so hard. They are releasing new software and new functionality constantly. I can’t keep up. I love it. I rate this goal only about 1/2 accomplished and I think I could have done a somewhat better job at it. I’m going to try to improve on this in the coming year.

The last one, writing more… Unfortunately, I accomplished this one all too well. I did rewrite the execution plans book , but we’re looking at rewriting it again (some structural needs and to capture 2012 stuff). I’m close to half way through rewriting my performance tuning book . That one slowed down because I took on another project, SQL Server in a Month of Lunches, which I’m also about 1/2 way through. Oops. If you’re counting at home, that’s three books this year. Not good. Oh, and did I mention I wrote a chapter for the MVP Deep Dives II? And, I’m maintaining my chapters in Beginning SQL Server Administration (2 of 3 done as I write this). Yeah, five (5) books this year… no, no, no. Stop. That’s on top of all the new articles for my most excellent job, maintaining this blog, starting another blog… Yeah, writing successful. Don’t do it again.

On the whole, I’d say I accomplished what I set out to accomplish on 3 of the 4 goals. The incomplete one, getting better with Red Gate tools, is going to be ongoing anyway, but I still need to improve.

Oh, and by the way, thanks for reading this blog over the last year.

Sep 30 2011

SQL In The City: LA

Just a reminder that there are a few seats left for SQL In The City: LA on the 28th of October. It’s a free event put on by Red Gate Software. I’ll be speaking there. But much better than that, you can listen to, and interact with, Steve Jones, Brad McGehee, Ike Ellis, Aaron Nelson, and ta-da, Denny Cherry, and double-super ta-da, Kalen Delaney (line forms behind me to talk to Kalen), plus the developers and program managers from Red Gate software that will be there.

Take a Friday off work and go get your learn-on. Show your boss the agenda. I guarantee they’ll let you go. Click here to register.

You know what else? If you pick up a copy of MVP Deep Dives II before the event, I’ll bet you it won’t take much cajoling to get autographs from some of the authors and editors.

Let me list it out: Red Gate, MVPs, Free Training, Great Networking, Books, Cool Software, Red Gate Pale Ale…

See you there!

Sep 26 2011

Book Review: Smarter, Faster, Cheaper

In my continuing quest to not get personal visits from Buck Woody (blog|twitter) I’m making sure that I make good on my commitment to read 12 personal development books in 12 months. We’re up to #4 (again demonstrating the degree of fear that Buck can put in a person) and the book is Smarter, Faster, Cheaper: Non-Boring, Fluff-Free Strategies for Marketing and Promoting Your Business by David Siteman Garland (blog|twitter).

The extended title on the book covers what it’s about quite well. David Garland is considered one of the top marketers these days and he seems to follow the processes laid out in his book. I say this because I received a tweet from him after I tweeted that I’d finished reading the book. One of the processes laid out is to set up search routines to keep an eye out for your name, your companies name, your book’s name, and go to where those things are being posted and respond, in person.

I can sum up a huge part of the book in those last two words, in person. He’s very much about the concept that what you’re selling is not a widget, but yourself and that the more and better you sell yourself, the more and better your widgets will sell. The focus of the book is on marketing and selling, which is good, that’s what I expected and wanted. I’m just still having trouble wrapping my brain around the fact that I’m in sales & marketing. But, the good news, for me anyway, is that David Garland’s idea of sales is to generate useful content. Wait, what was that? You mean writing books, blog posts, articles, recording videos and presenting online & at user groups is sales & marketing? Sweet! I’m in favor.

The point is, you have to move away from the ideas of marketing the old way, buying commercial time on TV and move into using the intertubes to do your marketing. That marketing is done by becoming a trusted advisor, or as Seth Godin has it, a linchpin. You do that by generating material, like this blog, and handing it out for free. You take part in discussions in forums, twitter, whatever, and grow yourself into a trusted resource THEN, you carefully sell. I’m sold. Of course, I’ve been sold. I got this message a year ago, right before I changed my career path. The book goes on to discuss various mechanisms of engagement and production you can use to build up that material which will turn you into a trusted resource. There’s a lot of great advice about how to manage your online presence, how to overcome fear (of failure, success, what have you), produce video, and probably most importantly, building a community. The book is all about building out a community of people that you help and who in turn help you. A real community, not just a bunch of readers or viewers, but an interactive group of individuals. Again, I’m in favor.

Unusual enough for a modern book, he has an Index. In fact, he has a good index. When I saw that I had to check to see if I was reading one of my history books or a technical book. No one puts indexes in books any more (apart from historians & geeks). Excellent.

So that’s what the book is all about, how did it affect me, personally? I have to say, I’m a bit… meh, about it. Don’t get me wrong. It’s a very well written book and I believe in what David Garland is pushing here. I think he’s 100% correct and I think the book would be very useful to others. Unfortunately, I’ve read several of Seth Godin’s books and I’ve been pursuing this line of approach already, so… while the book reinforced the things I know, the approach I’m taken, the beliefs I’m working under, it didn’t add a lot to them. But I think the fault here is the reader, not the book. However, I still found it useful, if for nothing else the reinforcement that I’m at least striving in the right direction (which is very nice to have).

I did find the chapter on reputation, “Your Reputation in the Transparent World We Live In” … scary and useful. I’m sure that doesn’t sound good, but it is. I’ve made several adjustments to how and what I do online over the last year and I suspect I’ll be making a few more changes based on this. I’m just nervous about going too far and becoming boring (right, right… more boring).

Anyway, on to the next book, Free Agent Nation: The Future of Working for Yourself by Daniel H. Pink.

Aug 11 2011

Google + Hangouts

I just finished hosting my third hangout on Google Plus. I’ve also attended one hosted by Andy Leonard (blog|twitter) and one hosted by Tom LaRock (blog|twitter). I am blown away by how useful these things are. I’m actually struggling to try to put it into words. This may be something of a ramble.

Jorge Segarra (blog|twitter) brought it up during the conversation this morning, you can’t know everything. You can’t. So what do you do when you’re hitting an issue that you can’t solve because you just don’t have the knowledge? Well, you contact someone who does have that knowledge. You work your contacts and your network and track down the information, because someone you know either knows that bit of information or they know someone else who does. That’s a huge part of what the SQL Server Community (capital “C” on purpose) is all about.

Now, there’s this Community out there. People are tweeting, blogging, publishing articles, publishing books, posting on Facebook, G+, LinkedIn. There are online seminars, free or paid, that you can hook into and get presentations by amazingly smart, talented, skilled people. There are good old fashioned discussion forums and fancy new question & answer forums. But, with all that, the conversation isn’t really a conversation. And the connection is still through a keyboard, not your eyeballs & ears. If you attend a SQL Saturday or the PASS Summit or Connections or SQLBits, you can make that direct, in-person, watching someone’s face contact. But, let’s face, it’s hard to get to too many SQL Saturday events if you have a life (and I’m paid to go to SQL Saturday events as part of my job). Plus, once you’re there, things get really busy and you don’t get the chance to sit down & chat with people all the time, or certainly you don’t get a chance to chat with as many people as you’d like.

That’s where Google Plus Hangouts come in. Now, you’re sitting at home, but you’re also sitting on Andy’s deck and in the offices at PragmaticWorks with Jorge. You’re having a conversation (or listening, seemed like more people lurked than talked, still) with these people. They’re sharing stuff that comes to mind. You’re getting Jorge’s thoughts on appliances (assuming there are no blue badges around) and you get to hear how Brent Ozar’s (blog|twitter) new consulting business is going. And you get to see their faces and hear their voices and it’s all incredibly powerful because it’s interactive. It’s level. It’s not a teacher with a captive audience like an online seminar. It’s completely open.

I’ve been reading a book called Tribes: We Need You to Lead Us by Seth Godin (blog|twitter) as part of my 12-Book commitment. In it he talks about how businesses and individuals, more and more, need to build up a tribe around them. Interested, dedicated, excited people, who care about the cause, the business, the technology, the whatever, who want, actively want, to be there. Google Plus Hangouts. You have to try to get there. You have to want to stay. And, most importantly, you, by going, by staying, get to drive the direction of the tribe. You get to make your voice heard or get the information you need because it’s your tribe too, not just the person hosting it.

Tom’s hangout was very specific with an agreed upon agenda and purpose, like a study group. And it worked, because it was exactly like a study group. People who knew stuff shared with those who didn’t and you were able to ask questions. It’s just amazing how powerful it felt. So far, my hangouts have just been free-flowing affairs, all about the conversation, but I can see how you can make them targeted from what Tom has done. And it’ll work and be powerful, because it’ll still be a conversation.

I came out of the hangout today with a series of web sites to look at, a white paper to read, and a new book for my reading list. By taking part in this thing, I’ve got more tools to make myself better at what I do and I’ve engaged more tightly with my tribe. This will help me as a person and as a representative Red Gate. And, hopefully, I’ve helped others by opening up the tribe so that anyone can join.

I’d like to see a few changes to Hangouts. First, we should be able to record them and post them. Second, 10 is just a bit too small. I’d rather see it go to 15. But no more than that because too many and the conversation will stop. Sharing a desktop would be good too.

But I’m going to do more of these things. I’ve already set up a special circle on Google Plus that’s only people who are members of the Friends of Red Gate. I’m going to have targeted sessions with them and conversations, to try to improve that tribe. I’m also going to try out some other stuff for other tribes. I’m going to host them at various times of the day so that people in different time zones can take part. Today, I covered the planet. I had people from Australia, the UK and all over the US. I’m sure I can do more.

If you’re thinking about trying to make a bigger splash, host one of these. Tweet about it. Post it on Facebook, heck, let me know, and I’ll post it on G+ or Twitter. I also would be interested in what you think about these things. Excited, bored? Interested or not. I feel like we’ve got a new tool but I’m still not 100% sure how it works or the impact it’s going to have.

Apr 15 2011

SQL Azure

cloudIf you’ve talked to anyone from Microsoft recently you had to have heard the phrase “all in.” It’s been made very clear. Microsoft is all in on the cloud. What’s that mean? My understanding of it means they are really, seriously committed to building a viable and large presence there. Part of that presence is SQL Azure.

Say the word “cloud” and watch DBAs flinch, wince or moan, sometimes all three at once. I have been one of them. I looked at the list of restrictions on a cloud database, snickered, and moved on. But you know what? They’re wrong and I was too. The cloud is absolutely coming. Microsoft is not alone in believing this. Look at the offerings from Google and Amazon and others. It really is becoming a part of the landscape, no arguments.

So here’s the question. What are you doing to learn it? How are you diving into Azure? How much of that precious learning and testing time that you carve out for yourself (and if you don’t, you should, no one is going to just give it to you) are you committing to the cloud? Unless you’re one of a few people I know, I’d be willing to bet you, it’s not enough. You need to do more. So do I.

This is my announcement. You’re going to start seeing Azure stuff here. No, I’m not going “all in” on the cloud. You’ll still see stuff on exec plans, performance tuning, backups, community, monitoring, whatever it is I blog about usually. I am going to learn SQL Azure though. I am going to have it as a properly sharpened, oiled and well-maintained tool in my toolbox. Why? That one is easy. Because Microsoft is “all in.” Pick any name you want to call me, and I won’t argue with you, but the fact is, I’ve basically made a living off Microsoft for more than 20 years and I figure I’ll continue as long as there’s a living to be made. I’ve already made the point that I am absolutely not that person that has a single year of experience repeated 20-50 times. Are you?

Want to get started? Buck Woody (blog|twitter) has put together a pretty useful set of links that can get you going with minimal pain. After that, it’s up to you. Watch this space and my other blog (the glorious company I work for is also pursuing business in SQL Azure) for more posts on this topic.

Jan 14 2011

Failed Blog Posts

garbageOver the last week I’ve started and trashed two blog posts. Let me tell you, that’s painful. You get some great idea and then it all goes south. For example, I was going to explain the difference between a table/heap scan and a clustered index scan. The problem was, I ran into gaps in my knowledge, some outright errors in my beliefs on how data was stored, and really faulty conclusions drawn from those facts and a less than thorough set of tests. I’m not even going to tell you what went wrong with the other notion. Luckily, all this was behind the scenes so I didn’t post my ignorance for all to see.  Since I’m not offering you a chance to point & laugh (in this instance), you might be wondering why you’re here.

I’m using my failures to come up with a good technical blog post as a teaching moment. Or, to put it another way, I need to get a blog post put together, so describing why I don’t have one might be a way to do that. Or, to put it another way, I’ve got a stack of lemons, might as well try my hand at lemonade (although, is there a way to ferment lemons? hmmm, more research on this needed, note to self). The point I want to make? Blogging, even when you mess it up and put together bad information, is a great way to learn.

It’s entirely possible to simply slap together a blog post and put it up. No lie. You can do that. I’m fairly certain some bloggers do. I could do that. Better still, you could go and copy Books Online or some other blogger. But, if you are trying, as I am trying, to actually have a blog that’s useful, more is needed. So you think up an idea, what is the difference between a clustered index scan and a heap scan. Then you start writing down what you know. For example, heaps aren’t stored the same way as clustered indexes. Heaps only have pointers back to the Index Allocation Map, where as clusters are stored with a doubly linked list of pages. Then you start thinking up ways that this is proof of something. Good, bad, indifferent, you have to tell a story about the information. That’s where things went south for me. I’m not going to go into details on all my mistakes. Suffice to say, mistakes were made.

The point is, while I messed things up, in my effort to get it right, I had to run tests. I had to read up on data storage mechanisms. I did searches on the internet to see what people I trust said about this stuff. In short, I learned a lot. And yeah, I started from a bad point and made a number of mistakes, but my efforts to ensure that what I was putting out wasn’t complete garbage resulted in more knowledge, if fewer blog posts.

This is one of the best things about blogging. If you’ve ever considered starting, I would encourage you to try it out.. I get three things out it. First, I learn. I have to learn to put these posts up. I try hard to make sure I’m not putting up utter garbage. I may make small errors, but large ones are hopefully not here. Second, I get a chance to organize my thoughts. Writing down how something works, or at least your understanding of how something works, is extremely helpful in furthering that understanding. This is especially true when you’re attempting to share with others, to teach. Nothing so much improves mastery of a skill as teaching that skill. Finally, I get a great set of documentation. When someone asks me a question on something I’ve blogged about, I can point them to my blog. When I need to remember something that I’ve done before, I’ve got documentation I can use. Blogging is an excellent tool for the knowledge worker. And, of course, an added benefit, if you get something right, you can share with others.

That’s it for lemonade. If you’re looking for more information on heaps, go read Kalen Delaney’s (blog|twitter) Internals book, Paul Randal’s (blog|twitter) blog, Kimberly Tripp’s (blog|twitter) blog, or Tibor Karaszi’s (blog|twitter) excellent blog, especially this post on heaps and inserts. In the mean time, I’m going back to the drawing board, trying new things in order to come up with some more posts to keep this place hopping. If you want to try to move towards mastery yourself, start blogging.

Of course, the real problem with this post is, this is the only one like it I get.