Cable Modem Annoyance

pingtestIt amazes me that a multi-million dollar cable company can’t provide a customer a cable modem that won’t be overwhelmed because of “too much traffic.” At one time or another you’ve all had to physically power off and on your cable modem to reset your internet connection. I probably have more traffic than most and many a morning I’ve woken up to a dead internet connection, or worse, it goes out during the day when I’m away. When your home phone depends on your internet connection, this is no longer amusing.

I’ve been a fan of X10 home control units for awhile, I’ve also had two of their “Firecracker” computer serial interface modules sitting in a box for at least 10 years. What does this have to do with the above?

I have an X10 Appliance Module control unit in between the outlet and my cable modem, a simple and cheap FTDI based USB to Serial interface connecting my Firecracker to my server, and a little open source program called HEYU that easily controls the Firecracker. I put these together with a shell script on my server that pings hosts of my choosing on the internet at regular intervals, and if the host cannot be reached, the script tells the X10 unit to turn off the modem and turn it back on via the Firecracker module and notifies me.

The script is hosted over at my GitHub repository.

This completely automates the modem reset and keeps things running.

Do It Yourself

weatherday“You no help me now…I say screw you Jobu. I do it myself.” That is one of my favorite quotes from the movie Major League. Pedro Cerrano, having stuck up for, prayed to, and even made offerings of rum to his deity in an effort to hit the baseballs pitched to him, finally gives up and does it himself.

In much the same way I’ve reached the same realization with little widgets I enjoy on my computers and webpages.

First, it started with something called Konfabulator, later purchased by Yahoo! and rechristened Yahoo! Widgets. It would put, well, widgets on your desktop and blend them in with your background. Working in an office without windows, I would constantly be looking at my weather widget to see what the current weather was and what the forecast was so I could plan my day/evening/weekends. Yahoo! abandoned it and the application became fairly broken in the last Windows/Mac OS release. Yes, I’m aware of the Weather Dashboard Widget in OS X, I hate it and truthfully, I really can’t be bothered to enter Dashboard and wait for it to refresh.

weathernightNext came something called Recent Tunes. Those that have visited this page, my Signat-url page, or have me on your instant messenger list know that I’m a big music fan and like to post what I’m currently listening to. It adds a small amount of flair to these pages/software that I like. Recent Tunes monitors iTunes while it is playing and will send data about the current item to your webserver in various ways and with various options so that you can, in turn, add what you’re listening to on your website. Very nice, I think. Naturally something so useful was abandoned years ago, but it still worked with the latest Mac OS, albeit in PowerPC code using OS X’s Rosetta. That legacy code is gone in the next version of Mac OS X and Recent Tunes will finally be laid to rest by me.

I’m no master programmer by any strech of the imagination, but I know enough about scripting languages to be clever, even dangerous. So I wrote my own replacements for these. And they have more functionality, too.

My weather widget lives on my desktops, updates automatically, has a day and night mode that activates at the daily sunrise/sunset times throughout the year, it is complete with accurate representations of current moon phases. It has full graphic representation of the current weather and forecasted weather, additional data like humidity, wind speed and direction, UV index (day mode only, obviously), severe weather warnings (in bright red text to get noticed), and forecasts. Plus, my data source of weather data has even more information that I’m not currently using but can add if I wish. In addition, a smaller, more limited version is in use on my websites now too.

blogtunesMy iTunes continues to publish its data to my pages, but with a script I wrote myself that polls iTunes. For now, it mimicks what Recent Tunes did for me, but my options are now limitless since I can really script it any way I want. I can control the data that gets uploaded to my server in virtually any way I want… pure text, html, or graphic images for album covers. I can even have different sets of data to use on different pages to create different looks. If that still isn’t enough, I can tweak it even more.

I’m tired of wondering if some coder out there is just going to get bored with the software he or she shared with the world and just walk away. I’m now looking at what other little utilities, widgets, or gizmos I have in my computing life that I can recreate and, most importantly, recreate better for me. Not only that, it’s mine and I don’t have to be subject to someone’s whims about its future. I wrote it, I understand how it works, and I can fix it if it breaks. Like anything else I put my mind to, I’m only going to get better and better at this the more I work with it.

Cerrano had it right, I say to those abandonware programmers, “screw you. I’ll do it myself.”