About Kendra Little

Archive by Author

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.

It's OK to be yourself. Even if you're this guy.

Want to meet new people?

If you’re returning the the SQL PASS Summit and would like to volunteer, send an email to OC_DL@sqlpass.org.

If you’re new to the SQL PASS Summit and you’d like a jump start on learning how to make the most of the conference and an opportunity to meet new people right away, drop a line to newcomer@sqlpass.org.

Know what? If it’s your second or third Summit, but you’ve mostly stuck to just going to sessions and you’re not sure how to branch out and meet new people— go ahead and email newcomer@sqlpass.org. This is all about helping people make the most of the conference, it’s not just helping people find the convention center.

How can you support the orientation committee?

If you don’t have time to volunteer, you can still help out. Share a story with me about how you found ways to break the ice and meet new people.

I’m going to do an online edition of orientation

I plan to blog here and follow along with the process. I won’t include every communication I send to my orientation team, but I’ll blog about what topics we’re talking about, what tools are available, and options for getting in on cool events.

In the spirit of getting started, here’s the first email I sent out to my team:

Hello!

I’m emailing you because you’re attending the SQL PASS Summit this year (hooray!) and you signed up for orientation for first-time attendees.

At least, I think you signed up. If there’s been some sort of confusion and you’re not interested in getting oriented for whatever reason (anything from “I meant to register for a sock convention” to “I just thought there’d be free food, I don’t want to read email*”), just let me know and I can unsubscribe you from my newsletter. No worries at all.

A Bit About Me
I’m Kendra Little and this will be my third SQL PASS Summit. I lived in Seattle for five years, so I mostly know my way around town– although I usually check a map to keep from getting lost. I’m a Microsoft Certified Master in SQL Server, a DBA and database developer of many years, a giant rabbit owner, and I love to draw. I’ll be a presenter at this year’s Summit (yahoo, Community Choice!) and I’ll also be attending sessions, catching up with old friends, and meeting new people. It’s going to be a really great time: it always is.

How can you get started?
You’ve done the perfect thing right off by joining orientation— this is a great way to start breaking the ice and meeting new people at the conference. Even if you already know lots of people in the SQL Server community, meeting new people can’t be beat. Great conversations make the best memories, and they also can produce the biggest results back at work.

Here’s what you can do now…

1) Respond and let me know if it’s OK to share your name and email address with this group. There are eight of you and one of me, so it’s a small group, but don’t feel pressured if you want to keep your info on the BCC. I’m not here to judge.

2) Send a quick biography for yourself. This doesn’t have to be anything fancy– just a couple of lines about what you’re looking forward to and where you’re from. You can include whether or not you’ve been to Seattle before. Bonus point: if it’s OK to share this with the group, let me know— that’d be fantastic.

3) Check out my Seattle 101 information to help with any questions about how to get downtown from the airport, where to get coffee, or good places to eat.

4) Send me any questions you have about the Summit, burning or otherwise. I should be able to either answer your question or help you find someone who can.

What can we do before the Summit?
My goal is to help answer your questions and help you plan your Summit experience. I’ll provide links and information to Summit events and planning tools and share which have been helpful for me.

Once we’re at the Summit, you can always come to me to help you figure something out. I’d also love to hear how your experience is going while you’re there.

Don’t have time to respond?
It’s OK. We’re all busy. I’ll be sending mails out prior to the conference and blogging and tweeting. Feel free to play along at home at whatever rate makes sense to you— you’re welcome at orientation even if you don’t have time to get connected before the conference.

Kendra

* There may or may not be free food– we’re going to have to wait and see. I *can* tell you how to score an upgraded breakfast, if nothing else.

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

NOLOCK or YESFUN?

AppDev Virtual Chapter
Attendee URL: LiveMeeting Link

Understanding transaction isolation is critical if you want to write highly concurrent software, administer databases like a pro, and impress your neighbors. We’ll discuss the benefits and problems of each isolation level in SQL Server. We’ll talk about practical changes you can make to provide the right level of concurrency for your users. We’ll focus on how to identify applications which are good candidates for optimistic locking, and how to plan, execute, and monitor changes in your default isolation level. A poster will be available for download to keep your knowledge fresh after the session.

Comments { 0 }

Be My Date Next Tuesday, March 15 at 24 Hours of PASS

SQL Server Pickup Lines Not Included

Next week the Professional Association for SQL Server will be providing 24 hours of free, online training on SQL Server.

Come get your learn on.

Register Now!

My talk will be next Tuesday, March 15 at 10 AM Pacific / 1 PM Eastern / 5 PM GMT.

It is Session 06: No More Bad Dates: Using Temporal Data Wisely.

Register for sessions here. There are many great sessions on Tuesday and Wednesday– pick what fits you, and you’ll receive a calendar invite with a link to the LiveMeeting for each one. (Timezones are listed in GMT, which can be confusing for the people of North America, particularly since Daylight Savings is coming to some of us this weekend. The calendar invites will help, I promise!)

My session is on best practices for choosing date and time types in schema, with lots of tips for writing queries working with dates and times.

Why are Dates Interesting? How Will This Talk Help YOU?

I love the talk I’m giving on dates and times because I get to cut across different areas– I get to talk about data types, choices in schema design, and how to write T-SQL. I also get to talk about little-known features of SQL Server, and give lots of tips and tricks along the way.

Working on this presentation has been a really fun journey. It began when I noticed in Books Online that the datetime data type is officially no longer recommended for new development– and this has been the case for three years!

This is rarely discussed and, except for DATE, the new types are rarely used. So I began to ask the question: is it ever worth converting existing schemas to the new types? Is there any reason to still use older types, such as SMALLDATETIME? What do you sacrifice if you don’t use the new DATETIME2 type, and are there any issues if you start using it? What are the most common, but least known problems when working with dates?

Dates aren’t as Simple As We Think. I’ve got Answers, and Practical Advice.

It’s fun to give practical, useful advice. I recently gave this talk at SQL Saturday #65 in Vancouver, BC, and had a great audience. I asked them to share with me whether they learned anything new, or were surprised by what I covered.

I heard back from more than ten people in the audience in person or by email, and all but one said they learned something new. Everyone had worked with date and time types before. They were also great at letting me know which topics could use a little more detail and clarity.

Most people commented that they were surprised by the talk, and that things are trickier than they’d understood.

Comments { 1 }