Arcane Thoughts: Programming Heroes

When Jeff Atwood was on DotNetRocks recently, he mentioned his programming heroes. It got me to thinking back on some of my own heroes, and thought what the heck. So if you’ll indulge me as I head down memory lane…

My Dad

I guess my earliest hero was my own dad, Ron. He brought home a TRS-80 Model 1 when I was around 12. He wrote a little Star Wars game on it (all ASCII graphics) in BASIC. His downfall was letting me, an clueless kid and geek in the making get his hands on a 2000 dollar (US) computer to play the game.

And not just that, but letting me go in and look at the source! I wound up having more fun tinkering with the source code than playing the game. Primarily I hacked it to make it harder for my sister to win. 😉 But it set me down the path of software development, and so for being crazy enough to let a 12 year old kid put his hands on one of the earliest of the home computers, Dad makes my first coding hero.

Mark Westbrook

I mention Mark’s full name in hopes he’ll find this and give me a shout out. I knew Mark when we lived in southeast Alabama together, he was the first guy I ever met who was really passionate about programming. He ate, sleep, and drank computers. His house was just a place to keep his computer, an IBM PCjr.

Mark was the guy who reinforced my belief in software as a craft, an art form, and not just a 9 to 5 job. To say he was an enthusiast was something of an understatement.

Ethan Winer

For those who don’t remember Ethan (http://www.ethanwiner.com/index.htm), you may recall his company Crescent Software. Crescent made all sorts of really cool libraries to work with QuickBasic. His stuff rocked, and made it possible to do really serious (and cool) things with QuickBasic. I remember writing several TSR (Terminate and Stay Resident) programs with one of his libraries.

Dan Appleman

Most people include Dan Appleman because of his Win32 API book for VB Coders, but for me it was his book “Developing ActiveX Components With Visual Basic 5.0: A Guide to the Perplexed” which put him into the hero category. It was after reading this book I felt like I’d turned the corner into true understanding of a lot of the guts behind VB and COM.

Carl Franklin

Back in the early days of VB there was one place to go for all your really good VB Tips: Carl & Gary’s. My memory is a little foggy, but about the time I found the site Gary took a sabbatical and Carl picked up the bulk of the work. (I don’t have anything against Gary, he just wasn’t around.) At any rate, I learned so much and got so many cool coding tidbits Carl makes the list as one of my early heroes.

Dan Fox

Dan Fox wrote a book called Pure Visual Basic (http://shrinkster.com/opa), back in the VB6 days. This was a great book, because it contained everything you needed to know to write professional level applications. It was great both for teaching and as a reference.

I used it to teach a series of VB6 classes that started at the basics and went all the way through to advanced topics, and for the entire series Dan’s book was all I needed. At work, I used it as a reference to look up the “how to” for those things I didn’t do on a daily basis.

Bill Vaughn

No list would be complete without the original database Hitchhiker, William R. “Bill” Vaughn. His books over the years have taught me and many others the ins and outs of programming against the database, primarily SQL Server. His early works combined with his current (and fabulous) version of the Hitchhiker guide and SQL Server Compact Edition E-Book make Bill a hero, and a good transition from my early heroes to my current ones.

Deborah Kurata

Much like Bill, Deborah has been around a little while writing books since the VB5 days. She has turned out many books on objects, and still continues with one of my favorites, her “Best Kept Secrets of .Net’ book (http://shrinkster.com/oph). I’ve also heard her speak at conferences, and was impressed with her depth of knowledge and instructional capability.

Carl Franklin and Richard Campbell

Carl gets to make the list twice, this time with his cohort Richard Campbell. Their work on Dot Net Rocks (http://www.dotnetrocks.com) has taught me an incredible amount on the .Net world. I also have to get shout outs to Rory Blyth and Mark Dunn, Carl’s earlier co-hosts, as I’ve been working through the older shows. When I started listening though, Richard had taken the co-host helm.

Through the podcasts I’ve been exposed to so much good info, and gotten to do it while stuck in traffic or stopping at my local grocery store. Great job guys!

Mark Miller

My final, and most current coding hero is Developer Express’ head of developer tools, Mark Miller. I first saw Mark at VSLive in Orlando. He wasn’t just enjoying himself, he was excited about writing code. Not since my old friend, the afore mentioned Mark Westbrook have I seen anyone that passionate about writing code! (Maybe it’s something about the name Mark?)

His presentation was also one of the more useful I’ve ever seen, it was on practical ways to measure the user experience. Measuring the number of twips a mouse had to move to click various user elements, for example.

After the show I went and watched him at the DevExpress booth, and wound up standing for an hour watching Mark and his coworker (can’t recall if it was Julian or Dustin, sorry) interact with the crowd.

Again, Mark’s enthusiasm continued, you could tell he was thrilled to be there demoing CodeRush and cranking out code. It was his enthusiasm that rekindled my own tech interests, and led me down my current career path. I became inspired to start blogging, and speaking at code camps and user groups.

And there you go

There’s my list, starting in my youth and working toward today. I thank you for indulging me in my trip down memory lane, and hope it brought up some fond memories for you as well. As for tomorrow’s heroes, who knows? Maybe it’ll be you.

Arcane Review: Don’t Make Me Think

I just completed Steve Krug’s classic “Don’t Make Me Think!” book on web usability. (http://shrinkster.com/onw to see it on Amazon.) This was actually his second edition, published in 2005, a follow up from the original done in 2000.

I thought this was a nice fit with an earlier book I read called “Why Software Sucks” (see my review at http://shrinkster.com/onx). In “Why Software Sucks” the author concentrated on bad web sites / software, what was wrong, and how you could demand it become better.

In contrast, Steve Krug looks primarily at good, well designed sites (although he does throw in a few bad ones for comparison purposes). “Don’t Make Me Think” is written from the developer’s point of view, and shows what works. More importantly, Krug explains why a particular design works. That kind of insight was well worth the cover price alone.

But even better, Krug covers the concept of usability testing, and explains how you can do usability testing on your own website at little cost (or even no cost if you have a few friends and family members you can victimize!). If the insights I mentioned previously weren’t worth the cost then this one chapter alone, with it’s scripts and suggestions, certainly justify it.

Finally, this book was a quick, enjoyable read. Right around 200 pages and many, many illustrations made this a fast book. Steve Krug’s humor and writing style made it an enjoyable way to spend an evening or two, and I even managed to learn something in the process.

Standard disclaimer, I make no money off sales of the book, yada yada yada. Just thought it was a good read.

Arcane Thoughts: Tips for Daily Blogging

Last Thursday I wrote a post on The Benefits of Blogging, which has turned out to be quite popular. One of the comments mentioned how easily you can become overwhelmed trying to create posts daily. I thought I might share a few of the tips that I’ve picked up to make life easier.

Use tools

I use a variety of tools to create my blog. My first pass is done in Microsoft Word. By using an editor I can keep copies of my blog posts locally, should something happen with my blog. (Backups are always a good thing.)

I then use a posting tool to help with the pushing of my entry to the site. Currently I’m using Microsoft Live Writer Beta (http://get.live.com/betas/writer_betas). I cut and paste what I’ve done in Word over to it, and add in embellishments such as graphics or additional HTML. I can swap back and forth between presentation view and html easily.

To do my graphics I use two tools, WinSnap and Paint.Net. I’ve already blogged about WinSnap (http://shrinkster.com/oif), and you can get Paint.Net at http://www.getpaint.net/index2.html. Both of these are free tools.

Finally, if you plan to paste Visual Studio code samples into your blog, an indispensible tool is the “Copy As Html” add-in. I’ve blogged about this as well at http://shrinkster.com/oig.

Write in advance

Using the tools above also allows me to write my articles in advance. Often I’ll pick one or two evenings a week or a quiet Sunday afternoon, and write several articles at once, then post them as each day arrives.

This allows me to take a little bit of the daily stress off, as I don’t have to worry about a post every day. Second, it allows me to write a series of posts much more coherently. You can break large subjects up over multiple days, which means you avoid posts that are too big and won’t overwhelm either your readers or yourself.

Obviously there are times or blogs who are not suited to this. Daily tech news sites, for example. But for most of us, having a week or so worth of posts ready to go is a reasonable balance to achieve.

Write Now. And Later!

Another benefit to writing in advance is that it gives you time to review what you’ve done. You can write the post, then walk away for a bit, several hours at least if not days. Once you’ve had that break, you can come back and re-read what you’ve created. Make sure it still makes sense.

There have been many times I’ve gone back and revised entries I’d written several days earlier, prior to posting. I think it only makes your writing stronger when you can have a break so you can look at your creation with fresh eyes.

Use a Reviewer

When I’ve written something I’m not sure about, or have an especially long piece I want checked for accuracy and consistency, I will ask one of my co-workers or on-line friends to act as a reviewer or editor. I’ll e-mail them the post, and let them make comments. I’ll then incorporate their feedback into the post.

It’s important though to select someone who you have a good relationship with, someone who will give you honest feedback. One way to get good feedback is to use a technique I picked up in Toastmasters: Ask the person what three areas could use improvement, and what three areas did you get right. People aren’t so reluctant to criticize when they know they will also be able to say something positive.

It’s also important to pick someone who is knowledgeable enough about the subject to be able to provide worthwhile feedback. I recently did a series on SQL Server Compact Edition in C#. A coworker, who is good with C# and SQL Server but new to SQL Server Compact Edition, was a great choice to act as a reviewer. In contrast my lovely wife, who is good with computers but doesn’t know a thing about C# or SQL Server, would not have been able to provide the quality of feedback I needed.

Use Illustrations

While not every post is a good fit for a graphic of some sort, many can benefit by having a simple picture or code snippet included. These are pleasing to the eye of the reader. Be careful not to make them so big they dominate the page though, unless you actually need them to (such as in a ‘step by step’ set of instructions).

Use Categories (Tags)

Most blogging tools I know of allow you to add tags or categories to your posts. Use them! And don’t be afraid to use a lot of them, you never know how your readers will need to find the information you are providing.

Additionally, it makes it easier to help others who are interested in a particular topic. Remember the point I made about mentoring in my benefits article? I’ve been surprised at how many times I’ve said “just got to my blog and look at my posts under the XYZ category.”

Be Flexible

Sometimes you need to be able to change what you had originally planned to post. Perhaps some company makes a new announcement you feel the need to respond to. Or perhaps a comment on your blog inspires thought, such as this post. I originally had another post ready for today, but when I read a comment made last night inspiration struck, and this post came to life.

Set Reasonable Goals

My final piece of advice is to set a reasonable posting goal. For me, for various reasons one post per weekday seemed a reasonable goal. You will notice I don’t usually post on the weekends or holidays, to give myself some time off.

Your life though is not mine. You may find three times a week to be enough, or even just once a week. It’s important though to set a goal and stick with it, make it a commitment, just as if it were a job. Just be careful not to set your goal too high, or else you’ll wind up burning out and growing to hate or resent your own blog. Consistency though is the key, again select a goal and stick with it.

Well there you go, a few of the techniques I use that allow me to keep up the pace of daily blogging. Please feel free to leave a comment below with your own tips and tricks.

Arcane Events: Upcoming Tech Events in the Birmingham AL Area

Today we’re having a big staff meeting at work, and the organizers are graciously allowing me to mention some of the upcoming tech events happening in the Birmingham, Alabama area. I’m also providing this info here, so everyone can benefit.

Tech Birmingham’s (http://www.techbirmingham.com/) Tech Mixer (http://www.techmixer.org) is the huge gathering for anyone in the local tech industry. Vendors, user groups, geeks, and nerds of every type will descend upon the McWane Center in downtown Birmingham on May 1st. Entry and parking is free, go to the third floor entrance on the parking deck. If you pre-register you will be eligible for a special door prize, so jump online now it’s quick and easy.

https://www.itsbits.com/TechMixer/Default.aspx

The Birmingham Software Developers Association (BSDA) meets the second Thursday of every month at 6:30 pm. The BSDA meets in the computer center of Virginia Tech college, which is located on the backside of the Palisades shopping center in Homewood. While most of the club presentations are Microsoft centric, we do stray into other areas from time to time. For more info go to the club website at http://www.bsda.info/

The Birmingham Dot Net User Group (Bug.Net) meets the second Tuesday of every month, also at 6:30. With a heavy emphasis on Microsoft dot Net development, the club meets in the CTS offices in Riverchase. Details and directions can be found at http://www.bugdotnet.com/

So you say night meetings are hard for you to attend? Well for the lunch time crowd there’s the Internet Professional Society of Alabama, or IPSA. Meeting at St Vincent’s Bruno Conference Center, IPSA meets once a month to discuss internet development, and they’re even sponsored by Alabama Power! See the club site at http://ipsaonline.org/ for meeting times and directions.

These are just a few of the groups in the Birmingham Area. There are user groups for Linux, Oracle, DB2, Perl, Java, Ruby, and much, much more. See a complete list at http://shrinkster.com/oe1.

Whatever your interest is, there’s a tech group for you. Just do a google on “user group” and the name of your town and I bet you’ll find a match.

Arcane Thoughts: Benefits of Blogging

This week marks six months of serious blogging for me. Nearly every weekday I’ve tried to provide some new piece of information. A couple of important milestones have been achieved, as well. Last week this blog rolled over 50,000 hits, and also got its first day with over 1000 hits in a single day.

To celebrate I decided to give the blog a little face lift, and picked a new look. I thought all the blue looked somewhat Microsoftish. I also liked the 3 column look.

Over the past months I’ve been surprised, pleasantly, by some unexpected benefits to keeping up this blog. I thought I’d share some of them with you, should you decide to take the plunge.

Meet and Greet

Through the blog I’ve met some interesting new people, and it’s made a good tool for introducing myself to others.

Self Documenting

I’m sure you’ve heard the notion that well written source code is self documenting. Well this blog has let me document a lot of the things I’ve done in the past, so I can go back and reference it later. Not unlike a personal wiki.

Self Promotion

Like most folks I have an exaggerated sense of self importance. Blogging just reinforces my narcissistic streak and inflates my ego even further. Seriously, if you have an interest in writing, speaking, etc., a blog serves as an important tool in promoting your skills and desires to others.

Mentoring

I guess the biggest surprise has been the ability to use the blog as a mentoring tool. When someone asks a question, it’s been great to be able to say “oh yeah, I wrote a post about that on such and such date, go take a look”. A real time saver too, and it means I don’t overlook telling someone a critical piece of information.

Education

OK, I admit it, some days I’m just blocked. Not a clue what I want to write about. On those days I pull a book off the shelf, open to a random page, and read something. Try some code, and next thing you know I have a post, and I’ve managed to learn something new in the process.

Giving Back

Finally, but I think most importantly, blogging gives me a chance to give back. I’ve learned so much by reading the contributions of others, I feel an obligation to “pay it forward” (so to speak).

Well, what can I say? It’s been a lot of work, but a lot of fun as well, and quite an education to boot.. Thanks for the nice comments and the visits, I look forward to see what the future has in store.

Getting Ready for Code Camp

This week I’ll be working toward the Alabama Code Camp to be held in Mobile this Saturday, April 14th. (http://alabamacodecamp.com) I will be giving a presentation on SQL Server Compact Edition, and invite you all to come.

Since my previous SSCE posts were a bit back and a little scattered, I thought I’d start with a quick recap of my SSCE to date.

My first post described the background of SSCE, and where to get it from. You can find it at:

http://shrinkster.com/nsk

My second post described how to create a new SSCE database using code. You can find this post at:

http://shrinkster.com/nsl

The third post showed how to create a new table in your database, and can be located at:

http://shrinkster.com/nsm

My next post showed you how to insert rows into the newly created table:

http://shrinkster.com/nsn

And finally is my piece on loading a SSCE table from a standard DataTable object:

http://shrinkster.com/nso

That ought to get you up to speed, stay tuned this week as I build up to the weekend presentation.

Arcane Tidbits

The blog now has it’s own domain, just tell your friends to go to http://arcanecode.com for this blog.

I’m speaking at the upcoming code camp, Alabama Code Camp (http://alabamacodecamp.com). I’ll be speaking on SQL Server Compact Edition, but even if you are not interested in SSCE come on out there’s plenty of sessions no matter what your interest. April 14th in Mobile, make your plans now!

As I mentioned yesterday, I spoke to a group today at a Microsoft sponsored event. It was a lunch and learn session at one of Birmingham’s exclusive business clubs.

It was an interesting experience, I really enjoyed it. Of course I’m one of those people who really enjoy public speaking, so perhaps that shades my experience somewhat, but I think it’s something everyone should do given the opportunity.

If you are a little uncomfortable speaking, I highly recommend Toastmasters (http://www.toastmasters.org/). They give you training in a supportive environment to get comfortable speaking in front of crowds.

Arcane Education: Alabama Code Camp IV

Yes, it’s spring time, when the flowers are in bloom, and a young man’s fancy turns to… .NET!

Alabama Code Camp IV is coming up quick, April 14th is just a few short weeks away. For those in the south-east, this one will be held in Mobile AL. See all the details at:

http://www.alabamacodecamp.com/

If this is anything like the previous ones it’ll be great, tons of great speakers and lots of good swag. If you have never been to Mobile before, there’s a lot to see and do. My family is coming along and we’re going to make a weekend of it.

Top on my list (after code camp of course) is seeing the USS Alabama (http://www.ussalabama.com/), a WW II Battleship. At the same location they have the USS Drum, a submarine, a B52, an A-12 Blackbird, and tons of other exhibits.

If battleships aren’t your thing, Mobile is loaded with opportunities, check out Yahoo’s top 16 list at http://travel.yahoo.com/p-travelguide-2833565-mobile_things_to_do-i,  or the Mobile city guide on AL.com (http://www.al.com/mobile/cityguide/index.ssf?attractions.html).

And for the beach goers, Orange Beach is right next door to Mobile (literally). Check out the fun in the Gulf of Mexico at http://www.gulfshores.com/things-to-do/attractions/.

So there you go, a whole day of geeky fun for you, and plenty of ways for the family to be out spending your money, oops I mean having fun while you are getting an education. Well, at least Code Camp is free!

So quit sitting on your duff and start making plans today!

Arcane Thoughts: Hug Your Developer Evangelist Today

Last night Doug Turnure came to give a presentation to the Birmingham Software Developers Association (BSDA). Doug is the Microsoft Developer’s Evangelist for Alabama / Georgia / Mississippi. Brian Hitney, Developer Evangelist for North and South Carolina happened to be in Atlanta where Doug lives, and came along.

Together, the pair did an excellent presentation on Vista. Doug started things out with the new gadget sidebar component, the various kinds of gadgets, and gave a demonstration on developing a gadget.

Brian then picked up the presentation, giving us a technical overview of the core changes to the OS. He covered a surprising amount of technical detail in the short amount of time he had, and made it understandable.

We had a packed room, but Doug and Brian stayed until they’d answered every question from the crowd. They did a great job, and I just wanted to take a moment to thank them publicly. The Developer Evangelists do a lot for us, they spend a lot of time away from home visiting user groups and giving us a lot of free training and advice.

Take time to get to know your developer evangelist, work with them to coordinate presentations at your user groups. And don’t forget to thank them when it’s all over. Thanks guys!

Arcane Review: Why Software Sucks

I promised myself I wasn’t going to have a blog filled with a lot of book reviews. But having just finished “Why Software Sucks” by David S. Platt (http://www.amazon.com/Why-Software-Sucks-What-About/dp/0321466756/sr=8-1/qid=1172286512/ref=pd_bbs_sr_1/105-8037691-1992410?ie=UTF8&s=books or http://shrinkster.com/mdg), I find I can’t resist mentioning it.

David S. Platt is a software developer, author, and teacher at Harvard University Extension. However this book is not targeted at the experienced software developer, but instead at the average computer user. He gives the reader a basic knowledge of how software works, so they will know what is possible and what is not. Armed with knowledge about the possibilities of software development, the average joe can then determine when software sucks as opposed to just bumping into current limitations.

One reviewer on Amazon said he “…didn’t find anything new in the book for seasoned UI developers.” That’s a shame, as it shows he clearly didn’t get the point of the book. This book is not targeted at developers. It’s for users, so they will know when you’ve written good software, and when you’re handing them crap.

While it’s true this book is not packed with development techniques, it’s still an important read for any programmer. As a developer with over twenty years experience, what Mr. Platt’s book gave me was insight. To be reminded that the code I write is to be used by people other than developers. He helped me to see my application through the eyes of an average user, or to quote Mr. Platt, “Your users are not you!”

This was not a thick or expensive book, and was filled with enough humor to keep it a quick yet enjoyable read. At the same time it was serious enough to deal with the subject of user interfaces in a meaningful way. After reading this book, I think the best compliment someone will be able to give me about my applications is “it just works!”

For more information see the authors site at http://whysoftwaresucks.com/.

Standard disclaimer, I make no money from book sales, nor have I any financial affiliation with Amazon, the author, David S. Platt, the publisher, the guys who grew the trees that got turned into paper the book was printed on, the truck drivers that delivered the books, the company that hosts the authors website, nor am I the father of Anna Nicole Smith’s baby. Just so that’s all clear.

 

[Why Software Sucks Book Cover]

Arcane Thoughts: The Passion of the Programmer

One of my favorite bloggers is Jeff Atwood, and his Coding Horrors blog (http://www.codinghorror.com/blog/). Why? He’s passionate not just for code, but for coding.

I see a lot of people who are good at writing code. They know the syntax, can knock out some code, and get the application completed. Then there are people like Atwood, Steve McConnell, Paul Sheriff or Carl Franklin. These guys are passionate about the process of writing code.

When I speak of process, I’m talking about more than just writing, but the design of the code, how much reuse can you achieve from your existing components, do you do test driven development, waterfall, how often do you have code reviews, and more. This is the stuff that doesn’t help you write code, it helps you write better code.

Yesterday I had a root canal. I spent more than three hours in the dentists chair. Since there wasn’t much opportunity for stimulating conversation, I brought along my PDA and listened to some old DotNetRocks (http://www.dotnetrocks.com) episodes. In one of the episodes (http://www.dotnetrocks.com/default.aspx?showNum=104) Carl and Richard were interviewing Paul Sheriff on architecture.

During this episode, somewhere between the root canal and fitting a new crown, I realized that the coders who are passionate tend to also be architects, whether they realize it or not. They care about things like code reuse, good design, and adhering to standards.

If you are interested in learning more about architecture, I would recommend taking a look at the Patterns and Practices libraries at Microsoft. (http://msdn.microsoft.com/practices/). This is a collection of tools, e-books, and articles designed to not only recommend ways to architect your code, but the tools to get it done. Be sure to check out the “Getting Started” link on the upper left, it’s a good place get started on the road to not getting the job done, but getting the job done right.

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.

SysInternals – The New Process Monitor

Just when I thought I was done talking about the SysInternals tools, Microsoft finally integrates them into their TechNet site and makes some changes. I’ve already mentioned a few in my last post, in this one I wanted to take a quick look at the new ProcMon.

Available at http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/processmonitor.mspx, the new Process Monitor (ProcMon) replaces two older tools, FileMon and RegMon. It will keep an eye on all disk activity, whether it be on the drive or the registry. In the example below you can see what’s going on in my system as I write this. For example, I have WinAmp playing a recent DotNetRocks episode.

[Picture of Process Montiors main UI.]

One feature I rather like is the Process Tree, under the Tools menu.

[Process Monitors Process Tree]

Here you can see some of the many programs I have running. All I have to do is click on one of them then click the Go To Event button and it will take me right to the event. Three buttons on the main toolbar make it very easy to filter down to the events you want to see.

[Handy tools in the ProcMon Toolbar.]

The leftmost button turns registry events on or off. The middle button shows or hides file system activity. The right most button toggles the display of process / thread activity. Other filters allow you to narrow down to specific files or events you want to monitor.

I like the new version of this tool, lots of new features that make me prefer this to the older FileMon/RegMon tools, which are still available if you want to do your own comparisons.

.Net University

Over the previous weekend I attended Alabama Code Camp III down in Montgomery Alabama. A big thanks to the Montgomery group for a job well done!

While there I attended .Net University (http://www.dotnet-u.com/). .Net U is a brand new program from Microsoft designed so that local developers can train their peers on the core components of the 3.0 .Net Framework. I attended four sessions, and got a terrific overview of the new features.

After completing the courses, I received a certificate of completion and a nifty t-shirt. Not only did I get to attend, but I was in the very first .Net U class in the country! Check out the Alumni page (http://www.dotnet-u.com/Alumni.aspx) at the bottom is a pic of our class. (I’m almost dead center, standing directly in front of the big U (not the U in University, the U at the right end of the banner). I look like I have horns coming out of my head.)

If you get a chance to attend an upcoming .Net U, I encourage you to do so, gives you a great opportunity to get caught up on the new Framework features. One not near you? Put one on. All the materials you need are on the site, along with a contact link to get in touch with Microsoft.