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…

Advertisement

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.

ITAC Lunch and Learn – Dec 4th

My friend and co-worker, Jeff W. Barnes, MVP will be speaking on Tuesday December the 4th at the Emmet O’Neal Library during lunch. His topic will be “The Future of .Net Development” which sounds pretty interesting. Come on out, here a good presentation and grab some lunch.

For more info, including registration info, see Jeff’s blog entry at http://jeffbarnes.net/portal/blogs/jeff_barnes/archive/2007/11/27/itac-lunch-and-learn-for-net-on-dec-4th.aspx

See ya’ll there!

Brilliant!

Lately I’ve been delving more and more in to the SQL Server world, as it pertains to Business Intelligence. Coincidentally, our DBA complains of not sleeping at night, and seems to have developed a nervous twitch. I keep telling him to lay off the caffeine, but oh well I digress.

One of the things that I’ve found irritating is the inability for long running T-SQL scripts to be able to keep the user (in other words, ME) updated as it progress through. Instead it seems to save up any print or select messages until the entire job is over then prints them out in a big explosion, not unlike an episode of Mythbusters.

Mladen Prajdic on his “I want some Moore” blog came up with a brilliant solution. Use RAISERROR, with the NOWAIT option and a low severity, to flush the message buffers immediately. To quote those two guys from the Guinness ads, Brilliant! But hey, I don’t want to steal Mladen’s thunder, go read it for yourself:

http://weblogs.sqlteam.com/mladenp/archive/2007/10/01/SQL-Server-Notify-client-of-progress-in-a-long-running.aspx

True, I doubt I’d suggest this for production code that would run unattended, but for those long scripts we all wind up writing to do some tests or fix some bad records well… you can bet this is a handy tip I’ll be using over and over.

Go Sara Go

I think I may have just discovered the most useful blog on the internet for Visual Studio developers. Sara Ford, who just took over as Program Manager for Code Plex (http://www.codeplex.com) posts a “Visual Studio Tip of the Day”. They are short but wow are they useful. I can’t believe I haven’t discovered this gem before today, but hey better late than never.

Go read her blog at http://blogs.msdn.com/saraford/default.aspx and tell her “Go Sara Go!”

More WPF Resources

Walt Ritscher of Wintellect was in our offices this week, teaching us WPF. Great guy, really knows his stuff, and has a blog well worth checking out at

http://wpfwonderland.wordpress.com/

There’s a great training site on XAML/Silverlight called Nibbles. Be warned the site is done in Silverlight, so for now you’ll need to use IE and have Silverlight installed.

http://www.nibblestutorials.net/

Fellow southern blogger Keith Rome has a blog on WPF and Silverlight:

http://www.mindfusioncorp.com/weblog/

Tim Sneath has a lot of good info on Silverlight:

http://blogs.msdn.com/tims/default.aspx

Finally, this isn’t specifically a WPF resource, but our regional developer evangelist and all around swell guy Doug Turnure has a posting of .Net bloggers in Georgia, Alabama, and Mississippi:

http://blogs.msdn.com/dougturn/archive/2007/08/19/most-popular-bloggers-in-georgia-alabama-and-mississippi.aspx

Update: September 15, 2007 – I wanted to add one more resource. I picked up Pro WPF by Matthew MacDonald (http://www.amazon.com/Pro-WPF-Windows-Presentation-Foundation/dp/1590597826/ref=pd_bbs_3/104-6226587-5048708?ie=UTF8&s=books&qid=1189884771&sr=8-3 or http://tinyurl.com/2pw8z9) I have several of Matthew’s books and have always enjoyed his writing, and this book appears to be another winner. It’s a good companion to the Adam Nathan book, as each book goes into some areas the other doesn’t.

Pro WPF

New Customer Feedback Program at Microsoft

Microsoft has announced an exciting new initiative, a customer feedback program that allows folks like us to interact directly with the developers and let them know just how we feel. Rory Blyth wrote a really good post on the things that are wrong with Windows, and all I can say is “Amen and pass the crunchy peanut butter!” Read his post at http://www.neopoleon.com/home/blogs/neo/archive/2007/08/24/26758.aspx and see if you don’t feel like saying exactly the same thing.

Anyway, if you want to learn more about the new program from Microsoft, go to http://www.microsoft.com/emea/itsshowtime/sessionh.aspx?videoid=9999 and click the “See a Preview” link.

Rumor has it that Scott Hanselman, Microsoft’s newest employee will be the very first developer they will be trying this on.

WPF Resources

Yesterday I pointed out where to download all the bits you need to get into WPF. Today I thought I’d share some good resources on learning WPF.

First off is Todd Miranda’s site Xperimentality http://www.nxtdimension.com/blog/ . Todd is an MVP and has done many of the videos that appear on the Windows Client site.

Speaking of the WindowsClient.Net site, you can find many of those videos at http://windowsclient.net/learn/videos.aspx , just scroll down to the WPF area.

Todd Miranda’s videos on the Expression suite can be found on the Expression Knowledge Center site, http://www.microsoft.com/Expression/kc/resources.aspx?product=web&type=video . There are also videos by others.

Channel 9 has now reached 100 items on WPF: http://channel9.msdn.com/tags/WPF

Mark Miller recently did a DNRTV episode on Custom Controls in WPF, find it at http://www.dnrtv.com/default.aspx?showNum=72 . Also on DNRTV, Brian Noyes did a two parter on WPF, found here http://www.dnrtv.com/default.aspx?showNum=56 and here http://www.dnrtv.com/default.aspx?showNum=59 .

Another great blog is Lester’s WPF Blog, http://blogs.msdn.com/llobo/default.aspx . Lots of good stuff from the author of XAMLPadX, which I recommended yesterday.

Finally, a book recommendation, I’m finding Adam Nathan’s book on WPF to be a really good read. It’s more than technical enough to keep an experienced reading, and all of the code samples are in color! http://www.amazon.com/Windows-Presentation-Foundation-Unleashed-WPF/dp/0672328917/ref=pd_bbs_sr_1/103-4574773-3941455?ie=UTF8&s=books&qid=1187125352&sr=8-1

Arcane Links

Some miscellaneous topics to cover for today. First, I had the need to copy several thousand files from one machine to another, about 6 gigs worth. Explorer? No thanks, to slow and unreliable. Fortunately I had recalled reading a post on Scott Hanselman’s blog just the other day on this topic. http://www.hanselman.com/blog/XCopyConsideredHarmfulRobocopyOrXXCopyOrSyncBack.aspx

Since the machine I was using to do the copying was Vista, I used RoboCopy. Worked like a champ. The bad part was I didn’t even know I already had this tool until I’d read Scott’s post. Always nice when you go hunting for a tool only to discover you’ve already got it and it’s ready to go.


On the subject of SOA, Redmond Magazine released an article on Microsoft’s SOA strategy. http://redmondmag.com/features/article.asp?editorialsid=756

It was a long article and interesting, although it seemed to have an anti-Microsoft tone. I picked up a subtle, and perhaps condescending, knocking of Microsoft for not falling into lockstep with other industry players like IBM. While I do agree Microsoft sometimes comes a little late to the party, I don’t think it has to jump on the party boat to be an effective player in the industry.


Windows Communication Foundation Guru Jeff Barnes is planning on some new WCF posts in the near future, so be sure to keep an eye on his site if you play in the WCF realm. http://jeffbarnes.net/portal/blogs/jeff_barnes/archive/2007/08/08/coming-soon-wcf-3-5-posting-blitz.aspx

Jeff’s also working on a WCF Site (http://jeffbarnes.net/portal/blogs/jeff_barnes/archive/2007/08/06/planning-a-wcf-community-site.aspx), another good reason to keep an eye on his blog.


Finally, Scott Hanselman has opened up a forum area on his site, some good info and discussions can be found here. http://www.hanselman.com/forum/

Being a Better Developer… In 6 Months

Scott Hanselman’s show this week was killer. (http://www.hanselminutes.com/default.aspx?showID=90 ). In it, Scott and Carl discuss a thread going around the internet, namely how to become a better developer in six months. They had some excellent ideas, some of which they were passing along from other posters, some were theirs. The post that seems to have started the whole thread was done buy a guy named Justice Gray, back in April. http://graysmatter.codivation.com/HowIAmBecomingABetterDeveloperPart1OfInfinity.aspx or http://shrinkster.com/qvx . Just recently he posted a follow up at http://graysmatter.codivation.com/AnUpdateOnGoals.aspx or http://shrinkster.com/qvy .

I like the whole concept, and am going to implement my own version of it. And the first step is to declare what I’m going to do, so without further ado…

I’m going to start by reading a chapter a week from a book. Now, I know that doesn’t sound like much compared to the plans of others to read a book a week, but it leads to my next step…

I will work all the code samples in the book. Reading is one thing, but doing is even better. Personally, I find I get a better understanding when I actually type in the code samples and run them. And not just run what’s in the book, but tweak it, experiment with it. And then what will I do with my knowledge?

I will teach what I learn. The best way to learn is to teach. I’ll blog, talk with my co-workers over lunch, give presentations, but in some way I will give back what I learned. But I won’t stop this learning process with just books.

I’ll increase my listening of podcasts or videocasts. I recently got an inexpensive MP3/WMA player, which I load up with podcasts. This left the 1 gig card on my iPaq free, which I’ve loaded some videos on. Since the iPaq is portable, it increases my ability to watch these videos. Since I’ve blogged so much about podcasts in the past, I shan’t continue talking about them.

I’ll create at least one new presentation and give it to a user group. Again, the best way to learn is to teach, and there’s no better place than with your peers at your local user group.

I’ll look at the source code for an open source project. This is one I really loved from the show. Look at someone else’s code, see how it works, step through it. Right now I’ve got several in mind, first is the Paint.Net project ( http://www.getpaint.net/index2.html ) since I think the graphics would be interesting, and graphics aren’t something I normally get to play with at work.

Next is RSSBandit, http://www.rssbandit.org with the source at http://sourceforge.net/project/showfiles.php?group_id=96589&package_id=103276 .The networking concepts in there should be quite useful in many instances. Finally is SharpDevelop (http://www.icsharpcode.net/OpenSource/SD/ ). It’d be interesting to see how an IDE works. I’m not sure which of the three I’ll look at, but these are on my short list.

I will learn a brand new or little used technology. There’s a lot of new technology out there, or tech I don’t read much about. Working a lot with the SQL Server BI (Business Intelligence) tools, the upcoming SQL Server 2008 sounds interesting. Of course there’s Visual Studio 2008. And XAML promises to be a hot topic, between WPF and Silverlight I think this will eventually be a “must” for everyone. Those are just some examples, find something that fascinates you and go learn.

The final two items on my list are suggestions from my manager, who my kids have dubbed “Mighty Mike”. I thought these were really good.

I will learn more about the business. No, not the business of programming, although that’s certainly important. I’m talking about what my company does. Most developers aren’t in a job where their company produces software. Instead our programming efforts help support the production of some product, which our company sells. I will learn more about that product, how it’s produced, what processes apply, and what the difficulties are. And finally….

I will get to know my customers. By that, I mean the people who are using, or are affected by the software I write. For most of us, those will be other employees of our company. Meet these people. Get to know them. Buy them a cup of coffee. Take a non-IT coworker to lunch every so often. Setup a half hour meeting with them every so often to learn and understand more about their job. Find out what their pain points are, find ways to solve their problems, offer them solutions to make their jobs better.

Whew, that’s quite the list. It will take a lot of balancing of my time to carry this off, but at the end of it I’ll be a better programmer.

To wrap this up, I’m supposed to tag four other developers, to challenge them as well. So here goes…

First is Jeff Barnes, http://jeffbarnes.net/portal/blogs/jeff_barnes/default.aspx . Payback time! (He knows why, heh heh heh).

Next is Todd Miranda, Birmingham’s newest MVP. Congrats Todd! http://blog.nxtdimension.com/

I think my next victim will be my brother-in-law, Dougal. Even though he’s not fortunate enough to work with .Net, he at least got to do some cool stuff with WordPress. http://dougal.gunters.org/

My final pick is that perfect blend of lunatic and coding genius, Mark Miller. It’s his fault I got deeply involved in coding again. I was thinking of getting into project management, but after seeing his talk at VSLive 2005 I got so enthused about coding again I jumped in with both feet and here I am. So how about it Miller, put down that McGriddle and blog something! http://www.doitwith.net/

An now I challenge you, the reader of this post to go out and be a better developer. Post a link to your development plan. If you don’t have a blog of your own, feel free to post your plan below. Look at others, take the best of the ideas that will work for you.

Now if you’ll excuse me, I’ve got a lot of work to do!

The Great Font Hunt

My brother in law, Dougal has an interesting post about typefaces for webpages. ( http://dougal.gunters.org/blog/2007/07/05/typography-design-patterns-for-the-web ). You may have seen color charts for web page design, where it lists a primary color and other colors that compliment it. What Dougal is looking for is a similar chart for fonts. Anyone know of anything? If so post a comment on his blog or mine (or both!) and let us know.

Arcane Thoughts: Thanks to you, ArcaneCode made the top 5!

Thanks! Thanks to all of you. In the WordPress Wednesday they were showing how rapidly the list of top blogs changes. For a brief time anyway, the Ubuntu post was #5 on the “What’s Hot” list. Read for yourself at http://www.blogherald.com/2007/03/14/wordpress-wednesday-mandatory-update-reminder-wordcamp2007-instant-upgrade-plugin-sxsw-conference-and-more/ or http://shrinkster.com/mvt.

ArcaneCode has been averaging about 800 hits a day lately, and has had over 24,000 hits at the time I write this.

I just wanted to say thanks to everyone who has read ArcaneCode, and passed on links to all their friends. That’s what the whole social web thing is all about, helping each other out.

Thanks!

Robert Scoble is a Space Alien and I’m Carrying His Love Child

[Picture of Tony Robbins] Self help guru and life trainer Anthony Robbins (http://www.anthonyrobbins.com/) talks about a principle he calls CANI, Constant And Never ending Improvement. As part of my process of continuous self improvement I was looking for advice on writing a better blog.

[Love Child] First let me set the record straight, I’m not really carrying Scoble’s love child. It can walk (well, slither) just fine on it’s own, thank you very much. And the space alien thing is just a rumor. Really. Any resemblance between the love child (above) and Scoble (below) is purely coincidental, antenna not withstanding.

[Robert Scoble - Space Alien??]In a recent post (http://scobleizer.com/2006/12/07/help-a-san-jose-mercury-news-columnist-blog/) Robert was giving some helpful hints to journalist Mike Cassidy (http://www.mercextra.com/blogs/cassidy/) on how to attract folks to his blog. Some really great tips, including using a catchy, controversial name for your entries. Oh, something like “Robert Scoble is a Space Alien and I’m Carrying His Love Child”.

In his advice, Mr. Scoble also suggests making the subtitle of your blog more meaningful, and focused on your target audience. This is good advice that I have implemented. You may notice in my header I’ve changed from “Computer Sorcery at it’s Best” to “Making Microsoft .Net Development Magical” which isn’t as catchy but does a much better job of describing the general theme of my blog. Of course this isn’t the first time Scoble has dispensed blogging advice, he has good information in his Naked Conversations work. (See http://redcouch.typepad.com/weblog/2006/08/9_random_though.html ).

Robert’s not the only one in the family with good advice on blogging either. His lovely wife Maryam had a great post on her site titled 10 Ways To Write A Killer Blog: http://maryamie.spaces.live.com/Blog/cns!9592F3DEF41537A3!2373.entry#comment )

Looking for other good advice, I found an excellent post from someone named Helen’s. Her post “Increasing Traffic To Your Blog” can be found at http://imhelendt.wordpress.com/2006/09/16/increasing-traffic-to-your-blog/ . Over at ProBlogger, they have created a whole page full of good articles called “Blogging for Beginners” (http://www.problogger.net/archives/2006/02/14/blogging-for-beginners-2/). Even if you are not wanting to make money from your blog, there is still a lot of good info here.

Dennis Mahoney has some good advice on writing for the web in his post “How To Write A Better Weblog” (http://alistapart.com/articles/writebetter/ ). While his advice is aimed at the blogger, overall it is sound for any form of written communication.

I’d like to wrap this up with a little advice of my own. First and foremost, offer value. One of my goals is to offer readers a little something extra that they might not find elsewhere. Perhaps it’s through consolidating information, like I’ve done here, or providing details that I have not seen elsewhere in the blogosphere, like my Virtual PC Step by Step entry.

My next piece of advice would be to write nearly every day. Consistency is the key to creating an effective blog and attracting an audience. It’s very disheartening to find what looks like it could be a good blog, but seeing it only gets updated once a month. I create new entries every week day, generally taking the weekends off.

The number of entries you post in a day is up to you, and the nature of your blog. Since I like to teach and try to do that through my blog, I tend to post one new item a day. Mike Cassidy (see link above) has a news oriented blog, so he too would typically want to present one story a day unless there was breaking news of some kind. Robert Scoble, however, tends to produce many entries a day because his blog is a mixture of quick newsbites mixed with personal observations.

If writing every day seems a bit too much, then do a weekly blog, or do what I do write up your entries in advance and then post one a day. As I mentioned, consistency is the key.

Finally, even if you are not interested in writing your own blog, I would encourage you to read through some of the links I’ve included. It will help you in providing quality feedback in your comments, and I highly encourage you to leave comments! It’s very helpful to us bloggers to hear what’s on your mind, if you found our items useful, and what we can do to make it better.