Search terms

I have to admit to a kind of odd fascination with seeing what search terms people use to access pages on my Web site. I’m not at all surprised by the top search terms, of course: TriTrystMarine Military AcademyWindows HelpCAB Compression, and various terms leading to my Did You Ever Wonder goofiness. Variations of those terms make up 25 to 30 percent of the search hits. I am surprised and often amused by some of the less common searches:

  • In September and October, I got quite a few search hits looking for Halloween costumes, in particular a “priest and altar boy” costume. I’ll leave the description to somebody else. It’s unfortunate that last October when I was discussing religion, I mentioned having been an altar boy. Combined with my Halloween costume pictures…Oh well.
  • September also brought a very large number of queries on “notes” for various books that I’ve mentioned over the years. I suspect most of these are college students looking for an alternative to actually reading the books before writing a report. What surprises me most about these hits is that I have to be way down in the rankings for those searches. Imagine how much of the book the searcher could have read in the time he spent scouring the Web for a “shortcut.”
  • “bird hits window” was something of a surprise search result. It garnered almost one percent of the 1000+ search hits. I’m pretty sure that query landed the people on this page.
  • Several people were wondering “how to dispose of a toilet.” I wish I knew! I still have two that I need to get rid of.
  • I got a surprising number of hits on search terms relating to dog attacks, and pit bulls in particular. If the person looking for “the worst case of mange in pit bull history” will contact me, I’ll be happy to share some pictures of Charlie from when he showed up in 2002.
  • The results of searching Google for “mischel porn” have one of my pages at the top, followed immediately by three mentions of Mischel Internet Security’s TrojanHunter product.
  • I have absolutely no idea what “ham so-won nude” is. Or a “deff guide”, either.
  • I don’t know who was looking for “random fat people”, but you won’t find them on my site. Try the local all you can eat place.
  • My favorite for the month has to be “marginally bright mischel”. Somebody has me all figured out.

Posted in Uncategorized

Code practice oscillator

I know the picture’s not all that great, but it’s about the best I can do with this little Creative PC Cam.  What you’re looking at is a code practice oscillator that I build from a schematic I found on the Web.  The thing is incredibly simple, but I managed to have quite a bit of trouble putting it together.  But I was fairly impressed, considering that it was my first electronics project.  I managed to get it working without smoking any parts or burning anything important with the soldering iron.

The heart of the circuit is a 555 timer chip, that performs some kind of magic that normally would take a transistor and a few other parts.  I’m still trying to understand exactly how the circuit works.  My knowledge of resistors, capacitors, and the like is limited to their theory of operation.  I can kind of explain what one of these little do-dads does, but I can’t really say what it’s good for in a circuit.  I keep learning.

I like the circuit except for a couple of things.  First, the sound is very high pitched.  I lowered the value of the 150 K ohm resister in the circuit to lower the tone, but it didn’t seem to help much.  That’s a minor problem, and I might try an even lower value to get the squeak out.  The more annoying problem is that the thing “chirps” after it’s been resting a while.  That is, I’ll press the key and the speaker will output a tone and then quickly transition to a higher tone.  It sounds almost like the “boo-BEEP” of a video game.  I think the problem is that the battery isn’t a very well regulated supply.  That’s the theory.  One of my ham radio friends suggested I install a voltage regulator chip to see if that solves the problem.

People seem to like putting these little circuits in Altoids tins.  Just to be different, I gutted an old two-button mouse and mounted the thing in there.  The tail consists of the two wires going out to the code key.

A code practice oscillator, by the way, is basically a box that beeps when you complete the circuit.  It’s used for practicing Morse Code.

VHF Antenna Up and Working

I finally managed to get everything together to mount a 2 meter vertical antenna on the house. This is one of those projects that should have taken just a couple of hours, but ended up taking weeks.

The antenna is a Cushcraft Ringo Ranger (that’s a PDF file) that I obtained from a fellow member of the Williamson County Amateur Radio Club. It is attached to a piece of 1″ galvanized pipe that I picked up at Home Depot. The pipe is attached to the chimney with chimney mount straps that I found at Radio Shack. The feed line is 100 feet of RG-8 coax that I bought at a ham swap meet in Belton last spring.

The full story of the antenna’s installation isn’t quite Alice’s Restaurant Masacree, but it did have its moments. I’ll spare you the sordid details and just mention the most difficult part (beyond convincing Debra that it wouldn’t look too bad):   routing the coax.

The coax runs from my desk, behind the book cases, and through the wall into the water heater closet. There I poked a hole into the attic and shoved the 100 feet of coax through it. Crawling into the attic, I used a hook on a long piece of PVC to fish the coax from the very narrow area where it came up. The really fun part was pulling the coax from there to the other end of the house–something that I’d not recommend doing on a 90 degree day.

Getting from the attic to the antenna turned out to be kind of tricky. I had originally intended to mount the antenna on the peak of the house, but that would have made the ugly mounting hardware visible from the road. With the chimney mount, all you see from the front of the house is the antenna sticking up. There’s a nice big hole in the side of the house where I could pass the coax, so I went ahead and attached the connector. When I decided to mount to the chimney, I found that I didn’t have enough coax to route it through that hole. After examining my options, I decided to punch a hole in the throat of the attic turbine. A 3/4″ chassis punch and I’m in business, right?

You know you’re in the wrong place when you walk into an auto parts store looking for a chassis punch and everybody in the store says “What’s a chassis punch?” I mentioned this to a friend on the radio last night and another ham, somebody I’d never met or even talked to before, chimed in and offered to let me borrow his chassis punch.  Monday morning he dropped by Debra’s office with the chassis punch and also an antenna analyzer that I used to tune the antenna. What a great hobby that has such friendly people.

The antenna is up and working now, the installation complete except for attaching the permanent ground. It’s amazing how well the thing works. I’m able to hit most of the repeaters in the area on low power (5 watts), although I need to set the radio to its medium setting (25 watts) to communicate reliably. It’ll be interesting to see what I can do when atmospheric conditions are right. I frequently pick up repeaters in College Station (about 100 miles away) from my mobile rig in the truck. I wonder if I can work them from here.

Here’s the ballot. Make your choice.

(Cartoon uncredited because I can’t find the source.  Anybody?)

This one sums up my thoughts on the matter of the upcoming election (every election since I started voting, come to think of it) better than any of the others I’ve seen.  We’re limited to one of two candidates, neither of whom we’re particularly interested in voting for.  In 25 years of voting, I don’t recall ever voting for a particular candidate or party.  It’s always been against the other.  And yet we’re somehow considered derelict in our duty as citizens if we abstain.

Living in Texas now, I have the advantage of not having to worry about my vote affecting who gets elected President.  With the exception of the lower Rio Grande valley, which is overwhelmingly Democratic, Bush will carry the state with a very wide margin.  For all intents and purposes, there is no Presidential “race” in Texas.

Unfortunately, there isn’t anybody else worthwhile on the ticket, either.  The Anarchists (Libertarians) are running their favorite wacko again, and the Greens are making their typical noise, but neither party or candidate has a coherent platform.  I think Nader was shot down in Texas by the Democrats, as he was in many other states.  I’ve yet to understand how the Democrats–the party that claims to speak for free choice and fair elections–manage to justify the lengths to which they’ve gone in order to keep Nader off so many states’ ballots.

I used to think I was cool being cynical, but over the years I’ve learned better.  I’m still a bit skeptical about hype in any form, but I’ve realized that in most cases cynicism is an intellectual crutch.  It’s much easier to say “That’s a bunch of b.s.” rather than to study and understand something.  But in the case of our modern political system, cynicism is indeed called for.  How else can one bear having to choose from a field of candidates who all are undeserving of a vote?

Boy Scout Campout

Some of my fondest childhood memories involve Boy Scout camp outs.  The whole Scouting experience gave me the opportunity to learn things that most city boys aren’t exposed to.  Along the way I learned a thing or two about responsibility and self reliance, as well as little bits of information about astronomy, radio, woodcraft, model rocketry, bicycling, whittling, fire making, hiking, camping, and many others that I don’t remember.  I lost my merit badge sash, one of my most cherished possessions, during a move somewhere along the way.

What makes Scouting work is the involvement of parents and other interested adults who are willing to spend time with the boys and impart their knowledge on young interested minds.  Debra’s boss is one such:  father of two boys and assistant Scoutmaster of a local troop.  Knowing that I am involved in amateur radio, he asked me if I could put together a Radio Merit Badge class for his troop’s camp out this weekend.  This coincided with Jamboree On the Air, an annual event in which Scouts from all over the world join up with amateur radio enthusiasts and make contact with each other.

I’m not qualified to teach the merit badge class, nor do I have a license to operate on the HF frequencies that JOTA uses, but I put out the call and got help from another ham who is a merit badge counselor.  He packed up his portable station and met us out at the camp site on Saturday morning, where we set up a dipole antenna, went over the merit badge course work, and proceeded to contact stations all over the U.S., as well as in Japan, Australia, Costa Rica, Puerto Rico, and Great Britain.  We even heard, but were unable to contact, a station at the Palmer Station in Antarctica.

I camped overnight on Friday, and got to sit around the cracker barrel stargazing.  It was a perfectly clear night, the moon set early, and being 60 miles away from the city reduced the light pollution.  The sky was brilliant!  One of the other adults had a star chart, so we were able to point out the major constellations.  (Which, by the way, are much more difficult to pick out when the sky is full of so many stars.)  Boys being what they are, we got on the topic of interstellar travel.  We had a difficult time impressing on the boys just how far those stars are.  100 million light years doesn’t mean much to kids who’ve been exposed to television and movie portrayals of instantaneous interstellar travel.

The boys had planned an “adults versus kids” game of capture the flag for Saturday night.  Unfortunately, I had to leave Saturday afternoon.  I would have enjoyed teaching those kids a thing or two about that game…

Accessing Cabinet Files from .NET, Part 2

Just a quick note to say that the second in my three-part series of articles on accessing cabinet files from .NET is available at DevSource.  This article shows how to implement the callback functions and drive the Cabinet SDK functions.

Reading and Writing CAB Files from .NET, Part 1:  Creating a CABINET.DLL Interface

Reading and Writing CAB Files from .NET, Part 2: Using the CABINET.DLL Interface

You can find the code and Visual Studio project files here.

Debra does a century

Six months after the first time she rode more than 10 miles on a bicycle, Debra completed her first 100 mile ride.

Today was the 17th annual Round Rock Outlaw Trail Century bicycle tour.  We started this morning at 8:00 along with 600 other riders who were doing distances from 10 to 100 miles.  The weather was cool, mid 60’s, it was cloudy, and the wind was out of the north at about 15 MPH with higher gusts.  Perfect weather except for the wind.  Fortunately the ride headed north first, so we got most of the hard “into the wind” work done at the beginning of the ride.  There were rolling hills throughout most of the course.  At the 40 mile mark we turned south and got a good 10 miles of tail wind, which was especially nice across the Granger Lake dam:  smooth flat road that had us ripping along at 20 MPH almost effortlessly.

Somehow we both missed a turn shortly after the 55 mile mark and ended up going a couple of miles out of the way.  We’d brought the map along, though, so rather than having to turn around and go back, we were able to find a county road that took us back to the route.  Things got a little tough after that, though.  We were the last riders to get to the 65 mile checkpoint and we were pushing the time limit for the 75 mile checkpoint.  At about 85 miles we turned into the wind on an upslope for a couple of miles, and it was tough on Debra–probably the hardest part of the ride.  But she put her head down and just cranked through it with a minimum of complaining: certainly no more than I would have done on my first century.

We finished the ride, 100.75 miles (the official route was 98.3), in eight hours and 52 minutes, with 8 hours of riding time.  That’s a moving average of 12.5 MPH, and an overall average including stops of about 11.4 MPH.  Not world record pace by any means, but quite acceptable for a first outing.  Heck, just finishing is quite an accomplishment!

Debra wasn’t exactly a couch potato before she started riding with me in April, but she’d never been an endurance athlete.  We started out slowly:  30 to 40 minute rides three times per week, with a longer ride on the weekend.  We built up slowly, adding no more than 10 percent to the long ride distance every week.  Her original goal when she started was to be able to ride the last 100 miles of the trip to Harlingen (see my April 1 entry) with me next year.  In August, when I realized how well her training was going, we decided to try her out on the Round Rock ride, which is a bit easier than the Kingsville to Harlingen leg of that trip.  If she wants to continue the training, I think she’ll be able to make the full ride (3 days, 350 miles) with me.

Slow and steady progress is the answer.  There’s no quick way to get your body into shape for doing these kinds of events.  At least no safe quick way.  By making continual small improvements, you can accomplish great things over time, and do it without injury or burnout.  It’s the same with most other things:  weight loss, learning a new skill, etc.  At the end, you find that the challenge is in the training, not in the final result, and the satisfaction of completing the event is greater because you can look back on the entire training and planning process as a huge accomplishment.  To me, it’s much more satisfying and less painful than trying to do something that I’m not sure I’m ready for.

Myths about homosexuality

In a Firing Line (letter to the editor) in the October 6 edition of The Daily Texan, the author wrote to praise the Rev. Jim Rigby for his “tolerance and respect for a lifestyle other than his own.” Praising Rev. Rigby, who spoke in favor of gay marriage, took up the first paragraph. The rest of the 300-word letter is an attack on the Christian view of homosexuality. In a single paragraph, the author manages to equate Christians with Nazis, Al-Qaida, and the KKK, as well as repeat as fact two very questionable theories: that homosexuals make up approximately 10 percent of the population, and that homosexuality is a genetic trait.

The author’s equating the Christian view of homosexuality with brutal and oppressive regimes probably was intended to stir controversy, and I suspect he’ll get his share of fan mail and hate mail. He snuck his “facts” into the same paragraph, and from the way they’re stated I’d say that he has accepted those “facts” at face value without doing a shred of research.

That gays make up ten percent of the population is an oft-cited “fact” that does not bear close scrutiny. There certainly isn’t any objective evidence to support such a statement.

The United States Census Bureau doesn’t ask about sexual orientation, but in 2000 it did ask about a person’s relationship to the head of household. The data indicate that same sex couples make up about one percent of all couples in the United States. I’m sure that some weren’t reported, and I do understand that “couples” don’t make up the entirety of the gay community. It’s interesting to note, though, that gay marriage advocates who believe that same sex couples are under counted often cite November 2000 polls of voters, in which about four percent of those who voted in the election identified themselves as gay. Again, I’m certain that some chose not to identify themselves, but I doubt that over half would refuse to do so. I also wonder if voters in a national election form a representative cross-section of the population.

There is some evidence that the number of gays in the country is somewhat smaller than ten percent. I’ve seen several articles that reference an apparently well-regarded David Binder Research poll (which I’m unable to locate) that puts the number of gays in San Francisco at about ten percent. Considering that San Francisco is recognized as home to more gays than just about anywhere else in the world, I’d be surprised to find that the percentage of gays in the general population is as high.

There are some studies which indicate that up to ten percent of men have had some type of same sex encounter, but to claim that proves ten percent of the population is gay is stretching things quite a bit. That would be akin to inferring that 80 percent of the population are alcoholics, based on survey results showing that 80 percent of the population has been drunk at least once. Let’s just say that the claim that ten percent of the population is gay is, at best, questionable.

The question of nature versus nurture is even harder to answer. On the surface of it, the idea that there is a “homosexuality gene” makes little sense, because you would expect such a gene to be selected right out of the genome in pretty short order. I know it’s more complicated than that, but there isn’t any conclusive evidence either way. The article Homosexuality: Nature or Nurture provides a very good review of what’s known to date.

I guess I’m not too terribly surprised to find a graduate student at an “institution of higher learning” making these statements. I am disappointed, though. Emotionally charged as the issue of gay marriage (and gay rights in general) is, those who strive for equal rights under the law need to present facts calmly rather than try to out-scream the other side with slogans, attacks, and questionable theories. A graduate student in American Studies should understand that and be able to recognize when he’s falling into the same sort of intolerant and uninformed behavior that he accuses others of.

Posted in Uncategorized

Accessing Cabinet Files from .NET

One of the things that’s kept me busy the last month or so is a project to access Microsoft cabinet files from a .NET program.  I mentioned this in passing before.  It turns out that interfacing with CABINET.DLL from .NET is much more difficult than from C or Pascal, mostly due to calling conventions and string marshaling across the managed/unmanaged layer.

I’m now working on a three-part series of articles on this topic for DevSource.  The first article, Creating a CABINET.DLL Interface, is now available.  To my knowledge (and I looked pretty hard before taking on the project), this is the only published information about accessing cab files from .NET programs.