Tuesday, September 23, 2008

"TiVo" with more, for less?

So I built my own DVR (think "TiVo"), and now I'm wondering...

Why doesn't BeyondTV get more love from the Internet?

Is it a byproduct of the prevailing hatred for all things Microsoft? (BeyondTV is only available in Windows.) Was it really bad before, but coincidentally got better just before I tried it? Is it just poorly advertised and not enough people know about it?

First I'd better explain the situation.
About the end of January, 2008, I built my own DVR. It might be more accurate to say I built it between January and June, because during that time, I was constantly tinkering and trying different different options.

Of course, I did my research first. My requirements were relatively simple. I wanted to be able to record HD and standard television. Plus the software needed to be relatively easy, it shouldn't take a geek to figure out how to use it. (It was okay to be complicated to set up, as long as it was easy to use.) Though I soon found out, the HD part was a little advanced because it was Cable TV.

Four Options
There are four credible choices out there for DVR software:

  1. GBPVR
  2. MythTV
  3. BeyondTV
  4. SageTV

The first two are free, Beyond and and Sage each cost $70. In fact, MythTV is Linux-based, so you don't even need to buy Windows.

Free and Easy...almost

After reading several informal, and some semi-formal reviews on the net, I decided to try MythBuntu.

I already had Windows 2000 installed, but that wasn't a problem - when you install MythBuntu, it allows you to keep your Windows installation and when you start the computer, you get a menu to choose which system you want to start up.

Getting MythBuntu itself running was very easy. But that's where the fun stopped.
To be fair, at the time my tuner card was somewhat new. But then again, I picked the Hauppauge HVR-1800 specifically because it met my requirements.

Two huge problems:
It wouldn't work with my tuner card.
It wouldn't recognize my video card.
After many hours fighting with it, I finally got the thing to tune an HD channel. Awesome. Then I changed the channel. Oops! Apparently you get to choose one channel and stick with it until you restart your computer.
My video card was also chosen based on extensive research. I almost lost it one day over the response on this one. It turned out that many people had problems with MythBuntu supporting semi-recent ATI video cards. What was the prevailing wisdom from the people who like to believe they're "for the little guy" by opposing Microsoft in every possible way? "Sorry, so don't use ATI because MythBuntu doesn't work well with it - because ATI doesn't care enough about open source software." I did end up getting it to work - by downloading something from ATI - by the way, these "little guy" geniuses also said to avoid anything directly from ATI because "ATI are idiots."

In the end, I had a DVR that could usually record one channel - only HD, despite my tuner that I picked up specifically because it could do HD and standard (as of writing this, 9 months later, MythBuntu still doesn't support the standard definition part of this now popular tuner card.)

Free for Windows

I tried GBPVR , and my experience was not good. After messing around for about an hour, it did not tune HD channels. The experience was eerily similar to MythTV, except the setup process was even more painful. I had been frustrated enough, so I put it aside and downloaded the SageTV and BeyondTV trials.

So much extra, just not what I needed

Since SageTV had a Linux solution which again removed the expense of buying Windows for another machine, I tried it first. (Using the Windows trial.) The prevailing internet wisdom was that Sage could do it all and do it better than anyone else. Unfortunately, I found out it couldn't do what I wanted, and couldn't do anything very well.

I understand that setting everything up takes time, and there's a lot to cover. But it drove me nuts that I had to go through about twenty-three steps (slight exaggeration) just to watch TV. Most notably, it seemed that every time I wanted to change my TV tuning options, I also had to answer whether I wanted a weather service, home monitoring, and how I liked my eggs.

Now I could deal with the extra setup stuff, assuming it was a one-time deal. But after many more hours of wrestling with it, I could not get the thing to tune HD tv. And to make matters worse, the whole channel setup becomes nonsense as soon as you try to go beyond simply downloading whatever their web sites say. Add to this the numerous crashes, and there was no chance I was paying $70 for all the abuse I could afford.

Perhaps most condemning of all, I can't quite put a finger on it, but the whole "watching TV" interaction is simply wrong. The way this should work is nothing new, satellite networks with interactive guides have been around for a LONG time. People are used to them, they make sense, there are common expectations to what should happen when you press, for example, an Exit button like Escape. You should return to the guide. Not to some wacky menu where you can configure your computer or make some toast.

It Works

Finally, I tried BeyondTV.

They let me know up front that HD on cable (QAM) was not supported. Okay, I'll at least give the program a chance and keep watch for QAM support. It worked. It simply worked. You follow a sensible setup program that phrases things in meaningful ways - what tuner would you like to set up (in case you have more than one)? What type of service do you use (Cable, Over the Air, Over the Air HD)? Where do you live (so we know what guide data to use)? Okay, here are the channels, do they work? Yes? Good, enjoy watching TV.

And then the actual TV interface worked almost exactly like the TiVo/Satellite/Digital Cable guides we're familiar with. FINALLY, something I can count on my family being able to use without having me explain everything.

But wait, there's more!

So here we are, several months later (it's September now), and guess what? BeyondTV now supports Cable HD - technically this is in beta, but it works great! MythBuntu actually got worse with the latest version - it won't even install now. And SageTV appears to have made zero progress (though it appears they now admit they don't support cable HD except with special hardware.)
That's $70 for something that works, and works well. Good job Snapstream!

Thursday, July 31, 2008

.Net Dictionary Sort

Ever wish the .Net Dictionary generic supported sorting like List?
Roni Schuetz had the great idea to just leverage the sorting capabilities of the List.
Roni Schuetz: sorting dictionary by value

He did it in a type-specific way, but I'm taking it a step further - making it generic like List and Dictionary.
Here's a C# Dictionary generic that supports sorting by a Sort() method just like the List generic:
Note: Just like List, the Value type must support sorting (implement IComparable), this is enforced by the "where".

public class SortableDictionary<TKey, TValue> : Dictionary<TKey,
TValue>
where TValue : IComparable
{
// Sorting
public void Sort()
{
// Copy the dictionary data to a List
List<KeyValuePair<TKey, TValue>> sortedList = new List<KeyValuePair<TKey, TValue>>(this);
// Use the List's Sort method, and make sure we are comparing Values.
sortedList.Sort(
delegate(KeyValuePair<TKey, TValue> first, KeyValuePair<TKey, TValue> second) { return first.Value.CompareTo(second.Value); }
);
// Clear the dictionary and repopulate it from the List
this.Clear();
foreach (KeyValuePair<TKey, TValue> kvp in sortedList)
this.Add(kvp.Key, kvp.Value);
}
}

Friday, April 18, 2008

Optimize Your Computer

These are some tools and a regular clean-up process I recommend for all computers that access the internet. (Note: This is intended for computers running Windows.)
Just how often should you schedule this process? It really depends on where the computer goes on the internet. Generally speaking, the more flashy advertisements a site has, the more junk it will leave on your computer. This is usually limited to advertisement content, which can take up space on your computer, but won't intrude on your work or cause noticable slowdowns.
What you really need to watch out for is the stuff that is downloaded and installed that causes the problems. All those free screensavers, icons, and other "cool things" are notorious for including "spyware", and other malicious components.
In general, I recommend doing this process as soon as possible, and then doing it again about a month later. Pay attention to how many problems came back after a month. If you have a pretty good amount (25+) serious issues, plan on doing it again in a month. But chances are that there won't be too many problems, so wait about 3 to 6 months before doing it again. Even if you're not seeing any new problems, it is a pretty good idea to plan on a doing this process at least once a year, just to make sure nothing sneaks in.
(If you see a lot of serious issues, you may want to consider more serious action, like contacting an IT professional to check your computer out.)

Now that I've warned you about downloading and installing free stuff from the internet, naturally the best way to deal with the problems is to ... well ... download and install other free stuff from the internet.
Okay, seriously, I personally use these tools, so I'm comfortable recommending them to you.

Here are the tools I recommend running on your computer, in the order you should run them:
  1. Adware Removal
    AdAware by Lavasoft
    Advertisements can leave files on your computer, usually for purposes of trying to customize ads to your interests. In addition to cleaning up these files, AdAware does some spyware checking and cleaning as well.
  2. Spyware Removal
    SpyBot S&D by Safer Networking
    Focusing on the more malicious problems, spyware is software that gets on your computer and runs without you knowing it
  3. Registry Cleaning
    Free Registry Cleaner by Eusing
    The Spyware and Adware tools will examine your registry for problems related to advertisements, but the registry cleaner can get rid of wasteful registry data. There's a good case to be made that this should run before the other tools so they don't waste time scanning something that's going to be removed anyway. However, I've seen spyware maintain things in the registry that a registry cleaner will delete, only to have it put right back in by the spyware. So it's best to clear the spyware out first.

Defragmenting
On the subject of optimizing, it wasn't very long ago that you would hear often how you should "defrag" your computer regularly to improve performance. Defrag is short for "de-fragment", meaning to organize things together in one place rather than splitting them up. Basically, if things are split up, it takes the computer a little extra time when it needs to go around and gather things together.
Just a few years ago, the majority of computers were starved for hard drive space. It was pretty common that when you needed to install a new program, you would need to remove other things to make space. This is the usual source of fragmentation, removing something creates a 'hole' in the used hard drive space, so when you installed something new, it might get split up between the 'holes'.
Currently, most computers have a pretty good amount of space available to install new software. So the fragmentation never becomes a serious issue.

So defragging is still good, but it may not be very effective.

Wednesday, April 16, 2008

Welcome

Welcome to the official blog for IT by Z, intended as a collection of notes and IT tips.
http://www.itbyz.com