the web, technology and miscellaneous rants
Rants
How long would it take to go over your Rogers High-Speed Internet usage limit?
Aug 8th
The following is a table showing how fast a Rogers user could eat through their monthly usage limit. Note: the numbers do not reflect a user’s actual usage and I’m not saying Rogers should let us download 10TB+ a month but I do think that the current plans are unreasonable. If we are not constantly monitoring our usage we could accidentally go over our limit in a matter of hours. I think all plans should start at 500GB a month and the highest plan should be somewhere around the 2TB mark. I also think the plans should increase by a couple hundred GB per year as more streaming services like Netflix become our primary media source.
| Package | Download Speed | Usage Allowance | How long will it last? | Max. Potential Download |
| Ultra Lite | 0.5 Mbps | 2 GB | 0.37 days | 162 GB |
| Lite | 3 Mbps | 15 GB | 0.46 days | 972 GB |
| Express | 12 Mbps | 60 GB | 0.46 days | 3,888 GB |
| Extreme | 24 Mbps | 100 GB | 0.39 days | 7,776 GB |
| Extreme Plus | 32 Mbps | 150 GB | 0.43 days | 10,368 GB |
| Ultimate | 50 Mbps | 250 GB | 0.46 days | 16,200 GB |
Point of interest. Running at full speed, no rogers plan will last more than half a day.
Calculations:
Megabytes per second = Download Speed / 8
Assuming 0 upload per month (which is impossible)
Assuming 30 days per month.
Assuming 1TB = 1,000,000 MB.
Assuming 1GB = 1,000 MB.
Number of seconds per month = 60 X 60 X 24 X 30 = 2,592,000
Maximum potential download amount = Megabytes per second * Number of seconds per month
Number of days internet will last = Monthly Usage Limit (MB) / Speed per megabyte / 60 / 60 / 24
Why I still use Rogers for High Speed Internet
Jul 22nd
I was very close to dropping Rogers altogether and switching to TekSavvy for cable internet so I could finally be free of Rogers stupid Usage Limits. The only thing holding me back was the limited speeds of TekSavvy and the $99 fee to have someone come look at my line is something goes wrong. I was toying with the idea of having 2 cable connections (if there was a problem with my line Rogers would fix it for free) but it was going to cost way over $100 a month combined.
Then Rogers released their new plans and usage limits on Wednesday. (The title of their article should be “Rogers takes a tiny step in the right direction to meet customer’s needs with new Hi-Speed Internet Tiers”) While they still stink compared to TekSavvy they are more reasonable. I have no complaints with Rogers service. It has always been excellent and in my experience their tech support and technicians are friendly and get the job done. They just won’t give us reasonable plans at reasonable prices.
The first company to offer me > 5Mbps upload speed and unlimited or 500GB+ monthly usage will be getting my business immediately. Although I despise Bell I would jump at the chance to switch to their Fibre 25 plan with 7Mbps upload if that service was available in my area.
So now I have upgraded to the Ultimate plan to take advantage of the new 250GB usage limit for $99 per month. The 1Mbps upgrade in speed is nice but I am not happy about the price. I don’t care at all about the 50Mbps speed. I have been using their SMC modem in bridge mode for over a year now and it works. I refused to touch the router functionality though.
Oh Canada, why are our internet plans so horrible?
The Importance of Modular Design and Documentation
Mar 24th
I can’t say I learned a lot at school, but I did pick up a few tips that helped me polish up my self-taught coding technique.
During my study of software engineering, my instructors always stressed two things: modular design and documentation. Simple, yet excellent concepts that will save you–and anyone after you–hours and hours of time. I’ve been applying these principles to all of my code ever since I learned about them, but I’ve only recently begun to understand just how important they really are.
I’ve been working with some very unmodularized and undocumented code recently, and I’ve begun to develop an immense dislike for the original author. I’m supposed to add simple little features here and there. By themselves, the features are simple–around 10 to 100 lines each–and would take maybe 10 minutes each to write. To add them to a well-documented, modular coded project might take an hour or two including some testing. But incorporating these tiny features into an existing project base consisting of unmodularized and undocumented code takes 10 to 20 times that. Believe me, I know from experience. I am faced with the constant urge to rewrite the entire code base from scratch. I know it would take longer to rewrite everything, but I have to say it would be much less painful.
Logical code is easy to follow and easy to change. If something is a little strange, then you fall back on the documentation to figure out why. But when the code is an absolute pile of garbage with no documentation, looking like it was written by a first-time coding high schooler, you spend most of your time trying to figure out why the previous author did what they did, how they did it, and why they were ever allowed to touch a computer keyboard in the first place.
The problem increases exponentially when dealing with web projects, especially ones coded in PHP. Modular design in web projects has always been possible but somewhat awkward, considering that up until PHP 5 we had very poor object support. Only in the last few years have there been any decent frameworks to use that employ an MVC structure. My favourite one, of course, is Zend Framework. Before the Zend Framework, I personally had been working on an MVC-like PHP framework of my own to help alleviate the somewhat cumbersome structure that even my PHP projects were sometimes taking. After trying the Zend Framework, I never touched my own framework again.
Having come to realize the power of a good PHP framework and the importance of documentation and modularized code, it just makes me want to cry–and wish horrible things upon the original author whose code is making my job so much more difficult than it should be.
Rogers: the upgrade, the swap, the lie and the downgrade
Mar 15th
When I lived in Hamilton, I used Mountain Cable (now Shaw) as my Internet Service Provider. The service was excellent, very fast and there were no usage limits. I could download hundreds of gigabytes per month and no one cared. I have since moved to Kitchener and been forced to be introduced to the wonderful world of Rogers. I should note that I dislike Bell and anything Bell-related, and that I’ve never had a positive experience with DSL. So Rogers high speed it was.
Unlimited for only $25 $50 more per month? no thanks
I signed up for the Rogers Extreme plan which includes 10 Mbps down, 1 Mbps up, and 95 GB of usage. I was a little concerned about the internet usage limit, but I wasn’t worried because I also noticed that additional usage was billed at $1.50/GB to a maximum of $25. $25 more for unlimited internet? Sounds good. I generally was under the 95 GB mark, but if I went over I made sure I went way over to justify the extra charge.
Unfortunately, at some point without my knowing it, Rogers increased the maximum additional usage charge to $50, which means my total internet bill could be over $110. That’s too high for me. I noticed Rogers had 2 more faster plans available: Extreme Plus for $69 (25 Mbps/1 Mbps/125GB) and Ultimate for $99 (50 Mbps/2 Mbps/175 GB). I figured I would just upgrade to the Extreme Plus and pay $10 for an extra 30 GB–that should be enough, I thought. I phoned up Rogers and upgraded my plan. I was a little unhappy that I was told I would need a new modem to take advantage of the faster speed, but I was more concerned with the extra $7 per month I’d have to pay just to rent the thing. Also, the new modem was actually a Wireless N gateway. That’s nice, but I already have a wireless N access point and use pfSense as my router/firewall. I was not impressed, but I figured the exta GB and 25 Mbps down were worth the inconvenience.
The swapping of the modem
The next day, I went to the Rogers store and swapped my modem. I also decided that I would purchase the new modem instead of renting–it would be paid for after 28 months of paying $7. I took my new modem home and set it up. The first thing I did was log in using the mso credentials to disable the gateway nonsense. I’m very glad they let me do that, although it’s a waste because I just paid $199 for features I’ll never use. It was really easy to set up. Once the gateway features were disabled, pfSense was able to get my public IP from the modem instead of the 192.168.0.10 address it had previously been assigned. I then excitedly went to speedtest.net and ran a speed test (see below).
I’m about 15 Mbps short…?
…hmm, that’s nice, I thought, but I’m paying for 25 Mbps. I ran it again, and again, and then tried the official Rogers speed test, plus a bunch of other ISP speed tests and even thespeedtest app on my iPhone. Each showed very similar results. None would go over the 10 Mbps barrier. I knew it was incredibly unlikely that a busy network would give me these consistent results and I knew that being so close to 10 Mbps couldn’t just have been a coincidence, so I called technical support. I actually was going to use the live chat technical support, but when I read the disclaimer about closing windows on your computer that you didn’t want the tech support guy to see, I immediately picked up the phone. I’m probably more qualified than most of the tech support at Rogers, so there’s not a chance I’d let some newbie touch my precious Mac–assuming they even support Macs.
I had to resort to calling tech support
Tech support was helpful and figured out my problem right away. The genius that upgraded my account the day before hadn’t checked properly to see if the DOCSIS 3 was installed in my area yet. It wasn’t. The tech support guy said it should be coming in a few months but couldn’t promise anything. Wonderful. I asked the tech guy if I could keep the Extreme Plus on the old speed, but with the increased usage limit of 125 GB. He said that I could not officially be switched to the new plan until DOCSIS was in my area, so I was stuck with my 95 GB limit. Although I was unhappy about this, the tech support guy was nice and friendly and answered all my questions fully. He then transferred me to customer service so I could downgrade my account.
I must say the customer service representative I spoke to was one of the best customer service folk I’ve ever encountered. She was very friendly and helpful, and instead of the typical silence one experiences while the representative types away on a computer, she told me exactly what she was doing and why. I greatly appreciated her friendly approach. To compensate me for my inconvenience, Rogers gave me a $5 goodwill credit–which will barely dent my additional usage fees for the month, but it’s better than nothing. Anyway, I’m on the right plan now and will probably try upgrading to Extreme Plus again when it’s available in my area. Apparently I’ll know when that happens because I will be “bombarded with marketing” according to my friendly Rogers customer service representative. I don’t doubt it.
Disappointed but content
Overall, I am happy with my Rogers service. It’s always super fast (even at 10 Mbps), my 3rd party VOIP works perfectly, and I’ve always had a good experience with Rogers customer service. I just wish the sales guys would not sell services to customers that they can’t use. Oh, and it would be great if Rogers offered a cheap DOCSIS 3 compatible modem with no gateway functions.
Should you send source code to a prospective employer?
Mar 11th
Last spring while searching for a job, I came across a posting for a PHP developer. Cool, PHP! I love PHP, so I typed up a cover letter and attached my resume. I noticed that the ad also invited applicants to include some sample source code that “best shows off your abilities.” I assumed that this was an option and not a requirement, because frankly, sending a random company my source code just seemed illogical to me. To be safe, I did state in my cover letter that I would be happy to show them some code samples upon meeting with them in person.
You forgot the source code!
The next day I received a response to my application:
Hi John,
Thank you for your application. However as per [URL removed] we can only consider applications for an interview that have code samples attached. It is important to us to have a demonstration of an applicant’s coding abilities prior to making a decision on an interview – resumes simply aren’t enough to go on. Please resubmit to hiring@[domain removed] with your resume and one or two sample source files that you feel best demonstrate your abilities.
At first I thought, ok, I will comply, but then I realized how difficult and futile this task would be. For the last few years, all my PHP projects have been done using the Zend Framework. If you know anything about the Zend Framework, or any other framework employing an MVC architecture, you know that your project will have multiple files. Is the prospective employer going to look at them all? Not a chance. But what portion do I send them? A controller? Well, they use several models, which use more models… and what about the views? For the company to get a true impression of my abilities, they would have to receive and understand the entire project.
It’s all about problem solving
Software development is not about source code, it’s about problem solving. This company gave the impression they were looking for some clever PHP algorithm to show how amazing you are. Quite frankly, I think they were looking for the wrong thing. I consider a good PHP developer to be someone who writes easy-to-understand, modular, well-documented code. These skills are not so easily demonstrated in a sample piece of code. It would make more sense to me if the company in question had asked to see a complete project including flowcharts, diagrams and the entire source code. Of course, this brings up another issue. Is such a request even ethical?
What would Google do?
While I don’t mind demonstrating my code to a prospective employer, I certainly am not simply going to hand it over to them. What about non-disclosure agreements? A good portion of my code is written specifically for my clients. I don’t care if it’s Apple or Google requesting my code (mind you, they would know better than to ask), I’m not giving my code to anyone unless they license it from me.
I can only conclude that this prospective employer has absolutely no idea about good software development and lacks any experience in the industry. Otherwise, they would realize how short-sighted and unhelpful so-called “code samples” are.
They could ask questions…?
How should an employer determine a worthy programmer? Grill them in the interview. Have them write a quick PHP script on paper or even give them 10 minutes on a computer. Ask them how to solve a problem using PHP. There are so many ways of determining a programmer’s worth aside from a measly sample of code. Try talking to them! It’s simple enough: If they’ve never heard of MVC or can’t describe object orient programming to you, then you describe to them the way out the door.
Turned ‘em down
I replied to the email with pretty much a summary of the above rant. Knowing full well I had just negated any possibility of getting the job (unless this was a test to see if I was stupid enough to send them my code), I asked them to remove my application request for the job. Looking back, I stand by my decision. I can only imagine how horrible it would be to work for a company with such backward thinking. The whole situation reeked of inexperience and poor management. As a side note, I am now employed as a software developer and, prior to hiring me, my current employer did not ask me for samples of my source code–go figure.