Monday, March 27, 2006

The NewsGator world is really evolving quickly. I’ve followed the company since it was just Greg Reinacker writing the NewsGator Outlook add-in… reading feeds in Outlook wasn’t my preferred style of working and I ended up going with FeedDemon very early in its life. Still, Greg’s company is here in the Denver area and they’re a .NET shop so it’s always been interesting to follow. Things got pretty exciting when Brad Feld’s Mobius Venture (also local) invested and then NewsGator acquired FeedDemon and brought in its author, Nick Bradbury.

Over the weekend, Nick announced that they’ve hit the 2.0 milestone with FeedDemon. It’s a major update and congratulations to Nick on getting through it… I’ve been testing the FD pre-releases on a secondary home machine since the original 1.6 process started and it’s improved substantially over time. It’s been a long process, but I think the results are worth it. The new treeview for feeds is great, but the most welcome feature will definitely be synchronization with NewsGator Online. I was skeptical at first whether or not this would be something I’d use, especially early on when it was “subscription service or nothing”. But I said then that “I’ll give this stuff a try” and I have. Now, after working with it for a while and “finally seeing the light”, I’m happy to say that I’m hooked. With this feature, I’ll have full synchronization between my home/weekend machine and my machine in the office. When I’m not at either machine, I’ve got the NewsGator web-based reader as well (which, btw, has improved quite a bit since that skeptical blog post last year).

To improve things even more, NewsGator recently acquired the SmartRead application and brought in its developer, Kevin Cawley. Kevin and I have actually worked together in the past and he’s an all-star mobile developer. He really “gets” the mobile/handheld form factor and I’m certain he’ll do great things under the NewsGator banner. I’m pretty amped about having that “full synchronization” extend right out to my phone, so he’d better do great things! ;-)

Anyway, congrats to everyone at NewsGator for the exciting steps they’re taking.

posted on Monday, March 27, 2006 12:11 PM Mountain Daylight Time  #    Comments [0]
 Saturday, March 25, 2006

Like many other developers, I’ve fallen into (and occasionally out of) David Allen’s “Getting Things Done” (GTD) way of working over the last 18 months or so. It started with the book, and then later the e-book, but more than either of those, I’ve found that quick and handy shortcuts keep me on track.

One of the key elements of GTD is that you put your trust in some external system to keep track of all the “stuff” you need to do. This gets it out of your head, where it’s nagging at you and consuming bandwidth. Obviously, having some effective shortcuts for putting tasks into your system quickly is very useful. Most of the shortcuts revolve around dealing with Outlook, which I use to organize everything in my work life and a whole lot of things outside of work.

For example, I use the heck out of Bayden SlickRun on my machine. As quick-launch utilities go, it’s by far my favorite. It’s lightweight, takes very little system resources, and can be configured to perform a variety of creative tasks. Some of the GTD-related shortcuts I use include:

  • nm – To create a new message. This shortcut simply calls outlook.exe with “/c ipm.note” as a command line parameter. Even with Outlook minimized, this will open a new message window.
  • nt – Probably the most used shortcut, this creates a new task by passing “/c ipm.task” to the command line.
  • na – Creates a new appointment with “/c ipm.appointment”.
  • nc – Creates a new contact with “/c ipm.contact”.
  • nn – Creates a new note with “/c ipm.stickynote”.

These get more use when I’m out of the office with my laptop. When I’m in the office, I use a Microsoft Natural Keyboard 4000, which has several shortcut keys across the top (above the function keys). Once you install the Intellitype software for the keyboard, you can set those keys to do whatever you want. In my case, they create new messages, appointments, tasks, notes, and launch Visual Studio — all one touch away.

One of the key elements of GTD is the idea of context — that certain types of tasks can best (or only) be accomplished in certain situations. Various GTD discussions groups frequently have on-going discussions for right/wrong/best context, but it just boils down to how each person works. One example frequently given is @errands or @phone, where you might categorize tasks that can be done while you’re out running errands or while planning to make phone calls. Neither of these work well for me, as I don’t spend a lot of time running errands or on the phone.

On the other hand, I have @computer which has tasks that can be performed whenever I’m at a computer (home or office) — web sites to look at and that sort of thing. I also have @development, which has tasks that are specific to development. That is, I have Visual Studio, SQL Enterprise Mgr, Vault, and my other tools open… so now I can start digging into those tasks. I also like @Home, which is handy for storing the things I want to do around the house (or more commonly, the things I don’t want to do but need to get done anyway).

The e-book mentioned above also has the suggestion that you create categories for people you regularly work with. I’ve found this to be helpful for our management meetings at work. Because many of the people I work with travel regularly, I add reminders of things I want to mention/ask the next time they’re in town and we meet. For many topics, that approach works better than sending out email messages that will just be a part of the flood when they plug into their hotel room.

Once you get used to the keyboard shortcuts for asks, you can add items to your list as soon as they come up — thereby freeing you up to stay focused on the task at hand. When editing a task, type the task title, hit ALT+G to open the categories list, type the first couple of characters of the category you want, SPACE to select it, ENTER to close the window, and ALT+S to save the task — after a while, it becomes second nature and takes seconds to add a new task.

More recently, I’ve added ClearContext to the mix. This is an addin for Outlook that makes organizing your Inbox very easy and efficient. It analyzes your email patterns and can move/highlight the messages you receive based on sender, topic, priority, etc. There are a number of other productivity boosters that, as you learn them and make them habits, can quickly add up. I really like the ‘task’, ‘delegate’ and ‘defer’ options, which let you turn a message into a task for yourself, delegate it as a task for someone else, or simply hide it away until a later date. When you first install it, you don’t notice much beyond a few new toolbars here and there. But as you read through the guide and get a handle on its features, you realize there’s a lot under the hood. They just released their latest version with these features and their ‘basic’ version can now be used for free. If you spend much of your day organizing or managing projects in Outlook, give their demo a try.

 

posted on Saturday, March 25, 2006 9:00 AM Mountain Daylight Time  #    Comments [1]
 Friday, March 24, 2006

From the infosthetics blog comes a link to an amazing visualization of Beethoven’s No. 14 Sonata (the “Moonlight Sonata”). It’s one of my favorite pieces to listen to and to play, so seeing this interactive art installation at the Austin Museum of Digital Art would be a lot of fun.

Lots of photos on the artist’s site, as well as some information on how they interpret the music for visual display. After recording the performance on a MIDI piano, the MIDI data describes when a note is struck, how hard, and how long it’s held for… all of which gets munged into XML data for use with various visualizations.

One of which is the Moonlight Sonata as a Soyez rocket. Awesome. Explore the artist’s site, as there are also some early visualization experiments with Mancini’s Pink Panther and Schubert’s Sonata in C Minor.

posted on Friday, March 24, 2006 10:58 AM Mountain Daylight Time  #    Comments [0]
 Wednesday, March 15, 2006

I had bookmarked this a while back and came across it recently when clearing things out that are now on del.icio.us.

It’s a hilarious send-up of the many management and market consultants that swarm around charging ungodly rates to put together quadrant charts and product positioning diagrams.

My favorite line has to be “When one of our new-age marketing gurus or design experts or consultants has an idea, the rest of us look at him or her with serious expressions and write stuff down on paper”.

Huh Corp

 

PS: A few things struck me really funny during this post. First is that when I did the Google Image searches on “quadrant charts” and “product positioning”, some of the images that came up were from real-world Huh Corps… Also, many of the images that came up when searching on “product positioning” were in fact quadrant charts. Second is that the Huh Corp site has Google Adsense on it which, due to their satirical use of buzzwords, ends up showing ads for more real-world Huh Corps. Awesome.

posted on Wednesday, March 15, 2006 4:57 PM Mountain Daylight Time  #    Comments [0]
 Tuesday, February 21, 2006

Mitch Denny has a good post entitled “Day Programmer vs. Night Programmer”… he makes the case that there are two different types of developers. The “day” programmer who works his/her 8–5 shift and then checks out, versus the “night” programmer who needs more than that from his/her job. The comments to Mitch’s blog post are also insightful, with one person observing that the post won’t likely reach a “day” programmer (who, by definition, isn’t likely to spend time reading up on blogs and staying current in the development world).

My experience is that it boils down to passion for what you do and that’s a very hard thing to find.

I’ve worked with many “day programmers” in the past and am certain that they’re the majority. Most people (in all walks of life) are inherently lazy and want to do the bare minimum required to get through their tasks and collect a paycheck. When the clock strikes 5pm, it’s yabba-dabba-doo right out the door. The notion of spending time outside of those hours to learn new skills, improve the skills they have, or otherwise invest in their abilities is completely foreign. These are people who like the idea of moving ahead in their career, but won’t put in the time and effort to make it happen.

At work, I’ve had some open positions for a while and have a reputation with HR for taking a long time to fill them. I take some ribbing about it, but everyone agrees that “hiring right” is far more important than “hiring fast”. Hiring right means finding those who are passionate about what they do, who are engaged by their job, and who want to excel. As a hiring manager, this is exactly the type of person you want to find and keep. That’s not easy, but you’ll get far better work from a small team of top-notch “night” developers than you will from a legion of average “day” developers — where “better” is defined by speed, quality, reusability, maintenance costs, and other common metrics.

When talking with others about this phenomenon, I use an analogy comparing a small, highly-skilled “special forces” team (self-directed, very focused, and creative when solving problems) to a large squad of recent boot camp graduates (requiring constant management, very specific direction, and not looking to be creative). Interestingly, Mitch refers to this in his blog post when remarking that “day programmers are mostly led [by others] and will seldom lead,” but that “night programmers mostly lead [others]”.

On finding them… At one point, I’d hoped that posting an ad specifically calling for passionate developers would help weed out the “just a job, any job will do” type of submissions. You can still find that ad on this page (second listing at this writing). Unfortunately, while the tone of the ad hits the mark, it doesn’t serve to weed out unqualified applicants. It’s too easy to send an email with an attached resume.

The bigger issue in hiring the “passionate developer” is that these aren’t people who are typically looking for a job. And when the time comes to look around, they’ll usually find a job through word of mouth. Recruiters can sometimes help on this front (at least in terms of weeding out the deluge of resumes that come in from most ads), but a hiring manager will almost always have the best luck with referrals — from other passionate developers.

On keeping them… If the job they have isn’t stirring their passion, or if they’re not feeling rewarded for what they bring to the table, “night programmers” don’t turn into “day programmers”. Instead, they will go someplace else, where they DO feel excited and rewarded. How people feel rewarded is a topic for another day, but the bottom line is that it will vary for everyone. For some, it’s base pay. For others, it’s access to tools and great hardware. For still others, it’s just interesting problems to solve. Usually, it’s some combination of things and knowing what it is for each person on your “special forces” team is absolutely critical to long-term success.

This is an issue I’ve discussed here in the past, but there are some other great bloggers out there that post regularly on hiring, managing, motivating, and inspiring a development team. In addition to Mitch’s blog, check out Christopher Hawkins, Rands in Repose, and Software by Rob (his recent “How to Piss Off Your Software Developers” article is excellent).

posted on Tuesday, February 21, 2006 2:35 PM Mountain Standard Time  #    Comments [0]
 Monday, February 20, 2006

I love my Xbox 360. I loved the original Xbox. In fact, I was so amped over the Xbox that I sold off my PS2 and all the PS2 games. I’ll likely do the same eventually with the original Xbox in favor of just the 360 (especially since the backward compatibility list pretty well covers the games I’d want to keep).

But there is one area that the whole Xbox community falls well short of Sony… childrens’ and family games.

Now, before you point to the Xbox Live Arcade and say “those are all kid-safe”, hear me out.  Elmosadheart

First, just because a game isn’t gory or violent doesn’t mean that’s a good game for kids. It may be “kid-safe”, but it’s not kid-centric. Is there redeeming value in letting a kid play Joust or Geometry Wars?

Second, consider what happens if you go to Amazon.com, choose Video Games, Xbox 360, and then select the “Kids and Family” category. You get three games — two sports games from EA Sports and Ridge Racer 6. While they may be “kid-safe”, they’re certainly not kid-centric.

One of the things I really liked about the Playstation world was that there were actually some good educational games for kids to play. When she was 3, my daughter used to love playing Elmo’ Numbers and Elmo’s Letters. The graphics weren’t going to win any awards from the Joystiq crowd, but there were a lot of upsides. She got to play a game “just like daddy does”, it was a fun activity for us to do together, and she learned as she played.

And I don’t think a game has to be strictly educational to provide some learning opportunities. The various Sim- and Tycoon games offer the opportunity for creativity and problem-solving. Adventure games that require puzzles to be completed along the way, and so on.

I know the 360 hasn’t been out very long, but this is still a problem for original Xbox titles as well. Go to the “Kids and Family” section on Amazon for the original Xbox and the list is dominated by EA Sports titles and various racers. The two relatively kid-centric games on that list are Lego Star Wars and Madagascar (both seem to have little redeeming value beyond mindless entertainment).

Finally, I know that the market for these types of games is pretty small. This seems like an area where the Xbox Live Arcade and Marketplace could come through. No need for packaging or media distribution and a couple of decent titles would market themselves. I’d have a reason to go get some Microsoft Points.

In the meantime, thank goodness for the V-Smile

posted on Monday, February 20, 2006 11:08 AM Mountain Standard Time  #    Comments [0]
 Sunday, February 19, 2006

Jeff Atwood had a good post this past week, entitled “Fear of Writing.” As I read, it really resonated with me and my desire to blog more often.

I’ve got a bunch of notes/URLs set aside as potential blog topics and have been saving these for well over a year. (At some point, I’ll have to clean them up because I’m sure many are now well past their “sell by” date.)

So if I have all these things that I think are noteworthy, why can’t I bring myself to blog more often? I think the reasons boil down to two things:

  1. Making it a habit. To get good, you need practice. Practice is repetition. Repetition forms habits. Right now, I’m simply not in the habit of writing up a few posts a week. I have to set reminders to myself. I know it’s something I want to do, so I think the reason it’s not yet a habit brings me to reason #2:
  2. That fear thing. The issue here is the fear of writing something that’s simply not worth reading. I think writing up a good post requires some up front work — to organize the thoughts, the research and links, the writing, and the editing. And anything less has the potential to pollute the bandwidth.

I’ve written a fair amount before, including many magazine articles and a monthly “Best Practices” column. I know it’s something I enjoy… but writing for a blog is different than writing for a magazine or a full online article. It’s a smaller scale. It’s typically much shorter. It should be more frequent. It’s far more casual and it’s supposed to be a conversation — a single voice in a larger community.

With magazine articles, it was a larger task  (thus requiring more preparation) and a looking deadline made the commitment easy. But once it was done, it’s over. Only occasionally would I hear from someone who’d read the article… and when I did, it was months after I’d written it (most magazines have a 3–4 month lead time).

A blog post is a smaller task, but the feedback (good or bad) is more immediate. Someone can comment or send email within minutes of me clicking the “Post” button. This tight feedback loop is the part of blogging that I think is so cool, but it also instills the fear — what if it sucks? What if I got it wrong? What if I hit “Post” too soon?

I suppose admitting the fear is the first step to overcoming it… so, my name is Jeff and I have a fear of blog posts.

posted on Sunday, February 19, 2006 11:10 PM Mountain Standard Time  #    Comments [0]
I just came across this in the .NET blog world… looks like a CodeCamp is being planned for the Denver area. I’ll have to keep an eye on the site and hope that the scheduling works out for me.
posted on Sunday, February 19, 2006 10:47 PM Mountain Standard Time  #    Comments [0]
 Sunday, February 12, 2006

I had occasion to use Scott Willeke’s “Less MSIerables” tool this morning. I had download some code samples to check out and they’d been posted as an MSI package. While I like that format for installing apps and utilities I will keep around, it’s overkill for things like code samples or sample projects — things I don’t need cluttering up the Add/Remove Programs dialog and am likely to look at quickly and then delete.

It worked like a champ when pointed to an MSI file and made it easy to choose which files I extract. The registry key option (Allowing you to right-click an MSI and choose “Extract”) didn’t always work for me, but running the app itself and selecting an MSI isn’t too big a deal.

Well done… thanks, Scott!

posted on Sunday, February 12, 2006 1:28 PM Mountain Standard Time  #    Comments [0]

I’ve been looking forward to the Olympics starting up for a few months. Friday’s opening ceremony was pretty good and I had high hopes that I could catch a lot of coverage over the weekend. What a disappointment.OlympicsSchedule

NBC has the Olympics’ broadcast rights for the US and, on the surface, you’d think that’d be a good thing. In addition to local NBC channels, they could be using MSNBC and CNBC. Turns out that, according to NBCOlympics.com, they’ll also be using the USA network.

But each time I’ve sat down this weekend to see what’s up, I’ve had just one choice — women’s hockey. Now, I don’t mind a little women’s hockey, but where are the other events? It’s a Sunday afternoon on the first weekend of the games! Shouldn’t the land of 1000 channels have a channel that’s virtuall 24–hour coverage? Even if it didn’t always have commentators (sometimes, that’d be even better), if it showed raw footage during some times, or if it repeated things occasionally… it’d be better than what’s currenly on these channels (the “Non-Olympic Programming” above):

  • Local NBC Affiliate — Informercial
  • CNBC — Informercial
  • MSNB — “MSNBC News Live”, currently showing a story about sharks in Australia.

On the upside, the NBCOlympics.com site does have a pretty good TV Listings feature where you can put in a zip code and your broadcast provider (cable, satellite, etc), and it’ll give you a complete rundown. I just wish the answers it gave were better.

On a related note, maybe I can find some good blogs that are regularly updating with results and back stores from Torino.

UPDATE: Looks like the NBC site also has a page with various RSS feeds. That should be good for getting some results, but I suspect the best sources will be from actual “bloggers on the ground”.

posted on Sunday, February 12, 2006 1:22 PM Mountain Standard Time  #    Comments [1]