Revert A File with WinCVS

For some reason, searching for “wincvs revert” in Google doesn’t immediately show http://cvsgui.sourceforge.net/newfaq.htm#reversion, which it absolutely should. It explains what you have to do, but to make it extra clear here is a screen grab:

You can replace HEAD with another version like 1.12.

BTW, if you’re on Windows and using Eclipse, WinCVS is a great support tool for Eclipse’s broken CVS support.1 I can get history/logs for files and revert to previous versions. Eclipse remote history has been broken for me through several upgrades/reinstalls and will only revert to a tag, not a specified file version.2

The only real issue I have with WinCVS is that its help system doesn’t provide any. Expect things like “Merge options dialog allows the user to change the merge options.” Still, I’m grateful for the effort and can’t complain about the price.

  1. It uses CVSNT so it’s compatible with Eclipse’s working directories; using Cygwin’s CVS can cause problems as it’s not really compatible with CVSNT. []
  2. I assume that would work if remote history worked, though. []

Why You Should Keep Your Launch Dates Secret

It occurred to me that by keeping launch dates secret, Apple never appears to suck at software estimation. Microsoft gives a date, sails right past it, and everyone is up in arms about it.

A better question is why doesn’t MS keep things secret? Or all software companies, for that matter? I know with sales, everyone wants to know when the next version is out so they can hold off on buying the current one. Or the sales person tries to keep you from buying their competitor’s product because their next version will be much better. But everyone knows there’s no guarantee of that happening, and there’s a potential opportunity cost in waiting. And since the estimates that drive the schedule were done by the wrong people at the wrong time, without being updated,1 you’ll probably be waiting longer than they claim.

I think the best policy would be to launch whenever it’s ready, and everyone who purchased within the last 60 days – or better yet, has a support contract – gets the new version for free.

Of course, this only applies to software. For hardware, you’re forced to apply common sense: do I need this right now? Does it do what need at a fair price? Or you can visit http://buyersguide.macrumors.com/ and hope they’re right.

  1. See the Estimation section of Facts and Fallacies of Software Engineering. []

Deleting (undeletable) Tasks In Eclipse

I recently had some more frustration with Eclipse, with no solution on the web, so I’m posting mine.

The problem:

I had an auto-generated task (TODO) from creating a class that implemented an interface. At some point, I noticed the task comment was gone, but the task indicator (checkbox icon) was still there. Probably because I have it set to reformat on save, but maybe I deleted the task comment without hitting the task button (or both). Anyway, I could not clear it no matter what:

  • Double clicking the icon didn’t work since it couldn’t find the comment.
  • Clicking the “Clean and Redetect Tasks” button did nothing.
  • Restarting Eclipse (which I do more often than a Windows admin reboots), did naught.
  • The Task View displayed the offending tasks, but the Delete option was greyed out. Selecting the task and hitting delete 3 million times while cursing furiously at the screen brought no justice.

The solution:

  1. Go to Window >> Preferences, then Java/Compiler/Task Tags. Select the TODO task tag, or whatever accursed tag haunts you.
  2. Click Remove. When it threatens a rebuild, call it’s bluff (that is, agree). When it’s done (and it took its sweet time), the offending tasks will be gone. Rejoice!
  3. Click New… and restore the TODO tag. All legitimate TODO tasks will be restored.  Callooh! Callay!

keywords: can’t delete tasks, task tags, eclipse 3.4, mylyn

Survey Hurdles And Incentives

I just quit another survey before completing it, this one from Rhapsody. I like Rhapsody, and I don’t mind giving them my opinions to improve their service (or even to keep it the same). However, my time is valuable, and I can’t waste it on sites that don’t institute the simplest of usability measures. For example, if I leave a question blank, and there is a very reasonable conversion for blank (like zero or n/a), don’t come back to me with “answer all questions properly.” They didn’t even highlight which question they had a problem with or what, specifically, was wrong. The second time I got that message, I just closed the tab. They said the survey would take 10-15 minutes. Well guess what? If you coded it nicely, it’d only take us 5.

This is similar to telemarketers who give phone surveys and, because of some stupid rule set up by their management, must tell you what the numbers 1 through 5 represent for every single question. At that point, I’m thinking 1 for slightly annoyed, 2 for really annoyed, 3 for angry, 4 for hanging up right now…

And offering a chance of winning a single $100 Amazon gift card (which seems to be a new survey standard) is really no incentive at all. If you really want to incentivize, why not say 100 people will get a free month of Rhapsody to Go? Wouldn’t that improve your image without costing you much, since it’s your survey to begin with?

Look, for many topics, I’m a guy who actually cares. I’m happy to give you my opinions and insights. Please stop making me care less.

A Tivo Wishlist For Those Without Tivo

I had this idea and considered creating it as a service, but I’ve got my own web startup going and don’t need the distraction. Several sites, such as Zap2it, TV Guide, and TitanTV (beta) already have the infrastructure (as well as the TV listings I’d have to license) so hopefully this won’t be too hard for one of them to implement.

I’m looking for a clone of the Tivo Wishlist. The difference is that instead of recording, you get email alerts. I imagine if you have a DVR/PVR that is internet programmable, the service could take advantage of that, but I’ve got my cable company’s DVR (Scientific Atlanta) like most people and must program it with the remote. So this provides a wishlist feature for everyone without a Tivo, which I think is compelling.

The search features of current TV listings sites are missing critical fields for a wishlist to work (not to mention the email reminder part). Filtering (both inclusive and exclusive) by genre and channel are required.

Here are a couple strong (IMHO) use cases:

  • You want to be notified if anyone on a list of people is scheduled to be on a talk show. You enter description:”Quentin Tarantino, Kevin Smith, Judd Apatow” and genre: talk and every time any of them appear on a talk show you’re notified. If Tarantino’s Reservoir Dogs is played on HBO, nothing happens.
  • You’re planning a vacation and you want to record travel shows about various places. You enter keywords:”Prague,Tokyo,Paris” and interest:travel (or perhaps channels:travel,discovery,tlc,pbs) and you get notified for any travel shows relevant to you.

Of course, the above would be done via a nice GUI/query builder.

When you get your email, there would be links to hide/exclude shows in the future, which is useful for anything that gets rerun frequently (especially basic cable shows).

You can monetize this through targeted ads, since the user is telling you what he/she wants.

Another service would be to send a post-mortem email that includes links to the shows you want on Hulu, YouTube, the network’s website, etc. after they’ve been uploaded.  At that point you’re much closer to a real Tivo service and could possibly charge for it. Possibly.

I should point out that Tivo’s own advanced search is great and includes categories (and subs) and is open to the public.

And if you are only interested in the talk show part, you can set a calendar reminder to check the talk show lineups page once a week. However, I’d much rather have something automated that allows me to set it and forget it.  I could probably whip up a script to parse that page and run it as a service/cron job to notify me when there’s a match, but still, it would only work for talk shows. And parsing poorly formed HTML is a pain.

No, the easiest solution is to convince someone else to implement it for me 🙂

Update: If you want to see Yahoo TV implement this, upvote it here.