Tuesday, March 27, 2012

Net Neutrality

Generally, most geeks support net neutrality. Being a geek, I wonder why I think differently than most of my brethren. Net Neutrality is the idea that all Internet traffic is treated equally. Proponents of net neutrality are generally seeking legislation that enforces that Internet providers cannot prioritize or throttle traffic. On the surface, especially for geeks who desire digital overload, net neutrality seems good. However, the idea that we need regulation to keep things unregulated is nonsense at best and ludicrous at worst. Scour the Internet for some articles on net neutrality and you're likely to find scores of geeks extolling its virtues and complaining about the practice of this or that Internet Service Provider. Here are a few examples:

http://arstechnica.com/tech-policy/news/2012/03/net-neutrality-concerns-raised-about-comcasts-xbox-on-demand-service.ars?comments=1#comments-bar

http://www.codinghorror.com/blog/2011/02/the-importance-of-net-neutrality.html

http://arstechnica.com/tech-policy/news/2010/12/virtual-freedom-the-master-switch-and-internet-architecture---uninhibited-robust-and-wide-open.ars

Take, for example, that Comcast throttles P2P (e.g. Bit Torrent) traffic. People lose their minds over this stuff! I lose my mind reading about them losing their minds. It's utter and complete non-sense. Comcast made a business decision that by throttling P2P users they were providing a higher quality of service to their customer base. That the throttling provides a higher quality of service to their customer base is, in my view, not even up for debate. If you're a geek, put yourself into the position of running Comcast's Internet business. Would you make the same decision? I submit that if one has even a modicum of logic and rationality, one would make the same business decision. Comcast isn't denying you service, and they aren't violating their terms of service. Therefore, you have no legal ground for action against them. Not only is there no legal ground for action against them, but the market place is rife with alternatives. If you don't like Comcast's business practices, switch to a different provider or, God forbid, abstain from the Internet completely! Internet access is not a right. Unthrottled or "neutral" Internet access is not a right. Get over it. Let the free market work. The Internet became the digital behemoth that mankind enjoys precisely because of the lack of regulation and interference from the state.

The free market works. If there are players in the market that are not pleasing their customers, then an alternative will be made available. Rules and regulations do not work. If providers want to collude together and have teaming agreements to accelerate one another's traffic, let them. It's business. If Comcast wants to try to squeeze Netflix and get Netflix to pay Comcast for traffic that crosses their network boundary, let them. Customers will speak with their almighty dollars if they don't like the practices of a business. What if Time Warner prioritizes the service (traffic priority and technical support) for their business class customers over the service provided to consumers? They are free to do so, and it's generally good business. Countless other businesses have model that operate in precisely this manner and no one is calling for regulation of many of those businesses.

There is a large-scale movement in this country to protect the consumer. Net Neutrality is presented under the guise that it will protect the consumer. However, if net neutrality is allowed to be legislated, it will undoubtedly have the unintended consequence of hurting consumers. Regulation, by definition, is the opposite of and stifles innovation. No sane person would argue that innovation hurts consumers. By simple logic, then, regulation hurts consumers. Net neutrality is no different. Wake up people!

Monday, August 3, 2009

Microsoft Zune

So my iPod Nano recently went haywire. Despite rarely using the device, when it was working, my wife complained that technically the iPod belonged to her yet I was the one using it. Personal opinions aside about to whom the device belonged, the iPod was a mixed bag for me. By mixed bag I mean mostly bad. Without going into too much excruciating detail, I found nearly everything about the Nano crappy. I used the MP3 player primarily during exercise, so form factor was my primary concern. Unfortunately, the Nano was the only player at the time fitting the bill. Needless to say, I was sorely disappointed with software, both on the player and with iTunes.

Turns out the Nano dying was probably a blessing in disguise. A quick look at Newegg revealed that a 4 GB Zune (refurbished) was only $47. I bought two. I knew most of what to expect as I had already read numerous reviews and had friends who also owned Zunes. Having owned the device roughly two weeks now, I am quite pleased with the software and find it vastly superior to Apple's offering. Still, the point of this article isn't to bash the iPod or extol the Zune. Rather, it's to point out that I think Microsoft will once again be a step behind Apple. The recent digital convergence that has taken place with cell phone affords Microsoft and others a unique opportunity to reset the playing field. It's only natural to expect that the cell phone market will absorb the digital portable player market. In fact, it's already happening. Data that even the iPod is not immune to sales loss from the digital convergence and other digital portable players show similar sales trend. It doesn't take half a brain, though, to realize that lower iPod sales are being more than offset with sales of the iPhone. See, if Microsoft were smart, they would forget the Zune entirely and port the relevant pieces to a phone. Apple isn't far enough that Microsoft cannot recover. However, delaying much longer will result in history repeating itself as it did with the Zune.

Cell phones are just starting to reach their potential as convergance devices. I see the cell phone market as it stands as much like the personal computer was when Apple was the main show in town. You can't make money off the hardware. The money is in the software. But the cell phone market is so fragmented that interoperability is nigh impossible. Apple has excelled by controlling the experience end to end. They control, to a large extend, the software, the network, the user experience, and even the hardware. Sure, BlackBerry and Microsoft have operating systems, but they don't control the whole experience end to end. Apple, through these controls, has managed to develop a user experience that's actually worth something on the cell phone - a previously impossible feat. To compete, Microsoft need not worry about the hardware. I don't think that's ever a tenable long term strategy with computing devices. Rather, they needs to develop an entire platform centered around digital convergence, much as Apple has already done. I think they have a good start with the Zune framework.

Thursday, April 16, 2009

My HTPC experience part 2: the software

Part one of the series dealt with the hardware and the construction of the home theater PC. Part two, as the title indicates, covers the software. In my opinion the software is the far more interesting and controversial part of an HTPC. One can relentlessly debate the merits of various software and approaches.

Criteria

For my HTPC, I had a few criteria as follows:

1. Integrated EPG or guide. Anyone with a DVR is familiar with this feature.
2. Favorites or season passes. Tell the computer to record a show and it does!
3. Support for many video inputs: ATSC, QAM, NTSC, and firewire at a minimum
4. Network streaming from the HTPC to “client” computers. The interface on the client 5. computer should be identical or nearly identical to the host or server machine.
5. Support for the Windows Media Center remote control
6. Support for extenders

Hassle Free

What an oxymoron. Hassle free and HTPC go together like oil and water. While not a requirement discretely listed above, I wanted something that was easy to configure and low maintenance. At the same time, I wanted something that was tweakable and could be customized should I get bored with the vanilla or default setup.

The Candidates

I looked at the candidates – BeyondTV (formerly SnapStream), Media Center, and even some free Linux-based options. I immediately dismissed the Linux based options because of their lack of hardware support and the perceived amount of time necessary to configure the software. After scouring forums and gathering information, I decided to give a relatively obscure application known as SageTV a shot. As a bonus, it had a free 15-day trial. Installation was easy and configuration almost as easy.

SageTV

A sensible wizard guides you through the process. I had the software fully configured, including channels lineups, in less than 30 minutes. It even asked if I wanted to emulate the Media Center remote – sweet! Once SageTV was successfully running on the server, I endeavored to employ use of its robust video streaming capability. SageTV had two options for client computers, PlaceShifter and SageTV Client. The web site was very murky about the difference, so I tried PlaceShifter first. It did not work well on my older laptop which lacked the horsepower to play back high definition streamed video. Undeterred I tried the client. It didn’t fare much better. After considerable tweaking of video codecs, I did get the client working. Amazingly, it functioned identically to the SageTV software on the HTPC but over the network. After additional research I discovered some key differences between PlaceShifter and the SageTV Client. PlaceShifter uses a different licensing scheme whereby licenses are obtained only when a PlaceShifter computer connects to the server. A SageTV Client license, however, functions like most software licenses, meaning it’s good only on one machine. A second key difference is PlaceShifter’s nifty ability to transcode video on the fly to meet throughput constrains. Thus, if one is in a hotel, one can connect back to home and watch recorded television, confident that the video is being dynamically transcoded to fit within the throughput available. SageTV Client, however, has no such transcoding abilities. In yet another contrast, the SageTV Client is more tweakable with codecs, rendering, and performance. I settled on the SageTV Client as PlaceShifter did not provide adequate playback in what was the typical case for me, LAN (wireless) usage. SageTV also has a reasonably priced extender available ($200) which one can use to hook up a television of other display device to get full SageTV capabilities.

I found the software that fit the bill and I was willing to pay for it… and I did!!!

QAM setup

Once my computer was stable (see part one), I set my mind to getting QAM tuning working. Wow, this was the one part of the software that fell drastically short. The QAM channels were detected via a scan with no problem. However, once detected, they had no guide data. It was up to the user to navigate cryptic and technical menus to map the QAM channels so that guide (EPG) data could be utilized. Tragically, I was forced to make a spreadsheet mapping logical channels to physical stations and station call letters! This was very painful, error prone, and I had to repeat the process a number of times before all was correct. This definitely violated the constraint that the software needed to be easier to configure. Furthering the frustration, I could think of countless ways the software could have done this with little to no effort on my part.

SageMC & commercial skipping

After some time, I had a stable and useful setup. Naturally, I was not satisfied and began to tinker. I discovered a skin or theme called SageMC which greatly enhanced the user interface. I also discovered that with a small application commercial skipping was possible. I setup SageMC in a flash. The commercial skipping was more involved and required some research before I settled on a program called comskip and an accompanying program called comskip monitor. Comskip monitor watches a directory or set of directories for specified file types. When it sees a new file has been created, it begins analyzing the file for commercials. While I did only a little research into the algorithms necessary for such a feat, I was amazed at the complexity of something which, on the surface, seems so simple. Turns out it’s incredibly difficult to reliably detect commercials. I downloaded comskip monitor and ran setup.bat. A web page came up with a wizard. The first page had me configure the directory to monitor. The second page had me setup the file extensions – it was preconfigured with my extension already! I stuck with the preconfigured defaults on the rest of the pages and selected finish. Unbeknownst to me, a service was created which monitors the folder(s) and launches the compskip executable whenever a new video file is created. The output of the commercial skipping executable is a small EDCL file which contains the alleged time stamp of the commercials within the video file. SageMC reads this file and shows the gaps in the time bar! It even does one better, it automatically skips, during playback, the sections designated as commercials! After some testing, it is surprisingly reliable and quite good at detecting commercials. To boot, it can analyze the file as it’s recorded and doesn’t use more than half the CPU in doing so, leaving plenty of processor cycles for the other duties of the HTPC.

Monday, April 13, 2009

My HTPC experience part 1: the hardware

History

I have been an advocate and user of Home Theater PCs since before the year 2000 (!). I started out with a simple setup: svideo and analog audio output to a 27" CRT. Eventually, I graduated to a projector and VGA and then I moved up to digital audio and video outputs. I used a wireless keyboard and mouse for control, and I intentionally avoided the so-called 10' GUI. I found it easier to muck around in windows and manaully play files than to allow some craptastic software to provide a useless and clunky GUI to do what I was capable of doing far more efficiently.

The Build

In June of 2008, I endeavored to build a new PC, purpose built as an HTPC. I obtained an nVidia 8200 based motherboard, 4 GB of RAM, an AMD 4850e processor, and a small form factor case with a quiet 300 watt power supply. Despite having integrated video, the onboard video accelerated all manner of video, high definition and otherwise. The processor was highly efficient, with a TDP of 45 watts, and the motherboard was similarly efficient at peak. For television, I ordered an AverMedia M780 tuner, which sports an ASTC/QAM tuner, and a traditional NTSC tuner. To make a long story short, this setup had a lot of stability problems. After swapping out the motherboard twice, I went with the ATI equivalent, a 780g based motherboard possessing onboard video with nearly identical capabilities. To make a long story short, this setup had stability problems. Over the course of several months, I swapped out every component in the system - every component that is, except for the TV tuner card. Finally, after months of arduous troubleshooting, endless RMAs, and countless bluescreens, I broke down and forfeited my credit card number for a Hauppauge 2250. It fixed everything. The icing on the cake is that the 2250's dual tuner are both capable of ATSC, QAM, of NTSC, making it superior to its predecessor. To seal the deal, the 2250 tuner is, evidently, far more sensitive with QAM channels. I highly recommend this TV tuner card.

To sum up, my experience with the hardware was absolutely terrible. However, I don't believe my isolated experience to be indicative of what one would experience when building a HTPC. Keep in mind that my terrible experience comes despite years of professional experience fixing and troubleshooting these very problems - ouch.

The Setup

Whew - I bet you're glad the gory hardware details are out of the way, but you still aren't nearly as glad as I am that the computer actually functions properly. In short, the setup is quite good.

Noise

The processor fan is thermally controlled and very quiet even when fully engaged. The power supply is whiper quiet and system contains no other fans.

Outputs

For video, the motherboard outputs VGA, DVI, and HDMI. A digital optical audio output fills the role of audio output, and, of course, HDMI is equally capable if one is so inclined.

Inputs

In addition to the old-school wireless keyboard and mouse, I also have a USB-UIRT (google to read more) which receives IR signals. Armed with a universal remote of the Logitech Harmony variety, the remote is easily programmed to control the computer.

The Software

Anyone who has dabbled in the home theater PC either through first-hand experience or by reading the copious literature knows that the real challenge (not in my case!) comes in the software. In part 2, I will talk about the software that powers the HTPC.