Business Class Ethernet from Comcast is not…

Business Class Ethernet from Comcast is more like…

…having to sit at the back of the plane rather than in First Class.

Why ?

The so-called “Gateway”, you know that little brown device Comcast will happily install for those who are lucky enough to have Business Class Ethernet from Comcast… that one, is NOT a real TCP/IP Gateway !

Not a Real Gateway ?!?

A real Gateway will route incoming and outgoing traffic through the Gateway; this is what a real Router does however this is NOT what that SMC POS from Comcast does at-all.

Failures to Transfer Packets into the LAN from the WAN

One thing Comcast will NEVER tell you is their dirty little secret for Business Class Ethernet users… if the device that holds your Static IP address is not pingable that device will NEVER receive any packets at-all. End of story.  Try as hard as you might, complain as much as you want, open as many trouble tickets as you want and Comcast will NEVER tell you what the real problem is.

I spent 3 days going round and round with Comcast Tech Support and in the end I had to learn about this myself via trial and error.

The only thing that worked for me was to make sure the computer (actually a DD-WRT Router aka. Linux computer) is able to be pinged and once this was done packets came whizzing in from Comcast just like magic; and by “magic” I mean the kind of magic you feel when you are standing facing the toilet letting loose your bladder after which you feel all relieved, that kind of magic.

Business Class Ethernet is a huge waste of time and money !

#1 – Comcast will NOT give you a real Router !

You might want to believe that SMC device is some kind of Router, it has 4 Ethernet ports on the back and Comcast says it’s a Gateway but… the truth of the matter is that device ain’t no damn router at-all !

#2 – You are stuck having to use the crappy SMC “Gateway” you get from Comcast !

Comcast will NEVER allow any equipment connected directly to their Business Class Ethernet that don’t come from Comcast !

So not only was I not told what I would have to do to make my own real DD-WRT Router work (and let’s make this crystal clear, Comcast was not amused that the computer I wanted to connect was in-fact a DD-WRT Router; as-if any computer cannot be made to act as a Router… that don’t matter because apparently Comcast hates the idea someone might want to use a Real Router rather than the crappy SMC device they give you !)

Not only was I not told to make sure my computer (aka DD-WRT Router) could be pinged… but I was also not told the so-called Gateway they gave me was not really a Gateway after-all.

The Bottom Line is…

If you want to actually use Comcast Business Class Ethernet for your business and your revenue stream requires the use of the Internet, and whose business today does not… ?!?   You will simply have to know more about the Comcast Network than Comcast will ever tell you or you may find yourself wasting your precious time and money running around in circles for as long as it takes to figure-out how the Comcast Network really works.

Comcast Hates their Customers !

Comcast loves taking money from us all !  To be sure, they want your money !

Comcast hates having to make sure their customers get what their customers require to make their businesses work !

Comcast wants to control it all !

How dare you want to use a Real DD-WRT Router on the Comcast Network !

Having your own router means Comcast cannot reach around you to touch the inside of your network and this bothers Comcast to no end !

Why else would the Comcast Network require all your computers that use their Static IP addresses be able to be pinged from the Comcast Network ?!?  If you can ping the computer you must be able to “see” and touch that computer !  Yes ?!?  Of course this is correct !

Comcast Residential Customers get more bandwidth than Business Class Ethernet for the same price !

Residential customers get 50 Mbps for the same cost as Business Class Ethernet customers who get no more than 20 Mbps !

Residential customers get a cable modem that is easier to use than that crappy-ass SMC No-Gateway those Business Class Ethernet customers have to use.  DD-WRT Routers have no issues dealing with Dynamic DHCP ala. Residential Comcast Networking so there is really no reason to waste money on Business Class Ethernet other than this is how Comcast takes money from those who are stupid enough to think the words “Business Class” means something to Comcast.

Business Class requires a contract that Comcast will automatically renew once the initial 2 years has been served – they do this to make sure you are locked-in for a specific period of time and they will NOT give you the option of not renewing unless you specifically ask them to cease the auto renew and even then I am guessing they will find a way to auto renew if possible.

If I had a business that required internet access for revenue generation and I valued my sanity and my customer’s goodwill I would NOT waste my money on Comcast Business Class Ethernet at-all !  Oh, I am in this situation !

My next goal is to terminate the more costly Comcast Business Class Ethernet and go back to being a regular Residential Customer, because I work out of my home, so I can get the easier to use Cable Model with more bandwidth that I can use via my new shiny DD-WRT Router that can handle ever-changing dynamic IP addresses without losing a single step and I can do it all without ever having to call Comcast Tech Support because as we know… Comcast won’t take care of their customers EVER !!!

Update and Final Thoughts !

My account was credited for something like $30 over all this – not enough to cover the 3 days I spent chasing my tail over the solution but a nice little gesture in any case.

My plans remain the same… why pay for Business Class Service that is not all great for my business ?!?  I plan on switching back to in-home cable modem only as soon as my current 1 year auto-renewed contract expires.  I don’t need any static IP addresses anyway now that I have a slick DD-WRT Router that knows how to deal with a variable IP address.

The $30 credit was probably for one static IP address I had not been using rather than a really nice gesture from Comcast… Doh !

Ruby on Rails with Cherokee & Passenger for Ubuntu 11.04

Sometimes people get the feeling I just don’t like Ruby on Rails because the name “python” appears in my URL for this Blog… well I do like Ruby however since Ruby is such a performance HOG I have to temper my enthusiasm with a certain sense of reality by knowing how to do things Ruby really sucks at by using Python and other languages.  Every single thing that might cause Ruby on Rails to crash and die or simply fail to meet the performance criteria are the exact same things that NEVER cause problems for Python/Django.  You can say what you want about whatever you want but… Ruby is NOT the fastest gal on the dance floor although she has a ton of enthusiasm and wants to dance all night, Ruby just cannot dance as much or as fast as some of the other gals in the room.  Ruby will make you feel like she is a fun gal to be with but… at the end of the day, Ruby is just too much of a big fat performance HOG.  The Ruby Community needs to do a whole lot more work to make Ruby more nimble on the dance floor however to be fair Ruby has been getting more nimble due to the contributions of the Phusion folks who have given us Ruby Enterprise Edition and Passenger even though, and I recall this clearly because I was doing the Ruby thing when this was taking place in 2008, the Phusion folks held-back Passenger when it was new so they could get some cash for their efforts – so much for the Open Source Movement.  All things being equal, and they rarely are, I do like Ruby on Rails as much as any guy could enjoy dancing with a over-weight gal who has two left feet because after-all sometimes it is those over-weight gals who can be more fun at the party even though we guys all want fashion models it’s just not all that realistic to hold-out for your typical fashion model who would not give us mere mortal geeks the time of day let alone date us or whatever one does after the party these days.

The Challenge…

Recently someone told me there were “issues” while installing and using Ruby on Rails with Phusion Passenger for Ubuntu 11.04 however… as is generally the case with the work I do, I did not notice any problems but then I rarely notice “issues” since I take them in-stride and press-on to get the work done; actually I enjoy the little bumps along the way.

Step #1

Install Ubuntu 11.04 in Virtual Box or VmWare.

Make sure you choose to install “ssh” or you may have to issue the following command once the installation completes so you can use SSH to “talk” to your Ubuntu Appliance.

apt-get install openssh-server openssh-client

Step #2 – Install Cherokee Web Server

sudo apt-get update

sudo apt-get upgrade –V

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:cherokee-webserver/ppa

sudo apt-get update

sudo apt-get install cherokee –V

You can test it using the following:

sudo cherokee-admin -pxxxx -T32

nohup cherokee-admin -pxxxx -T32 &

Step #3 – Install Ruby Enterprise Edition


sudo dpkg -i ruby-enterprise_1.8.7-2011.03_i386_ubuntu10.04.deb

ruby -v

Step #4 – Install MySQL and Subversion

Okay this is where there was a minor bump but nowhere near what I would call an “issue”.

You will not encounter any bumps or issues if you follow this guide – the bumps and issues are all gone.

apt-get install build-essential curl bison openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libmysqlclient-dev

What does all this do ?  Well it’s a bit of Ubuntu magic but it works.  I had to spend a bit of time doing some research however since I have been down this sort of path many times I was happy to learn something new and not only because someone told me this might be difficult and I just cannot resist doing something someone said was “difficult” because it never is, for me…

apt-get install mysql-server

apt-get install subversion

Step #5 – Check-out your Source code from SVN

Hey, this one is up to you but here’s a hint that will probably work for you.

Make a directory in your non-root user account, call this whatever you wish and put it where you wish.

Check to make sure the “bundler” gem is installed by using the following command:

gem list –local

If you don’t see that “bundler” gem you will have to issue the following command:

sudo gem install bundler

Then check-out your source code using:

svn checkout https://place-the-url-for-your-source-code-here folder-name-goes-here –username username-goes-here

Then issue the following commands:

cd folder-name-goes-here

bundler update

Right here is where you might have encountered some kind of “issue” with the mysql2 gem due to some kind of problem with building the native gem however that won’t happen if you used the directions found in this article. (If your Rails code doesn’t use MySQL then you are on your own, my source code does and it was fine…)

Step #6 – Start-up your Passenger Standalone Instances

cd folder-name-goes-here

passenger start

The cool thing about using Passenger Standalone is that it uses nginx and this means you can reverse-proxy your way to health and happiness by using Cherokee as the reverse-proxy.  Cherokee is a lightweight Web Server that is faster than Apache 2.x while using less RAM (it’s the uses less RAM thing that is more interesting since you will want to use your RAM to pack-in as many Passenger Standalone Instances as possible since Ruby on Rails is such a performance hog…).

Step #7 – Create some slick scripts for your Application Server

Write some slick scripts in the /etc/init.d directory to automate the start-up and shutdown of your Application Server.

Step #8 – Install Monit and Munin

See the details here. You will have to work-out the nitty-gritty details as to how to make this work for your specific needs.

Monit can be used to detect when your Rails Instances need to be killed and they will need to be killed whenever they run amok by allocating too much RAM or running away with too much CPU.

The one problem Monit may not be able to detect is whenever your Rails Instances cease to function as they sometimes might, from time to time.

Step #9 – Install Webmin, just for fun !

See the details here.  Once again, you will have to do some of the work to make this work for your needs.


At the end of the day, it just does not make any real sense to deploy your 20th Century Web Server any more because Cloud Computing is here and here to stay.

The Google App Engine makes Ruby on Rails make sense and not only because jRuby strikes my funny bone in just the right way, but then so does PHP for Java.

On the other hand… not everyone in Corporate America knows about or is willing to use the Google App Engine – they would rather use Amazon EC2 and pay for that resource than possibly get it for FREE from Google or maybe I am the only one who likes the challenge of getting it for FREE from Google rather than paying Amazon some real money.  Who is to say… I do enjoy the Challenge of seeing just how far I can take Google along for the ride before they mug me for money… LOL


%d bloggers like this: