Perhaps I spoke too soon.  Monday I reported that my Internet connection was fixed.  Yesterday I had trouble again.  It's an odd problem.  Something between my computer and RoadRunner's server is dropping packets occasionally.  We ruled out my Linksys router by removing it from the system.  We ruled out my computer by hooking a different computer directly to the cable modem, and also by pinging from the server end.  Today we swapped out the modem.  Same problem.  I still suspect that there's a problem in one of the "boxes" between here and there, and it seems to me that they'd be able to pinpoint the trouble fairly quickly by studying the pattern of trouble reports.

Although it's possible that they're not getting many trouble reports.  I only notice the problem if I try to send a large file.  Intermittent packet loss doesn't seem to affect normal email messages (a few kilobytes) or FTP of small files (tens of kilobytes).  And I seem able to download without trouble, although sometimes quite slowly.  The technicians that they send to customers' houses seem quite capable at tracking and fixing local problems, but they don't appear to have any ability or authority to diagnose issues that extend beyond individual property lines.  They also seem incapable of or unwilling to run any but the most basic tests.  Ping tests are okay for most things, but they don't simulate uploading a three megabyte file very well.

I get to wait for the technician to call me at work tomorrow so I can once again drop whatever I'm doing and rush home so he can fiddle around with things a bit and then say, "There must be a problem somewhere else in the system.  I'll report it to the office and it should be fixed within 48 hours."  What a way to run a business.

On a happier note, somebody at Sprint PCS finally figured out how to get text messaging working on my phone.  I spent almost two hours with their technical support people last night and filed yet another trouble ticket.  By some magic, I managed to receive a text message on my phone this morning.  It only took three weeks, four email messages, and eight calls to Sprint PCS technical support totaling about six hours on the phone.  Some customer service, huh?

Monday, 28 March, 2005

Odd lots

The last week has been pretty crazy, with more going wrong than right, but I guess that's the way it happens sometimes. Anyway, sifting through the short items:

  • It only took Time Warner a week to find and fix the problem that was preventing me and others in the area from uploading anything. I couldn't even send an email message that was longer than three or four kilobytes. I guess I should call RoadRunner and see about getting a partial credit for the lack of full service.
  • Debra and I headed out for a long ride early Saturday morning. The plan was to ride to San Marcos and back--approximately 120 miles. We made it to San Marcos in a little over 4 hours, took a break, and headed back home. The wind was a little stronger than we had planned, and then it started raining. Riding in wind-driven rain is one of the more dangerous activities you can engage in on a bicycle, so we pulled off to wait it out. When the rain didn't let up after a while, we finally called a friend to come pick us up. So we got 66 miles instead of 120. Not a problem, really, as we're both ready for the long ride. But Debra would have been more confident had she been able to complete 120 miles. Perhaps this coming weekend.
  • I'm still going 'round and 'round with Sprint on my text messages problem. I thought we had it fixed on Friday, but I wasn't able to test it due to my cable problems at home. Today's test shows that it still is not working. So I guess I have to call again.
  • I got another one of those email messages from CapitalOne, containing my name and the last four digits of my credit card number. This bothered me (see March 18) because the links in the message go to capitalone.bfi0.com. This apparently is legitimate: CapitalOne contracted with Bigfoot Interactive to do some marketing. Legitimate, perhaps, but stupidly executed. It looks like phishing.
  • I reviewed Clever Internet Suite for .NET last week. If you need to parse Internet content (especially HTML pages and email messages), you'll save yourself a whole lot of time with these components. I guarantee I've spent more than $60 worth of time trying to write comparable code.

Plenty more to talk about here once I can clear my desk of pressing items.

Sunday, 27 March, 2005

More bad English

I find at least two things wrong with the warning label on our new bottle of Palmolive dishwashing liquid:

Warning: Keep out of reach of children. Do not mix with chlorine bleach to avoid irritating fumes.
  1. First, what parent would buy dishwashing liquid that they need to keep from their children? I thought the whole idea was to get the kids to wash the dishes.
  2. More importantly, I was wondering if I could mix the product with chlorine bleach for some purpose other than avoiding irritating fumes. Come to think of it, maybe the label is implying that there's some other way to make the stuff not smell so bad. The warning is ambigious. I think whoever wrote it meant to say, "To avoid irritating fumes, do not mix with chlorine bleach." And no, I don't think I'm being overly critical here. Sentence structure has meaning. Doesn't anybody proofread these things?

Friday, 25 March, 2005

Rehabilitating an injured shoulder

The shoulder is an incredibly complex joint. Three or four bones and ten or more muscles all work together to give the shoulder a wider range of motion than any other joint in the body. When it's working, it works quite well. But injure any one of the muscles and you begin to lose strength and flexibility. If an injury is left untreated, the other muscles--especially the four muscles and tendons that make up the rotator cuff --will compensate, further reducing strength and flexibility. The problem often gets progressively worse, causing other muscle groups to stiffen and resulting in chronic back and neck pain.

I suffered an AC separation of the left shoulder in 1994. The emergency room physician gave me a sling and some painkillers, and referred me to an orthopedic surgeon. The orthopedist told me to take it easy and let the shoulder heal. So I did. I injured the shoulder a couple more times less seriously in the late 90s while mountain biking. I began to lose flexibility and strength, and I had to sell my trampoline because I couldn't tolerate the pain that jumping on it induced in my shoulder.

My doctor sent me to an orthopedist who took X-rays and told me that I was getting old. He explained that the AC joint injury was getting worse and the only way to fix it would be through surgery. With no guarantee of making things better, and the possibility of making it worse, I declined and grudgingly accepted the idea that my body's starting to wear out. In the five or six years since then, two other doctors have said pretty much the same thing.

About three months ago I began experiencing upper back and neck pain. I put it off to long hours on the bike at first, but it got to the point where I couldn't sit still for more than five minutes, and the only time I wasn't in pain was when I was sleeping. At the same time, my shoulder was becoming even less flexible to the point where trying to raise my hand over my head would cause excruciating pain. Figuring that I could at least take care of the back and neck pain, I made appointments with a massage therapist and a chiropractor.

If you've never had a professional massage, you don't know what you're missing. I'm not talking about some scantily-clad lovely lady rubbing her hands over my body--I can get that at home. No, the massage that I received last Tuesday wasn't even comfortable. Forget arousing. Kathy combines massage with trigger point therapy, and the results were nothing short of miraculous. My muscles were a little bit sore the next day, but the pain in my back and neck had reduced, and my shoulder was noticeably more flexible than it had been in years.

The chiropractor has been using some electrical therapy to help loosen my shoulder. He places an electrode on the muscle near my shoulder blade and turns on the juice. Every five seconds, a slowly building electric charge causes the shoulder muscles to flex, and then relax slowly as the charge is reduced. Each visit also includes a spinal adjustment--something I'm not entirely convinced is required, but it seems to help.

I've always been suspicious of massage and chiropractic therapies, but I can't argue with the results.  In the last two weeks I've visited the chiropractor four times and the massage therapist twice. The back pain is almost completely gone and I'm actually using my left arm. I've been learning more about the shoulder joint and how to stretch and strengthen the muscles. It's almost certain that my AC separation 10 years ago also included a rotator cuff injury that has worsened over the years as it's gone untreated. It will take time--maybe a year--to rehabilitate my shoulder, but I should regain full use of it.

In retrospect, it's my own darned fault for letting things go this long.  I didn't even research the injury, but instead trusted that my doctors would give me complete information.  I know better than that.  I've actively participated with my family doctor on a number of other issues recently, and with the cardiologist in developing a diet, exercise, and medication regimen to address my family history of heart disease.  Perhaps those recent experiences lead me to re-examine the shoulder injury.  Whatever the case, I got another reminder that my health and well being is up to me.  Doctors and other health professionals are there to help and advise, but it's up to me to research and approve the appropriate therapies.

Tuesday, 22 March, 2005

Problems with my ISP

It must be my time for trouble with technical support. If you've viewed my site the last couple of days, you probably noticed that things were a little "off." I had trouble uploading my changes on Monday night. RoadRunner's technical support line had a message saying that they were doing some maintenance and that customers might experience some outages. So I went to bed.

I called RoadRunner again on Tuesday night when I still had troubles. Their message this time said "Due to network maintenance, customers with data modems should reset their modems, routers, and computers." I followed their instructions, turning everything off and then bringing everything back up in the order they specified: modem, router, computer. Still not working.

After 10 minutes on hold, Kathleen at RoadRunner answered my call. I explained the problem and that I had reset everything as suggested. Her response: "there must be something wrong with the server you're trying to upload to." I told her that I didn't think so, as I was able to upload to it from a computer that was not on RoadRunner's network, and I also have trouble sending mail through RoadRunner's server. After going 'round and 'round for a few minutes I finally asked, "Is it possible that there's a problem with RoadRunner's network?" Heresy!

It took a little more prodding before she offered to test my modem. Wonder of wonders, "Oh, my. I'm seeing 27 percent packet loss on the round trip, and these are very small packets. We'll need to send a technician out there."

Does Time Warner understand that most people have jobs where they can't just take off at a moment's notice? She wanted to send a technician out on Wednesday. When? "Sometime during the day. They will call 30 minutes before." Excuse me, but my office is a 40 minute drive from home when there's no traffic at all. Debra works about 15 minutes away, but neither of us can just drop what we're doing and head home. And why do they need me there anyway? All the connections are outside. Can't they just plug their network analyzer into the outlet box on the house and diagnose the problem? In the seven years I've had RoadRunner service, I've never had to bring the technician into the house. They've done all of their diagnostic and repair work outside. Considering the amount of rain we've had recently (including an impressive hail storm on Saturday afternoon), it's quite likely that the problem is in one of the outside connections.

But what the heck do I know? I'm just a stupid customer.

Monday, 21 March, 2005

Sprint PCS: Dumb and Dumber

If I was a screamer, the customer service representative at Sprint PCS would have received an ear full. I called today to check on the status of the trouble ticket that was filed last Monday, which was a follow-on to the trouble ticket that was filed the week before.

Once again, and as I had expected, Sprint's "engineering department" responsible for handling the trouble tickets failed to notify me that the ticket had been closed. The helpful customer service representative, referring to the engineering department's reply, began explaining to me the finer points of sending text messages from a 2g (second generation) phone. I quickly stopped him and explained that I don't want to send messages, but rather I want to receive them like I used to. I got another one of those blank looks over the phone.

According to my helpful CSR, the two previous trouble tickets did not clearly explain the problem. I find this somewhat mystifying, as the two previous CSRs I spoke with seemed intelligent enough to write a two-sentence explanation of the problem: "Customer cannot receive text messages, even though he was able to previously. Our system inexplicably blocks text messages sent to his phone."

In any case, after burning only 20 minutes of Sprint's toll-free technical support time, yet another trouble ticket has been created and the estimate is 36 hours for a response. I'll be on the phone to Sprint Wednesday morning. Any bets on the outcome?

Sunday, 20 March, 2005

Abstinence?

Today's news has an article, Study: Abstinence Pledgers May Risk STDs, the first line of which reads: "Teens who pledge to remain virgins until marriage are more likely to take chances with other kinds of sex that increase the risk of sexually transmitted diseases, a study of 12,000 adolescents suggests." The article goes on to explain that many of these "abstinence pledgers" engage in oral or anal sex.

That's some weird kind of abstinence that I failed to learn about. As far as I can remember, "abstinence" meant refraining from engaging in any kind of sexual activity. There are those who dismiss the study as "bogus," saying that the youths involved must not have really pledged abstinence. Whatever the case, there appears to be some disagreement about what exactly is considered sex. I thought I'd clear that up, and there's no delicate way to do it.

  • If it involves touching a penis for any reason other than waste elimination, it's sex.
  • If it involves touching a vagina for any purpose other than waste elimination or hygiene needs, it's sex.
  • If it involves manually or orally stimulating any part of another's body, it's sex. That includes "French kissing," which in my mind is one of the most intimate acts imaginable.
  • In case there's any question, rubbing her breasts through her clothes is sex. Her hand in his lap is sex.
  • The lack of an orgasm does not change the definition of the act.
  • Yes, masturbation is sex. Get over it.

Once researchers, sociologists, government, media, parents, and children can get those definitions straight, then perhaps we can have a real discussion about teenage sex.

Don't take the above to mean that I fall into the "abstinence only" crowd. I don't, but I do believe that people should exercise restraint. I've seen enough of the physical and emotional damage caused by casual and indiscriminate sexual encounters to understand that there is more to sex than just the physical act. There's still some question as to whether that "more" is part of our genetic programming or the product of our social upbringing, and I think that question needs to be answered.

Sex is a natural part of life, and a large part of who we are. Teaching children that sex is evil or dirty is doing them and society a great disservice, and I think actually increases the incidence of underage sex. There's nothing quite as attractive to a teenager as doing something forbidden, especially something that feels so good. For good or ill, sex is pervasive in today's society. Children are naturally curious, and if they don't learn about it from their parents they're going to learn about it from somewhere. It's likely that neither the source nor the lessons learned will be the parents' preference.

Sex education in schools shouldn't be necessary, and in any case can only explain the mechanics of sex, the possible physical consequences, and methods used to avoid those consequences. My parents explained all that to me one evening when I was eight or ten years old. They spent years teaching me, not that sex is dirty or evil, but that it's one of the most wonderful gifts that we have, that giving the gift indiscriminately cheapens it, and that saving it to share with the person we love is priceless.

Friday, 18 March, 2005

Cleaning out the In box

Cleaning some short items from the In box...

  • Reader Roy Harvey was the first to let me know that it was Lilly Tomlin's Ernestine character on Laugh-In who immortalized AT&T's legendary customer service, not Carol Burnett.  I've corrected my March 14 entry.
  • I don't know how concerned I should be about Page Hijack: The 302 Exploit, Redirects and Google, but it's interesting reading.  I'm continually amazed at the different ways that malicious users or nefarious spammers can make things difficult.
  • I got an email the other day purporting to be from my credit card company.  It looks like an official communication, complete with the correct last four digits of my account number.  However, the links go to capitalone.bfi0.com rather than www.capitalone.com.  I tried the bfi0 address plain, without the identifying tag at the back of the URL, and got a blank page.  Sounds like a scam to me.  What bothers me is that, if this really is a scam, somebody was able to link my email address with my credit card account number.  At least the last four digits, that is.  I'll be keeping a close eye on this account.
  • Building a 3-column layout using CSS rather than HTML tables is something of a challenge, depending on what exactly you're trying to do.  I spent a lot of time on my 3-column template for WordPress.  The best CSS layout tutorial site I've seen is Perched Upon a Lily Pad, which shows a 3-column layout with an explanation, and the entire style sheet is available if you view the source.  Very nicely done.
  • Back in the DOS days I and everybody else used PKZip to compress files for transmission.  PKWARE is still around making compression tools, but they don't appear to offer a free or shareware version anymore.  WinZip is pretty much the defacto standard for compression tools on Windows, although even it's not really necessary since Windows XP includes zip compression built into Explorer.  But it doesn't work from the command line.  There are command line tools available for WinZip, but you need the GUI version installed if you want to use them.  The best command line tools I've found are the Zip and UnZip utilities from Info-ZIP.

Thursday, 17 March, 2005

USMC versus UAW

I've been following this one since last week, waiting for some sort of resolution. It's ended, I think, and in the way that I would have predicted.

For the past 10 years, the United Auto Workers union has allowed members of the 1st Battalion, 24th Marines reserve unit to park at the union's Solidarity House headquarters in Detroit. Last week UAW officials told the Marines that they would no longer allow foreign cars or cars that have pro-Bush bumper stickers. Much public outcry ensued on both sides of the issue. The commanding officer, Lt. Col Joe Rutledge, did what any good Marine would do: he ignored the political B.S. and made alternate parking arrangements for his troops. When the UAW reversed its decision in the face of public outcry earlier this week, Rutledge said that his Marines wouldn't be parking at the lot anymore. "Either you support the Marines or you don't."

I can't imagine what UAW President Ron Gettelfinger was thinking when he put those restrictions on the Marines' vehicles. How could he misjudge public sentiment so badly? As a former Marine reservist he had to know that restricting the parking privileges of any Marine in the unit would be viewed by the other Marines as a slap in the face to all of them. If nothing else, Marines stick together.

You'll notice, though, that the Marines handled this peacefully by making other parking arrangements. You didn't see the Marines roughing up UAW members or vandalizing the UAW's property, and you didn't hear them whining about being oppressed or discriminated against. No, they just went about their business. One wonders if the UAW would have done the same had their positions been reversed.

To be fair, the UAW has a long history of supporting U.S. service men, and continues to do so. The initial decision to restrict the parking privileges was a very stupid move on the part of the union leadership and (I hope) does not reflect the sentiments of the union's rank and file.

Full details:
  Parking Feud (WXYZ TV)
  Marines driven out of UAW lot (Detroit News)
  Marines snub UAW olive branch (Detroit News)

Wednesday, 16 March, 2005

Anonymous Proxies

I'm still not sure if my increased Web traffic is from real people visiting the site or if it's from referral log spammers.  My referral logs show huge numbers of links from poker, porn, and prescription sites (the "three Ps?"), but the distribution of pages visited hasn't changed much.

I've mentioned before the possibility of a browser exploit that would spoof the HTTP_REFERRER field.  This doesn't have to be done with a browser exploit.  All you need is a proxy.  There are many Web pages that suggest users access the Internet through anonymous proxies.  These proxies can block cookies, advertisements, popups and other spam, and also prevent Web sites from gathering referral information, operating system and browser statistics, and other such data that the browser can send.  That's all to the good.

However, going through an anonymous proxy doesn't really make you anonymous.  It just makes you anonymous to the Web sites that you visit.  The proxy service that you go through can easily keep track of all the information that passes through it.  It can track your entire browsing session:  the sites you visit, the order in which you visit them, how long you spend at each site, and even any information that you provide to the site in the clear.  This includes cookies, and passwords that you enter on non-secure sites like Yahoo Mail and other Web mail sites.  This is in addition to the browser and operating system statistics that all Web sites can capture.

By using an anonymous proxy, you preventing the majority of Web sites from learning anything about you, but giving a single site (the proxy) the ability to know everything about you.  Now I don't know about you, but I'm not real comfortable with that idea.  It's bad enough that somebody at my ISP could, if he wanted, sniff my traffic.  I trust them just because I have to.  It's another thing entirely to trust a free anonymizer service that I know absolutely nothing about.  If you're contemplating using one of these services, I suggest that you investigate it thoroughly before you subscribe.

The other thing that an anonymous proxy could do is sell referral log placement.  Since a lot of Web traffic goes through the proxy, and the proxy is going to blank the real HTTP_REFERRER field, there's nothing stopping it from putting whatever the operator wants in that field.

Since I don't have access to the raw Web logs for my site, I don't have enough information to determine if this is really happening.  If you search the Web for "anonymous proxy", you'll find a long list of sites that provide "anonymous" browsing services.  Some are probably legitimate, but I suspect that many are not.

Tuesday, 15 March, 2005

The worst possible user interface?

Whatever Microsoft program manager signed off on the Commerce Server Business Desk user interface should be fired. Really. The interface is horrible--the worst I've seen in a very long time. I don't have the time or patience to critique the whole thing, so I'll give you a representative example: working with Site Terms.  Click here to see a screen shot of the interface in a separate window.

The idea here is simple. I'm adding a list of terms to a custom property. At first glance the interface looks reasonable with a hierarchy of custom properties on the left and an area on the right in which the user can edit an individual property's terms. It looks nice, that is, until you actually try to use it.

This is fundamentally a data entry form, which means that it should be easy to operate without using the mouse and I should be able to enter and edit terms with a minimum of keystrokes. That means shortcut keys for the buttons, a sensible tab order, a reasonable default action when the Enter key is pressed, and positioning of the focus to the New button after an item is saved. One out of three ain't bad, I guess. The tab order for the entry dialog is reasonable, just as long as you don't tab too far. One would expect the tab order to be restricted to the entry fields and the Accept/Cancel buttons when the user is entering or editing an item.

The list view that displays the terms shows only four items, and one of them is truncated at the bottom. Why, when there's all that empty space below the buttons? It's not like anybody's running this program on a 640 x 480 screen. My laptop's screen is 1200 pixels tall, which means that approximately 1/2 of the vertical screen space that could be used to good effect by this application is being wasted, and I have to scroll unnecessarily. But at least I can change the column width in the list view.

On a large screen, the Accept and Cancel buttons at the bottom of the window are so far away from the action so as to be invisible for all practical purposes. I actually had to go hunting for the Accept button the first time I used the program. Either the list view should be extended, or the Accept and Cancel buttons should be moved so that they're closer to where the user is working.

I wonder if the designer ever considered that people might want to change the order of terms. Far be it from me to suggest that I should be able to move a term up and down in the list so as to change its display order on the pages that use it. No, that'd make the interface too consistent. We can't allow the properties and the terms to be re-ordered. Yes, I understand that changing the order of terms would break code that uses the terms. Probably should have thought of that during the design phase and used an indirect lookup. Whoever designed this piece of crap should be fired right along with the program manager.

To make matters worse, the program gets the "prompt to save" convention wrong. If you edit a property's terms on the right and then select a different property before saving your changes, the program will prompt you with a confirmation message that says "You have made changes to the current selection. Do you wish to discard them?" This is, of course, in a box that has OK and Cancel buttons because some idiot years ago decided that it wasn't a good idea to give the user Yes and No options. That minor annoyance aside, the logic is backwards. User interfaces are supposed to understand that it's easier for people to say "Yes" (or "Okay") than it is for them to say "No." This is especially true of people who are using a program with which they're not very familiar. Here, the designer made it easy for the user to discard changes rather than making it easy for the user to save changes. As a final slap in the face, the OK button is the default, meaning that if the user doesn't read and think about the prompt very carefully , he's almost guaranteed to discard whatever changes he's made. The prompt should be "Do you want to save your changes?", and the default answer should be "Yes" (or "OK" if designers insist on butchering the language).

I'm thinking that the lazy programmer who implemented this interface should be fired too. If he didn't quit in disgust or get fired for raising a stink with his boss over the atrocious design, he should be fired for bringing this half baked abomination into the world. Any competent programmer would have snuck in a few minor improvements like extending the list view and adding keyboard shortcuts for the buttons.

Understand, this is only one screen in the much larger Business Desk program that is rife with these and other user interface atrocities. More than anything, Business Desk looks like the blue ribbon winner in the "Build a program that has the worst possible user interface" contest. I have every expectation that it will remain the champion for years to come.

Monday, 14 March, 2005

More Tech Support Fun

Following up on my inability to receive text messages on my Sprint PCS phone (see March 8), I called their super-secret tech support line this morning to check on the status. Thirty minutes on the phone with Candy (Candi?) resulted in:

  • The trouble ticket that was filed last week said to notify me when it was closed. I wasn't notified.
  • My trouble ticket was closed with the notation "Customer does not subscribe to a text messaging plan, which is required in order to receive text messages on a 2g phone." (2g being second generation--an "old" phone now that everybody's moving to 3g.)
  • Signing me up for a plan that allows 100 text messages per month for $5.00 didn't help.
  • When Candy tried to send me a text message, the system said that my phone is not capable of receiving SMS text messages.
  • Candy filed another trouble ticket that will be handled in "three or four days."

There's a disconnect somewhere at Sprint. The system apparently thinks that my phone is incapable of receiving text messages, but then their online "lost my password" link sends messages to it just fine. The technical support people don't know if somebody made a mistake coding the information for my phone, or if there's some policy that is preventing text messaging from being enabled for 2g phones. The people who handle the trouble tickets just give a stock answer that may be correct, but it's definitely incomplete.

All in all, I'm starting to think that Sprint PCS has finally internalized the legendary level of customer support that AT&T pioneered and Lilly Tomlin's Ernestine character immotalized. Maybe Sprint figures that if they keep giving me the royal runaround, I'll get sick of it and "upgrade" to a 3g phone. But I'm having too much fun now, calling their toll-free customer support lines and recording my experiences.

More to come, I'm sure.

Sunday, 13 March, 2005

Bicycle Training Update

Debra and I went out for a 100 mile ride yesterday.  The wind was blowing 20 to 30 MPH from the south, so we headed south into Austin and then out of town to where the road ends, bucking the wind most of the way.  That was a very tough run.  We turned around at about 45 miles, did a couple loops on the Veloway, and headed home.  Having the wind at our backs was a welcome relief.

The problem with the route I choose, though, is that Austin sits in a kind of bowl.  Once we got into town, we had to climb out in order to get home.  Debra got to feeling pretty bad at about 70 miles, so we stopped for an extended break at a convenience store.  A little Gatorade, some stretching, and we were back on the bike.  We finished the ride at an average speed of 12.3 MPH, and total time of about 9.5 hours.  Not very fast, but the wind was brutal.

This morning we left the house at 8:00, planning to do 50 miles.  Wind was south at 6 MPH, so I figured we'd head north and west briefly, then south for the main part of the ride so we could finish with the wind to our backs.  A great plan except that the wind shifted (front coming through), and by the time we turned around to head home the wind was from the north northwest at 15 to 20 MPH.  Ouch.  We ended up doing 46.5 miles (didn't bother riding around the block a few times to make the 50) at an average speed of 13.2 MPH.  Again, not hugely fast, but pretty darned good for somebody who'd never done a long ride before last April.

Physically, Debra's ready for the big ride to south Texas that we have planned for next month.  There's no doubt in my mind that she can do the first day's 135 miles and get up to ride the second day.  Without wind, she'd be able to make all three days without too much trouble.  If the wind is like last year, though, we're both going to suffer the last day.

We have one more big ride before the event:  120 miles on Saturday the 26th.  If we can get up and ride 50 or more on the following day, I'll have no doubt about our ability to complete the full ride in April.

Friday, 11 March, 2005

Aliens Cause Global Warming

About two years ago, author Michael Crichton gave a talk at CalTech titled Aliens Cause Global Warming.  Obviously, he wasn't claiming that nefarious ETs are using their advanced technology to heat up the earth.  As he says in the first paragraph:

...I will argue that a belief in extraterrestrials has paved the way, in a progression of steps, to a belief in global warming.

And, oh boy, does he make a pursuasive argument.

He begins with the Drake equation, a bit of pseudo-science that supposedly can be used to determine the number of intelligent, communicating civilizations there are in our galaxy.  The problem with the equation is that there's nothing there.  All of the variables are unknown.  You can plug in any old numbers you like to come up with an answer, and your answer will be just as valid as anybody else's.  But it's an "equation," so it must be science, right?  It gives SETI an un-earned footing as a legitimate science, when really it's based only on faith.  There is not one shred of evidence that intelligent life exists outside of the Earth.  Granted, there's no evidence that life does not exist, either, but either way you look at it, it's a matter of faith.

From the Drake equation, Crichton moves on to Nuclear Winter--another bit of pseudo-science that has no real basis in fact--and then on to global warming.  His point:  the data that supports the theory of global warming is not reliable.  Global warming is based on a computer model that hasn't been shown to be at all accurate, so what we really have is a possible scenario that's backed up by nothing but faith and the "consensus of scientists."

Crichton has a lot to say about science by consensus, and it's well worth reading.  It's one thing to have the media report some of this pseudo science as the real deal.  It's something else entirely to base national policy on theories that have absolutely no basis in real data.  Read the lecture and give it some thought.

Thursday, 10 March, 2005

Converting to WordPress

Absent any huge surprises during the conversion, I've settled on WordPress as the content management system to replace CityDesk for the production of this site.  After looking at many different packages (see February 10 and January 18), I realized that no matter which one I choose I was in for a lot of work getting it to look the way I wanted.  WordPress released their new 1.5 "Strayhorn" version shortly after I'd looked at initially, and I found that version to be much cleaner and easier to use than any of the other systems I'd evaluated.  The lack of documentation still troubles me some, but the Codex and the support forums are very informative.

For me, the most difficult part has been modifying the default site template to fit my needs.  I'm a complete novice with PHP and cascading style sheets (CSS), so making changes was very frustrating.  A couple days' study and playing around, though, and I have a decent template.  Now I have to finish up the program that will clean up and convert my 1,000-plus Random Notes entries to a format that I can import into WordPress.  I thought I could use their RSS importer, but that won't convert all my links.  The URLs to the articles and the images will change with this conversion, so I have to write a program that will fix them before the import.

I'm doing all this work on my SuSE Linux test server here at home.  Once I get it all done I'll install WordPress here on the site, copy up the new template, and then convert all of my pages.  It's going to take a few more weeks of my limited spare time, but when I'm done I'll be able to post entries online.  I'll also be able to change the look and feel of the site without having to regenerate every single page.

If you're looking to start your own blog, or if you want to convert your existing FrontPage, Dreamweaver, or whatever to an online tool, I strongly recommend WordPress.  It'll take you a little time to create a template and convert your old entries, but I think it's worth the trouble.

Tuesday, 08 March, 2005

Adventures in plumbing

I guess most homeowners become amateur home hackers out of necessity.  About six months ago I had to replace a leaky bathtub faucet.  I shut off the water, pulled the existing stem, and tripped down to the local plumbing supply house for a replacement.  The guy behind the counter gave me new washers and packing, and sent me packing.  When I installed the new stem I was a little concerned that I had to close it so tightly to prevent it from leaking, but figured that was just the way things were.

The faucet started dripping again a couple of weeks ago.  Considering that I'd just replaced the hot, I assumed that it was the cold this time.  So I shut off the water, pulled the stem, and decided to try Home Depot for a replacement.  Luckily for me, they had one.  They also had a very helpful employee who told me what a valve seat was and pointed me to the valve seat removal wrenches.  I replaced the cold stem last night, including the valve seat, and turned the water back on.  Drip.  Drip.  Drip.

I might be ignorant about some things, but I'm no dummy.  I never replaced the valve seat on the hot side because I didn't know about it.  I bought another replacement stem with the valve seat at Home Depot today, came home, swapped out the hot stem.  Presto, no more leak.  The valve seat on the hot side had a huge chip in it, which is almost certainly what caused the original drip.

While I had everything taken apart, I thought I'd do something about the soap scum and calcium buildup on the fixture handles.  Do you have any idea how hard it is to find a calcium remover that doesn't say "do not use on bright metal finishes?"  I couldn't find one.  Somewhere in the back of my mind, though, I remembered hearing that vinegar would remove calcium buildup.  Having nothing to lose except some very old vinegar, I filled a little plastic tub and placed the faucet handles in it.  I let them soak while we were having dinner.  In less than an hour almost all of the soap scum and calcium buildup was gone.  The vinegar took it right off without affecting the chrome finish at all.  That worked so well that now I'm soaking the shower head that we were about to replace.

If cheap apple cider vinegar works so well for this, why do we spend so much money on nasty chemicals that can't be used on many surfaces?

Tuesday, 08 March, 2005

Troubles with Sprint's tech support

When I got involved in the Amateur Radio Emergency Services (ARES) group, I gave them my mobile phone number and subscribed to the group's paging system. They send out text messages to notify us of meetings, and in an emergency they'll use the text messaging system as the first round of the call tree. With a single email, our Emergency Coordinator can send a text message to every member who's subscribed to the system.

I got the meeting notification messages for about a month. Then they stopped. I didn't even notice until the EC called me one day and asked why I wasn't responding to my text messages. I poked around on Sprint's Web site to see if I could figure out why it won't work. No dice. But I did learn something interesting. When I asked the Web application to send me my password, it worked. But when I used their online messaging tools to send myself a test message, I got nothing. So I called customer service.

10:37 AM - I pressed *2 on my phone and hit the "talk" button. An automated system answered, of course. But then I got a surprise. The voice said that it had to update my service automatically. "Strange," I thought. The voice kept me informed of progress, and in under a minute I heard "The update is complete." I learned later, when talking to Dominic in Technical Support (see below) that it was a Preferred Roaming List update--something that all phones get from time to time.

10:39 AM - I was transferred to an automated voice response system that asked me what I needed help on. I said "text messaging." Three seconds of silence later the voice said "Okay. Let me get someone to help you with that." I guess it doesn't understand text messaging.

10:40 AM - Judy in Customer Service was friendly enough. But when I told her that I was having trouble sending text messages to my phone, she gave me the telephone equivalent of a blank stare. The line really was quiet enough to hear a pin drop. Finally: "Ummmm, I'm sorry, but I don't know about that. Let me get a technical specialist for you."

10:41 AM - John at technical support had no earthly idea what I was talking about. He couldn't seem to understand that I was trying to send myself a text message as a test, so that I could tell others how to do it. We went 'round and 'round until I said "if you were going to send me a text message from an email program, what address would you use?" Man, I love blank stares. He took my phone number, confirmed my password, and put me on hold at 10:44.

10:56 AM - "Hello, sir. Sorry about the wait." Whoever he was, he didn't give his name. This guy confirmed that I should be sending my messages to phone-number@messaging.sprintpcs.com. I told him that I've tried that repeatedly, but I wasn't receiving them. He mentioned something about setting up an account for me and also that my "old" phone (it's only 3 years old!) wasn't ideal for the task. He said that when I hung up I'd be able to receive text messages, and to call back on the land line if not.

10:58 AM - Phone call finished.

11:15 AM - Figuring 15 minutes was long enough to make sure that they made any required configuration changes, I tried to send myself a message. 10 minutes later I still hadn't received it. By now I'd wasted almost an entire hour.

11:42 AM - The Sprint PCS store is only a couple of miles from the office, so I thought I'd go down there and maybe they could help me with the problem.

11:51 AM - Kyle met me at the front of the store, right after the receptionist took my name and said that I was next. Kyle took me to his workstation, got my information, took my phone and said that the in-store technicians were going to look at it. I tried to explain to him that the phone receives some messages, but he insisted that the techs had to look at the phone. "It will be about 10 minutes."

12:15 PM - Kyle returned with my phone. "They couldn't figure it out, either. You need to call technical support." Oh, great. I had an errand to run, so I put off the call until I got back to the office.

12:20 PM - I also needed to stop at Home Depot during lunch for parts to repair a leaking faucet. For the first time ever, I managed to get through the self checkout without having to involve the cashier. Usually the thing tells me that I have too much or not enough in the bag. I'm still not convinced that the self checkout saves time in the average case, but it certainly was quick for me this time.

1:09 PM - Back at the office. I dialed the super-secret Technical Support number that Kyle from the Sprint PCS store gave me. Kimberly answered, sounding bored out of her mind. I hope I didn't disturb her nap. She took my information and put me on hold.

1:12 PM - "Sir, are you calling from your PCS phone?" No, I wasn't. On hold again.

1:16 PM - "Sir, when you receive your messages, do you log on to the Web to receive them?" "No, they come to my phone." "Okay, just a moment."

1:20 PM - According to Kimberly, my phone uses a service called Wireless Web to get and send messages, but Sprint doesn't offer that service anymore. I asked her why, if that's the case, I can receive the password notification message that Sprint's Web site sent to me a few hours ago. Kimberly couldn't explain that.

Kimberly did inform me that I'm eligible for a free upgrade to a PCS Vision phone since I've had my service with them for at least 18 months. I don't think she understood that I don't view the offered phone an upgrade. The offered phone is not a PalmOS device--just your basic camera phone.

After hanging up, I pondered what Kimberly told me and decided that she doesn't know what she's talking about.  I never used the Wireless Web service. I never had to log in to the Web in order to get my text messages. I decided to call Technical Support again and talk to somebody who can explain what changed with the service and why I can receive some messages but not others.

1:40 PM - Called the super secret Technical Support line again.

1:44 PM - Disconnected.

1:45 PM - Called back. Put on hold.

1:46 PM - Dominic answered. He sounded bright, alert, and friendly, so I calmly explained my problem. Dominic listened and when I'd completed he said the magic words: "Do you mind helping me with a little troubleshooting?" I probably would have kissed the guy if he'd been standing in front of me. 10 minutes later, after trying this and that, he found the problem. For some reason text messaging had been blocked on my number. The system wouldn't let him un-block it, so now there's a trouble ticket with my name and phone number on it floating around in Sprint's Technical Support database. They'll get to it in a week or less, according to Dominic. He asked me to call back on Friday.

It only took four phone calls (about an hour and 20 minutes), five phone support people, and a trip to the SprintPCS store to learn that the reason I couldn't receive text messages is because that feature is mysteriously blocked on my number. And companies wonder why we laugh at their idea of customer service.

Sprint's Web site hasn't improved since the time I tried to get help on it back in 2001. It's still geared towards selling plan upgrades and solving billing problems. When you get beyond "my battery died, where do I get a new one," the Web site is worthless. I find it inconceivable that I wasn't able to tell by looking at my account on MyPCS that text messaging was disabled.

To Dominic, the Technical Support representative who calmly listened to my problem and did his job: thank you. Your example is one that all others should follow. To Sprint: most of your customer support people are incompetent, and you need to fix your damned Web site.

Monday, 07 March, 2005

Petty Annoyances

Sometimes little things combine to drive you bonkers.  I just have to get a few things off my chest.

To all you drive-through window people:  if I want cheese on my burger, I'll ask for it.  If I want to "biggie size," "super size," "Whatasize," or otherwise "-size" my meal, I will let you know.  Please stop asking me!  Just punch the buttons I tell you to punch, repeat the order so I know you got it right, and speak clearly when you give me the total.

Hey, broadcast journalists:  the word "united" is pronounced "u-ni-ted," not "u-ni-eh".  The "d" in "administration" is not supposed to be pronounced as a short "t".  I understand that common speech is somewhat lazy, but you're speaking in a formal setting.  Don't they teach diction anymore?

It's "all of a sudden," not "all of the sudden."  And when you really don't care, please say "I couldn't care less," rather than "I could care less."  Please, think about what you're saying.

The term is "old fashioned," not "old fashion."  Three Dog Night sang about an "Old Fashioned Love Song," and Wendy's serves "Old Fashioned Hamburgers."  If you're going to use a cliché, for goodness sakes do it the old fashioned way, okay?

Thanks for listening.  I'll feel better tomorrow.  I promise.

Thursday, 03 March, 2005

Fixing a TriTryst bug / binary patches

I've had many reports over the years of my game TriTryst failing on non-US versions of Windows.  I didn't give it much thought, figuring that the game was trying to do something culture-specific.  Since I don't have the program's source code or a non-US version of Windows to play with, I just told everybody that it was a known issue with no fix.  I got another of those reports the other day and somehow it dawned on me that one likely cause was the thousands separator in the score display.  You see, we created a custom font for the score display but only created characters for the digits and the comma.  "What would happen," I thought to myself, "if somebody used something other than the comma for a digits separator?"

I found the regional settings for Windows 2000, changed the digits separator to a period, and fired up TriTryst.  Sure enough, when the score reached 1,000 points, the game crashed.  Better, Visual Studio offered to let me debug the program.  You just gotta love just-in-time debugging.  Looking at the disassembly, the problem was obvious.  The code knows about the comma and the digits, and anything else in the score string will cause the program to crash.  A couple of minutes with an assembler and my trusty file dump/patch utility, and I had a program that would handle just about any digits separator I'm likely to encounter.

Making the patch on my system was pretty easy once I figured out the problem.  But distributing the patch turns out to be a major pain.  All I need to do is change two bytes in the executable program.

Back in the DOS days when programs often were smaller than 64K, it was a trivial matter to create a batch file that would load the program in DEBUG, patch a few bytes, and write the file back to disk.  DEBUG was a standard part of DOS so you could count on it being there.  DEBUG is still installed with Windows XP, but it's still designed for use with 16-bit programs that are smaller than 64K.  If there's a way to automate it to patch beyond the first 64K, I don't know what it is.

I also couldn't find a free Windows-based binary patch program that I could use to make a simple patch distribution.    After considering all of my options, I wrote a custom Delphi program to do it and posted the program on my TriTryst BugFix page.  I'm not terribly happy with that solution, though.  If you know of a free binary patch program that I can use to distribute simple patches, I'd sure like to hear about it.

Tuesday, 01 March, 2005

Odd Lots

I traveled to Harlingen, Texas last Friday for a fund raising event at the Marine Military Academy, and have been playing catch up ever since. So here I'll catch up on a few scattered items.

  • I met the inventor of the CycleMorph Tandem Adapter last week while I was at the bike shop. Turn your mountain bike or hybrid bike into a tandem. This is a great way to get started in tandem cycling. Check it out.
  • I like to think that most of my friends are reasonably bright, but I get a surprising number of urban legends emails from them that they apparently have sent in all seriousness. Is it too much to ask that people actually engage their brains for a minute or two before forwarding that message to once again warn me about the dangers of plug-in air fresheners?
  • I'm still surprised by people who say they don't like Southwest Airlines' "no frills" service. I love it. In my experience, Southwest has the friendliest crews and the best on-time rate. Their prices have always been among the lowest and they've never lost one of my bags. I've never had a bad flight experience on Southwest Airlines. What's not to like?
  • I try to refrain from foul language here, so I'll just let you make your own comments on this story. No. I'm really not going to comment on that.
  • When a "researcher" claims that breast size determines personality, it's little wonder that people have come to distrust legitimate research findings. I think this guy has a fruit fixation. In any case, the article is so brief that it's hard to tell if there's any real science in the research.