Monthly Archives: January 2006

I Fought The Scanner And I Won

I went to the Publix checkout line with my one roll of paper towels and a $5 bill. I handed them to the checkout lady and a crisis of national proportions ensued.

Checkout Lady: “You can’t buy these without $20.”

Me: “Huh?”

CL: “You can’t buy these without $20.”

Me: “I only have a five dollar bill. You can break a twenty but you can’t break a five?”

CL: “No, you can’t buy these paper towels without at least $20 of groceries.”

Me: “Oh, okay. I can’t buy them at all? They’re the only single-rolls you have.”

CL: “They’re on sale today.”

Me: “I’m sorry, I didn’t know – the price tag on the shelf says $1.95. Is that the sale price?”

CL: “No, they’re fifty cents.”

Me: “OK, charge me regular price since I don’t have $20 of groceries.”

It was showdown at the Express Lane Corral. She put her hand on the get-the-manager phone and thought for a second.

Never have paper towels made me feel so dirty.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Miami Beach Marathon

Miami Beach Marathon, originally uploaded by BrentOzar.

I just went outside to take Ernie for a ride to the grocery store and discovered that I’ve got a front row seat to today’s activities. The ING Miami Marathon runs right in front of our place. To get the car out, I would need to drive across the line of runners, something I’m not too keen on.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Next on the extension list: Who Is This Person?

Who Is This Person?

It’s not a question, it’s an answer. Who Is This Person (hereafter referred to as WITP) is a Firefox extension (which also works with Flock) that helps identify these faceless people on the web.

It’s not really useful for tracking down that deadbeat ex-husband, but it’s great for technical discussions when you see a new face. When someone says something brilliant – or incredibly dumb – just highlight their name and right-click. WITP shows menu items for LinkedIn, Wikipedia, Technorati, Google, and more.

In the screenshot example here, I’ve highlighted a name on a web page (specifically, the page about the WITP extension) and I’m searching for more information about its author.

This extension is very similar to the Hyperwords extension I just blogged about, but it offers different tools specifically aimed at digging for information about people. I would guess that the Hyperwords people will get wind of this extension and build similar features into their own extension – or at least, I hope they do, because the less extensions I have to deal with, the happier I am.

The Technorati thing reminds me: I gotta get my blog set up in Technorati.

Home page for Who Is This Person extension

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Hyperwords, a slick Flock extension

hyperwords_demo.gif

When I’m surfing the web, I find myself constantly highlighting words or names or addresses, copying them, opening a Google window, pasting the words in, and running the search. Hyperwords is an extension for the Firefox and Flock web browsers that completely eliminates the whole copy/paste process. Just highlight the word(s) with your mouse and let go. Instantly, a context menu pops up with a ton of cool options, including Google searching, shopping at Amazon, blogging, tagging, mapping with Google maps, searching at Wikipedia, and more.

Hyperwords is cool enough as a product, but the business case blows me away. There’s a Google sidebar on my web site so you can search my site (or the web) for stuff, and Google pays me when people click on the paid ads on those result pages. (Don’t go clicking on the ads trying to get me paid – I make enough money as it is.) When I used Hyperwords, I recognized right away that the Google result pages were from the paid-participant program. That means Hyperwords actually makes money when Hyperwords users click on the paid search results.

Hyperwords could actually be profitable!

This is the first new really sustainable, really profitable web idea I’ve seen in quite a while. Sure, Flickr can make money off subscriptions, but it costs them a lot to maintain their servers. Hyperwords’ only cost is the development – they don’t need to have their own search servers or anything. They don’t do much work at all. They just saw a clear need from end users, built a solution, and figured out a way to make money off the whole thing.

Like one of my coworkers said, it’s a win-win-win for everybody: browser users love it because it makes browsing easier, search engines like Google love it because they get easier traffic, and Hyperwords loves it because they make money.

Hyperwords doesn’t work with Internet Explorer – yet – but I’m sure they’re actively working on it, since it would make them a heck of a lot of money.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Kicking back at lunchtime

Kicking back at lunchtime, originally uploaded by BrentOzar.

Meeting a coworker for lunch at Pei Wei. I love this place.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Should Flock be a browser or a set of extensions?

One of the Flock guys posted a question today: should Flock be a browser or just a set of extensions? Here’s my thoughts:

Other users will probably voice their opinion as end users, folks who use the browsers, but my opinion is going to come from a purely business standpoint.

A lot of businesspeople throw around the term “core competency”. It means, are you doing something because it’s really your business, part of your core set of things you’re good at, or are you doing it just because you think you have to in order to maintain your business?

For example, some manufacturing companies thought they had to keep an inventory of replacement parts, sell them to consumers, and ship them out. They didn’t really make money off these services, but they thought they had to do it in order to keep selling their products.

UPS saw this and got into the supply chain business. Now manufacturing companies who don’t want to be in the spare-parts business don’t have to – they can outsource the whole thing to UPS for a price.

Flock has to look at its most basic, most core mission, and decide whether they have to build browsers in order to do it. If Flock can fulfill all of its mission without packaging a browser, then that means the browser is not their core competency.

Even if that’s the case, you still have to look at whether it pays to outsource this. In this case, outsourcing it is free, because the Firefox crew is already doing it for you, but outsourcing still represents a financial decision because distributing your own browser builds a corporate identity, and that’s worth money.

To make the decision, look at the number of hours spent trying to merge code, trying to make judgement calls about things like the ping tag, and decide whether these are things that pay off for the end users or not. If it costs Flock a ton of money because they have a bunch of developers burning hours trying to get the stuff to compile, then it makes sense to package a set of extensions. But if it doesn’t cost much development time to do a standalone browser, then keep doing it.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Coming home, turnpike closed due to accident

Update from later: On the way home from Grandma & Grandpa’s today, I ran into a bit of a snag. The Florida Turnpike was completely shut down due to a big accident. While stuck in traffic, I got to watch the Fire & Rescue choppers set down right in the middle of the highway, weaving between light poles and electric wires. Amazing.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Beach in Naples

Beach in Naples, originally uploaded by BrentOzar.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Automating SQL Server version control with Visual SourceSafe

As a database administrator, I needed a way to automatically track changes to the database over time. My developers are constantly working on the databases, making changes and improvements, and they don’t always have the time to tell me what got changed. I’m not immune either – sometimes I make a quick fix, and I don’t do a good enough job of documenting what I did, and why.

Hilary Cotter wrote a slick SQL change management utility that makes change management a lot easier. It connects to a SQL Server and scripts every object in every database – tables, stored procedures, views, and indexes. It creates a separate text file for each object, and then here’s the nifty part – it connects to your Visual SourceSafe repository, checks to see if the object has changed, and if so, checks in the newer version.

It creates a detailed log of all activity, and a difference log of the changed objects. Hilary set his own version up to email the difference log to him when the script completes, and I made a few tweaks to mine as well, such as writing separate log files for each server.

The script even works with Visual SourceSafe 2005.

I have a scheduled task running it every 4 hours on our production boxes so that I’m notified faster. That way, if somebody makes a change that could undermine performance, I’ll know fast enough to fix it before things get out of hand.

There aren’t many drawbacks, but there’s a few. It doesn’t fully work with SQL Server 2005, because some object extended attributes (including the ones in the AdventureWorks sample database) make the script choke. It scripts all user databases in a given server – it’s all or nothing. It only uses Windows authentication, not SQL logins. All of these could probably be changed easily by somebody with VBscript experience and time, and I don’t have quite enough of either, so it’s good enough for me out of the box.

It also thinks an object has changed after a DBCC REINDEX command has been issued. I have a few dimension tables in my data warehouse that I reindex regularly for speed purposes, and this script always checks in the dimension tables after the reindex.

Another problem is that the Index Tuning Wizard (SQL 2000) and the Database Engine Tuning Advisor (2005) make temporary physical changes to objects. The script sees those objects as changed, even if the wizard/advisor undoes its changes, and checks in the new version to VSS. Granted, users should be running these index tuning tools on a development or QA server instead of production anyway, but since I monitor my development environment, I get a lot of false alarms here.

The utility doesn’t alert the database administrator when an object is dropped altogether. If a table is completely dropped, nothing will happen – it’s not taken out of VSS. Thankfully, if an index on a table is dropped, then that’ll trigger an alert on the table’s script.

Hilary’s version stores all of a databases’s objects (tables, views, procs, functions) in the same VSS project with that database’s name. Since I work with some pretty large databases, I modified it to store objects in the same folder hierarchy as SQL Management Studio uses – Tables, Views, ProgrammabilityStored Procedures and ProgrammabilityFunctions. That way, it’s easier to find the needles in the haystack.

Lastly, it has a lot of cool logic built in to detect whether or not an object has been added to the SourceSafe repository, but if the local file directories and the VSS repository get out of sync, the script explodes. During implementation testing, I repeatedly deleted the entire VSS repository without remembering to also delete the script’s working copy of the repository. The script got confused, and only worked successfully when I deleted the local working copy. If you use the script and run into errors, just delete all of the server-named subfolders in your script’s working directory, and it’ll re-download the repository from VSS.

Now, for a plug: I bookmarked Hilary’s SQL-to-VSS script in my favorite browser, Flock, and that’s where things got cool. When I bookmark something in Flock, I can see who else has bookmarked it:

Delicious bookmark

Notice that another guy, bconlon, has bookmarked this same page. Since he found the SQL-to-VisualSourceSafe script interesting, I bet he would have other bookmarks that I would also find interesting. So, I clicked on his name, and presto, I could see his bookmarks – and I could zoom in on the ones specific to SQLserver. Ta-dah! There goes the rest of my day – I’ll be poking through the things this guy has already discovered. Ah, the magic of social bookmarking. If you’re a knowledge worker, you owe it to yourself to set up Flock and Delicious.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Flock, IE, y tu mama tambien

A couple of years ago when I telecommuted full time, I found myself working out of a Starbucks several days a week. I didn’t do it for the coffee or the internet access, because I had both of those at home. I did it for the people. I enjoyed having a set of physical coworkers, even if they worked behind the counter and I programmed at a table. The point was, I had an emotional connection with those people, and they made my work more enjoyable.

Erika and I tend to become regulars at restaurants for reasons that are probably similar. We love it when the staff recognize us, get to know us, and make us feel like a part of the family.

I think that might also be a reason that I enjoy using Flock over, say, Firefox or IE. Flock’s developers blog, and as they blog, the product grows and focuses. You can read their blog posts to see what they’re up to, and download the latest builds to see their changes in action. They build the software every couple/few hours, and that’s where you can get the latest and greatest toys they’ve put in. I find it very personally engaging and involving to see a product grow like this, and it builds an emotional connection. Microsoft has tried to jump on the same bandwagon with blogs, but it feels so completely different – sanitized, structured, and bland.

One of the Flock blog postings that caught my eye this morning. Vera took offense at people who talk about software that their mothers could use. I immediately felt guilty as I read that post, because if I haven’t made that exact comment in the past, I’ve made something pretty close to it. Vera’s point is that mothers aren’t inherently dumber than anyone else, and they’re just as qualified as anyone else to use good software. She also points out that a lot of smart people use some pretty bad software (like Internet Explorer) simply because they don’t have the time to learn new software.

I completely agree that smart people use bad software because it saves time – my own struggles with Linux over the years bear that out. I’m still using Windows, and yes I know it sucks compared to Linux, but I don’t prioritize my time in a way that would allow me to learn a new operating system. But here’s the deal: even if I did successfully replace all of my tools with a working Linux setup, would I push the same setup out onto my family? Heeeell no. I don’t even like doing Windows support for my own family, and I’ve been using Windows for over a decade. The thought of struggling with supporting a new operating system for people in other cities fills me with dread and horror.

And here’s the kicker: smart people also use GOOD software because it saves time. When I bought my first Tivo, I immediately recognized how much time it would save, and how easy it was to use. I then turned around and bought both Dad and Mom their own Tivos for holiday presents. Know how much time I’ve spent managing their Tivos? Zero. Tivo manages itself.

That’s why I hold out hope for Flock over Internet Explorer. I would never talk my parents into using Firefox because I’d have to manage their extension collection, and that wouldn’t save any of us time. With Flock, almost everything’s built-in, and that will save all of us time. (And no, my parents aren’t using Flock yet – I draw the line at telling my parents to download the latest build.)

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube