Icy roads have their advantages

You would think having 4" - 15" of solid ice in the roads would be nothing but a nuisance for everyone. However, I have discovered an upside -- parking. Parking you say? It doesn't help parking! 90% of the cars parking in Cambridge seem to be compact cars with less than 12" of clearance, which means even if they were willing to risk getting stuck they couldn't park in many of the spots. Oh, but it does help trucks!

Prior to the snow storm a few days ago, I would never find a parking spot when I came home around 11:30pm. Now that there are plenty of spots where compact cars can't even park, I just turn on my 4WD and slip and slide my way into a spot. 😀

Don't piss on my floor

I was asked a few weeks ago, by one of my tenants, to rent the vacant first floor apartment underneath them for their birthday party. I hesitated at first, because I know parties can mean lots of trouble, but I really needed the money. The carpets were going to be replaced anyway so I didn't care what they did to them. I only asked that the walls stay clean, that there's no trouble with the police, and that they don't cause any problems with the neighbors.

Also, with all the extra weight from the people attending the party I became worried about the stability of the floor joists for the first floor. I noticed a lot of extra cracking and sagging in the joists and walls after all the water damage a couple of weeks ago. So just to be safe I bought two heavy duty 8' temporary lolly columns and propped up the floor underneath the sagging spots.

When I came home tonight I found a leak coming from upstairs. It was coming from one of the drain pipes; one that I knew needed to be replaced but had been avoiding doing so for a long time. It was an old iron pipe that was rusted pretty badly, now badly enough allow water to leak through. I had a 1" pool of water on my basement floor, but luckily there was no additional water damage.

I had been worried there would be another leak in the pipes above where I installed a 3' electric baseboard heater, so a few days ago I inquired with my dad about what would happen if water fell on it. As my dad and I suspected, nothing happen. Of course I wasn't taking any chances of being electrocuted by 240 volts and turned off the breaker as soon as I got there. After sucking up the water with my shopvac, I went to Home Depot and bought a couple of fittings, sawed off part of the iron pipe (went through two blades because I all I had were the blades for thinner metal) and replaced the remaining section with newer PVC piping. Then I discovered another leak -- this time coming through the ceiling tiles above my bed.

It was piss (yes, urine) -- dripping down onto my bed. I went upstairs to find a 4x6' section of the floor soaked with piss. Are these people fucking stupid? There's a working bathroom and two doors to go outside. Some people really have no respect for other peoples' property. I mean come on, its a fucking house.

I'm never doing that again.


Independent Thoughts
In the competitive carpet market, it’s a rare chance that you won’t find exactly what you want. If you are shopping around to buy carpet of casual look with the flecks of colors then you need to go for berber carpet. People who want durable and long life carpet flooring mostly show their interest in georgia carpet


Removing unwanted commas in a CSV file with PHP

During the past week, I've been working on a small PHP application that a friend paid me to write, called SearchCSV2MySQL. He is exporting data from a specific program and saving the data in Excel as *.csv. Here is what a sample of the data looks like:

130072690978,Jan-31 09:09,4.95,$,1,Vintage McMurdo SILVER Television Pre-Amplifier
220073351918,Jan-25 19:48,"1,031.00",$,2,"PITNEY BOWES, TABLETOP INSERTING MAILING SYSTEM"

As you might have guessed, you're looking at eBay auction information. The fields in the exported data are item, date, price, currency, bid count, and description. Importing large amounts of CSV data into a MySQL database is one thing (and I'll write a follow up post detailing how the application works), but I also needed to remove unwanted fields before importing the data into MySQL.

To do this, I break up each line using $fields = explode(",", $lines[$y]);, where $y is the current line we're processing. This takes the data between the commas and puts it into the $fields array. However if you look at the sample exported data carefully, you may realize that we won't get the results we're expecting. The commas found between the double quotes, in the price and description fields, will be processed as field separators! This would cause $fields[2] (the price field) for the second line to contain "1" instead of "1,031.00".

So how did I resolve this? After looking over the syntax for strpos(), substr(), and substr_replace() a million times, I finally came up with this solution:

/*
* ***************** Remove all commas from the price field ******************
*/
/* Isolate the second field (price field) by finding the position
* of the comma right before the price field (second comma)
*/
$first_comma_pos = strpos($lines[$y], ",");
$second_comma_pos = strpos($lines[$y], ",", $first_comma_pos + 1);

/* Check if the price field contains double quotes,
* which would mean the price has a comma in it and we need to remove it
*/
if(substr($lines[$y], $second_comma_pos + 1, 1) == """){
/* Find the positions of the opening and closing double quotes around the price */
$price_quotes_pos_start = strpos($lines[$y], """);
$price_quotes_pos_end = strpos($lines[$y], """, $price_quotes_pos_start + 1);

/* Find all occurences of a comma after the opening double quote, but before the closing quote,
* around the price field and remove them from this line.
*/
$price_comma_pos = strpos($lines[$y], ",", $price_quotes_pos_start);
while($price_comma_pos < $price_quotes_pos_end){
$lines[$y] = substr_replace($lines[$y], "", $price_comma_pos, 1);
$price_comma_pos = strpos($lines[$y], ",", $price_quotes_pos_start);

/* Update the position of $price_quotes_pos_end,
* since it has changed after we removed a comma!
*/
$price_quotes_pos_end = strpos($lines[$y], """, $price_quotes_pos_start + 1);
}
}

/*
* ***************** Remove all commas from the description field ******************
*/
/* Find the position of the comma right before the description field (fourth comma) */
$first_comma_pos = strpos($lines[$y], ",");
$second_comma_pos = strpos($lines[$y], ",", $first_comma_pos + 1);
$third_comma_pos = strpos($lines[$y], ",", $second_comma_pos + 1);
$fourth_comma_pos = strpos($lines[$y], ",", $third_comma_pos + 1);
$fifth_comma_pos = strpos($lines[$y], ",", $fourth_comma_pos + 1);

/* Check if the description field contains double quotes,
* which would mean the description has a comma in it and we need to remove it
*/
if(substr($lines[$y], $fifth_comma_pos + 1, 1) == """){
/* Find the positions of the opening and closing double quotes around the description */
$desc_quotes_pos_start = strpos($lines[$y], """, $fifth_comma_pos);
$desc_quotes_pos_end = strpos($lines[$y], """, $desc_quotes_pos_start + 1);

/* Find all occurences of a comma after the opening double quote, but before the closing quote,
* around the description field and remove them from this line.
* Since this is the last field, we dont need to worry about finding any
* commas after the closing quote, and therefore don't need to update $desc_quotes_pos_end.
*/
while($desc_comma_pos = strpos($lines[$y], ",", $desc_quotes_pos_start)){
$lines[$y] = substr_replace($lines[$y], "", $desc_comma_pos, 1);
}
}

I realize that there are a couple of limitations to this code, such as not removing both commas if the price contains a larger number (i.e., "1,042,240.00"). It also doesn't look in the description field for commas. UPDATE: I've updated the code to remove all commas from both the price and description fields.

This code is simply a proof-of-concept to show how I solved a problem. If you know of a better way to go about this, please let me know! Hopefully posting this snippet will save someone the time I spent figuring it out.

Show me the errors!

It took me forever to figure out why the hell including a specific class file in one of my PHP scripts was causing the script to output nothing -- besides a blank white page. I finally figured out that PHP must be hiding errors and as soon as I added the following line to the top of my script, the error was obvious (a single character error, no doubt):


ini_set('display_errors', '1');

I was testing on a webhost I had never used before, so I wrongly assumed it was a problem with my code causing the blank output.

Verizon's Ultimate Call Forwarding service allows you to remotely enable/disable call forwarding, as well as change the number to which calls will be forwarded. When you call the automated system to activate call forwarding, there are several other options you can select, such as "Forward after no answer" and "Forward when busy". Those features are extras, for which you need to pay an additional monthly fee. The only feature enabled on account I was configuring is the basic call forwarding, which explicitly forwards all calls. Why then, am I able to select, configure, and enable the other features?

"To enable Forward after no answer, press 1"
"1"
"Please enter the number you wish to forward your calls to"
"617-959-xxxx"
"Please hold while we process your request..."
"Please hold while we process your request..."
"Please hold while we process your request..."
"Forward after no answer has been enabled."

No it hasn't! The damn automated system says its been enabled, when in fact configuring and enabling this feature does absolutely nothing! So much for an intelligent system. It should tell me I don't have that feature enabled, not allow me to configure and enable it.

Life is Short

This past Tuesday I started going to the gym again. I have a membership at Golds Gym in Somerville, about a 10 minute drive from my apartment. The nice thing is that they're open 24 hours Monday - Friday. It's been a few months since I last worked out, so I figured I would get my system revved up by starting off doing cardio at the gym and pullups and pushups at home.

After two days; wow am I sore! I had no idea how out of shape I had become! Appearance wise, theres hardly any difference, but physically I feel out of shape. Right now my whole diaphragm, abs, back, legs, and all the other basic muscle are aching like crazy. Its good though -- I'm already feeling more physically fit after doing cardio for three days in a row.

I went to my parents house last night and used the sauna to try and help relax my muscles. It's amazing how easily you can take things like a sauna, or for that matter parking, for granted. Living in the city has increased my appreciation for a lot of things. Last night I wasn't able to find a parking spot on the street when I arrived in Cambridge around 12:45am, so I decided to park in the office parking lot and walk home -- a 10 minute walk never felt so long and cold. The wind blew relentlessly and my body heat, what little I had, felt like it was being sucked right off my body.

Anna Nicole Smith died yesterday at age 39. Yet another reminder of how short life is.

Ever wonder how the hell they get oil rigs out into the ocean? It's pretty amazing what a little science, and a lot of physics and precision can do.

Oh, and apparently, Skype Reads Your BIOS and Motherboard Serial Number upon startup. Now thats a nasty backdoor and privacy threat. What better way to catalog the identity of your computer than to record your motherboards serial number and link it to your Skype name (which can be linked to your credit card info if you use SkypeIN, etc)? My co-workers and I have switched to using Google Talk, which is actually very cool. I had no idea that it was based on the Jabber protocol, which is the largest Open IM Protocol around. Now if only the console based IM client I use, naim, supported the Jabber protocol!

Hiroshima

There is nothing that makes me feel more grateful for life than seeing pictures from the Hiroshima or Nagasaki bombings. Every time I see a picture of an atomic bomb exploding I feel a knot in my stomach -- as if I could feel all of the souls reaching out to me in pain, frozen forever inside that single image.

I have long had mixed opinions about the bombing and about whether or not dropping the bomb was the right thing to do. I have always edged towards believing we never should have dropped it. However, the following comment, left by an anonymous person on the site below, has made me realize how difficult a decision it must have been for those in power at the time, and how in the end, there was probably no good solution.

During World War II, nearly 500,000 Purple Heart medals were manufactured in anticipation of the casualties resulting from the abandoned invasion of Japan, Operation Downfall. As of 2005, all the American military casualties of the following sixty years - including the Korean and Vietnam Wars - have not exhausted that stockpile.

And to think we have over 20,000 of these nuclear weapons still intact around the world, more than enough to wipe out the entire human race.

Why?

Hiroshima, the pictures they didn't want us to see

February

Does anyone else have a problem spelling February? I've always pronounced it like I pronounce January, however it's spelled with an extra R, one that feels weird to pronounce.

According to dictionary.com, pronouncing it without the R is acceptable and is probably the most commonly way it is pronounced.

Two down, two to go

I got a gym membership at Golds Gym, about a 10 minute drive from my apartment and office in Cambridge. The best thing about it is that it's open 24 hours Monday - Friday. Now I need to figure out weekly workout schedule that will fit my day-to-day activities. No excuses. The longer I wait, the more I'll wish I started earlier when summer arrives.

I received the gas bill for my Cumberland RD property, the one in which two rental units have gas included in the rent (there's only one gas meter). Total due? $1,358. I read the meter in the basement and compared it to the last meter read on the bill to figure out how much gas has been used since that bill. I figured out that between January 24th and January 28th (4 days), $130 worth of gas was used. Damn! How the hell am I going to afford this? I'm going to tell the tenants they have to pay 1/4 of the utilities.

I canceled the digital cable package, which is also included in those two unit's rent. It was costing me $75 a month! I have basic cable in my apartment in Cambridge and I get 75 channels for $10. When the cable guy came by to change the cable to basic, he said Lowell only gets 14 channels with basic cable. Blah. The tenants can either deal with the basic cable or pay $25 a month each for the digital package.

I received the electric bill for my apartment in Cambridge. There are three electric baseboard heaters that heat the entire basement -- and they do a damn good job heating it. I feared the the electric bill was going to cost a fortune because I had the heat running most of the time, however, to my surprise the bill was only $120!

After what happen with the water pipes freezing on Cumberland road last week, I've been paranoid that it will happen again. So I turned on the furnace and set the thermostat to its lowest setting; 50°F. However, after I received that $1300 gas bill, I knew I had to figure something else out. So I decided to install a small 3' electric heater on the hallway wall, right under all the water pipes in the basement. I'm starting to really like the idea of electric heat. This weekend I'm going to install a 4' or 8' electric baseboard heater near the bedroom area in my basement. Hopefully I will be able to do away with gas heat entirely! I'm curious to see how much the electric baseboard heaters effect my electric bill.

With all these energy problems, I was looking into solar energy options and found a really cool company called CitizenRu. Basically they will come and install an entire solar energy system, and maintain it, for free. You give them a $500 deposit, sign a contract (1 year, 5 year, or 25 year) and they will hook the solar panels up to your current electrical system. The thing is, they charge you for the solar electricity you use, however they lock in the current electric rate for the entire term of your contract -- so you never pay more than you would if you didn't use the solar energy. Since electricity prices go up over time, you would eventually be saving money because you'd have locked in the electric rate for the entire term of your contract (obviously the most savings come from the 25 year contract). It's an ingenious way of getting people to start using solar energy, at no additional cost to the consumer.

Although this specific solution doesn't appeal to me, I do love the idea of setting up solar panels on the roof's of my properties to at least take some load off the electric heat and common electric meters.

I finally finished the two 2 bedroom apartments on Ware Street. I need to take pictures. I sold my Nikon Coolpix P1 point-and-shoot digital camera to David, and plan to buy a Olympus Stylus 770 SW for its rugged, go anywhere ability. I also was able to rent both of the apartments on Ware street, so now I only have two vacant units; a 1 bedroom on Ware ST and the 2 bedroom on Cumberland RD. Both will require time and money to finish and I don't have either right now. I plan to have at least the 2 bedroom ready and rented by March 1st and the 1 bedroom by April 1st.

Posiden, have mercy!

The past few days have been quite eventful -- so much so that I haven't had time to write about them until now. Lets see how well my memory serves me:

Tuesday (01/16)
While I was at work in Cambridge, my tenant on Bowers street called and told me their kitchen water wasn't working. They told me their bathroom water was fine, but not the kitchen. I really didn't want to have to drive all the way back to Lowell if it wasn't a big problem, but I wanted to make sure it wasn't something major; like a broken water pipe. So I called my Dad to see if he was nearby and luckily he was. He stopped by Bowers st and then called and told me there was no major leaks anywhere, but the hallway was pretty cold. He knocked on the door for the second floor (the tenant who called me) and checked the kitchen sink pipes. They were frozen! Crap, not again. My Dad plugged in an electric heater in the basement and left it running.

After work, I decided to drive back to Lowell, stop at Home Depot , pick up an electric baseboard heater and then install it in the hallway at Bowers St. When I arrived, the hallway was nice and warm from the electric heater my Dad turned on. So before I started installing the baseboard heater, I checked with the second floor tenants to see if their water was working yet. I turned on the sink and only a little bit of water started coming out. I tried the hot water and after leaving it on for a few seconds it slowly started gushing out. The ice must have just cleared the pipes. Whew!

It was my first time installing a baseboard heater and the directions were incredibly bad. I used a 12/2 wire, which is able to carry the 240 volts the heater requires. I hooked it up to a 20 amp breaker in the basement that had nothing but a single GFI outlet attached to it, so I figured there would be more than enough power available. The first time I turned it on, it shorted and the breaker tripped. Doh, thank god for smart breakers. I changed the wiring to the thermostat on the heater and flipped the breaker on again. This time it stayed on. However, when I turned the thermostat to high, the heater only felt warm. Ah, it was 11:45pm and I had to drive back to Cambridge and be up early for work the next morning. So I left it the way it was, and prayed the pipes didn't freeze again.

Wednesday (01/17)
Worked in Cambridge. I can't remember if I went back to Lowell later in the evening, or even specifically what I did on Wednesday.

Thursday (01/18)
I was able to take a break from work and spend Thursday and Friday working on the apartments. The second floor tenant on Bowers street referred someone to me who was looking for an apartment. I showed him the Ware st apartment and he liked it. He said he would like to move in next Wednesday and I told him it would be ready.

After the scare with frozen pipes at Bowers St, I decided to check the vacant 1st floor unit on Cumberland Rd, right upstairs from the finished (er, work-in-progress) basement where I live when I come back to Lowell. I don't leave the heat on when I go to Cambridge for the week, because it would cost me a fortune. I'm already struggling financially, so I need to save wherever I can. When I checked the kitchen on the first floor unit, I found ice coming out of the faucets... not a good sign at all. So I turned on the heat and drove to Ware St to work on the vacant units. I called my Dad and mentioned ice in the faucets on Cumberland Rd. When I told him I turned on the heat he was concerned, because he thought I was going to leave the heat on and return to Cambridge for the day. I explained that I was working on the houses in Lowell all day and that I would be in the area to go back to Cumberland Rd every few hours and check for leaks.

Two hours had passed since I turned on the heat in Cumberland Rd and my Dad's concern made me concerned. I was going to stop at LifeAlive and get something to eat for lunch but decided to first check on the pipes at Cumberland Rd to make sure nothing was leaking. I opened the door to my basement apartment and found a downpour inside. Water was pouring down from the ceiling; all over the kitchen I built, half the bathroom, all over my pile of tools, over electric junction boxes, wires, everywhere! Instinctively I ran to the main water shutoff and turned it off. Then I bolted upstairs to look at the first floor unit, expecting the worst. A few weeks ago I spent over $1400 having the entire place repainted and if I had to spend even more money on that unit, it was going to kill me.

Luckily the water damage in the leaking unit was minimal. I must have arrived less than 10 minutes before the leak started, because with the amount of water that was pouring out, it could have been MUCH worse. A few years ago when I had a huge broken water pipe incident at Bowers st, it was uneven floors in all three units that saved me over $70k in extra damage to the units. Starting from the middle of the kitchen and going to the back wall where the bathrooms are, the floor sloped down. This kept the majority of the water out of the rest of the house. The same thing happen on Cumberland RD. The floors in the kitchen and bathroom all slope down to one spot, which kept the water out of the rest of the house. Who knew uneven floors could be a good thing!?

I spent the following 5 hours, basically the rest of the day, fixing pipe after pipe. I found one leak, fixed it, turned on the water, heard the waterfall start again, turned off the water and looked for the next leak. Thankfully there's an ACE hardware store a few blocks from Cumberland Rd. I must have gone there over a dozen times -- the employees kept saying "Back again!?". Eventually they stopped saying anything and simply nodded at me and smiled. I spent my evening cleaning up the water damage. Luckily I had moved most of my tools to Ware St, so nothing electronic and expensive was ruined. I had to toss out a big carpet and throw away some food, but overall I was very lucky. It could have been raw sewage instead of clean water!

Friday (01/19)
I went to Home Depot and asked someone from the electric department what kind of breaker I needed for an electric baseboard heater. I brought the 20 amp breaker from the breaker box with me, because I knew the breakers are specific to the boxes they go in. The guy took one look at it and said that wouldn't work for a baseboard heater and that I needed a double-pole breaker. He handed me the double-pole breaker, which looks like two 20 amp breakers stuck together, said that's what I needed and walked away, as if he didn't want to have anything to do with answering any extra questions I may have. So I walked over to the area with all the do-it-yourself books. I picked up an electronics book and turned to the page on installing baseboard heaters. Argh! It wasn't any more help than the damn good-for-nothing directions included with the heater and the thermostat!

I stuck the double-pole breaker in the box, and attached the black wire to one of the two breakers. Hmm, no change in the temperature of the heater. I tried a couple of different wiring configurations with the thermostat, but nothing helped. I don't have time for this, and its not freezing outside anymore, so I shouldn't have to worry about the pipes for the next few days. I went to Ware ST and spent the rest of the day working on the vacant units over there.

Saturday (01/20)
I scheduled several computer related appointments for Saturday morning, starting at 9:30am. They ended up lasting longer than I'd expected, so I didn't even finish until 2pm. Afterwards, I worked on Ware st.

Sunday (01/21)
One computer related appointment in the morning, which was quick, and then spent the rest of the day working on Ware St. Installed some much needed lights in the basement of Ware St and got the electric stove in the first floor rear unit working. Installed vinyl shades on the windows of the unit for which I have tenants moving in on Wednesday. I was surprised that new vinyl shades at home depot were only $4 a piece! I was expecting something closer to $15.

Headed back to Cambridge late Sunday evening.

Monday (01/22)
Spent the day working in Cambridge -- had an off-site deployment and training to attend -- and later in the evening I went back to Lowell to check on Bowers street to make sure the hallway wasn't too cold. I had to stop at Cumberland road and get something, and I realized there was an electric baseboard heater in the first floor unit. I looked at the breaker box in the basement to checked how it was wired. To my amazement, but at the same time confirming what I had suspected, both the white and the black wires were connected to the double-pole breaker; one to each lead.

I went back to Bowers street, attached the white wire to the second breaker on the double-pole breaker, changed the wiring on the thermostat to how I had originally wired it, flipped the breaker on, turned up the thermostat, and voila! Now it felt like a heater! I had searched Google for wiring directions earlier in the day and found nothing but other people asking the same question! I'll see if I can post a wiring diagram tomorrow for anyone else who might be having the same problem as I did.

Motivational Fitness & Health Advice

I found something I had written for a friend a few months ago (last October, actually) when he asked for fitness advice. I find my own advice, written at a time when I had a regular workout routine, motivating me to start my regular routine once again. There are many reasons (excuses) why I've let my routine slide, but I won't give myself the opportunity to mention them!

Whatever you do, stick with it. If you feel like program A is not working, then don't quit! Modify the program and keep going. Consistency will pay off, whether you're doing the right thing or not.

Eat more healthy. This is kind of obvious, but start with eliminating SODA and any other junk food. Watch the nutritional content labels for high saturated fat and sugar content. Eat more fruit's, nuts, and veggies.

DRINK A LOT OF WATER! If you're lucky enough to work close to a bathroom, drink water until you're pissing every 10 minutes; seriously. When your body changes and fat decreases, your body needs to get rid of all the toxins in your body. It does that by using WATER as a transport mechanism. If you don't have enough water, your body will simply become more toxic.

Don't kill yourself. Create a schedule that fits your lifestyle. For example, start small by dedicating 30 minutes every day to workouts. Then start doing it twice day (30 min morning, 30 min night) if possible, otherwise just increase your workout time. If you feel REALLY sore the day after working out, give yourself a day's rest and start again the following day. Your body does need time to adjust, so give it time. But at the same time, you should be trying to push your limits. Don't use the soreness as an excuse!

Comcast Cable Internet

Well, I take back anything bad I've ever said about Cable Internet. I've always been a DSL fan, ever since my bad experience with Comcast Cable Internet a few years ago -- it became slower than a 56k modem during peak neighborhood use. In my new Cambridge apartment, I did not want to wait around for three weeks while the phone company configures a new line, provisions it for DSL, and then has the DSL modem shipped to me -- so I decided to go with Comcast Cable Internet. Comcast sent someone out the following day and everything was hooked up and ready to go. It's $55 for Cable Internet + Basic Cable TV.

So after a few days of screwing around with a spare Netgear router, I concluded it was defective and bought a new Linksys WRT54G router from Microcenter. It worked like a charm right out of the box. The first thing I did was visit Speakeasy's speed test:

Download Speed: 12312 kbps (1539 KB/sec transfer rate)
Upload Speed: 360 kbps (45 KB/sec transfer rate)

Holy Crap. The Upload speed may not be impressive, but the Download speed blows me away. I'm paying $55 a month for just DSL with Speakeasy in Lowell and I only get about 700 KB/sec. Of course the really nice thing about the DSL is that they give me a static IP address, which is really useful for me because I connect to my home computers all the time. Still, the Cable companies have really improved their network over the past few years.

OfficeMax gets away with typographical pricing error

On New Years Eve, I was browsing digg and pressing refresh on the main page. Suddenly there was a new post, about a Verbatim 4GB USB Drive from OfficeMax for $17.98. I quickly ordered 10 of them for $180 from their website. A few days later, I receive this email:

Dear OfficeMax Customer,

This is to advise you that item 21168308 - Verbatim 4GB USB Drive has been canceled from your order due to an inadvertent typographical pricing error on our website. According to the Terms of Use on OfficeMax.com, OfficeMax does not have to honor a price that is a typographical error. We apologize for the inconvenience.

If you have additional questions, please contact a customer service representative at 1-877-OFFICEMAX.

What bull! Lots of other people are pretty pissed too. This shows you what companies can get away with when they make a typo in an online advertisement. They can simply remove the online ad and claim that any evidence you have was simply created on your computer. I'm not saying this is what they do, but they could -- which is why they probably feel they have the power to cancel thousands of orders based on an online typo.

Cambridge Apartment Pictures

I've added a new gallery containing pictures of my new apartment on 34 Chatham ST in Cambridge. It's a basement apartment, but a damn nice looking one. It's the perfect size because it's only going to be me living there and it's a short 10 minute walk to my office.

If you search Google Maps for 34 Chatham St, the wrong house shows up. However, if you search for 84 Chatham St, it shows the correct house. The house is located on the corner of Dana St and Chatham St.

Sony Ericsson GC89 Network Card & T-Mobile GPRS

Now that I have a new apartment in Cambridge, I obviously need Internet access. I figured I would be able to find an open wireless network, however there were only two networks accessible and both were protected with WEP encryption. I could set my laptop up, let it sniff the WEP keys, and crack the encryption, but that would be a short term solution. My friend Sarith suggested I look into a T-Mobile GRPS network card, the Sony Ericsson GC89.

The service plan costs $50 per month for unlimited data, and the card itself is $200, unless you sign a 2-year contract at which point they will drop the price to $150. I decided that it's going to cost me $50 per month for DSL or Cable Internet, so why not get a mobile solution that would allow me to take my Internet connection with me if I have to travel. Additionally, the data plan comes with unlimited use of T-Mobile WiFi hotspots, like the ones in Starbucks.

T-Mobile also offers a $30 a month plan for customers that already have a T-Mobile phone. I switched to T-Mobile a few months ago, so I figured this would work perfectly. It costs me $30 per month for a network card that gives me Internet connectivity and I can bring the Internet connection wherever I want; even outside in the middle of a field. But as usual, I knew it was too good to be true. I learned from one of the T-Mobile rep's that when you purchase the add-on Internet plan, you have to take the SIM card out of your phone and place it in the network card whenever you want to use it. This means that you cannot use your phone and the network card at the same time. What's the point of that!?

David suggested that I may be able to clone my SIM card and get both working at the same time, but after a little research on Google, I learned that T-Mobile SIM cards are very difficult to clone because they have hidden areas which are encrypted and usually not readable by standard SIM card readers. In addition, having two GRPS devices (Blackberry and Network Card) attempting to connect to the same GPRS network at the same time with the same SIM information, would simply cause neither to register on the network.

So I decided to go purchase the network card, and the $50 data plan. Last night I brought the card home and spent a few hours testing it.
 

The case they provide for the network card is nice, but it doesn't feel very strong. Under heavy use it would probably crush quite easily.

I first attempted to install the network card on my Mac PowerBook using the Mobile HighSpeed application for OSX. After 15 minutes I couldn't get it working. I then installed the CD on my Thinkpad T41. The software warned me that my existing WiFi software (IBM Connections and related WiFi stuff) would possibly conflict with T-Mobile Connection Manager. It gave me the option of fixing the problem or leaving it alone. I choose to leave it alone, because I still want to use the builtin WiFi on my laptop.

The software installation was a breeze. When prompted, I inserted the network card and watched as several drivers were installed. A minute later I was online. I swapped out the SIM card and put the SIM card from my Blackberry in the network card. I assumed it would work, since the Blackberry uses the same GPRS network. However, when authenticating I received this error: Error 679: The system could not detect the carrier. I googled the error, tried renaming a file as suggested on a forum, and then inserted the SIM from my Blackberry again. This time I got another error: Error 734: The PPP link control protocol was terminated. I tried a couple of other things suggested on forums, such as connecting to the T-Mobile VPN instead of just GRPS, but nothing seemed to work. I eventually gave up and concluded that T-Mobile must be tying the SIM ID and the IMEI of the network card together, and only allowing that pair to connect.

I first tried browsing without the antenna, since my GRPS Blackberry had 75% signal strength. I went straight to http://speakeasy.net/speedtest. Heres what I got on the first run:

Download Speed: 37 kbps (4.6 KB/sec transfer rate)
Upload Speed: 24 kbps (3 KB/sec transfer rate)

That's bad. So I plugged in the antenna and watched the signal strength jump to about 50%. I ran the speed test again and this time got much better results:

Download Speed: 191 kbps (23.9 KB/sec transfer rate)
Upload Speed: 74 kbps (9.2 KB/sec transfer rate)

Keep in mind I was doing all this from the basement, so I never got full signal strength. Whenever the signal dropped to one or two bars, the connection seemed to slow down considerably, to 56k Dialup speeds. But when the signal hit 3 or 4 bars (50% - 70%) browsing the web felt almost like broadband. I concluded that the speed changed in direct relation to the signal strength.

However, the next morning I tried using the card from my office. I had 3 or 4 bars of signal strength, and here's what the speed test returned:

Download Speed: 30 kbps (3.9 KB/sec transfer rate)
Upload Speed: 15 kbps (2.1 KB/sec transfer rate)

So maybe it has nothing to do with the signal strength, or maybe its a combination of signal strength and current network traffic. I'm sure the GRPS network is a lot more busy in the morning on a weekday, than it is at 2am in the morning. When I plugged my laptop into the docking station at work and started browsing the web at real broadband speeds, I knew it would be very difficult to deal with the fluctuating connectivity speeds of the GRPS card on a daily basis.

Last night I found out that Aerva is going to need extra space for a big upcoming deployment, so I offered the use of my nearly empty apartment. A good Internet connection will be crucial, so I called Comcast and setup an appointment to have them install cable Internet service in the apartment. Surprisingly, its actually $2 cheaper if I bundle the cable Internet with cable TV; about $55 a month (as opposed to $57 a month with cable Internet only). Even more suprising is the fact that they were able to schedule someone to come out today. So I should have broadband Internet at home tonight.

I have 14 days to return the T-Mobile network card, and I'm almost positive that's what I'm going to do. The GPRS card is nice to have, but as my primary Internet connection it simply won't work.

Update: Be sure to check out my review of the Sprint EX720 EV-DO ExpressCard. Comparing the GPRS network to the EV-DO network is like comparing a snail to an F-14 fighter jet.


Independent Thoughts
Cell phone industry grew very rapidly with in couple of years. Due to high demand of cell phones, a large variety is available in market. In this competitive market nextel cell phones are still struggling to get position among the highly demanding brands. While on the other hand motorola mobile phone is rocking in market because of their high tech functions and variety in models.


New Years Resolutions – 2007

This years resolutions, in order of importance:

  1. Fix my financial position (get my rental properties streamlined with my brother as the property manager and reduce or eliminate unnecessary bills)
  2. Develop and maintain a regular healthy diet and exercise program (which includes drinking more tea and less coffee!)
  3. Finish myfmo.com (personal project)
  4. Finish savenotes.com (personal project)