Stop Time Warner from their money-hungry bandwidth limiting conquests!

getify | Misc | Tuesday, April 14th, 2009

[Update] Time Warner has agreed to curb their plans to cap internet usage, for the time being.

“It is clear from the public response over the last two weeks that there is a great deal of misunderstanding about our plans to roll out additional tests on consumption based billing,” said Time Warner Cable chief executive Glenn Britt. “As a result, we will not proceed with implementation of additional tests until further consultation with our customers and other interested parties, ensuring that community needs are being met.”

Unfortunately, Time Warner is being a bit disingenuous, with statements like “until further consultation with our customers”. In other words, they’re waiting until they can find a better way to convince us that it’s the best way. At least we get a “gracious” reprieve while we go back to “school” and “learn” what fair internet is all about.

I also want to give a big congratulations to Free Press, Save The Internet.com, and Stop The Cap.com, as well as many others, for organizing the uprising which caused Time Warner to back down.

But more importantly, the thanks belongs to you, the internet user, who along with 16,000 others, sent letters to Congress in the span of few short days to express our collective outrage. Our internet is only our internet if we fight to keep it ours.


Here’s an excerpt from a letter I just wrote to my congressman. This represents my feelings on Time Warner’s recent announcement that they will being piloting/testing a program that will cap bandwidth usage of cable customers in several metro areas, including where I live (Austin, TX).

My protest is that I will be switching from their internet service, soon, if they do not recant. I will not participate in their desperate grabs at survival after years of money-hungry, poor mismanagement. They are a monopoly in all ways (except in technical legal terms), and this is what they do when they go unchecked. Watch out, America. This is only the beginning of bad things to come. Unless we stand up and fight. Contact your congressman and do the same, even if you aren’t in one of the targetted areas yet. Otherwise, you will probably be next on the hit list.

It is unbelievable to me that Time Warner (or any other provider) is being allowed to do this.

Firstly, they basically have a de-facto monopoly because they are the only ones with cable lines to almost all major metropolitan areas around here (COX being the exception in some of the suburbs). Lots of other cable “providers” (like Grande, for instance) are out there, but they all lease cable bandwidth from TW or COX. This means that if TW starts doing this, when their contracts are up with those re-sellers, there’s a much higher chance that those companies will have to follow suit. So the evenutal outcome is that TW is going to use their “monopoly” status to force us all into this, or to other providers.

And not only is it unfair and monopolistic what they are doing, but the way in which they are doing it is sheer madness. The bandwidth caps they have chosen are so incredibly low it just simply boggles the mind.

The medium cap (that is, the cap which would keep most cable bills the same for most consumers) would allow an average download usage that is *only* 2/3 the normal usage you get from having a 56k modem connected 24/7! That’s right, TW is moving cable bandwidth usage back to the days of old-school modem usage! It’s insanity, in the name of money hungry, and poorly managed, business.

I know most of the media is focusing on the fact that this is primarily aimed at curbing internet video downloading so they can stop loosing cable/advertising dollars. But, they will affect lots of other legitimate bandwidth usage in the process.

For instance, I routinely buy software, legally, over the internet, and choose to download that software to save on costs and the environment. These programs can range from the hundreds of megabytes to the couple of gigabyte range.

This means that quite realistically, I could exceed a “normal” bandwidth cap after downloading only 1 or 2 legally purchased pieces of software in a month, and end up paying excessive overage fees for otherwise normal web surfing and checking email.

And this doesn’t even get into the fact that I do freelance side web business work from home, or telecommute to my real job from home. In both cases, I do a lot of file transferring (again, legally) of images, web code, etc. I can’t even imagine having to tell my boss that I couldn’t work on some emergency code fix for our software because I didn’t have any bandwidth left at home.

Cell phone providers somehow get away with limiting minutes, and people have those types of issues from time to time, but it’d be unheard of in this day and age for the same to be true of home internet usage.

I strongly urge you to fight this and not allow TW to go down this path. We have to send a signal that the ISP’s don’t own the internet, and they can’t act like a school bully in the lunch line and force us to “pay up” just to get in line with all the other kids. It’s been unfair and unacceptable behavior in every other area of life, we can’t let this one slide or they’ll walk all over us. Seriously.

As for me, if it doesn’t change, and soon, I’ll be changing to another type of internet provider, like DSL from the phone company, to avoid and to protest such behavior. I simply will not sit by and let them take more of my hard earned money for less service.

You should all be writing letters of a similar nature to your congressman. You should be blogging about it. You should be twitter’ing about it. You should be talking about it to friends, family, and coworkers.

Want to take action? Use this tool from FreePress.net to make your voice heard.

Bookmark and Share

Howto: Package flXHR js files

getify | flXHR, flensed | Monday, March 23rd, 2009

Another quickie to detail a little gotcha that I just ran into on this site, actually. I use flXHR on this site to make requests to longurlplease to lengthen/reverse shortened URLs (mostly in the recent tweets feed). I use the flXHRproxy jQuery plugin with jQuery code to accomplish that.

I made some recent optimization changes to the site according to suggestions from YSlow. (side note: I went from a 27-F grade to a 62-D grade with some simple CSS, HTML, and JS changes — not bad, huh?). Anyway, one of the changes I made regarding Javascript was to package all 4 flXHR related JS files into one file (flXHR.js, checkplayer.js, flensed.js, and swfobject.js), to reduce the number of HTTP requests on page load.

After rolling out those changes and basking in the glory of my optimization improvements, I realized that part of my code logic, the part about reversing URLs, wasn’t working anymore, even though all the rest of my jQuery code logic seemed to be working fine. After some clumsy debugging, I found out it was because flXHR was never fully loading (actually, all the JS was there, obviously, but the other assets, like flXHR.swf) were not loading.

When this happens, it’s USUALLY because the code is unable to auto-detect the correct base-path to load additional assets from. The code is able to do the auto-detect by looking for itself (that is, its corresponding DOM script tag) and inspecting the path of the file reference. But the logic only works if the file is the same name as what it’s hard-coded to look for (“flXHR.js”).

In my haste to package up the files, I named the new file “flXHR-packaged.js”. Thus, the base-path detection went lame. Oops. Luckily, there’s a simple fix, and doesn’t require any hacking to the files at all (probably the easiest temptation — but you should avoid that IMHO).

All you have to do is include a setting to manually specify the base-path for flXHR/flensed to use, and all’s good! Look:

<script>var flensed={base_path:”/path/to/flXHR.files/”};</script>

Include that right before your script tag that includes flXHR.js (or whatever you are calling it), and you should be fine.

Note: Make sure you use regular double-quote characters instead of the funny stylized ” that WP insists on using. :)

Happy flXHR’ing. :)

Bookmark and Share

flXHR and chained Ajax calls

getify | Ajax, flXHR, flensed | Sunday, March 22nd, 2009

So, this is just a quick post to share some information which was worked out recently in an email thread with a flXHR user. Because it’s probably a somewhat common pattern (albeit, mostly for more complex Ajax apps), I figured it would be helpful to share the information here, just in case anyone else runs up against similar issues.

flXHR has a feature called instancePooling, which is very helpful for performance/efficiency improvement reasons, especially with pages that make multiple Ajax requests. The way it does this is to keep around instantiated references of flXHR in a “pool”, and when a new instantiation is requested, if an available instance in the pool is idle and ready (that is, it’s already been used and is in readyState = 4), then it will reuse that instance (and reconfigure it as necessary) instead of creating a whole new one.

There was a bug fixed in 1.0.3 regarding flXHR’s ability to fully reconfigure a reused instance. So, if you’ve tried that type of thing prior to upgrading to 1.0.3, you should upgrade to get the expected behavior.

Anyway, this feature is almost universally necessary when doing Ajax calls with frameworks like jQuery, Dojo, Prototype, etc, because these frameworks tend to “throw away” XHR instances after single use, but with flXHR, it’s better to keep them around to avoid the “penalty” of instantiation on subsequent requests. So, rather than try to modify the way the frameworks work, flXHR makes this transparent with the opt-in “instancePooling” configuration option. I would estimate in probably 99% of all Ajax applications, this is the option you would want to keep memory-usage and instantiation times down. Unless you specifically know better, I would recommend *always* using it.

Now, as the title of this post suggests, there is a common pattern for a lot of medium-to-high complexity Ajax apps where the author of a page may need to “chain” Ajax calls — that is, make one Ajax call, and then upon completion of the first one, make another Ajax call from the response handler of the first.

It is when you combine these two concepts that a devious little “issue” creeps in. I’ll try not to go into lots of gory detail here, but the bottom line is, if you make an Ajax call from a response handler of a previous Ajax call, and you have instancePooling turned on, a race condition exists with the way framework code works which will cause issues, most notably that the handler may not get properly called on your second “chained” request, even though the full response does get back to the browser.

Read on to find out the details and how to fix it.

Bookmark and Share

Page 3 of 12« First...234...Last »