Ruining Everything

Once upon a time, this blog had many more posts than it does today. From just after college until just after I met the woman who is now my wife, I wrote a lot about politics. Few people read anything I wrote, but I used the blog as an outlet to forge my political theories, forcing myself to examine and expound the positions I had taken. I still enjoy discussing political theory, but, as my lovely wife has forced me to expand my social horizons, I’ve found it less necessary to use the blog for that purpose.

I have, from time to time, tried to use the blog for other purposes. I tried to use it as a place to record small programming projects, which I would undertake just to practice and hone my skills a little, in some form other than work. Sadly, I found myself unable to build a strong habit of participating in those exercises (much like real exercise… I think I just have an aversion to the word).

Blog aside, though, I’ve gotten my life into a much better shape than it was before I wrote this blog regularly. I’m not attending church regularly any longer, but I feel I have a better relationship with Christ than I’ve ever had before. I have a wonderful wife and two wonderful… well, we have two dogs. I’ve got a better job, one I greatly enjoy. We bought a house, we’ve got our finances in better order (they’re not perfect, but are they ever?)…

All in all, life is good. So, it’s time to ruin everything. As of now, my wife is 16 weeks pregnant, due in late August. I have never been more excited or more terrified for anything in my entire life, much less sharing both emotions about the same thing. In an effort to work through some of my emotions, and just to have a written record to look back on at some point in the future, I’m restarting the blog, probably with more of a focus on daddy stuff, but almost certainly not laser-focused. I’m still me, after all.

On Data Caps and “Fairness”

Since Suddenlink Communications implemented data caps in my area several months ago, I have cycled through different levels of anger about it. On the low end, I feel a mild annoyance.  On the high end, I’m so angry that I’m ready to swear off all technology and communicate with my family only by telegraph and horse-carried post.

Unfortunately, that would probably end poorly for me, not least because having reliable high speed internet is one of the basic requirements of my job. So, I’m left looking for alternatives. In my area, there seem to be two options:

  1. Continue tolerating Suddenlink’s data caps, or
  2. Switch to Frontier‘s DSL, which is advertised at 24mbps, about 1/6 of the advertised Suddenlink speed that I pay for, 150mbps.

Until late last year, I was actually very happy with my Suddenlink service. While my speeds were often 30-40% less than what I was paying for (“Up to 150Mbps” actually seems to mean “around 100mbps” at the best of times), they were pretty consistent, and, honestly, very few applications actually use that much bandwidth at one time, so it doesn’t really matter that they don’t deliver on what they offer. Still, it is worth pointing out that if I paid them 30-40% less (because I agreed to pay up to $X / month), they’d be shutting me down pretty quickly on that.

Late last year, though, they implemented their data caps. At the 150Mbps tier, the data cap is 450GB/mo.

I’ve got a few complaints about that.

First, let’s look at the fact that the caps are pretty dishonest, since they’re not generally mentioned in  the advertising.

The data plan I pay for is the 150Mbps plan. Here is everything Suddenlink tells you about their plan on their website. Note that there’s nothing there about a data limit in their advertising.

150Mbps is 150 megabits per second. That’s 18.75 MB/s (there are 8 megabits (mb) per megabyte (MB)), or 1.62 million MB/day(18.75*60*60*24).  That’s 1,600GB/day, which is 45,360 GB / month (in February, anyway).  So, Suddenlink is advertising 150Mbps, but given that they limit me to 450GB/mo, I’m only allowed to average 1% of their advertised limit.  That’s 18kbps if you do the same kind of math as above in reverse (450GB/month is 16GB/day is 670MB/hr is 11.17MB/min is 18.6kbps).

The best dial-up modems transferred data at 56kbps. So, they’re selling bandwidth that is, effectively, 1/3 that of Dial-up, and advertising it like it’s 2,000 times better (56kbps vs 150,000kbps). A friend of mine described like selling a McLaren with only 5 gallons of gas (and you’ve got to pay 50% of the purchase price to get each additional half gallon).

Additionally, the data caps were slipped in with new contracts that they described as “free upgrades”. Another bit of sleight-of-hand, intended to slip the caps in on their customers without being upfront about it.

Second, let’s look at the given justification for the caps.

Here’s how Suddenlink justifies the data caps:

Consistent with our Acceptable Use Policy and Residential Services Agreement, Suddenlink has applied monthly data plans to residential Internet accounts in most of its service areas. Data plans are one step among several that help us continue delivering a quality Internet experience for our customers. Other steps include the sizable investments we’ve made and continue making to provide greater downstream and upstream system capacity and more bandwidth per home. Even with those investments, a relatively few customers use a disproportionate amount of data, which can negatively affect the Internet experience of those who use far less. That’s why, as a complement to our network investments, we’ve established data plans. In short, we want to help make sure the vast majority of our customers continue to have a great Internet experience — and that the relatively few who consistently use much more data than normal have a choice: either use a little less or pay a little more. We believe that’s a fair and reasonable approach.

Emphasis mine.

Data is not a limited resource. When I stream a movie from Netflix, that movie is not gone. Anyone else who wants it (and pays for it) can stream it. Downloading data doesn’t cause extra wear and tear on the infrastructure, and Suddenlink doesn’t have to pump more data into a reservoir to supply everyone.

Bandwidth, on the other hand, is limited, and it’s perfectly reasonable to suggest that those who use more bandwidth should pay more in order to do so… and we do. I pay more for the 18kbps – sorry, 150mbps – service because I want to be able to download new games from Steam or the Xbox store quickly, even while my wife is watching Hulu and I’ve got Netflix streaming on my tablet (yes, I multi-task a lot).

Finally, let’s look at the real reason behind the caps

This last bit is speculation, but, given the known facts, I think it’s a pretty solid conclusion.

  1. Cable companies, traditionally, are more than ISPs. They also provide video services in the form of television subscriptions.
  2. Cable television subscriptions are dropping due to “cord cutting,” where individuals move to online streaming services for their video.
  3. Some internet service providers (notably, Comcast, which is also a huge cable company) tried to fight their competitors by cutting the bandwidth available for services that use the most bandwidth (whether it is a coincidence that these services are the same competitors that are causing cable tv subscriptions to drop, I’ll leave up to the reader).
  4. The FCC, in early 2015, took a proverbial ruler to the knuckles of those ISPs, implementing net neutrality rules that prevented that behavior.
  5. After their attempt to curb bandwidth usage was foiled, data caps were implemented (Comcast had implemented data caps prior to that, but Suddenlink had not).

Given these facts, I think it’s clear that the intent of these data caps is not, in fact, to “fairly” protect those who pay for less bandwidth from those of us who use more. It seems more likely that Suddenlink and other cable companies are trying to protect themselves instead.  They were stopped from extorting money from their competitors directly with the Net Neutrality rules, so they’re attacking the problem from the other direction, forcing those of us who use those competitors services heavily (whether in conjunction with other internet activity or not) to pay more.

Programming Challenge: The Dottie Number

From Reddit:

Write a program to calculate the Dottie number. This is the number you get when you type any number into a scientific calculator and then repeatedly press the cos button, with the calculator set to radians. The number displayed updates, getting closer and closer to a certain number, and eventually stops changing.

cos here is the trigonometric function cosine, but you don’t need to know any trigonometry, or what cosine means, for this challenge. Just do the same thing you would with a handheld calculator: take cosine over and over again until you get the answer.

My solution is below the fold (I didn’t do optional challenge #3, mostly because real work had to be done before I got to it).

Continue reading