May 28th, 2010
No Comments
One of the things I’ve mentioned a time or two on this blog is the books I’m reading, or plan to read next. I love books. I always have. I love the way a good author can take you out of your life and drop you into another place where you can live the story as it unfolds around you. That doesn’t sound much like the kind of books I’ve mentioned here does it? No. I seem to read very few ‘pleasure’ books now. My bookshelf is loaded with SQL and .net books, but not so much with fun books.
I accept this as a necessity. If I want to be the best at what I do, I need to constantly push to learn more, understand more … be more? I don’t know. I know I miss those times when I could open a new Stephen King book and then hardly put it down for the 3 or 4 days it takes me to finish it. I read a couple chapters from one of my SQL books (every night), but it’s just not the same.
Do you read for pleasure? What was the last non-technical book you read? Please leave a comment.
May 27th, 2010
No Comments
Last weekend was SQL Saturday 35, the first SQL Saturday in the Dallas area. It was also my debut as a SQL Saturday speaker. I had a great time. I presented a session on using templates in integration services. I’d say it went ok. Not great. I wanted it to be great, but I just didn’t have enough practice time in to push myself much past ok. I’ve learned my lesson.
The rest of the event was an amazing experience. I was blown away by the number of sessions offered and the range of topics covered. I think my favorite session of the day was Bryan Smith talking about mdx. It was the last session of the day, I’d only slept 2 hours the night before, I was exhausted and mdx is not the most exciting topic in the tech world. Despite all that, I was completely blown away by the session. He was energetic; enthusiastic … most of all you could tell he was having fun.
As I prep for my next SQL Saturday presentation (next week in Pensacola) I try to keep that in mind. If I’m prepared (I will be) and I’m having fun with it, everything else will work itself out.
May 12th, 2010
No Comments
Datachix just put up a great post on her blog, and it inspired me share my thoughts on the subject. The thing that grabbed me was how she described the urge to give up her life of air-conditioned cubicles and go do something useful.
Wow. I can relate. My story is a little backwards, but stick with me. My first career was in EMS. I worked for a small town ambulance service. I was 16 when I started. My friends were going to prom, I was reading the journal of emergency medicine in a fire barn waiting for the call. I was full of the importance of what I was doing. I was helping my friends and neighbors in the most meaningful way I knew how. I was king of the world.
That lasted for about eight years before I burned out. I had made my way to Texas by then. I was 1 four hour clinical rotation from finishing my Paramedic training and qualifying to take the tests to be licensed to work as a Paramedic. I was in a fire barn, waiting for a call. To kill time I was chatting with a dispatcher. She was having some problems with the system that they used to monitor our calls. I suggested a couple troubleshooting steps she might try and soon we were up to our elbows in hardware and technical manuals. Then the call came. I was faced with the truth that I’d rather stay and fix the computer than go on another call. I went on the call, but looking back now I see that it was the end of my career as a paramedic and the beginning of my life as a developer.
I started out doing tech support. I found that troubleshooting skills learned in the ambulance served me well in this new world. I learned that there are a lot of ways to help people. At one point in my life I would have been offended at the thought that a guy fixing a computer could feel he was helping people in the same way I did in the back of an ambulance. I guess as I got a little older I realized that helping people doesn’t require a crisis. In fact, helping people avoid crisis is kind of cool. Not life and death, but pretty cool.
That’s why I love what I do. I see business intelligence as my way of helping people better understand the environment they work in. It’s not as sexy as the lights and sirens of the ambulance, but damned if I don’t get that same rush when I can see the work I do make it easier for someone else to do the work they do.
I know I’m not the only developer with a background in EMS. I think its a natural progression. I enjoyed helping people and problem solving then, I enjoy it now. Very cool.
May 12th, 2010
No Comments
A code smell should be a warning. It points to a problem that you might have in the future. By itself, whatever caused the code smell might be innocent enough, but the longer you wait the worse it’s gonna get. Like that leftovers in the back of your fridge, you can only avoid the problem for so long.
A code smell I find in a lot of SSIS packages is overuse of the Execute SQL task. It’s so tempting. Just drop back to SQL, write a stored procedure and fire it from the Execute SQL task. Easy Peasy. I personally try to limit my use of this task. It’s the grinder of sea salt in my pantry of ingredients. It grinds out nice big chunks of seasoning that make dinner that much tastier. The problem is, go nuts with the salt and you’ll regret it.
In many cases the things that are being done by the stored procedure on the other side of an Execute SQL task can be done in the data flow task, in memory. I like staying in memory.
If you need to drop in a few Execute SQL tasks to kick off processes or run UPDATE queries, go for it. I’d rather see an Execute SQL task used to run an UPDATE query in place of an OLE DB command any day *.
Important note: If you’re going to use an Execute SQL task, make sure the stored procedure you call includes a RAISERROR command in it’s catch block. If you don’t, your stored procedure could fail silently. The RAISERROR tells your SSIS package that the stored procedure failed. I usually use a variation of this: RAISERROR (‘Description of Error’, 16, 1). You DO write TRY/CATCH blocks in all your stored procedures right?
* Devin Knight has a great blog post showing why an Execute SQL task is better than the OLE DB Command for UPDATE queries.
May 11th, 2010
No Comments
I’ve been wanting a tablet type computer for a long, long time. I was so close to buying the iPad. My mind was set. I’d worked a ton of overtime to pay for it, done a few good deeds to justify it … I was ready. Then my wife pointed out that it’s very unlike me to buy a first generation device. It’s even more unusual for me to want an Apple product. I’ve always admired the design of Apple computers, but I generally put practicality above design. I guess that’s code for I’m just to damn cheap to buy Apple. Apple stuff is so expensive. The iPad is way too locked down. It just feels wrong. I’ve read a phrase in many reviews that struck home. Screws, not glue. If you can’t open it, you don’t own it. I don’t want to rent an iPad. I want to own it.
So. No iPad for me. Before the iPad splashed onto the scene I had convinced myself I wanted the Adam from Notion Ink. This looks like an amazing device. It’s got everything I would want. The right form factor, weight, an amazing screen, usb inputs, and memory card slots. Best of all, it runs Android. I’m a big fan of Android. So what’s the problem with the Adam? I hope I’m wrong, but I strongly suspect it’s pure vapor. If they release a device for sale that lives up to the specs they’ve posted I’ll buy it, but I’m pretty sure that will never happen.
Where does that leave me? Google. Google is my last hope. Rumor has it Google is preparing to offer a tablet device. Of course there aren’t any specs yet, but I’m pretty confident that if they do release a tablet it will be the one. I’m a huge Google fan. If anyone can make the tablet I’ve been waiting for it’s Google. I just wish they would hurry up.
May 4th, 2010
No Comments
It’s shaping up to be a busy summer! I’ll be speaking at 3 SQL Saturday events this summer. On May 22 (2010) I’ll give a presentation on custom templates in SQL Server Integration Services for SQL Saturday #35 in Dallas Texas, on June 5th (2010) I’ll give a talk on version control for the SQL developer at SQL Saturday # 22 in Pensacola Florida and then I’ll give the same presentation for SQL Saturday #28 in Baton Rouge Louisiana on August 14 (2010).
To prepare for these presentations I’ve read a couple great books. “Confessions of a public speaker” by Scott Berkun and “Presentation Zen” by Garr Reynolds. I’ve also studied, practiced, and generally obsessed over my material for about a hundred hours. I doubt I’ll ever feel ready.
May 4th, 2010
No Comments
I’ve been reading a lot lately. There was a time that I worried my reading habits were working against me. I (like many techie’s) sort of jump around a lot when I read. I’ll deep dive on a subject and read 3 or 4 books about it, but won’t necessarily
read each book cover to cover. I’ll return to the same book again and again and each time pick up some new bit that I missed the first time. In the last month I’ve read “Data Modeling Made Simple: A Practical Guide for Business and IT Professionals, 2nd Edition”, “Microsoft SQL Server Reporting Services Recipes: for Designing Expert Reports” , “Tribes: We Need You to Lead Us” and the first half of “Linchpin”. I guess my point is, I’ve jumped around a bit from subject to subject. I’ve decided rather than fight it I’ll just accept that this is the way I learn. Moving on.
Today I’m revisiting SQL Server 2008 Analysis Services Step By Step. This is a good book. I know a lot of devs don’t think much of the step by step books, but I like this one. I’ve worked through it cover to cover a couple times already. I plan on working through it again over the course of the next month or so. At the end of it I hope to be ready to move on to “Expert Cube Development with Microsoft SQL Server 2008 Analysis Services”. Expert Cube Development is a book I’ve been wanting to dive into for a while now. My problem is that I don’t work with cubes on a daily basis and I want to get as much out of the next book as I can. That means going back to square one and making sure I’m cool on the basics. No problem, it’s the way I learn. It’s the way I work. Get the fundamentals lined up and the rest will follow. When was the last time YOU reviewed something you think you know? I’ll bet if you take it seriously you’ll be surprised at how much you have to learn about the things you think you’ve mastered.
May 3rd, 2010
No Comments
There is one thing about my job that stinks. At some point every day, I wonder if today is my last day. I wonder if I’ll be fired, let go, downsized or if my contract will just suddenly end.
Now, that’s not to say that I’m bad at my job. The fact is that when you take a contract job you take for granted that it could end at any moment. Some places have more experience with contractors than others. Those companies with experience working with contractors have experience in budgeting and estimating projects (hopefully) and they know what they’re getting into when they bring in outside help. Other companies … not so much. I’ve been places on jobs where the job just disappeared overnight. You come in one day and your stuff is in a box and that’s that. Usually this is because they (your former employers) ran out of money to fund your project. Unfortunately, many times they don’t know they’ve run out of money until a couple weeks after the money is gone. By the time they figure out how much trouble they’re in, they can’t push the eject button fast enough. It happens. It sucks.
I’ve been on a job now for a couple months. It’s hard to read the lay of the land here. It’s hard to tell if there is more work in the pipeline or if I’m almost done. Every day I do my best, every day I’m worried it will be my last.
Some of my friends with full time jobs think its cool the places I go and the jobs I get as a contractor. I wanted to put this up so they will know there is a down side. Fortunately it’s not all doom and gloom. There are a lot of cool things about being a contractor. I’ll cover some of those things in future posts.
Do you know where your job will be tomorrow? Are you sure?
April 30th, 2010
1 Comment
Focus. Must focus on work, on home, on the kids, my wife, my friends … Do I really need 150 rss feeds getting between me and what’s important? Nope. So today I did something about that. I pruned down from 150 to 15 rss feeds.
He’re what’s left:
BoagWorld: a great podcast on technology and web design.
Brent Ozar - SQL Server DBA: a great blog. Mostly SQL content, but some great nuggets on how to write a good blog from time to time.
Chris Koenig: My local Microsoft DE and a friend.
Cool Tools: an odd assortment of stuff, some crap, some VERY cool.
Dilbert.com Blog: This one is in my all time top 3 must have rss feeds. Very thought provoking stuff.
Freewaregenius.com: The name says it all. Great source for new freeware with good reviews and screenshots.
Gizmodo: The best tech blog out there. If it’s important, I’ll see it here first.
Lifehacker: My number one favorite RSS feed. All sorts of gems in this one.
Scott Berkun: This guy is great. I love his writing, very motivational.
Seth’s blog: Seth Godin. brilliant.
DotNetSurfers: Latish Sehgal, the sharpest .net guy in DFW.
SQLServerPedia: All the best sql blogging content in one place.
WWdN: In Exile: Who doesn’t love Wil Wheaton?
xkcd.com: brilliant.
Zen Habits: I don’t always agree, but I love the way this guy thinks.
April 30th, 2010
No Comments
No more abc. In the first chapter Seth Godin introduces the concept of abc (attendance based compensation). He uses this term in the context of factory or office workers that feel they are paid just to show up. I’ve had jobs like that. I’ve also had jobs where I was the Linchpin. I prefer the later. As I work through this book I’m making an effort to define my goals.
I spend a lot of time training. I’ve done OK with that training, but in all honesty I would have to say I’ve been lucky. Very lucky. I think of luck as the intersection of preparation and opportunity. Now it’s time for me to take a more active role in driving myself forward. driving myself, not my career. My career is a part of me, but to get where I want to go I need to focus on more than my career. So do you.