Complaining Doesn’t Help, Even When Your Office Smells Like Pee

I’ve had a problem for a little while: my office smells like pee, and it gives me a headache sometimes.

Correction: my office smelled like pee. Past tense. The problem has been resolved.

Owning Up to the Problem

Admitting that you have a problem is the classic first step. The real lesson here for me is this: complaining is not the same as admitting that you have a problem.

Let me introduce you to Carl.

Carl is a Giant Flemish Rabbit. He’s been sharing my office with me since May. He’s adorable. He hops about, he waggles his ears, he eats carrots. He chomps his teeth happily when you pet his ears. He’s a really friendly little guy, and I’m really fond of him.

Carl is litter box trained, for the most part.

There’s a problem or two here. Maybe that “for the most part” tipped you off. I’ve had Carl for a while, and I’d built up a system where I could keep him pretty happy— and where a system of rugs and plastic linings keeps the carpet perfectly clean as well, and everything can be changed out and washed.

The issue is this: whenever Carl goes in his box, the smell gives me a big old headache for a few minutes. If Carl slips up and goes outside of his box, the smell gives me a headache until I can clean out his whole area.

I could mostly cope with this. When I am working at home with a client, I’m always immersed in that and hardly notice anything else. But I would find my head hurting at the end of a long day, and I’d look for excuses to work in the dining room, the living room, or other places.

The Problems With Complaining

I’m just as much of a complainer as anyone else— and more than some.

The problem with complaining, I’m learning, is that it prevents me from solving problems.

Complaining helps relieve some stress for me, but it typically doesn’t make me any happier. And even worse, it puts me in a mindset where I’m not thinking about solving a problem. Instead, I just got to where I didn’t look forward to coming into my office very much because I associated it with having a headache.

The Solution: Think Like a Consultant

One of the things I like best about being a consultant is that my focus is on finding solutions and moving forward.

As a consultant, I need to approach a situation in a way where I’m not thinking about complaints. I need to think about how to move the ball forward and help my client achieve their goals.

Guess what? I can do this in my personal life, as well. I just wasn’t doing that because I liked the idea of having Carl in my office, and I really didn’t want to move him out into the garage. I just needed to think constructively about what I should do and whether or not there were options I hadn’t considered.

How My Office Smells Better

It’s really pretty simple: we have a large laundry room. It even has an easy to clean linoleum floor, which is now covered with one of Carl’s rugs. He has just as much space as he used to have, and a little gate lets everyone visit him and still keep the door open. His litter boxes are even under a little overhang, which he surely loves—- because as far as I can tell, Carl’s top priority is to always have a place to hide from eagles. (Seriously, he hates the sound of birds.)

As for me, I have a roomier office, which feels a lot less cramped. And I have no headache.

So happy new year to everyone, from me and from Carl. And may you all be safe from eagles, too.

Comments { 1 }

SQL PASS 2011: Notes From a Presenter

SQL PASS Summit 2011 was a lot of fun. I reconnected with lots of people and met many more. I attended as many sessions as possible and learned new things. And I presented my first full length session at the SQL PASS conference.

I’ve been on stage at SQL PASS before– last year I gave a chalk talk and a lightning talk. And I’m a seasoned presenter from other events. However, giving a full session at SQLPASS is still something special and unique to me. That’s because I love the SQLPASS Summit as a conference.

How I Learned about the SQL PASS Summit

I first learned about this conference from production DBAs. My team of DBAs all knew about the conference, and it was an honor to get to attend. Each year they would each start bargaining with their management about how many people could go. Each DBA would negotiate not only for him or herself, but also for their peers: they believed that having more people attend made the whole team stronger and more knowledgable.

This year was my third SQL PASS Summit, and it was a great event. Each year I grow along with the conference, but I find there’s always material to challenge me.

What I Learned from Speaking: About the Audience

The audience at the SQLPASS Summit is full of smart people. They know a lot, and they can ask a lot of smart questions.

I prepared heavily for questions. I recommend doing this in three ways:

  • Give your presentation to live audiences at least three times before the Summit, and pay close attention to questions and your timing;
  • Study your slide decks and demos at least twice in the week before you present to make sure you are fresh on them;
  • Re-read product documentation and the basics several days before you present.
This is a lot of work, but with this level of preparation you’ll walk up to the podium ready to take on the world. You’ll always know exactly where you are in your deck and how far you have to go with your talk, and you’ll be comfortable handling anything you get from the audience.
When you are speaking, pause periodically.
  • Check your time occasionally and make sure you’re on track;
  • Remember to smile sometimes — smiling makes you feel more confident and able to enjoy the moment. It also helps convey to the audience that you’re happy to be there and enjoying the presentation. This makes a real difference to the viewer!
These things take time and experience to develop, and I work on them each time I present. I suspect I always will. I view speaking as a skill at which each of us can always improve throughout out lives as our knowledge and experience grow, and as our styles change.

How Was My Session?

My session was great.  I was rocking an insidious cold last week, but my voice held up throughout my talk and I got lots of great questions and comments afterward. People kept eye contact with me while I was speaking, which was great. I was really honored to see tweets like these afterward:

Thanks @drsql and @whimsql! And thanks to everyone in the audience for your questions, comments, and tweets. I look forward to seeing everyone again next year.

Want to Learn More About My Session?

You can. Head on over to http://brentozar.com/go/dates

Comments { 0 }

My site got hacked. And it was kinda fun.

Programmpower.ru said: FU

I recently got a direct message on twitter from the fantastic Karen Lopez (b|t), who let me know my blog was redirecting to another site — a site called ‘programmpower.ru’.

I don’t know about you, but there’s something strange and just icky about that URL.

Karen is super savvy, so she let me know right off that she was only seeing this when using Firefox when she didn’t specify the www. So while ‘http://littlekendra.com’ was up to no good in Firefox, ‘http://www.littlekendra.com’ was standing strong, and other browsers weren’t having the issue.

Where do you start?

It’s been a while since I’ve worked with stuff like this, but it was a fun challenge.

The first thing I wanted to verify was whether or not people were getting to my site at all when the issue occurred. Were they actually getting to http://www.littlekendra.com and then being redirected afterward? Or were they not even getting there?

This was probably my first question because I know from experience that it’s very easy to answer.

I decided to crack open Fiddler, my favorite old http debugging proxy. “Http debugging proxy” may sound pretty fancy, but this is really just a simple, friendly little tool you can open up which will show you everything your internet browser is hitting.

Then I realized that Fiddler only runs on Windows. I was sad, but this is clearly the very definition of a first world problem (nerd edition). A little searching and I found a Firefox add-in called TamperData that’s quick, free, easy, and did the trick on my Mac.

TamperData said: you’re getting to www.littlekendra.com before you get redirected off to the land of evil.

Oh my. I’ve been hacked.

Maybe I’m getting older and wiser. Maybe once you break something enough times you just stop getting upset. (My description of someone who’s an MCM is “someone who’s gotten into trouble, and then had to fix it. A lot.”)  But I didn’t really mind.

These things happen— if you have a website long enough, it’ll probably get hacked. And these things are usually pretty easy to fix with a little searching.

Is it JavaScript?

If the issue was happening after reaching my site and only with one browser, I thought perhaps there was some JavaScript being executed that was only impacting Firefox. Well, that’s easy to check too– just disable JavaScript in Firefox and see if you can reproduce the issue. Thanks, Rob Farley!  (b|t)

I did that, and the issue still happened.

I guess it’s time to ask the internet…

Sure enough, I did a little more searching and I found that I was very likely the victim of an .htaccess hack.

This is a very powerful little file that you can do all sorts of tricks with. And people can play tricks on you with it. The most common hack is to add a bunch of spaces after what looks like the end of the file, and then to put in a bunch of code that redirects traffic— down where you’ll never think to look. Oh, how devious.

But how did it get there?

Before I fixed the issue fully, I wanted to try to make it difficult for it to happen again. It wasn’t a super-emergency (there aren’t THAT MANY of you reading this live– I know you love your RSS feeds), so I spent a little time looking at fixing the root cause before the issue itself.  Normally I’d do the opposite order in a production environment, but it’s my own website so I do what I want!

I checked with my theme provider, and sure enough there’s a recent fix for a vulnerability that can allow this kind of hack to happen– the Woo Themes Timthumb bugfix. In no time at all I got my site updated by following the guide to update the Woo Framework and my theme.

How do you confirm if it’s a .htaccess hack?

You need to take a look at your .htaccess file. You can’t look at this through the WordPress UI in a web browser, you need to either log onto the host (if you’re running your own), or just connect via the magic of FTP.

I fired up my trusty FireFTP add-on, and got to the difficult task of remembering my user name and password for FTP access. This was easily the hardest part of the fix.

After you connect with FTP, save yourself a little frustration by enabling your FTP program to show hidden files. in FireFTP this is under Tools/Options on the General tab.

Then head on down to the root of your website. This can be configured in different ways, but it may be at web/content. Just cruise on around until you find a .htaccess file, which will probably appear to be grayed out because it’s a hidden file.

FTP that file down to a place on your local system and open it to give it a look. Don’t forget that hacks of this file normally put in a bunch of white space, making it look like the file is normal— scroll down to the end of the file. If this is your issue, you should see a bunch of redirects down there.

How’d I fix it?

First, I saved a copy of the file under a different name. Any time you make a change like this, you want to keep a copy if you can just in case things go from bad to worse.

Then I cleared out all the evil redirecty code and saved the file on my local machine.

I then overwrote the file in my root directory with the modified copy.

Presto-chango— after clearing the cache in Firefox, I could no longer reproduce the issue. The whole thing took less time than it took to write this blog post. And strangely, it really was kinda fun!

Don’t forget to back that up

Now’s a good time to export all your WordPress content (Tools -> Export), dontcha think? I think I’ll go change some passwords for fun, too.

Update

It looks like I missed a step! Here’s a handy WordPress.org FAQ: My Site Was Hacked. There’s a sequence you should follow in your cleanup:

  • Change  your passwords;
  • Regenerate Wordpress keys and update them in your wp-config.php file (details on how to do this in the FAQ linked above);
  • Then change your passwords again.
I’m not sure that this has resolved my problem completely. I’m considering planning a time to reinstall cleanly. Since I have everything exported, I have the luxury of waiting a bit to see.
Comments { 1 }

SQLPASS Summit 2011: Meet New People

I’m really excited: I’m on the Orientation Committee for the SQL PASS Summit 2011. This means I have a group of eight people who I can help make the most of the SQL PASS Summit this year. Want to meet new people? If you’re returning the the SQL PASS Summit and would like to volunteer, send [...]

Comments { 1 }

Free Webcast on SQL Server Isolation Levels: (NOLOCK) or YESFUN?

Tomorrow evening I will be presenting for the SQL PASS Application Development chapter. Stop by and say hello! (NOLOCK) or YESFUN? The Right Approach to Transaction Isolation Tuesday, Aug 9, 2011 8:00 PM Eastern / 7 PM Central / 5 PM Pacific AppDev Virtual Chapter Attendee URL: LiveMeeting Link Understanding transaction isolation is critical if [...]

Comments { 0 }

Why You Should Create A Speaker Resume

Speakers and presenters of all types: do you keep a list of past and future speaking engagements online? You should. A speaker resume is an easy tool to grow your career and get better speaking engagements. Conferences care about your speaking history If you submitted a presentation to the SQL PASS Summit this year, you [...]

Comments { 0 }

Free Session: The Mystery of Query Timeouts

I’m giving a webinar tomorrow! (Do people still use the word webinar? Was that just incredibly uncool?) There’s still spots open, so register today. Here’s a drawing from my slide deck and what I’ll be talking about. Note: This is part of Triage Tuesdays, a set of free weekly sessions from Brent Ozar PLF. Look [...]

Comments { 0 }

I’m a Microsoft Certified Master in SQL Server

I don’t typically blog individual links for each of my posts over at BrentOzar.com, but this is a special occasion. I am thrilled to say I am now a Microsoft Certified Master for SQL Server 2008! Read more in my post here.

Comments { 3 }