How do you keep track?

I've had this conversation with multiple people: IT people have ADD.  Or at least if we don't, we sure display the key characteristic.  I don't know if the industry draws this kind of people, or if we become ADD by nature of the work. After all, today alone I've had to deal simultaneously with 2 different timesheets, 2 status reports, a datawarehouse code review, index review, 2 production issues, and a developer request. Plus my own morning meeting, emails from all across the company, texts to my hubby and a friend, writing down article and blog ideas (I'm actually writing this as a brain dump during a troubleshooting session), and keeping up with the database Twitter scene.

I tweeted this today: "Finally found a decent system for remembering what I was doing yest/last week; record daily self updates, w/notes like "see current1.sql"."  And was almost immediately asked for my "system".  I replied, in Tweetspeak, that I keep I keep a time log, to do list, and list of Done items in a Word document.  I keep one Word document per day (today's is named 20090921_M.docx).   EVERY time someone asks for something, I change direction, or I complete something (even if it's firing off an important email), I'll put it in the time log or done. Today's looks like this so far:

Time Summary:

  • 8:15 arrive, email
  • Looked @ missing indexes email
  • 9:30 meeting, status updates…
  • 10:00 ATN – friggin release notes document…..
  • 10:30 BL issue – see if you can recreate locally

And done says:

  1. Statuses and timesheets.
  2. Altered [GetProcDetails] procedure at Paul's request; use params ToStation and FromStation instead of Station. More IF/THENs, as you can either have parameter or (tostation and/or from station). Documented there. It's in dev now.
  3. Trying to nail down the damn duplicate local config, eating up my whole day.

Every Friday (or the following Monday, if I'm crunched), I copy the time and done lists into a summary page, and edit it down for public consumption.  I also keep Outlook reminders for meetings and long term (or important) due dates.

I've tried keeping up with things through Outlook tasks, OneNote, all that jazz…for some reason, MS Word just feels like home to me.

Everything I've ever read about keeping organized eventually boils down to, you have to have a system that works for you. One friend has a blank notebook, and she writes in dates (like a dayrunner) and puts everything in there.  One manager here seems to keep almost all her thoughts on post-it notes.

I even have a different system for personal stuff (phone and Outlook calendars) than for work, because I don't sit down at my computer at home every day and open up Word.

So how about you? Do you have a decent system for keeping your ADD under control?

Code Sins: Sardines, sardines, sardines!

Who here has seen the movie "Noises Off"?  Show of hands….oh dear, you're missing out.  The movie is about a theater troupe doing a play, but interpersonal relations break down as they tour the country, and the play gets worse and worse with every show. It's bloody hilarious. One scene focuses around a plate of sardines that keeps disappearing, so the main character (Mrs. Clackett) has to keep making MORE sardines. 

About 3/4 of the way through the movie, the play's gotten so bad – people are missing entrances and cues all over – that the sardines are sitting on the couch when they're supposed to be missing.  The poor woman playing Mrs. Clackett says, "I've lost the sardines again!" [She sees them. She ad libs.] "No I haven't, I haven't forgotten the sardines.  Well I'll just go make some more sardines to celebrate…"

I do have a point.  Bet you can't wait to hear it, right?

Don't go get data that you already have.  Our example today is thus: A set of three tables, each a child of the next.  So the Seat table has a foreign key to (and is a child of) the Room table, and the Room table has a FK to the Theater table. Seat -> Room -> Theater.

SELECT SeatID
FROM Seat
INNER JOIN Room ON Room.RoomID = Seat.RoomID
INNER JOIN Theater ON Room.TheaterID = Theater.TheaterID
WHERE Theater.TheaterID = @TheaterID

I expect you can see the problem here.  We want to ultimately limit our result set based on the variable @TheaterID, yes.  But we don't have to go all the way to the Theater table to do that! TheaterID is stored in the Room table.  Let's save ourselves a few hundred logical reads, my friends, and do this instead:

SELECT SeatID
FROM Seat
INNER JOIN Room ON Room.RoomID = Seat.RoomID
WHERE Room.TheaterID = @TheaterID

Now isn't that nice?  Let's all have a plate of…SARDINES!

 

 

Free Stuff Friday! Again!

I love the smell of free stuff in the morning…smells like internet.

  • FREE training at upcoming SQL Saturdays! Redmond is October 3, Gainesville GA is October 10. Check the SQL Saturday site for East Iowa, Orlando, and Louisville, all in October.

  • I just saw this link in a SQLServerCentral email this morning: Download your free "How to Become an Exceptional DBA (2nd ed.)" eBook and a trial of SQL Backup for smaller, faster, more robust SQL Server backups.
  • Head First Labs, from OReilly Media, has a bunch of books with free sample chapters available. I have a couple of these books, and I really like the format.
  • MS has several free chapters available on Windows 7. 

Fun stuff (call it free entertainment):

  • Pictures (front, sleeve) of our new MidnightDBA tshirt mockups. No, the shirts won't be free (maybe we'll do a couple giveaways?) but the pix are.  When we get this going, the shirts will be not for profit – we'll either sell them at cost or slightly above & donate proceeds to charity.  Shoot us an email or a comment if you're interested…top ideas are this BEGIN TRAN/COMMIT TRAN shirt, one that says "There are TOO stupid questions", and a couple others…
  • Funniest thing I read this week (Michaels' response).
  • Why didn’t I know this: Legislation passed in 2007 requires all companies selling computers in Texas to offer free recycling for old computer equipment. Find a list of participating retailers here or here.
  • Best quote from a blog: "…hard to get in trouble being conservative so when in doubt, lean tight right like a southern Baptist GOP senator in the closet." – Jason Massie

Happy days,

-Jen McCown, http://www.MidnightDBA.com