Used pickups are hot sellers in Mexico

I drove from Austin to Harlingen, TX this evening after work.  Harlingen is in the lower Rio Grande Valley, and just about as far South as you can get in Texas.  On the way there I noticed at least two dozen cars or trucks towing used pickups; all headed South.  I’d made this trip before, and never saw anything like it.  What, I wondered, was going on?

It turns out that used pickups from the US are very popular in Mexico right now because in March the Mexican government temporarily lifted a ban on importing used trucks, and that ban is about to expire.  Or maybe has expired—it’s hard to say and I’ve been unable to find much news coverage.  In any case, used pickups in the US are being sold at premium prices to Mexican buyers.  The Mexican government then charges $200 (US) to bring the truck into Mexico.  Having exhausted the supply in border towns, people are coming to San Antonio (a 4-hour drive from the border) to buy used trucks.

I would have thought that NAFTA would make this unnecessary.  And it will—eventually.  The restrictions, included in NAFTA, are there to “protect” the Mexican auto and truck industries, and eventually will be phased out.  Like most trade restrictions, the ban on auto imports hasn’t resulted in significantly more sales of new Mexican-built cars.  Instead, it’s resulted in higher prices for used cars and a booming auto theft industry in US border towns.  Cars are stolen in the US, smuggled into Mexico, and sold illegally to unwitting buyers who don’t even know they’re buying a stolen car.  It got so bad that last week the Mexican Senate passed a law allowing the legal registration of foreign cars manufactured between 1970 and 1993 that were brought into the country before Oct. 31.  They estimate that there are 1.5 million illegal (i.e. unregistered) used vehicles now being driven in the country.

Drawbacks to instant communication

Instant communication has its drawbacks.  I’ve long had a love/hate relationship with the telephone because many people use it as a crutch:  rather than figure out something themselves, they pick up the phone and call me:  interrupting whatever it is that I’m working on, and wanting to waste my time with idle chatter as well.  I solved that problem by putting my phone on “Do Not Disturb,” and checking my messages periodically.

The advent of Federal Express, Express Mail, Fax, and electronic mail makes things even worse.  For less than $20, you can send a printed document  to just about any place in the country and be reasonably sure that it’ll be there the next morning.  Fax is instantaneous, as is electronic mail.  These are great conveniences, to be sure, but too many people use them as crutches.  Rather than planning their work, too many people wait until the last minute and then rush to the Federal Express office to get the final document on the plane for tomorrow delivery.  It’s like they’re college students pulling an all-nighter to finish a term paper.  I realize that Federal Express would  have a lot less business if this practice were to stop, but every other company in the country would save huge amounts of money.  I wonder if people would plan their work better if that $20 overnight deliver charge came out of their own pockets. 

Open Source developers don’t understand users

In his editorial New Boss, not the Same as the Old Boss at LinuxProgramming.com, Lou Grinzo points out that most programmers of open/free software simply don’t understand the mainstream computer user.  This lack of understanding, he says, is “the biggest single roadblock to Linux’s Total World Domination.”  It’s a very good article, and well worth the read.

It’s interesting that some of those who posted comments about the article treat the issue as either/or:  the software is either powerful, or easy to use.  There is no room in their thinking for powerful software that is easy to use.  It’s an interesting blind spot.  Probably it’s just laziness.  One poster says “The programmers who can start the program[s] are not always (or even often) the programmers who can polish them.”  And that’s the whole problem, in my opinion.  Anybody can start a program.  It takes dedication and discipline (traits sadly lacking in too many people who call themselves programmers) to polish and finish a software project. 

Using a cell phone as a home phone?

I’ve had a mobile phone (I keep wanting to say “cell phone”, but it’s digital) for almost three years now.  Whether I actually need the thing is sometimes debatable, but it has gotten me out of tough spots a couple of times.  Back when I got the phone, I just knew that within a year I’d be able to replace my land line with the mobile.  Guess I was wrong on that one.  I could get rid of the land line, but it would be very inconvenient.  One nice thing about my land line is that I have 5 phones in the house.  Whatever room I’m in, I’m only a couple of steps away from the phone when it rings.  Better yet, most of the phones are reasonably comfortable to use.  The mobile, on the other hand, I would have to cart around with me (or try to find it when it rings), and talking on the silly thing is uncomfortable.  I just can’t rest this little phone on my shoulder like I can a regular telephone handset.

Why hasn’t somebody come up with a digital phone docking station that I can plug into my home telephone wires?  It seems like it’d be easy enough to do.  When somebody calls my digital phone then, the docking station acts like the telephone central station; sending the ring voltage down the line and providing the voice signal on the proper wires.  Similarly, if I picked up any phone in the house I’d get a dial tone (provided by the docking station) and could place my call, which would be relayed to the digital phone.  This isn’t rocket science.  All of the technology is available, and probably darned cheap.  The stock in digital phone manufacturers has been depressed for a while now, in part because shareholders are worried that the market is no longer growing.  Reasonably priced, this docking station could rejuvenate the digital phone market.  Heck, I’d buy a new phone if I could get one of these docking stations.

Digital service providers could take a huge bite out of the residential phone market.  Sprint PCS, for example, is currently offering a plan that gives you 1,500 minutes of air time for $35 per month.  That’s 250 anytime minutes and 1,250 night and weekend minutes.  Long distance included!  Guess what?  Most of my telephone time is at night or on the weekends.  My monthly residential phone service costs me upwards of $20 per month just for basic service, and long distance easily puts me over the $35 mark.  I’d willingly part with $400 for a new phone and docking station so I could eliminate my residential telephone charges.  I’d be money ahead in less than a year.  Just give me the wire cutters.

Combined with a PDA/phone device (see Why I have a PDA), this docking station would be a Must Have.

Holiday season blues

For various reasons, I’m not a very religious person—at least not publicly.  But this past weekend’s spending orgy, with marathon sales, Christmas bazaars, frantic shoppers, and other associated madness is enough to turn anybody’s stomach.  The period between Thanksgiving Day and Christmas is just one huge exercise in self indulgence and over indulgence, followed by a 7-day party that culminates in the final absurdity of New Year’s Eve blowouts.  Anybody who asks me “Where is your Christmas spirit?” is obviously missing the point.  This is a season to reflect, enjoy the company of your family and friends, and perhaps remember that we’re all in this together.  Too many people put on their holiday faces in December, and then promptly take them off on New Year’s Day, a behavior that is distressingly similar to those who put on their Sunday faces for morning Mass and then remove them for the other 167 hours of the week.  Is it any wonder that people get depressed this time of year?

Trouble installing Linux components

Finding things on my SuSE 6.4 distribution CDs is a nightmare.  Today I wanted to install GNOME and also look at some of the KDE source code.  I figured, no problem.  Just start up the YAST (Yet Another Setup Tool), select a few packages, and go.  Except “select a few packages” turns out to be much harder than it needs to be.  I didn’t want all of the KDE sources, just the utilities, libraries, and base functionality.  There must be 100 KDE source packages.  The utilities were easy enough to find, and the base stuff was conveniently located at the head of the list.  I had no idea that the libraries weren’t part of the base package.  I must have spent an hour searching the descriptions of all of the KDE source packages.

GNOME, I thought, would be different.  After all, there should be just one package that’ll install the base functionality, right?  Wrong.  Another hour.  And I made the mistake of installing some GNOME utilities, one of which figured that it needed to change my sendmail.cf file, causing me no end of frustration when my SMTP server stopped working.

Yep.  Linux (at least SuSE Linux) setup and configuration still has a ways to go.

Linux desktop programming

I continue my experiments in Linux programming.  Understand that I’m mostly uninterested in systems programming.  I’m writing user applications these days.  Today I’ve been trying to create an application that will put itself on the task tray (or docking tray, or whatever they call it).  So I found a KDE application (knotes) and copied the code that does that.  Of course, that only works if I’m running KDE.  I’ll need an entirely different approach if I want the program to work under GNOME.  And another set of code for Enlightenment.  Egads.

Back in September I wrote an article for Dr. Dobb’s called “The Failure of the Free Software Movement.”  In it, I said, “the GNU/Linux community has to agree on some standards. The most obvious case in point here is a desktop environment standard.”  Many readers took me to task for that statement, saying that the competition between GNOME and KDE is good for Linux, and moving to a single standard would end up stifling innovation.  I remain unconvinced.  With the current state of affairs, it’s very difficult (maybe impossible) to write portable code that interacts with the desktop.  Libraries like Trolltech’s Qt make some things easier, but these libraries are typically desktop agnostic—they talk directly to the X Window library—so there’s no portable way to do desktop-related things.

My understanding is that there’s no reliable way to determine which desktop is currently running.  If that’s true, then programs that do desktop-related things will have to be written specifically for each platform.  Complexity is the price of flexibility.  Is it possible that in this case the price is too high? 

Thanksgiving beer

Well, I survived the annual oink fest with only a mildly upset stomach.  Turkey, rice, potatoes, cranberry sauce, and bread were the main course, and Debra’s home made apple pie with some vanilla ice cream topped off a perfect meal.

Thanksgiving dinner just wouldn’t be complete without beer.  We opened the rye beer today—the stuff that we made 5 weeks ago.  It was delicious.  Having been in the bottle only 10 days, it’s still slightly under-carbonated.  Another week and it’ll be perfect.  This is one of the best beers I’ve made yet.  If you’re interested in the recipe, just drop me a line.

Rediscovering Fun in Programming

I’m rediscovering the Joy of Programming.  Maintaining and enhancing a large system (what I was doing until recently) is more work than fun, so to maintain my sanity I’ve been writing some small utilities at home, and at work I’ve moved from Product Development into Solutions, where we provide custom solutions for clients who buy our product.  These custom solutions are much smaller than our Inquisite product, and we have a little more freedom in the tools we use to build them.  The development cycle is days or weeks, rather than months and years, and in some ways much more satisfying.

I’d also forgotten just how powerful component programming can be.  Today I started on an internal utility that will send batch emails (survey invitations).  It’s a tool that we use to administer surveys for clients.  Using Delphi, I was able to create, in just a couple of hours, the entire database interface that manages surveys and mail recipients all without having to write a single line of code.

Some programmers may wonder why I’d rather hook up components than write code.  The answer is simple.  I’ve written database access code a zillion times.  It’s boring, repetitive work that’s very error prone.  Hooking up components that do it for me frees me to concentrate on the program’s real work (scheduling and tracking emails sent through our SMTP service), which is new to me, and actually interesting.  

Dynamic DNS

My network at home consists of two Windows 98 boxes and a SuSE 6.4 Linux box, all sitting behind a Linksys Cable/DSL Router hooked to my Road Runner cable modem.  The router serves as a firewall, too, and lets me share things between my computers without having to worry about external attacks.  I configured the router to forward FTP requests to my Linux box, where I have an FTP server that I use periodically for file transfers or to accept large files from friends.  The problem is that I don’t have a static IP address.

Today I solved the static IP problem by writing a Delphi program that periodically (once an hour, but it’s configurable) queries the router’s status page (HTML in ROM) to obtain the current IP address, and compares that value against the previous value.  If the values differ, then the program sends an email (through the SMTP server on my Linux box) to my personal email address and also to my work email address.  It’s the low-tech  equivalent of dynamic DNS, which I’ve looked at but not taken the time to try.

The program’s working, but it’s not complete.  Right now it runs as a regular program on the task bar, and I need to make it create a task tray icon.  It also requires an SMTP server that will forward emails, which works fine for me, but it’d probably be a good idea to support MAPI and POP3 as well, so people who don’t have an SMTP server could still use it.  I used SMTP just because I was curious about setting up and using the SMTP service on my Linux machine.

When I finish the program, I’ll put it on my Tools & Utilities page.  If you’re interested in the program’s source code before then, just drop me a line.