Quicken, Windows, and WTF is happening?

I just installed Quicken 2008 for Windows, and ran it for the first time. Being a Quicken user before, when I got to the following dialog box, I clicked the [Next] button.

image 

It’s been eight minutes since I clicked the Next button, and aside from massive hard drive thrashing, nothing is happening. There are no other applications open on my computer, and virtually no utilization reported in Task Manager.

So, can someone please explain WTF Quicken and/or Windows are doing right now?

Ah, by the time I finished writing this blog post, I finally received the "Open Quicken File" dialog box. Based on the initial folder in the dialog box, Quicken looked through my entire hard drive to find a Quicken file. I know this, because the FolderShare trash folder is selected — hardly the expected default folder for Quicken.

Can someone explain to me what brain surgeon at Quicken decided that a feature such as this — with no progress indicator or cancel button — was a good one?

Operator overloading your domain model with interfaces and base classes

One of the challenges in rewriting my online baseball game is dealing with enormous amounts of data that needs to be stored as aggregates, and coming up with a domain model and data mapping pattern that works. In this blog post, I’ll outline how I addressed some of those issues.

The Data Model

Baseball is very much a statistics-oriented game. Consider fielding statistics: putouts (PO), assists (A), errors (E) and others. These stats need to be stored:

  • Per game, for each player who played in the game, for each position he played (key fields: game, player, position)
  • Per season, for each player, for each team he played for, for each position he played (key fields: season, player, team, position)
  • Career, for each player, for each position he played (key fields: player, position)

On the database side, that results in three tables: GameFieldingStats, SeasonFieldingStats, and CareerFieldingStats. Each has the same set of fields to store the statistics (PO, A, and E); the differences are in the key fields for each, as outlined in the diagram below. (Note: For the remainder of this post, I’ll include only the first two of those tables to keep things short.)

Continue reading

Syncing Google calendars with Outlook 2007

I was trying to get Outlook 2007 to sync with my Google calendars. For those who don’t know, doing this takes a few quick steps:

  1. Go to your Google Calendar page.
  2. Under the My Calendars section on the left, click the down-arrow next to the calendar you want to sync, and select Calendar Settings.
  3. At the bottom, click the ICAL button in the Private Address line.
  4. Copy the URL provided to the clipboard.
  5. Open Outlook 2007 and go to Tools / Account Settings.
  6. Click the Internet Calendars tab, then click New.
  7. Paste the URL you copied in step 4 into the box and click Add.
  8. Finish as prompted.

Easy enough, and I was able to sync my personal Google calendar (linked with my bdemarzo@gmail.com account) this way. However, when I tried my hosted Google calendar (linked with bdemarzo@computersims.com), step 7 would fail; Outlook said it wasn’t a recognized calendar format.

The problem is that Outlook apparently has an issue with calendars hosted via HTTPS, and may have an issue with the email address in the URL to your calendar.

Consider the private URL to my personal Google calendar (hosted with my plain vanilla GMail account).

GMail Calendar private address window

Now, consider the private URL to my hosted domain Google calendar (i.e. my computersims.com account).

GMail Hosted Calendar private address window

When pasting the calendar address for a hosted domain Google calendar account into Outlook, you need to do the following:

  • Change the protocol from HTTPS to HTTP.
  • Replace the %40 symbol in the email address to the at symbol @.

As a result, this…

https://www.google.com/calendar/ical/bdemarzo%40gmail.com/private-0123456789ABCDEF0123456789ABCDEF/basic.ics

…becomes this:

http://www.google.com/calendar/ical/bdemarzo@gmail.com/private-0123456789ABCDEF0123456789ABCDEF/basic.ics

Note the emphasized sections are the only ones changed. Do this, and Outlook 2007 reads your hosted Google calendar fine!

Of course, this is all a one-way sync — you can’t add things to your Google calendar from Outlook — but it’s better than nothing at all.

Who needs Photoshop? I have Paint.NET!

Granted, I’m no graphics designer, so my graphic editing needs are pretty mundane. Still, I need to crop, resize, recolor, reformat, enhance, distort, and do all those other fun things to images from time to time. I also need to mock up web pages and graphics. I could buy Photoshop to do this, but I don’t have to, because I have Paint.NET — and it’s free!

Paint.NET: free, open-source image editingPaint.NET is a free, open source image editing application for Windows. It has a fantastic feature set and is rock solid — I have never had it crash, become unresponsive, or otherwise trash anything on my system, and that’s after using it for months (and using it on my 4 1/2-year-old underpowered home PC to do some image editing for Christmas cards).

If Paint.NET can’t do what you want out-of-the-box, then you can extend it. It offers a plug-in architecture, and there’s a nice collection of community-written plugins available to download.

Hats off to Rick Brewster and others for this fantastic product. It’s so nice that I’m going to donate as part of my drive to donate $5 per month to a free software product. Since I’m two months behind, the Paint.NET team get ten samoleans. Well worth it, considering Photoshop costs just a bit more than that.

My donation history to date far is as follows.

Stupid things to say: “Point your favorite browser to…”

I received an email today from Microsoft, “Introducing MSDN Online Subscriptions!” Very exciting for sure; I had no idea this is something new, as I’ve been downloading things from my MSDN subscription for years. But I digress. The “stupid thing to say” in this email is:

Point your favorite browser to http://msdn2.microsoft.com/subscriptions

Do you expect people to choose their least favorite browser? Or any browser other than their favorite? Or, does it even matter? Why even bother adding those words — why not just say, “Go to http://msdn2.microsoft.com/subscriptions“. This is an MSDN subscription e-mail; the users are likely to know what you mean.

To digress again… my subscription expired months ago. Why are they telling me to update my subscription to online only — shouldn’t they be trying to get me to create a new subscription? Oddly, the email includes my old (expired) MSDN subscriber number, which is meaningless as I can’t use it or renew it.

Try to order FIOS for Business online (really, try!)

On Monday, I’ll be back in the role of an independent consultant, so I’m upgrading services in my office so I can work efficiently. One thing I want to do is upgrade from a plain old DSL line to a business FIOS line. I have FIOS at home and I’m very happy with it, so it’s time for FIOS at work.

I went to Verizon’s web site and started the online ordering process for FIOS. I got to the page where I can pick my router, and clicked the NEXT button. Sorry, no can do; the button uses JavaScript, and the code has an error in it, so you can’t go any further.

JavaScript errors when ordering Verizon FIOS online

Maybe it’s an issue between the web site and Firefox. After all, we can’t assume that Verizon’s web programmers would support all web browsers, so I tried the same with IE7.

Server errors when ordering Verizon FIOS online How did things fare with IE7? Worse. Click the order button on Verizon’s Packages and Prices page, and get a nice ASP.Net script error.

I don’t know what’s scarier: the inability to submit an order form using Firefox, the inability to start an order form using Internet Explorer, or the fact that they don’t have custom ASP.Net error pages.

How to change a Visual Studio 2005 class project to a web project

I tend to create new Visual Studio projects using the class library template, then make it into what I want. Sometimes, what I want is a web project. Through the project properties view, you can change a project between a class library, windows application, or console application with ease — but there’s no easy way to change to a web project.

Fortunately, there is an easy way to do it.

Open your VS2005 project file (ending in .csproj) in a text editor. Add a new line (shown below) to the first , usually one of the first few lines in the file.

<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Save the file and reopen your project. Viola! It’s a web project. But there is a bit more to do. Find each <OutputPath> line, and set remove the Debug or Release (or any other) folder, so it just reads as follows.

&lt;OutputPath&gt;bin\&lt;/OutputPath&gt;

Assess your .Net skills (and get a job) with this online test

Brant Estes of Magenic Technologies has just posted a very nice online quiz for .Net programmers. The test is there to pre-screen potential candidates to work at Magenic, but it’s also a very nice test for any .Net programmer to take (or to give to any .Net programmer you have considered hiring).

My Magenic Technologies .Net test scoreI took the test and scored a 75 out of 100 (without cheating, mind you), and was told I may make a great addition to Magenic. Unfortunately, I live in New York, and I’m not relocating. Besides, I just put in my resignation with my current employer so I can go back to independent consulting, so I’m not exactly on the market for full-time employment… but more on that another day.

Installing Systems Center Essentials fails: “The specified domain does not exist or cannot be contacted.”

I’m trying to evaluate Microsoft’s Systems Center Essentials 2007. I say “trying” because every time I install it, I get an error in the setup log file.

The specified domain does not exist or cannot be contacted.

This makes no sense, because I’m logged in with a domain administrator account and the setup program is validating the domain-level service account. What gives? After two failed tries, I searched Microsoft’s web site, and I found this:

(KB 937831) The installation of System Center Essentials 2007 fails during the Reporting part of Setup and the following information is logged: “The specified domain does not exist or cannot be contacted”
– Fixes a problem that occurs if the computer’s NetBIOS domain name does not match the domain or if the computer’s domain suffix does not match the domain.

There’s a hotfix for the setup program (go figure) that fixes the problem. Unfortunately, the symptom (NetBIOS name discrepancies) is not the case in my situation, but the error message is the same. I tried applying the hotfix, and — guess what — SCE installed successfully.

Here’s the oddest part of it all. Why doesn’t Microsoft pre-apply the hotfix to the evaluation installer that they make available on their web site?