Wednesday, May 17, 2006

World of WarCraft: Cancelled

Update
I did come back to WoW for The Burning Crusade expansion, and I had a lot of fun in the first area, Hellfire Peninsula. I played the game pretty regularly until I finished all the quests in Zangermarsh, getting to about level 64.5 or so. But moving to a new area was a mental roadblock, it felt like I was going back to work, and I didn't play for close to a month. Staring at another subscription renewal, I bailed and called it a another Mother's Day present ;-), but with Halo 3 beta launching just days after my WoW subscription was to run out, it was an easy call. I don't think I will be back this time without an ala carte pricing model. Here's how it would work. I want to play some night and I pay for just that night, or maybe its a day, but the right pricing in my mind is probably $1 a day. I am holding out hope that Blizzard implements something like this, since it was one of the questions on the cancellation exit interview, since I can't bring myself to dump WoW from the hard drive.

Original Post
After 18 months of a continously active WoW subscription (and not nearly as continous play) I have cancelled my account and given my wife the best Mother's Day present she could have hoped for, my return to Real Life(tm).

I finally cancelled because the 4th guild I was in imploded, I finally hit 60 in Feb 06, and I just don't have the time to raid, so there isn't a whole lot in the game if you don't want to raid.

Plus, for my birthday in April, my wife got me the Xbox 360, and I love it, the games I have (Call of Duty 2, Ghost Recon Advanced Warfighter, and Tomb Raider: Legend) are all very entertainting, far more fun than I was having in WoW Battlegrounds or trying to grind reputation with Argent Dawn. Actually, I think the real final straw for WoW was a 3 hour Baron dungeon run that resulting in nothing after the pick-up group I was in disbanded after numerous wipes. I am just not burning that kind of time with nothing to show for it, and the risk of that happening again is high since I didn't have the energy to try and cultivate another guild relationship.

This doesn't mean I won't be back for The Burning Crusade expansion and the grind to 70, but I might not be either.

After E3, the Nintendo Wii (still don't like the name, but I have started to accept it) looks like a ton of fun, and that may occupy nearly all my time, with Spliter Cell Double Agent for the Xbox, at the end of the year.

Cancelling WoW has also been liberating for The Back-Logged Life.

The Back-Logged Life

ComputerZen.com - Scott Hanselman - Psychic Weight- Life is Pending Scott puts a good title, Psychic Weight, on a phenomena I have been feeling lately, the backlog of junk todo taunts me on a daily basis, and it only gets longer. The post Scott links to is The Back-Logged Life and you absolutely have to go read this.

Wednesday, May 03, 2006

Today's Top Windows Annoyance: Restarts

I installed the Windows Live Messenger Beta Refresh just a few minutes ago. First problem, Windows was patching itself so I couldn't install this, seriously how messed up is that. I can't run > 1 installer at a time that uses Windows Installer, its like we are back in DOS. Once I could get the Windows Live Messenger running, there are is all of this crap that I have to OPT-OUT of, desktop and quick launch garbage icons, some Windows Live ID Assistant (how the @!%@ am I supposed to know if I should install this, very little information about, guess I will install it, weeeee!), and Rhapsody music service (what?!!! I thought I was installing an IM client, no way). I unselect all but the assistant, the installer churns for a while, and then, what for it, that's right, I have to reboot even thought I quit the running instance of the old Windows Live Messenger Beta (that name sucks btw, give me MSN Messenger) before kicking off the install. I am pissed because I got to close down everything, I NEVER reboot any computer (Mac or PC) unless an OS patch requires, and a f'ing IM client should NEVER force a system reboot, that's insane. Then I remember that Apple has an new ad called Restarting as part of the Get A Mac campaign and I start to laugh because I have just been hit by the PC restarting problem. For the record Microsoft Messenger for the Mac does not require a restart. I highly recommend checking out Apple's Get A Mac site and watching all the ads, they are amusing.

Thursday, April 27, 2006

Bye Bye RSS Bandit, Hello FeedDemon, Thanks NetNewsWire

I have been using RSS Bandit on Windows for years now to aggregate all my feeds, and I have been happy with the application. On the Mac, I use NetNewsWire. Ranchero, the makers of NetNewWire, were purchased by NewsGator in late 2005. I purchased a license to the full NetNewsWire right after Ranchero was purchased because I was guarenteed to get free updates to the full version for years, it already had synching to .Mac for use across all my Macs, and free subscription to NewsGator, how could I lose? NetNewsWire is one of the best apps I have ever used, it was one of the few Christmas presents I bought for myself. With NetNewsWire 2.1 Beta 33 enabling the NewsGator subscription setup and fixing a bunch of synching issues, I finally turned off .Mac syncing and enabled NewsGator synching. Biggest immediate improvement, synching now just happens while feeds are refreshed unlike with .Mac which has to be manually triggered (this I think is a design choice, but it was an annoyance). I then looked at the NewsGator synching support in RSS Bandit on Windows to see if I could get the holy grail, One Feed List To Rule Them All! Alas, RSS Bandit having full automatic synching support seems unlikely given project lead Dare Obasanjo's feelings on the NewsGator API. With some reluctance, I downloaded FeedDemon 2.0 for Windows and installed it. First thing I am impressed with, I have a full license to the product because NetNewsWire 2.1 Beta 33 has already given me a full subscription to NewsGator for 2 years! Great, at least I won't have to pay for this if I don't like it. I then give it my NewsGator account info and run it for the first time. Wow, the app is very responsive, I can feel the speed over RSS Bandit, which I had never considered slow before. UI is clean and doesn't waste a lot of space, a personal pet peeve of mine. The speed is really impressive, (this is not a .NET app, not sure if that accounts for the speed, but...) so much so that I go back to RSS Bandit and export my feeds to OPML, which I am grateful both apps support. I do a little editing and then import the list into FeedDemon. I think I am ready to uninstall RSS Bandit because I have finally merged my Windows and Mac feed lists (which had slightly diverged just due to my laziness at manually merging all the time). FeedDemon 2 can also sync to NewsGator subscription changes when feeds are refreshed (this is not the default, I had to turn this on to mimic NetNewsWire). I don't have to pay the NewsGator $19.95 a year for this level of synching until April 2008, but for a news junkie like me, I think I have just found nirvana. If anyone wants to keep track of their feeds cross-box, cross-platform, or both, this stuff is killer and I highly recommend getting on board. The only thing I haven't tried yet is firing up NetNewsWire to see how it handled all the changes I just made to my feed list, but I have faith in Brent Simmons, lead developer of NetNewsWire.

Friday, April 21, 2006

Finally Turned off the Windows XP "Luna" Theme

I realize this is isn't the most tantalizing topic, but I finally turned off the default Windows XP Theme "Luna" today. I did this because I was getting some weird color drawing behavior in a custom app, so I wanted to see what it looked like in Classic, but what I noticed immediately was that the UI immediately felt like it was responding faster. I don't know if it is benchmark true, but it feels true so I just might leave it off for good. I mean, why bother putting lipstick on a pig, its still a pig.

Wednesday, April 05, 2006

Apple sends Windows XP to Boot Camp

Apple has done it. Today they released Boot Camp a public beta of a feature to be included in OS X 10.5 Leopard. Boot Camp lets you dual-boot Windows on Intel Macs. It does it by providing all the drivers needed to make Win XP understand any of the Intel Macs out there, and presumably will be updated for upcoming Intel Macs. Boot Camp partitions the OS X HD non-destructively to create the Win XP partition, and it integrates with all the Startup Disk functionality built-in to the Mac hardware and OS X. Finally, Apple has made it official. Why buy a PC from Dell that only runs Windows when you can get a Mac that runs OS X, the best OS in the world with the best applications, and you can also run Windows *if* you really need to.

Monday, April 03, 2006

Review: Applied Software Project Management

Disclaimer: I was a technical reviewer for this book and I work with Jennifer Greene, if you feel that taints my opinion, please feel free to move along, move along, this isn't the review your looking for. Applied Software Project Management is one of those rare books about technology that is actually worth your valuable time to read. You might be saying to yourself, I already have a software development process that I am very comfortable with, why should I bother reading this book? This isn't a software process book. It isn't about Extreme Programming (XP), Agile, CMM, Microsoft Solutions Framework, Rational Unified Process, etc. individually, but it is about all of these processes. The book takes the best ideas from all of them and tells you, the project manager, how you can apply them on individual projects, or even as a group if you want to get revolutionary in your organization, to improve how you build software. Also, the book is language, development environment, operating system, and named software process agnostic with one exception. Subversion, the open source software source control system and natural succesor to the venerable CVS, is specifically mentioned. I started using Subversion for a personal project, and I now love it. If you are still using Visual SourceSafe, stop torturing yourself and make the move. The ideas contained in Applied Software Project Management have taken me personally years of practice managing software projects, and trial and error, to realize need to be in place for a sucessful project. I wish I had a book like this when I started managing software projects professionally. Professional software projects are a beast unlike college or hobby projects, primarily because the careers of many people are intertwined with the project you are on. Lots of money is at stake, peoples livelihood, so everyone can get jittery. Best to know how to manage the project to calm everyone down. :-) Part One of the book takes a diagnose and fix approach to your software project, listing symptoms your projects may have had and what you can do to make them better. Topics include:
  1. Introduction
  2. Project Planning
  3. Estimation
  4. Schedules
  5. Reviews
  6. Requirements Gathering
  7. Design and Programming
  8. Testing
If you read nothing else, you will be a better project manager just from reading Chapter 1. There are two key principles talked about in that chapter I think require special attention. Tell everyone the truth all the time This is Transparency. Tell your customers what is going on with the project, tell your project team what is going on with the project, everyone involved with the project should have complete access to the information about the project. The book also lists Trust Your Team as a princple, and you really can't be transparent if you don't trust your team. So maybe your thinking to yourself my company likes or needs to operate in secret, how can I be transparent? The key to being transparent with the project team and your customer is how you define those terms. If you are in a public company that you are building software to sell, your ultimate customer is of course the buyers of the software. Ideally you want to be as transparent to that group as possible. Transparency build trusts because customers know what is going on. But projects can't always be fully trusted to customers for competative reasons. The "customer" or a project manager is also your manager and there managers up to your companies executives, and its with this group you really need to be transparent with. You might be thinking "If I show all the bad stuff that happens on a project, I might not get a promotion or even fired". For some managers, that might be true, they might only want good news, and they would be bad managers. Bad managers in any business are tough to deal with, I wish you luck. All software engineers are created equal I laugh when people misinterpret this. This principle does not mean developers are interchangable cogs (the book goes out of its way to make this obvious) and all members of the team do not have the same skill level. No, this principle is referencing Thomas Jefferson's "All men are creating equal" and in that case all men are equal under the law. In the software engineer case, it means that any member of the project team can contribute ideas and they should be objectively analyzed. Maybe your development team lead, business analyst, or architect (hey that's me!) contribute a majority of ideas because of their experience. That's ok, but when your most junior developer proposes an idea, you better listen and be objective, because sometimes that idea will trump everyone elses idea and the project will be better for it. Use the best ideas, not just the ideas backed by titles. Chapter 11 - Managing An Outsourced Project is a key chapter because most project managers have never run an outsourced project and with outsourcing being a hot topic, this chapter gives you a good overview of hows thing are different from a normal project and what you can expect. I need to call out a couple key point from the book based on my year of experience working with an offshore development team. Maintain Control Of Design And Programming I can't stress this point enough. You might be tempted to say that you have paid the vendor good money to handle the project, doesn't that mean everything, design, architecture, and development? It might, I can't say it won't, but I don't think its in a project managers best interest, and ultimately the companies, to give up that much control over the outcome of the software, and the book makes this point well. From my experience, the are three problems with relinquishing design control to the vendor. The time it takes for unclear requirements to get resolved because of time zone differences result in bad design decisions being made by the vendor to eliminate the downtime of waiting for a response from the onshore project management team. Next is a supply-demand inbalance pressing inexperienced developers into technical lead or architect positions without the breadth or depth of experience to make educated design decisions. I also believe that a lot of vendors, and this is the classic hired consulting company problem, have conflitory goals than your organizations, resulting in conflicting priorities which influence the design (e.g. if I write few unit tests I can code down faster, and I get bonused on faster delivery!). Build a Relationship with your Team Depending on the vendor you work with, how the titles junior software engineer, software engineer, senior software engineers, etc. actually correlate to the experience of the person doing the work on your outsourced team could be a mismatch between what can be delivered and what you expect. It is the responsibility of the project manager to know the development team, I would go so far as to conduct technical interviews, to gauge the kind of experience the vendors people have. One of the worse experiences in software development is assigning work to someone that says they can do the work, but really doesn't have the experience to get it done. Conclusion Applied Software Project Management is the kind of book that should be taught to people that want to be professional software engineers. Prospective software developers need to know that being able to write code and being able to run projects are completely different skills. If you want to understand the complete picture of software development, you need to know both. This is not a book about any specific company, technology, or process, it is about the best practices you can use when running software projects and that is its greatest strength. Andrew Stellman & Jennifer Greene have done an excellent job and the contents of this title will remain relevant for years to come. Highly Recommended!

Friday, March 17, 2006

Intel Macs: Developer Dream Machines

Now that Windows XP Boots on Intel Macs and Red Hat is going to get their distro running on Intel Macs it is pretty clear that if you develop for Windows, Mac, or Linux and want to test at native speed competative applications or you develop on multiple platforms, then an Intel Mac is going to be a very enticing option, particularly laptops as roving development labs. MacBooks, the iBook replacement, are surely coming out in just a few weeks time and should over good performance in the $1000-$2000 range. But these is also another option. If you intend on doing any OS X development, you could become an Apple Developer Connection (ADC) Select Member for $500. Click on the link to see all the benefits, but the one thing it give you is a deep discount on one new hardware purchase with your membership. Through the Apple Hardware Purchase Program, you can get the 1.83 GHz MacBook Pro starting at $1599 or the 2.0 GHz MacBook Pro starting at $1999, a discount of $400 and $500 respectively. That's right, if you were going to buy a MacBook Pro, you can get the Select membership and the hardware for the same cost. For me, the additional benefit of the Select membership even if you weren't developing OS X apps is the access to Pre-Release Software. With OS X 10.5 sure to hit public beta this year, you get access to this OS before everyone else. If you are developing for OS X, you also get 2 technical support incidents from Apple with the year membership. If you are going to develop for any OS, why wouldn't you buy a Mac if you wanted to keep your options open with OS support? And if you are going to buy a MacBook Pro, you might as well do it through the ADC Select program and get yourself early access to Leopard. Update: If you are looking for consumer level hardware (iMac, iBook/upcoming MacBook) then the discounts are significantly less. You can check out the prices yourself on the ADC Hardware Purchase Program Store, but here are some example:
  1. iMac Dual Core 17" - Retail starts $1299 - ADC $1170 - $129 difference
  2. iMac Dual Core 20" - Retail starts $1699 - ADC $1529 - $170 difference
You can also get an ADC discount on anything in the ADC store, iPods included, when you buy all the stuff together with your computer purchase. So the more you spend, the more you save. Another benefit to take into account with the Select membership is that you get the final version of the next OS X on DVD. I would imagine you have to be a Select member when the final version of Leopard is released for this to be true, so timing is a factor. I would think that somewhere around the WWDC would be a good time, surely 10.5 is going to be released < 1 year after WWDC.

Thursday, March 16, 2006

Win XP boots on Intel Macs!

As soon as the Intel iBook (soon to be MacBook?) comes out, it may be time to make another purchase. Now that Win XP boots on Intel Macs that is. The solution isn't too bad either. Basically, you make an OEM Windows XP install CD that includes drivers for the Apple hardware, partition your make to make room for XP, then tell OS X to use a file provided with the solution to boot from. The toughest part is making the CD, and of course you have to destroy whatever installation of OS X you have on your Intel Mac. But even that part could be trivialized, using the OS X Setup Assitant you can get your new Intel Mac and just transfer everything off of your old Mac after you have it rigged for dual-boot. I have used the Setup Assistant once before, it worked fantastically. I was a little nervous about it at first because of the terrible experience I had using the Windows XP File and Settings Transfer Wizard. These two technologies are not equivalent, the XP wizard as its reveals only does files and settings, and when I used it a poor job at that. The OS X Setup Assistant migrates all Users, Applications, and OS Settings. It's almost like Symantec Ghost, but its simple to use and smart. For instance if a newer version of an OS X or iLife application is on the target machine, it leaves the new version in place, particularly important for Intel Macs. How can the Setup Assistant make life easier for anyone that has already been using an Intel Mac? You could use a second Mac as temporary staging machine, Setup Assistant everything over to it, rig your Intel Mac for dual-boot, then move it all back over after you have XP and OS X running on the Mactel. You could also use Apple's Backup application, part of the .Mac subscription, to backup your home directory, /Library and /Applications folders to an external drive, then restore when you have the Mactel ready to go.

Tuesday, March 14, 2006

Why is DataGrid.PageCount = 1?

Came across an issue today that was not obvious how to fix, and Googleing revealed no information about it, maybe I just couldn't hit upon the right combination of search terms, but here you go. In ASP.NET, a page that I am working on displays data with a DataGrid. I don't like, nor do any of our users, the built-in paging controls that you get for free with the DataGrid, so we wanted to implement something custom. I found this article on DotNetJunkies.com demonstrating how they did it. They go whole hog and used a stored procedure to implement entirely custom data page management. I have done this before too, but I have a lot of code using DataViews and DataSets already in this page (inherited from someone else) that I don't want to refactor during this phase of development. So I turn off the built-in paging controls with this bit of markup <asp:datagrid id="DataGrid1" AllowPaging="True" PagerStyle-Visible="False"
AllowCustomPaging="True">...</asp:datagrid>
There is just one problem with this, when you have AllowCustomPaging="True", then no matter what you set as DataGrid1.DataSource and do the DataGrid1.DataBind, your DataGrid1.PageCount property will always be 1. I think I copied this out of the DotNetJunkies article because I thought I might replace the way I get data into the DataGrid as well as the paging UI, and forgot about. In MSDN help, the fact that this will always be 1 when AllowCustomPaging is true is not mentioned. In the help for AllowCustomPaging, the only hint there may be a relationship to PageCount is the note that you have to set the VirtualItemCount to the total number of items there could be. When you do, then PageCount is calculated correctly based on the PageSize. The relationship between all these properties is not obvious and if you haven't dealt with this issue in a while, it may take a while to determine why PageCount=1 like it took me. I hope this post saves someone some time.