The Passion of the Comcast: Cutting the Cord

This is an ongoing story.

In late 2014, my wife — the primary person on our Comcast account — got a call that we could get new cable boxes, more channels, faster internet, and phone service, all for less than what we were paying at the time. A technician came to our house and hooked up a primary X1 box in our living room, a smaller X1 box in our bedroom, and a new combination modem/router. The X1 interface is a vast improvement over what came before it. Our internet speed went from 25 mbps to 100 mbps. Things were good. We even added two digital adapters.

Fast forward two years, and I watched as our monthly Comcast bill got larger and larger. It got as high as $236.43 on May 1, 2017. Our two year contract had ended and the steep discount with it.

In that two year span, Google Fiber had announced plans to bring its service to Atlanta, and more specifically, Brookhaven. It’s not available at our home as I write this, but I operate under the assumption that it could become available at any moment.

So I don’t want to sign any contracts. But that’s the only way to get a discount with Comcast.

So I started looking at streaming tv providers. I went in thinking I might go with DirecTV Now — I already have AT&T cell service. But Sling had the features and channels we wanted. I tried it out, bought a couple Apple TVs (and an antenna and a Tablo) and turned in our cable boxes at the local Xfinity office.

Of course, to stream anything, you need internet. I didn’t cancel our Xfinity internet service, but I did drop the speed from 100 to 25 mbps. That alone cost $65/month.

Everything was going fine. Between Sling and the antenna, we got every channel we cared about except two: Ion, a channel that shows Law & Order reruns that broadcasts over the air out of Atlanta but not with a strong enough signal for us to pick up; and HBO. I was leaning toward HBO Now because getting HBO on Sling was the same price — $15 — but lower video quality.

But I noticed some weirdness when I logged into my Comcast account. It showed that we had made an automatic payment on May 21, 2017 and that our next automatic payment was scheduled for May 22, 2017 — which was in the past.

I talked to Xfinity support via browser-based chat. The rep told me not to worry about the bill – we would be charged the correct amount — but that hey, we could get faster internet — 75 instead of 25 mbps — for less money — $40 instead of $65. And oh by the way, we’d also get Stream TV — including HBO. Great!

So of course the first thing I tried to do was log into HBO Go. Couldn’t do it. The next day I talked to support chat again. No HBO Go.

A day or two later I did some research and found this Xfinity support article. Among other things, it say that Stream TV customers get HBO Go.

A few days later I called Xfinity support. I spoke to four different people. Each of the last two told me I couldn’t get HBO Go, gave me the link to the Stream FAQs article, and then was surprised when I pointed out that the FAQ article says I should get HBO Go. The last person said the article was in error and would be updated.

About two weeks after that I looked at the Stream FAQ article again. Some text and formatting had changed, but it still said that Stream TV customers get HBO Go. So I tried to log in … and it worked.

HBO was the final piece of the puzzle. By eliminating (mostly) my Xfinity TV service, I had saved around $135 per month.

The Passion of the Comcast: Cutting the Cord

Windows 10 Creators Update Disabled My Touchscreen

Really strange.

I’ve had my Lenovo Yoga 11e for about eight months.  It’s not a powerhouse, but it’s a really great couch laptop.  And it has a touchscreen that can swivel all the way around to make it a bulky tablet.

When I got it everything worked, but there was some bloatware.  So I formatted the hard drive and did a clean Windows 10 install.  The touchscreen was not recognized by the OS.  After reading a lot of Lenovo forum posts, I found an Intel driver, installed it, and voilà.

Then Microsoft released the Windows 10 Creators Update.  I initiated the update rather than wait for it.  Booted up and … the touchscreen was not recognized by the OS.  I ran the Intel driver that worked before.  It had two choices:  remove or repair.  I chose repair.  It didn’t work.

I read some Lenovo forums — probably forums I already read eight months ago.  I tried one other driver but no improvement (Windows said I already had the latest driver).

I decided to try the driver installer that worked before, except I’d try the remove option and then run it again to install.  I did it, along with a reboot in between for good measure.

The touchscreen works!  Strange.  Maybe this is a fluke?

PS – I can’t find the driver anywhere online that I describe above.  I’ve had it in my Dropbox since I discovered that it fixed my problem, but what about other people who might need it?  The filename is and I’m considering posting it here.  But would I want to download my touchscreen driver from some random guy’s blog?

[Update 2018/02/07] I decided to create a download link for the driver. I did a few minutes of research to find a site to host it.

Windows 10 Creators Update Disabled My Touchscreen

Don’t Use jquery-latest.js!!!!!!!1

I’m guilty.

So guilty.

For years I have pointed pages to jquery-latest.js. Of course, I don’t think anyone would classify as a “production site.” I just want the latest damn version of code. I like to experiment with new features.

But I hate babysitting blogs, downloading point releases, and uploading them to my web server. So I used jquery-latest.js.

But now jQuery has taken this away. Sort of. jquery-latest.js is now frozen in time at version 1.11.1.

Well that’s no good. I can’t putter around on an old version for the rest of my life. But I hate babysitting blogs. And downloading point releases. And uploading them to my web server.

What’s a modern coder to do?

Scrape that s.

I made a two part solution. Part one scans the file structure on for files that look like jquery 2.x and returns the newest one it finds. It also sends a custom header so the browser reads it as JavaScript. I’m not going to give the URL here because I don’t want to be the next jquery-latest.js. But here’s the (PHP) code:

header( 'Content-Type: application/javascript' );
$contents = scandir( './' );
foreach ($contents as $file) {
if ($file !== '.' && $file !== '..') {
$ext = '';
$parts = explode('.', $file);
$ext = $parts[count($parts) - 1];
if ($ext == 'js') {
if ($parts[0] == 'jquery-2') {
include $file;

The second part is more complicated. It pulls in the jQuery Blog RSS feed, looks for a post about a new release, reads the version number, determines if it is newer than the version my server already has and if so pulls it down, then archives the older version. Here’s the PHP for that:

// run on cron.
// check jquery blog rss for updated version news
header('Content-Type: text/html; charset=UTF-8');
// what's the latest version we've got? (current?)
$ourVersion = '0';
$contents = scandir( './' );
foreach ($contents as $file) {
//if( strpos( $file,'.' ) !== 0 ) {
if ($file !== '.' && $file !== '..') {
$ext = '';
$parts = explode('.', $file);
$ext = $parts[count($parts) - 1];
if ($ext == 'js') {
if ($parts[0] == 'jquery-2') {
//include $file;
$ver = $file;
$ver = str_ireplace('jquery-', '', $ver);
$ver = str_ireplace('.min.js', '', $ver);
$ver = str_ireplace('.js', '', $ver);
$ourVersion = $ver;
echo 'ourVersion : ' . $ourVersion;
$rssString = file_get_contents('');
$xmle = simplexml_load_string($rssString);
$articles = $xmle->channel->item;
foreach ($articles as $article) {
$titleLength = strlen($article->title);
$check = trim(substr($article->title, (strlen($article->title) - 8)));
if (trim(substr($article->title, (strlen($article->title) - 8))) == 'Released') {
if (strstr($article->title, 'RC')) {
echo 'release candidate. BOO!';
if (stristr($article->title, 'beta')) {
echo 'beta. BOO!';
echo $article->title;
// find '2.'
$words = explode(' ', $article->title);
$ver = '0';
foreach ($words as $word) {
if (substr($word, 0, 2) == '2.') {
$ver = $word;
if (strlen($ver) == 3) {
$ver = $ver . '.0';
echo 'version : ' . $ver;
if ($ver > $ourVersion) {
echo $ver . ' is greater than ' . $ourVersion . '!';
$jqFilename = 'jquery-' . $ver . '.min.js';
$jqUrl = '' . $jqFilename;
echo $jqUrl;
$jqueryContents = file_get_contents($jqUrl);
file_put_contents($jqFilename, $jqueryContents);
// move old version
rename('jquery-' . $ourVersion . '.min.js', './jquery_archive/jquery-' . $ourVersion . '.min.js');
break 2;
} else {
echo $ver . ' is NOT greater than ' . $ourVersion . '!';
echo '----------';

And that’s that. My very own jquery-latest.js.

Don’t Use jquery-latest.js!!!!!!!1

iOS 7 and the Death of the Button

If you were to log into the dashboard of this blog and look through the drafts — posts that I haven’t published yet — you’d find one from January 31, 2013 — about nine months ago — titled “Buttons Should Look Like Buttons.” And if you looked at the body of that draft post, you’d see a big blank space.

Well, buttons should look like buttons.

Firefox Buttons
Firefox Buttons

A great example of buttons failing to look like buttons — right next to buttons succeeding at looking like buttons — is Firefox. Let’s just focus on the reload button and the home button. When I am moving the mouse pointer on the screen, it’s very easy for me to tell where I have to click in order to trigger the home button. It looks like a button. It has clearly defined edges.

When I want to click the reload button, it’s very hard for me to tell where I have to click. I know the white area inside the black arrow/line/loop would almost certainly register. But what about the white space outside the arrow/line/loop? Can I click all the way out to the edge of the white area? Where is the border between the reload button and the button to the left of it (the menu dropdown)? Is there dead space between the reload button and the menu button? Do they butt up against each other?

It’s impossible to tell by looking.

Firefox is particularly infuriating because there are buttons with precisely defined edges immediately next to buttons with no button edges at all.

With iOS 7, Apple has done away with some clearly defined buttons. I believe that button borders are only gone in places where the button contained only text. In this respect, the button has been replaced — at least visually — by the equivalent of a hyperlink. And we’re all used to text hyperlinks.

I believe there’s one othe reason Apple can get away with that. Fingers are imprecise. And because we know that when we tap on a screen we don’t have single pixel precision, we know that there is compensation for imprecision. We are not anal about our precision, or lack thereof.

Looking ahead, I have seen screenshots of OS X Mavericks. It looks a lot like iOS 7. I am hoping Apple does not do away with button borders in the desktop OS, because when I use a mouse, I want clearly defined buttons.

iOS 7 and the Death of the Button

Star Trek Into Darkness and Physical Media

I really liked Star Trek Into Darkness.

For some reason I had middling expectations going in. It didn’t do quite as well as its predecessor, 2009’s Star Trek, in North America. This informed my opinion. I really liked the 2009 film, and had expected a Pirates of the Caribbean style “box office take of each movie reflects audience appreciation of previous film in franchise” explosion. It didn’t happen. I concluded that Into Darkness must have had something wrong with it.

I saw the previews. It looked like the USS Enterprise got destroyed. My brain replayed a remembered or imagined fanboy’s voice: “How many times can you destroy the Enterprise?” Another question, too dark even for my inner dialogue to whisper: “Is this the film that ends the new Star Trek franchise?”

No, it’s not. Into Darkness is really good. I don’t know why more people didn’t go to see it. I need to watch it a couple more times, but currently I believe I like it better than the previous film. And I really liked the previous film!

Okay, time for side note/personal trivia/minutia that no one except me cares about. The previous film — 2009’s Star Trek — was the first movie I bought on Blu-ray. For years I had held out. I had decided that it wasn’t a big enough jump from DVD, and the next format I was going to adopt was digital download. I had already gone digital with music; I hadn’t bought a CD in years.

Then I bought a PS3. In 2009, when Sony released the Slim model. Suddenly I had a Blu-ray player. Then I saw Star Trek for sale at Walmart … and the Blu-ray was less expensive than the DVD.

My theory is that the some industry was trying to push consumers toward the bright Blu-ray future. Maybe it was the Blu-ray consortium. Maybe it was retailers. Maybe it was both. I went for it hook, line, and sinker.

Somehow I had never redeemed a digital copy of a movie. Today, I can’t remember what my reasoning for this was. After Christmas of 2012, sitting in my basement, I decided to redeem all of the digital copies I had previously ignored. Some had expired. Some I was able to redeem despite their expiration date having passed.

Several weeks later, my wife and I were going to watch The Bourne Legacy. I took the Blu-ray disc out of its case and pushed it into our Blu-ray player. No dice. It wouldn’t play. I took the disc out and looked at it, then put it away. I took the HDMI cable out of our Blu-ray player and put it into our Apple TV. We then watched the film with no issue. That was the moment I decided I don’t need media anymore.

Steam. Digital PC games. It’s great. There are no boxes to take up space. There are no discs to take up space. I rearranged the media center in our basement about a month ago, and now I have all these DVDs and Blu-rays with no place to put them. I already sold the majority of my Xbox 360, PS3, and Wii games — but I still own the games I purchased digitally. I’ll probably hold onto my 360 and PS3 because I have digital libraries. I can store those systems with very little footprint, and bring them out if I feel nostalgic. (This is a hypothetical future. I own several 360 and PS3 games that I haven’t finished yet.)

So I had made the decision to go digital only. Then Star Trek Into Darkness came out on iTunes before DVD and Blu-ray. And I missed this film — the first film I was really looking forward to that I missed because my wife was very pregnant and didn’t want to do much of anything (I still love you Julie). So I bought it. On iTunes.

So 2009’s Star Trek was the first film I purchased on Blu-ray, and 2013’s Star Trek Into Darkness was the first film I purchased digitally, on iTunes. They’re sci-fi movies set in the future.

Now I plan on buying or receiving as gifts two more Apple TVs — one for each remaining TV in our home. I wouldn’t mind if Apple announces a new model next month. I’ve got to sell off these DVDs, Blu-rays … and CDs? Digital — I’m in!

Star Trek Into Darkness and Physical Media

My PS4 Logo

Sony’s PS4 Logo (top) and My PS4 Logo (bottom)

Last night Sony announced the Playstation 4. At the event, the new controller was shown, a new Kinect-like camera peripheral was shown, games were shown. And the system’s logo was shown. And I don’t like it.

The “PS” part of the logo is identical to the same part of the PS3’s logo. This is fine. But when I look at the new PS4 logo, I honestly think that Sony had someone design the (current) PS3 logo three years ago, then had someone else design the “4” for the new system’s logo. It doesn’t fit.

The 4 doesn’t look futuristic the way the P, the S, and the 3 do. In fact, when I stare at it, I think of a wooden fence on a farm. The two lines crossing each other are inconsistent with the P in the logo, where no line intersects or meets another line.

So I fired up and came up with something I like better. I’ll admit that I got some inspiration from the 1980s-era WIVB logo.

My PS4 Logo

The Next Gripe in College Football

College football fans complain.

For the past 14 years, they’ve complained about the BCS. They’ll still complain about the BCS for another year or two, but after the 2014 season, college football will have a playoff. (Specifically the FBS, but will the names Football Bowl Subdivision and Football Championship Division continue to make sense if the FBS has a playoff?)

So fans will have nothing left to complain about. Because the system will be perfect. Right?

Hold that thought.

This year, in the NFL, the NFC’s North division has three teams with ten or more wins. Pretty good. Green Bay went 11-5, and Minnesota and Chicago both finished 10-6. Minnesota went to the playoffs because it had a better division record than Chicago. (The second tiebreaker, after head to head, which Minnesota and Chicago split.) Fair enough.

Now let’s imagine that The NFC North has a championship game. Assuming the same math and tiebreakers that the NFL uses to determine playoff participants, Green Bay would play Minnesota.

Let’s imagine further that Green Bay beats Minnesota. Green Bay’s record improves to 12-5, still good enough to win the division. Minnesota’s record drops to 10-7, which happens to be percentage points behind’s Chicago’s 10-6 record.

Based on record, Chicago is now ahead of Minnesota, and takes the sixth playoff spot.

Doesn’t make any sense, right? Minnesota had a better division record than Chicago and should therefore go to the playoffs. And besides — why the heck is the NFC North playing a championship game? The NFL playoffs decide the Superbowl winner, and that’s what really matters.

Thankfully, this is a hypothetical scenario, and we don’t have to worry about it. But it’s going to be a real problem in the 2014 FBS season.

The SEC of 2012 was as close as you can come to the hypothetical NFC North laid out here, except there was no playoff to decide a national champion. Georgia finished ahead of Florida in the regular season, played Alabama in the SEC championship game, lost, then lost its spot in a NCS bowl to Florida. Bowls care about polls and ranks instead of tiebreakers. You say tomato, I say … tomato.

If a four team playoff had been in place for the season that just ended, the teams would have been Notre Dame, Alabama, Florida, and Oregon. What about Georgia? Left out in the cold by virtue of finishing ahead of Florida in the regular season? We can only assume that if Florida had finished ahead of Georgia in the SEC East (perhaps Florida lost to South Carolina and beat Georgia, and Georgia beat South Carolina), the Gators would have gone on to have a letdown performance against Alabama in the SEC Championship game, and Georgia — capable of going down to the wire against the eventual national chamption — might have beaten Louisville in the Sugar Bowl.

The fact is, unless a playoff has zero wild card teams, it is incompatible with conference championship games. If a playoff is to guarantee the participation of the two best teams, it needs a wild card. That means the conference championship games — some of which are only two years old — are already vestigial.

Some people will not warm to the playoff and will likely hold up the conference championships as an alternative. Some, like me, see the obvious benefits of a playoff to determine the national champion. Either way, the conference championships and the playoff conflict with each other. And that is the next gripe in college football.

The Next Gripe in College Football

November 2012 Humor

Harry Truman holds newspaper with headline "Teh Haloz Pwns Noobs"
Harry did his fair share of teabagging

Maybe I’m the only person who finds this funny. In high school and college I used to do stuff like this all the time — edit text in photographs and advertisements.

Halo 4 releases on the same day as the 2012 US Presidential Election. Both big events for me.

I preordered Halo 4, but honestly I haven’t had time to be excited about it because I’m too excited about the Presidental race. Hopefully after Obama wins tomorrow I’ll be able to commit ten or fifteen days to Halo 4. I’m sure Julie will be thrilled.

November 2012 Humor