Thursday, March 12, 2009

Why Does Anyone Use OpenSolaris?

I was trying to help someone on the filezilla forums who uses OpenSolaris. They weren't too familiar with how to compile their own binary. Since OpenSolaris is free, I decided I would just download a copy, stick it in VirtualBox and try it out.

First of all, it looks nice, and all the vmware hardware seemed to work (more or less). The graphics driver seemed to be VESA based so my resolution was limited to 1024x768. Maybe the VirtualBox extensions would fix this.

Okay, my first gripe: The default installation doesn't come with any development tools. Okay, the whole thing did come on a single CD and includes Gnome, so I guess some stuff needs to be sacrificed, but the development tools? So I started Package Manager and looked for gcc. In comes my second gripe. Even though OpenSolaris is from Nov 2008, the gcc version they are hosting is 3.4.3. That's pretty old. Whatever, it should work for my needs.

There are several minor packages on which filezilla depends. It needs wxWidgets, libidn, libgcrypt, and gnutls. FileZilla depends on version 2.8 of wxWidgets, and the installer checks for the latest minor revision 2.8.9, but the package manager only had 2.8.8 (not as ancient as the gcc they're hosting, but still old). I couldn't find any of the other libraries. It also needs GNU gettext, but since I was able to run gettext and xgettext, I thought OpenSolaris came with that (more on that later).

Since I wasn't sure how to get around the FileZilla check for wxWidgets 2.8.9, I decided to build wxWidgets. Now we come to even more problems. wxWidgets seems to want to build the Motif version even though I got the wxGTK release. Oh, this must be because the gtk development headers aren't installed on OpenSolaris. BTW: I still can't find these. I saw a GTK package, but it's version 1.2. Who would use that these days? It's unsuitable IMO. Okay, we'll use the 2.8.8 package and figure out how to trick FileZilla later.

I was able to build libidn, libgcrypt, and gnutls without problem. That's about the only positive I ran into.

Since I can't figure out how to build wxWidgets since I can't find the gtk development package, I had to find a way to trick FileZilla into using the 2.8.8 version. First I decided to modify the script to accept version 2.8.8. When I first tried it, it ignored my changes. It didn't rerun autoconf for some reason. Oh yeah, it's not installed. Go back to Package Manager, and surprise, surprise, autoconf isn't one of the packages. Okay, well that solution won't work.

Let's tell wx-config to lie to FileZilla instead. Oh wait, there's no usable editor on this system. No nano, pico, or even emacs. I'm stick with vi. Since I have no idea how to use vi, I look at the graphical editor options and I find gedit. Okay, that will work, overkill that it is. BTW: nano isn't in the Package Manager either.

After telling wx-config to lie for us, FileZilla gives me a new error. We don't have dbus installed. Really I blame FileZilla for this. If dbus isn't available, it's configure script should disable support for it itself; we shouldn't have to pass --without-dbus on the configure line. Instead of trying to find dbus (which I'm already sure won't be found in package manager), I rerun with --disable-dbus.

On to the next error. Oh, msgmerge isn't installed. Apparently, gettext and xgettext are not from GNU gettext after all. So we need to go get that. I tried to build the 0.17 version from source and ran into some weird compile error. So I ran back to package manager and it had the 0.16 version, so I installed that. Finally, the configure script completes.

I have a quad core processor, so of course I use make -j5 to build. But no, we're not using GNU make. We're using Sun make, which doesn't support that option. So I'll just leave 75% of my CPU idling while it builds on a single core.

It quits with another cryptic message. One thing I noticed was that it said ld: fatal: library -lCstd: not found. Does this mean it can't find the C standard library? Well, that would be par for the course I guess.

If anyone has suggestions, I'm open to them. For now, I'm left with the question: Why does anyone use OpenSolaris?

edit: Someone mentioned that lCstd is the Sun CC C++ library, which is probably why it wouldn't work with gcc, but I'm not sure if that's right or not. It makes sense anyways.

I was able to find what I needed to build FileZilla. SUNWgnome-common-devel contains the GTK+ libraries. SUNWxwinc and SUNWxorg-headers are the X libraries and includes. SUNWgnu-idn was there all the time. Not sure how I missed it. Building wxWidgets and GNU gettext from source solved the rest of my problems. I put up a guide to compiling FileZilla under Solaris on the FileZilla wiki.

Wednesday, March 4, 2009

Comcast, It's FRAUDtastic!

There are plenty of stories about Comcast and their terrible customer service. It doesn't seem to faze them, but you never know.

A small bit of background. I hate tech support people. I invariably get the one who has no experience or understanding of his field and has been given a perfunctory amount of training. I invariably fall into a category I like to call the 5% problem. I never have problems that these people were trained to solve. I know what a power button is, know how to read a manual, use the internet to get help, and prefer to do my own research before wasting someone else's time. I usually find my own solution, but it can't always work out great. The 5% problem refers to something that most people will never experience, which means the solution is never part of the tech support person's training. Since I've never met one with capacity for rational thought or, God forbid, actual experience in his field, I often find my self exasperated when dealing with them. BTW: Sorry to all the tech support people who are competent. I hope to someday meet you.

I have cable internet service. I have had it for several years and have always been pretty happy with the service. When it was first started in town under the old cable company, Insight, it was 3 Mbps down, 128 Kbps up. Insight kept increasing the speed until it was 10 Mbps down, 1 Mbps up. I just got happier and happier. When Comcast took over, they said we wouldn't notice any change in service. I moved to a new place, and had to pack up my desktop for awhile. That part of the story is important, because it makes it unclear when the service level dropped. More on that later.

Now I have moved again. Because none of the cable bills were ever in my name, Comcast sent me a flier saying we could get cable and internet for $30/each. Since it was $45/each at the other place, this seemed like a good deal. I finally got my desktop out of storage and took at look at updating gentoo. The mirrors that I was using that previously produced download speeds in excess of 400 KB/s are now maxing out at 100, and the average is even less. Since my primary mirror is the local university, this doesn't make much sense, but I decide to try other mirrors. I tried 7 or 8 others, all to the same (or worse) affect.

I then decided to try an internet speed test. I went to dslreports and ran a speed test from New Jersey. It said our speed was around 1 Mbps down, 1 Mbps up. Since I was under the impression we were on 10 Mbps down, this was not good. I tried another test from Illinois with similar results. I then tried tests from New York, Pennsylvania, California, Tennessee, and Georgia. I get similar results from all of them. I then remembered there was a local ISP that had a speed test, so I tried theirs. You guessed it, the same results. I found some more tests in Indiana (where I live) and they gave me the same results as well. Something was wrong.

Even more upsetting was that the internet was constantly going down entirely. Some nights it was so slow as to be useless. You couldn't even browse the web or play poker. I called Comcast and they told me it was probably the router. I followed their instructions and unplugged it for a minute and then plugged it back up. Well, we got back to 1 Mbps down and it was usable, for around 10 minutes. So I tried a different router, to no effect. I then went straight from the computer to the modem, and we still get 1 Mbps down. A few nights later it went back to being unusable again and I called them back. It was after midnight, so I wasn't expecting a fix right then. The tech guy tried to reset the modem. It never came back up. So they decided to send someone out.

This was a Friday morning (technically, after midnight). He said the earliest time was Monday afternoon, but I could call back in the morning and see if they had an earlier time. Turns out I didn't need to, as they called me around 9:30. I don't answer calls from 800-numbers I don't know; it's rarely someone I want to talk to. I got a call at 10 AM from someone I wanted to talk to, and afterwords I decided to check my messages. The 800 number was Comcast and they said they could fit me in today if I called back. Of course I immediately called them.

The woman on the phone had all kinds of problems. She couldn't find my account by telephone number, name, address, or the reference number the guy last night had given me so they'd know about this problem. I finally had to get the bill with the account number. After 15 minutes, she was finally able to tell me they could schedule an all day appointment. That meant they could come anytime. That was fine, and I proceeded to wait, and wait, and wait... At a little after 5 pm, I started to wonder how late anytime was. I called the local office and asked at what time I should stop waiting. The automated system noticed I had a schedule appointment, which I thought was a good thing. The guy said it could be anytime up till 7 pm. That was fine, I already assumed the appointment was low priority. So I went back to waiting, until around 6:52-ish. I asked if they were coming at all. He said he would try to find the tech guy. After several minutes on hold, he said he couldn't get ahold of him, but had texted him, and would call back.

I got a call back a little after 7 pm asking if they could do it tomorrow. I'm a pretty patient person, but I had waited all day already, and wasn't really interested in repeating it tomorrow. She informed me that cutoff was 7 pm, and if I had called before noon like they were expecting, it would've been better. That pissed me off because I called then at 10:02. I know this because my cell phone has a call record. I would know this anyway because of the 15 minutes I spent with the moron at that time who couldn't find my account information. She claimed she had no record of the appointment. I asked if they would really come tomorrow. She said yes, she was the dispatcher and she would schedule it right now. Since the other woman told me the same thing (about the scheduling, not the dispatcher thing), I wasn't really filled with confidence, but what can you do? She said he would call 30 minutes prior to his arrival so I didn't have to wait there.

The next morning, he calls at 10:10 and says he'll be there in 10 minutes. I was already there, so it wasn't that big of a deal, but she explicitly said he'd call 30 minutes in advance so that I wouldn't have to worry about that. Whatever, I was already there. Moot point.

He arrives soon thereafter. I had unplugged the modem and router after the midnight call, and left it that way most of the day expecting a tech call. I only plugged it up after 7 pm. I once more checked all the wires and cables. It of course was working as well as it ever did when he showed up.

He checked some things on the computer. Web sites seem fine, and his device says we are getting a clear signal. I ask him why it's so slow. He says it might be the modem or the router, but since we're getting a clear signal, it's a problem on our end. I'm not sure why it never occurred to me to change modems. I had another one, but I never did. Since I got the same slow speeds with or without the router, I was pretty sure it wasn't the router. I told him about the speed tests. He informed me that these servers could be anywhere and you can't know how many places it's going through. He decided to try the comcast internal speed test. He couldn't remember the address. He thought it was .com. I suggested it might be .net like the rest of comcast, but he said no. He called the office and found out it was .net. This would be a bad omen.

The internal test said we were getting 5 Mbps. He reran the test several times all with similar results. I asked what we should be getting. I thought it was 12 (Insight gave 10, but Comcast was running ads about PowerBoost and 12). He called the office and said we were on the economy plan, and should be getting 6. Since 5 is nearly 6, he says we are getting the right speed.

I asked him why all the other servers say we're getting 1, not 5 or 6. He repeats that they could be going through many hops. He also mentions he doesn't know how the internet works. I ask him if it's reasonable that all these other places cause us to lose 80% of our speed. He says Comcast only guarantees what you're getting from us. I tell him it doesn't make sense that no other place in the United States can verify comcast's results. He repeats again that he doesn't know how the internet works, but that his test proves it's working. This is why Comcast developed its own test, because it's local. It stays right in the city you're in. He says we're paying for 6, and we're getting almost that. "When you're arguing with a fool, make sure he's not doing the same thing." I asked him to leave. Before he left, I asked him to hook up the other modem to see if it was the problem. He said our modem was working fine, and that if I wanted to hook the other one up, I could call them myself.

After he leaves, I go on a quest to prove his test is a fraud. I wasn't really sure if it made any sense that the modem wasn't working. I found a website that discussed comcast and how they ramped up the speeds over time. One person said his old modem was slow as it didn't have support for DOCSIS 2.0, the newer cable internet standard. I had a very old modem, and decided to look into it. Sure enough, it only supported DOCSIS 1.1. The other modem we had however supports DOCSIS 2.0. I hooked up the other modem and called comcast back. It took more than 15 minutes to get the new modem setup, but it finally was.

I returned to the internal comcast speed test site. I then learned that there was no local test, and that the closest one was from Illinois. In any event, despite the fact that we are only paying for 6, the new modem gets 27 Mbps down. I tried the other speed tests. The results were instantly fasters, 3, 4, 5 Mbps. In other words, it appears we are now really gettings those 6 Mbps speeds. I decided to check on my gentoo mirrors. 500 KB/s, 600, 800, 1.1 MB/s, 1.5 MB/s at times. From a maximum of 100 KB/s before, we now have at times a 15-fold increase.

Let's sum up why I'm upset.

1. He didn't know why it was slow.
2. He lied to me about the locality of the test.
3. I waited all day for someone to show up.
4. He didn't call 30 minutes ahead like they said he would.
5. Neither the flier nor the office told me about different internet speed tiers.
6. Most importantly, the test is a fraud. I don't know what they're doing with that internal test, but the internet is science. Science depends on results that can be independently verified by outside researchers. If I can't get anywhere near Comcast's results from anywhere else in the country, then their results aren't likely to be correct. I'm sure the results are helped by never leaving comcast's network, but to the tune of 80%? That's ridiculous at best, and fraud imo. (5 - 1 / 5 = 80% loss DOCSIS 1.1, 27 - 5 / 27 = 81% DOCSIS 2.0)

I write this not to deter anyone from buying Comcast. Now that my problem is resolved, I once again love their internet service. It's always been the best in town. I write this because I'm angry. I shouldn't need to know how cable internet works just to use it. That's their job. I don't know how old DOCSIS 2.0 is, so I have no clue how many people this might even affect, but I suspsect I'm once again facing a 5% problem. Hire people who know what they're talking about Comcast! A 3 minute conversation from any of the people I talked to about slow internet could've solved my problem if any of them had known this.