T-SQL Tuesdays–Resolutions

There’s a new meme going around the SQL Server blogosphere called T-SQL Tuesdays. A bunch of SQL Bloggers all post about the same SQL related topic on the same day. Back at the beginning of January fellow MVP Jen McGown (blog | twitter) wrote a blog post about resolutions for the new year. Granted I’m way too late to be included in that round of SQL Server related Tuesdays, but thought it was a great idea and wanted to put up my resolutions. Since it’s February it’s a little late for new years, maybe we can call them Ground Hogs’ day resolutions?

Produce more variety – I’ve been doing a lot of content for Pluralsight, I want to continue putting out good content for them, but want to put out other content as well. I want to try and blog more, and hope to self publish a few books on the Kindle platform.

Consume more – As much as I love to produce content, I recognize that I need to do a better job of consuming more. My Kindle has been a big help with that, having a huge library available all the time has made it easy to switch between the subjects I want or need to learn about.

Balance my consumption – While I love technical books, I realize to be a true professional I need a good balance. I’ve started reading a lot of what I call “professional” books. Books that give me insights into things like business, community, time management, and teamwork.

Better balance of family life – Let’s face it, us really aggressive type A folks work a lot. When we’re not doing our 9 to 5 job we’re producing content like blog posts, books, videos, or are off at some user group meeting or weekend event presenting. This has a definite impact on the family. While my family is incredibly understanding, we still miss each other. So I’m working on some creative solutions to this issue.

Get my next certification – Last year I earned my MCTS for SQL Server 2008 Business Intelligence. This year my goal is to advance that and earn my MCITP also in SQL Server BI.

More Beta work – The CTP for the next version of SQL Server is now out. I want to spend more time working with it so when the final version is ready I’ll be well up to speed, plus better able to share the new features with the community.

I suppose this list is identical to the list of many people. but if I put it in writing I’ll be able to both measure it and hold myself accountable.

Advertisement

WordCamp Birmingham 2009 – Freedom of Speech

Over the weekend I attended WordCamp Birmingham 2009. For those of you who don’t know, WordCamp is a code camp for WordPress users and developers. WordPress is a very popular open source blogging engine. Users can download the WordPress engine from http://wordpress.org/, then customize it to their needs.

WordPress can do some pretty amazing things, many of the developers there specialize in customizing WordPress to individual corporate needs, and transforming WordPress to a full Content Management System (CMS).

In addition to being an open source engine, it’s sister sight, http://wordpress.com, is a hosting site. Through it you can create your own blog, for free. You can customize your blog from a variety of base templates, then add further custom tweaks through the various widgets and plug-ins offered by the WordPress.com folks. For minimal fees you can add a custom domain name, and extend the amount of space you have available.

That’s what I’ve done with this blog. Arcane Code is hosted on WordPress.com, and I pay the small fee (about 15 dollars US per year) to have the http://arcanecode.com URL. You may ask “gee Robert, you’re a smart guy, why let them host and not get the software from the .org site and host yourself?” You’re right, I am a smart guy! 😉 Seriously, I could host the engine myself, but to be honest I would rather spend my time writing blog posts than worrying about upgrading my blog software to the current version. I let the nice folks at wordpress.com take care of those headaches for me.

Of course there are a few restrictions with the .com site that I would not have with the .org software and self hosting. The biggest is no advertising, I can’t sell ads on the blog while it’s on the .com site. I’m also limited on templates and customizations, I have to use the built in .com templates, with the .org software the sky is the limit to what I want to do. For not having to deal with the headaches of managing my blog engine though, these are trade off’s I’m willing to make. One day in the future I may change my mind, but for now I’m quite happy.

But enough about the blogging software, let’s talk about WordCamp. For my .Net developer buddies or fellow SQL geeks, WordCamp is just like any code camp or SQL Saturday you’ve been to. Speakers are organized into one or more tracks. Most of the speakers are from the local community or surrounding region, with a few big wigs thrown in for good measure.

This year Innovation Depot hosted the Saturday tracks, one for developers and the other for bloggers. The blogger track was aimed at new users or folks who simply wanted to work with social media, and leave the technical considerations to others. The developer track was for the geeks who liked to customize and develop widgets and plug ins for use with WordPress. Lunch was some great BBQ, fitting for a true southern event.

The Sunday event took place at Shift Workspace, which is a facility where you can rent space to work in for under $50 US a month. Tables, comfortable chairs, coffee and soda, and all the wi-fi you can eat. It’s a nice place, and the format was very open. On the first floor small groups gathered to discuss and debate topics around the software. The second floor was the experts area, I saw many groups of two huddled around laptops, getting and giving advice on particular issues folks were having.

The highlight of the event was Matt Mullenweg’s lunchtime keynote on Saturday. Matt is the original creator of WordPress, it was his idea and his guidance that made it successful. In addition Matt also founded a company to host WordPress.com and provide extra services for advanced users. In addition to being a good businessman Matt is also a great speaker, his lunch time presentation was both informative and humorous.

Also in attendance was Dougal Campbell. Dougal was one of the original group of developers of WordPress. He and Matt have been working together on the open source software since 2003. Oddly enough this event was something of a historic occasion for them, even though they have been e-mailing and phone calling with each other since 2003, this weekend was the first time Matt and Dougal had actually met face to face! In the interest of full disclosure I should add that Dougal is my brother-in-law, he is married to my kid sister. But I won’t hold that against him.

The closing keynote on Saturday was from an Iranian Bahrainian blogger. In the interest of protecting their security I won’t say too much, but it was a very moving presentation that reminded us all of how great a privilege freedom of speech is. One Iranian blogger has already died in jail, and another Egyptian blogger is currently in jail right now for doing nothing more than speaking his opinions through his blog. 

I have to give the organizers high marks, the event was run well, lunch arrived on time, and plenty of it. There was a big crowd, I heard about 165 registered, and I think just about every one of them made it from the crowds I saw. We had such a good response the organizers even spoke about the possibility of creating a WordPress user group of sorts, and having smaller events either on a monthly or quarterly basis.

This was a really fun event. I saw some friends (and relatives if you count Dougal) and met a lot of new people. I talked to folks from Nashville TN, Charlotte NC, Atlanta GA, and one lady from New Jersey. I also heard about one person coming in from Arkansas and another from Texas. I also came away with some great ideas around social networking, and using various forms of multimedia to enhance information and knowledge transfer in the work place. I spoke to a lawyer who specializes in discovery and got into an interesting discussion about data mining of unstructured data. I also have an idea that might be relevant for a presentation next year. Finally I am struck with the notion of taking WordPress and making it a dashboard for a SQL Server Business Intelligence solution. Hmmm…..

All in all it was a great WordCamp, and I’m looking forward to the 2010 event.

Welcome to COMFRAME

I admit to being remiss lately, my poor blog has been neglected for these past few weeks. I can only plead mea culpa and explain.

A few weeks ago I had an opportunity placed before me that I simply could not refuse. I’d been happy at my old job and wasn’t looking, but a good friend of mine works for a great company called COMFRAME. They are a consulting firm that does a variety of things, including Enterprise Project Management, .Net and Java development projects, SOA, and most important to me, Business Intelligence.

To make a long story short my friend took a lesson from the Godfather movies and “made me an offer I couldn’t refuse”. I am now a COMFRAME employee! The work is very exciting, I’ll be an architect on a BI project that is using Silverlight 3 for it’s front end. We are working with data from Microsoft Project, not only that but it’s the world’s biggest implementation of Project Server, so I’ll get to work with the fine folks at Microsoft even more closely. We’re also a Microsoft Partner, which will give me new avenues for relationships that will compliment my MVP.

I got to meet the customer this week, although brief they seemed very easy to work with, and nice as well. I also got to meet the development team I’ll be working with, I’m impressed with the work they’ve done so far and can’t wait to roll up my sleeves and dive in.

I’ve had a crazy time wrapping up my old job and starting my new one, hopefully I can get back to regular blogging soon. I’ve been doing a lot with SSIS and SSAS which will give me lots of good material to talk about, not to mention any Silverlight 3 work I get to explore.

Why Celebrities on Twitter is a Good Thing

Recently there has been a flood of celebrities on Twitter. Many in the tech industry have begun the “end of Twitter” cry already. True, the influx of some air headed bleach blond celebrities that use Twitter to advertise their shallow lives to an equally air headed fan base adds little to the universal intelligence quotient. Remember though that the population of Celebs reflects the population in general. Many are very bright, creative, and intelligent.

Over the weekend I was watching an episode of Tekzilla where Veronica was interviewing Levar Burton. (@levarburton on Twitter). Levar showed himself to be very intelligent, and open to new ideas. He is exploring various internet tools, such as Twitter, as a medium to connect with others and, more importantly expand his art. As he connects with people in the technology area he is going to start asking questions. “How do I…”, “I want to…”, “What can I use to…”

It is this questioning, this exploration that I believe will setup a new synergy between people in the creative arts and the developers of technology. As creative folks like Levar seek new tools, it will spur developers to make them. The geek community will then find new ways to use these tools for other things, such as business, social websites, etc and everyone benefits. This is why rather than join the chorus of doomsayers, I instead welcome them to the “interwebs” as together we seek new opportunities in the technology world.

The Diplomacy of Social Networking

I’m going a bit off my normal track of technical blogging to get involved in the world of international politics. One of my Twitter friends, @C_Collins, pointed me to a posting on the American Foreign Policy Council’s website where someone was taking a state department employee, specifically the Deputy Assistant Secretary for Public Diplomacy one Colleen Graffy, to task for her use of Twitter. The original poster was apparently worried that somehow someone might mistake her posting as @Colleen_Graffy and confuse that for official state department communications, and was taking her to task for it.

I posted a reply, which for some reason has not yet made it to the site. I will assume with this being the holiday season no one is checking in to moderate posts. My own blog however is under no such restrictions, so rather than delaying any further I will first direct you to the original site here, http://zi.ma/diplomacy. Go ahead, go read it and the comments so far, I’ll wait.

Back now? Great, here’s my reply to Ilan, the blogger:

Ilan,

I can appreciate your concern over the lack of clarity in message from the state department. To add to the confusion when there is a change in administrations there is a shift in message. In addition, I’ve always thought the state department was doing it wrong. Their communications always seemed targeted towards either the heads of state, or toward a mass audience.

Perhaps then, having personal communications eclipse official ones is exactly what SHOULD be happening. True ideals, such as democracy and personal freedom spread best one person at a time. The internet, for all it’s warts, has done one miraculous thing, it gives all of us an equal voice through which we can connect with others.

Through my blog I reach thousands of people on a daily basis (I average about 2,500 hits a day). Through my twitter account (@arcanecode) I converse with people all over the globe each day. Many of these people I consider good friends, even though some I may never meet in person (but hope to). Quite an accomplishment from my old laptop, sitting here on my back deck in sunny Alabama.

I firmly believe it is the fear of these personal communications that causes other countries to try and block the internet. It’s easy to spread a message of hate when that hate is directed against an amorphous blob like ‘those dirty Americans’ or ‘those evil westerners’. It’s extremely hard though, when there are personal relationships built between individuals.

I am not so much of an idealist not to realize there are some people in this world who are haters, and would love to eradicate others. They need dealing with in strong terms. But there are an awful lot of “average joes” in those same areas who hate because they are taught to believe in hate, and have no information to disbelieve what they are taught. Thats where the internet comes in, as a tool to bring information to everyone.

Perhaps I am just a hopeless romantic geek, but if the world is going to become a better place in the long run it’s not going to be through state diplomacy but through personal diplomacy, one person at a time.

Robert (Arcane Code)

There you go, feel free to leave your own thoughts below.

My Dev Kit

There’s a new meme of sorts on the web, folks talking about the tools they use to develop with. I first saw it on Shawn Wildermuth’s blog. Shawn’s a great guy, he co-wrote most of those .Net MCTS/MCPD study guides from MS Press, and does a lot of training on Silverlight. So I thought I would keep the meme alive and talk about my own tools.

Hardware

I do a lot on the road, so a laptop is essential. Mine’s getting up there in age, it’s an HP Pavillion dv8000. 2 gig ram, two internal 160 gig hard disks, 17 inch wide screen, single core 64 bit processor. It’s OK, but will hopefully get replaced next year with something with more cores and horsepower. I don’t care much for the keyboard, so I bought an external keyboard from Lenovo. It’s got a trackpoint so I don’t have to take my hands off the keyboard very often, and I use it with both my laptop and the Dell that work supplies me.

At home I use a larger wireless Microsoft mouse, on the road I use one of the smaller Microsoft travel mice. Also in my hardware list is an external Seagate 1TB drive. It hooks up via either firewire or USB, which is nice when my USB ports are all full.

Also in my list is my Zune. Yes my Zune. Cubical farms can get noisy at times, some good tunes on my Zune really help me to zone out and ignore my surroundings, focusing on my code. It’s also nice on my commute or daily walk, I listen to podcasts to keep up my technical knowledge. At night I hook it to my TV via my X-Box 360 to watch video podcasts, or sometimes I lay in bed before going to sleep and watch.

My final piece of hardware is my iPaq, it helps keep my appointments in line and my contacts, plus I have lots of e-books loaded on it for reading. I also used to use it for podcasts prior to getting my Zune.

Operating System and Dev Tools

My laptop currently runs 32 bit Vista Ultimate with Service Pack 1. Since it maxes out at 2 gig, and some 64 bit drivers were not available when Vista first arrived, I saw no benefit to 64 bit and took the path of least resistance. I have quite a few virtual machines in a variety of OS (Server 2008, 2003, XP, Vista, and Ubuntu) for testing, development, and running Beta versions of programs. For a web browser, I bounce back and forth between FireFox and IE7. For a while I was using FF most of the time, but IE7 was a big improvement over 6, and I’m now using them about 50/50. I suspect when IE8 comes out I may be using it more, but will have to see.

Like Shawn I also use Outlook 2007 for my e-mail client. It’s so much easier to organize my mail in Outlook than the g-mail host. But I also use the other features, such as the calendar and task list to help manage my life. I also use the rest of the Office suite for my daily tasks.

I use SnagIt for grabbing still screen captures, awesome tool, and Camtasia for video screen captures. I’m working on several video tutorials now, which is fun but time consuming (which also explains while my blog posts have been off of late). I use Paint.Net for basic photo / image editing. For creating my blog posts, I write them originally in Word 2007, then use Windows Live Writer to post them to my blog.

For quick access to my daily programs, I use one of two things. I really like Bayden Systems SlickRun. I also create a shortcut menu using a technique I blogged about in February.

Developer Tools

As you might expect I use both SQL Server Management Studio and Visual Studio 2008 Team System for day to day development. My top add-ins are Red-Gates SQL Prompt bundle for SSMS and CodeRush for Visual Studio. For a text editor, I absolutely love UltraEdit. Since I have blogged a lot about my dev tools in the past, I will keep this section short.

The Cloud

I’m on a couple of social networking sites, in addition to this blog:

· Twitter

· Posterous

· LinkedIn

· MSDN Code Gallery – One site for SQL Server Full Text Searching and one for SQL Server Compact Edition.

Passing the Baton

OK, your turn, let’s see your blog with your tools!

iPhone or iHype?

This post is a bit off topic from what I normally talk about, but being a fan of various “social networking” platforms including blogs, podcasts and the like I feel a need to speak out about a certain insanity that occurred. Last week Apple released its new model of the iPhone, and the internet went nuts. Podcasts devoted extended coverage, blogs were gushing, internet news sites went wall to wall with coverage. Let me interject a thought here – folks, it’s just a cell phone!

Now, before the Apple fan-boys come out of the wood work to attack me, my beef is not with the iPhone itself. It’s a nice enough phone, has a lot of decent features, and even I will admit it looks very nice. But feature wise it’s not revolutionary; there are other cell phones on the market that have similar sets of features. No, my beef is more with the coverage. Leo Laporte over on http://twitlive.tv did 24 hour coverage. CNet Live did a two hour version of their show; CNet’s news show likewise had multiple episodes centered on the iPhone. What?

I have to really question this. If any of the other cell phone companies released a phone, it might get a segment which would be fine, but not wall to wall coverage. But stick a logo of a half eaten piece of fruit on it and BAM the web goes nuts. I’m not alone in my weariness of the coverage either, on Mondays’ Buzz Out Loud from CNet even Tom Meritt said “I’m so sick of talking about it I throw up a little bit in my mouth every time I say it”. (Then he showed a cool video of someone dropping an iPhone in a blender.) Perhaps it’s just the cranky geek in me, but I just don’t get it. iPhone? Sounds more like iHype to me.

Getting Tagged by the Software Developer Meme

There’s a “meme” going around the net. A meme, for those unfamiliar, is defined as a unit of cultural information, such as a practice or idea, that gets transmitted verbally or by repeated action from one person to another. On the web, a meme is a theme, usually a series of questions that get passed from one person to another. After one person answers, he tags one or more other folks. Well, I got tagged!

StatisticsIO, better known as Jason Massie, got me. To keep his link chain alive, this has now gone from: Denis Gobo > Andy Leonard > Frank La Vigne > Peter Brown > Chad Campbell > Dan Rigsby > Michael Eaton > Sarah Dutkiewicz > Jeff Blankenburg > Josh Holmes > Larry Clarkin > Jason Massie > Me! So without further ado…

How old were you when you first started programming?

12 or 13, it was on a TRS-80 Model 1.

How did you get started in programming?

My dad had written a Star Wars game programming in Basic on the TRS-80. I hacked it so I could beat my sister most of the time, and the rest was history.

What was your first language?

BASIC, of course.

What was the first real program you wrote?

As I recall, it was a character generator for Dungeons and Dragons back on the TRS-80. Involved a lot of random number generation and printing.

What languages have you used since you started programming?

In no particular order: BASIC, Pascal, Quick Basic, Visual Basic, COBOL, C, C++, C#, Delphi, Fortran, dBase, FoxPro, RPG III, a little assembler, probably some more I can’t recall. Working on learning Powershell and F# now.

What was your first professional programming gig?

I guess it depends. A friend of mine and I co-wrote an inventory system for someone who wanted to start a company. It was written using compiled BASIC 1.0, and the software and DOS had to fit on one floppy disk, then the inventory for the store had to fit on a second floppy. Unfortunately they went under before we could get paid. I then went on to write a dBase II system for a lawyer to organize some charity or other, that was the first system I actually got paid for.

If you knew then what you knew now, would you have started programming / DBAing?

Oh yes, love it! There’s something rather intoxicating about making the computer sing and dance to your whim.

If there one thing you learned along the way that you would tell new developers, what would it be?

Can’t decide on one, so there are two things I’d share. First, as much fun as coding is, never forget you are there to solve a problem. Ultimately it’s not about you but about the user experience. Don’t be afraid to subjugate your ego to the success of the project, ultimately it’ll pay.

Second, take time for the peripheral skills. Communications, business, etc. These will make you far more valuable as a professional developer than technical skills alone.

What’s the most fun you’ve ever had … programming?

Hmm, tough call. Believe it or not I used to work for a prophylactic factory. It was a lot of fun coding the interfaces between the machine that printed the serial number on each one, and the production database.

Either that or right after we got married I spent close to two years working from home. My wife would sometimes sit in my lap and snuggle up while I was able to reach around her and keep coding. Distracting perhaps, but the question was about fun not productivity!

Who are you calling out?

Hmm, let’s see, that’s a tough one since this meme’s been around a while. Let’s annoy…

MaggiePlusPlus

Rachel Appel

Amanda Launcher (AKA Pandamonial)

Jeff Barnes

Keith Elder

Chris Woodruff

Glen Gordon

Shawn Wildermuth

Michael Neel (ViNull)

Dougal Campbell

Paul Waters

Wow, looks like there are still some victims developers left after all…

CodeStock 2008

I just found out about a new developers conference put on by the East Tennessee .Net User Group.

CodeStock 2008

To quote from their website:

“CodeStock’s mission is to bring the best and brightest code experts to East Tennessee for a one day conference open to all developers. This is not a trade show with slick salesman giving prepared demos – this is a gathering of real programmers learning about the latest in technology from each other. ”

Looks like a nice event, I’m going to see if I can swing it to go. You can also follow it on Twitterby following @CodeStock .

The Arcane Internet

I know, I promised to get you up to speed with SQL Server 2008 after my Virtual PC post yesterday. Sadly a nasty thing called work got in the way, and I’ve had  couple of late nighters. It’s coming, I promise. Meanwhile, a few tidbits from around the web.

If you’re a developer, you’re probably aware that MIX 08 has kicked off in Vegas. Sadly, I ain’t there, and am insanely jealous of everyone who is, but that’s life. That doesn’t mean we can’t join in virtually though. The keynote was broadcast live, it was really cool to be able to watch it as it happened (or as much as I could, as I did have to work and wound up listening more than watching). If you did miss it, you can still catch the recording at http://visitmix.com/blogs/Joshua/Day-1-Keynote/ . There were a lot of big announcements, including the release of Silverlight 2.0 Beta 1 and talk about Silverlight for Mobile apps. In addition all the sessions will be available as videos 24 hours after they are presented, so tomorrow (Thursday) we should start seeing some content.

But Microsoft isn’t the only ones producing Mix video on the web. The folks at CodeBetter.com are using Qik to stream live video to the web. I watched a good interview with Miguel de Icaza earlier, I see another one since I left work. Check them out on their Qik site at http://qik.com/codebetter .

The Mix conference isn’t the only place producing video. Earlier tonight the North Dallas .Net Users Group streamed their meeting over the web. I got to watch a few minutes of it but needed to get back to my late night work. But wow, what a concept, a local user group streaming their sessions live over the net. Kudos to them for doing something cool. If I can get all the bugs worked out, and of course get the presenters consent I may very well stream our next Birmingham Software Developers Association meeting live on the web. No promises yet though, lots to work out.

Finally, you may ask how did I learn of all this wonderful content? Twitter! Boy I have to thank Keith Elder, I’ve picked up a lot of good tips since I started. From now on I’m going to be like Jeff Barnes and do everything The Elder says!

Hey, I guess they’re wrong. With all this great Mix content flowing out on the web, what happens in Vegas DOESN’T stay in Vegas!

The Best Intentions

Well, I set out tonight to do some more studying of PowerShell, my new love in life. Then I intended to create a blog entry, but a Twitter post reminded me of something I’d seen on the Hanselman Forums, and next thing I know I’d sucked up my alloted time over there.

So if you want to see what I’ve been up to tonight, check out the Hanselman Forums at
http://www.hanselman.com/forum/default.aspx

Most of what I posted was in these threads: Productivity Tools, Hanselminute Shows, Off Topic and Philosophy of Software.

I can’t leave without passing along at least one PowerShell related tip: I’ve been listening to the PowerScripting Podcast all week. They’ve had 19 shows so far, I started at 0 and am up to number 8. Very good stuff, lots of links to PowerShell tools and tips. One reason it’s taking me so long is I keep stopping to make notes or check out some link they give.

Avoiding Burnout OR How I learned to stop worrying and love the PowerShell

Most geeks I know tend to be workaholics. We go and go and go on a subject, spending long hours in front of our PC’s until we’ve conquered whatever we’ve been working on. It’s important though to avoid getting burned out. When we’ve exceeded our capacities, we’re depressed, dread looking at things, our productivity goes to near zero and stress wreaks havoc on our health.

For the last two months I’ve been hammering away at SQL Server, getting ready for my presentations at the recent code camp. While I’m not quite at the burn out stage, I recognize it’s just around the corner and decided I needed a break. At the same time I came away from code camp energized and wanting to learn something “techy”. The answer then was obvious, to find some technology that was new to me, and that I could use in conjunction with my SQL Server work, but was not directly SQL Server.

I twittered about going to the bookstore on Sunday, what I was actually looking for was a book on F#. (Yes, I’m an old fogey and still like books as a good platform for learning.) F# seems to fit well with processing sets of data. Sadly the stores lacked any tomes on the subject.

powershellstepbystep I did find, however, a book called “Windows PowerShell Step By Step”. This looked like a great fit for my needs. It’s small, around 220 pages so it’s something I can easily read in a short amount of time. It’s on a subject I was interested in, PowerShell. I believe PowerShell will soon become an integral part of all Server based technologies, and we’ll be able to perform remarkable amounts of maintenance and more with PowerShell.

Over the next few days I’ll give some more resources for PowerShell that I’ve already found, but I can tell you I love PowerShell already. My post for today is not so much about PowerShell but about burnout. When you’ve spent a lot of time hammering away, don’t forget to come up for air every so often. Look around, see what other tools are available for you to learn. You’ll find yourself refreshed, and have new skills to boot!

I’m all a Twitter

I love code camps. They are nerd nirvana combined with the glorification of geekdom in one fabulous fun filled day. I always come away energized and ready to dive into the tech world. The recent Alabama Code Camp in Huntsville was no exception. Big public congrats to the Huntsville User Group for putting on a great camp!

My favorite part of code camp is the speakers dinner, traditionally held the night before. It’s a chance for the organizers to go over any last minute details with the folks who will be speaking the next day, and a chance for us to catch up or meet new people and generally geek out. After the speaker dinner a group of us went over to… well let’s just say the place is known as being “delightfully tacky yet unrefined”. We wanted to grab a few adult beverages and continue some of the discussion.

You know, I never thought that particular chain of all places would be “closed down” by a bunch of geeks, but sure enough by 1:30 am the girls in the orange shorts and white tank tops were gently pushing us toward the exit. At some point, I think it was around 12:45, I sort of realized we were the only group left in the place but there was a rather spirited debate going about SOAP vs REST as well as some discussion of LINQ so I wasn’t paying too close attention to the surroundings.

It was an interesting crowd, Doug Turnure (who to his credit had enough brains to leave about 11 and get some sleep), Jim Wooley, Michael Neal, Alan Stevens, Keith Elder and myself. Keith and Alan were giving Doug and I grief about not being on Twitter. I had taken a look at it some point back and guess I didn’t invest enough time with it to see the benefit. That night I believe it was Keith who described it as “being in the speaker’s lounge, all the time”. After that and a bit more verbal “nudging” Doug and I both dusted off our accounts. I spent a few minutes when I got back to the hotel actually reading the on-line instructions (what a concept, reading the fine manual) on how to use Twitter. Now after following it for a day or so I’m getting an inkling of how this could be useful. I’m going to give it a shot during the week and see what happens.

As you can see, I’ve added my Twitter feed to the blog (see to the left), or you can go to my Twitter page and see the same conversational threads I’m following. I promise to keep my Tweets technical in nature (for the most part). I’ve always worked to make sure I add value when I do something, whether it’s a blog post, comment to someone else’s post, or another form of social web interaction. (I wonder how many billions of bits of storage are being sucked up by “Me too” posts?)

If you don’t know anything about Twitter, head over to http://twitter.com and take a look. Be sure to read the FAQ so you get an idea of how to use it, then jump on in. I’ll pretty much follow anyone who is following me, so feel free to add me or leave a comment below with your twitter info.

Now if you’ll excuse me, I need to Twitter the fact I just updated my blog!

Where’s Waldo?

I have been a bit absent of late with the blogging. I just thought I’d take a second to explain. Last week my beloved wife had some pretty serious abdominal surgery. She’s going to be fine, but for a bit I’ll be playing both Mommy and Daddy, taking care of the kids, doing housework, etc. Thus my spare time for blogging, learning new technology and other geeky pursuits is quite limited.

I did have one pleasant surprise, during the three day hospital stay (yes I stayed with her) I found the hospital had free public wi-fi. When she was napping I was able to get out my laptop and handle a few work items, and communicate to the extended family about her condition. It was a nice “extra” that made the stay that much better.

It got me to thinking, there are a lot of places I go that it would be nice to have that free wi-fi access. Anywhere that you spend a lot of time, or need to do some sort of research. Around here I know several restaurants and coffee shops with it, as well as all the public libraries. There should be more though. One bookstore chain has wi-fi, but charges for it, another doesn’t have it at all. I mean, come on wi-fi doesn’t cost that much, and I would certainly be paying for it through my store purchases.

Doctors offices are another place I wish I had it, often you can spend hours waiting on a doctor. Sure would be nice to be able to check e-mail and let the office know “I’ll be here a little longer…”

What other public locations can you think of that you’d love to have some wi-fi in?

Does MacGyver Dream of Mark Miller?

For Christmas this year my family gave me a copy of MacGyver, Season 1 and 2 on DVD. My wife’s side of the family gave me a gift card which I used to get seasons 3 & 4. I’m a long time MacGyver fan, but my wife had only seen one or two episodes and my kids had never seen it at all, so we’ve been having a lot of fun watching. My favorite part of the series was the voice-overs, where you’d hear MacGyver’s voice as he explained what he was doing. It always started with some odd thought or story that led you through the thought process of how he came to the conclusion to build whatever wacky life saving device he was constructing.

I’ve come to realize in some ways these blog entries are sort of like the MacGyver voice-overs, my inner thoughts being created for you on the web. So I hope you’ll bear with me a few minutes while I relate a rather bizarre dream I had last night.

In my dream I’m standing on stage, in front of a fully loaded computer. It has all the bells and whistles, VS2008, SQL Server, and so on. On the other side of the stage, Mark Miller is there, in front of a similar computer. For those unfamiliar with Miller, he’s the genius behind CodeRush and RefactorPro, tools to help you write code faster. Some time back, when the product was first released Miller used to challenge the audience to beat him in a code writing contest. His machine had CodeRush, and he would use chopsticks to write code, his competitor could use their fingers but did not have CodeRush on their machine. Of course Mark always won.

So sure enough, in my dream there’s Miller, chopsticks in hand ready to go, and I’m the guy going up against him. Our task is to take data from table A1, create a mirror table and name it table A2, and then move all million rows from A1 into A2. As you might guess, in my dream, I win. How?

Well I didn’t write a program. Instead I first jumped into SQL Server Management Studio (SSMS) and used its script generating capability to produce a create table script. Make a quick search and replace and boom I’ve got table A2 created. I then jump over to the Business Intelligence Developer Studio (BIDS) to create a SQL Server Integration Services (SSIS) package to do the data move. (Yes, I probably could have used the script generation of SSMS again to generate an Insert script, but I was showing off.) In about three to four minutes I had accomplished the task and moved all the data while Miller was pecking away at computer with his chopsticks.

I didn’t win because I’m a hot shot coder who is smarter than my competitor. Miller is a (some say mad) genius who can run circles around me in the coding world. As I told the folks in my dream, and I’m telling you now sometimes the best solution to a programming challenge isn’t to program at all! If you read yesterday’s post, Straining at Gnats, you may recall I said “…take some time. Push back from your computer and think for a moment. Think what the true outcome of your application is supposed to be. Not “what will the program do” but “what will the program do for the user???” Think about how best to achieve the user’s goals.

When you are thinking about solutions, take a minute to look outside of your favorite programming language. Is it possible to achieve the goal without writing any code at all? What tool or tools do you have in your tool box that you can combine to get the job done? Here’s a great example that happened to me just before I took off on my holiday vacation.

As I’ve mentioned before at work we have a Business Intelligence (BI) app I work as the lead on, it imports data to a SQL Server 2005 warehouse via SSIS then uses SQL Server Reporting Services (SSRS) to generate reports. The data is imported from a work order management system we bought many years ago. We also have some engineers who have a tiny little Microsoft Access database. This database has a primary key column; we’ll call it a part number for purposes of this example. There are three more columns, some data they need to know for each part but are not found in our big system. They’d like to add this data to the reports our BI app generates. Two last pieces of information, they only update this data once per quarter. Maybe. The last few years they have only done 3 updates a year. Second, the big system I mentioned is due to be replaced sometime in the next two years with a new system that will have their three fields.

A lot of solutions presented themselves to me. Write an ASP.Net app, with a SQL Server back end then use SSIS to move the data. Elegant, but a lot of work, very time consuming for a developer, especially for something that can go away in the near future. Write an SSIS package to pull data from Access? Risky, since we had no control over the Access database. A user could rename columns or move the database all together, in either case trashing the SSIS. Several other automation solutions were considered and rejected, before the final solution presented itself: not to automate at all.

Once per quarter I’ll simply have the engineers send me their Access database. Microsoft Access has a nice upsizing wizard that will move the table to SQL Server, I’ll use that to push the data onto the SQL Server Express that runs on my workstation. I’ll then use the script generating capability of SSMS to make an Insert script for the data. Add a truncate statement to the top to remove the old data and send it to the DBA to run. When I ran through it the first time my total time invested was less than ten minutes. In a worst case scenario I spend 40 minutes a year updating the data so it’s available for reporting. That’s far, far less time that I would have spent on any other solution.

The next time you have a coding challenge, take a moment to “think like MacGyver”. Look at all the tools you have lying around your PC and see what sort of solutions you can come up with. Once you are willing to step outside the comfort zone of your favorite coding language, you may be able to come up with some creative, MacGyver like solutions to your user’s problems.

 

PS – If you missed the announcement while on vacation, DevExpress just released CodeRush / RefactorPro 3.0. More than 150 refactorings and lots of new CodeRush features! Update yours today.