Splat!

A friend of mine recently had a bird strike on his car.  While this isn’t exactly uncommon, this particular bird left something very interesting behind on the side of the car.  Check out the last picture at that link.  It’s freaky weird.

Screwing Up A Good Relationship

I hate telemarketing with a burning passion almost as intense as I have for spammers.  My worst hatred, though, in terms of telemarketing, I reserve for the automated sales call.  It’s the telephonic equivalent of a drive-by.  Worse, in many cases, I can’t seem to hang up on them (i.e. I hang up and then pick up a few seconds later and they’re still droning on about whatever it is they’re trying to sell).

So it was with something between anger and disappointment that I listened to my messages yesterday to hear one from Cabela’s.  I expected better from them.  According to the Caller ID information the call was received at 10:33AM from “MOSLEY MICHELLE” at 1-404-524-1180.  The content of the message was to remind me of a $20 “gift” I could get with the card I’d received in the mail if I made a $150 purchase.

My numbers are on the National and State do-not-call list.  However, I realize that they make exceptions for “existing” business relationships.  I’ve bought from Cabela’s both online and in person at the Ft. Worth store.  Since I make it a point never to give personal information at the register, they appear to be exploiting my online personal information, which they require when placing an order.  In fairness, I decided to have a look at their privacy policy, just to be sure this wasn’t already covered before I unloaded on them with both barrels.

Down a ways was this section, which seems to imply to me that they shouldn’t be doing this:

We will request your telephone number or facsimile (FAX) number, and if you provide it, you may receive telephone or FAX contact from us with information regarding your orders or requests for information. We do not share phone or FAX numbers with third parties for marketing purposes.

If Cabela’s did not share my number with a third party for marketing purposes, then it means they’re violating federal rules by using bogus Caller ID information.  If they did share it, then they’re violating their own policy.  Regardless, though, they’re pissing me off by taking unwanted liberties.

I submitted an email “service request” with them to see if I get any kind of reasonable answer.  I’m not expecting much, though.  I may end up just having to cancel my account with them if I can’t get a satisfactory response.

Update:  Received an email reply from a CSR who stated that she had “marked” in my file that I did not want to receive phone calls and that she was forwarding my information to the appropriate department for a reply.  That’s all well and good, I suppose, except for the fact that she had to “mark” my file about phone calls.  I looked on Cabela’s website and while there were options to control whether you got email marketing messages, there were none to control how your phone number is used.  Anyhow, now I’m curious to see whether this other department (which she didn’t specify) will respond.

Slow Roll

I just upgraded to Expression Engine 1.5.2.  Yes, I know I’m 20 days behind the curve.  red face 

The upgrade seemed smooth on the server end, so let me know if you experience any unusual symptoms (from your browser; I don’t want to know about that itchy pentagram shaped rash raspberry ). 

Keeping Your Head(er)

While I was playing with the gun show page I also ran into something that annoyed me enough to finally fix it.  Each page on the gun show site had a little navigation header (sort of like tabs) at the top that displayed the current page in bold and had links to the other pages:

Adding new pages is kind of annoying since you have to go into each of the previously existing pages and add the new links.  Further, in adding the new pages I decided to make them “sub pages”, which further complicated matters:

One of the great features of EE is the ability to create templates that you embed in other templates.  So I thought that if I could figure out how to differentiate the different pages I could possibly create a template that determined which item to highlight automatically.  That would solve the problem once and for all, and adding a new page would be as simple as adding the link to the one template.

It turns out that EE has some handy features to let you do this.  If you’ve noticed the URL’s on this site, they’re usually of the form “/basedir/index.php?/group/template”.  The group segment of the URL specifies the “template group,” which is a set of templates that logically go together.  They can be used for a variety of purposes, but I typically use them to organize different weblog (i.e. this page is in the “orglog” group and the gun shows are in the “shows” group).  But EE will let you pull content from multiple weblogs into a single template, which (while powerful), kind of confuses things.

Anyhow, EE lets you access the segments of the URL after “index.php?” using segment variables in your templates.  For example, if the URL is “../index.php?/shows/history” you can reference “segment_1” and get “shows” or “segment_2” to get “history.”  Since I used a unique template name for each “type” of page (main, calendar, details, map, etc), I can examine the second segment to determine which page is being used.  The only exception is the index template, which is implied when no other information is given or if the second segment is unrecognized (which is how EE handles individual pages, by the way; if the last segment isn’t a recognized template it’ll invoke the index template with special parameters which cause the main weblog entries loop to return only the one entry specified in the URL; you can see this by clicking the “Permalink” link below this entry).

So, using the above, you can use EE’s conditionals to check for the template name and decide which is highlighted:

In the short term it would have probably been faster (but a little tedious) just to hard-code the header in each page, but what many people don’t realize is that programmers are lazy.  We’ll spend inordinate amounts of time (just an hour or so in this case, though), figuring out how to automate something that only takes a few seconds if it’s annoying or tedious.

Playing With EE Again

Six months to a year ago I got an interesting email from someone asking about historical gun show listings.  This fellow needed to figure out the date of a show back in 2002 or 2003 (I think it was), and that was back when I was still maintaining the list using a static HTML page.  This had something to do with an IRS audit, although I didn’t get the details.  I sent him the files I could find in the archives and hopefully he survived his meeting with the IRS.

Anyhow, one of the things that I’d been trying to decide how to handle was the issue of old show listings.  Sometimes it’s good to be able to look back to find the exact date of a show, such as when you’re trying to remember exactly when you bought something.  The problem was that while it’s technically possible to incorporate the old listings into the main page, it would be horribly cluttered (they go back to May, 2004 in the database).  My current solution to keeping the main page uncluttered was to set the post expiration date to one month after the show.  That way they’d stay around for a month and then disappear from the listing.  They would still be Open in EE, just “expired,” so every so often I’d go in and do a mass Close on them (it makes finding and working with current listings easier, since I can search for just Open items).

I copied the main Index page template to a new one called “history” and modified the selection criteria and tweaked the display a little (I decided to use nested unordered lists instead of a table) and fairly quickly came up with a history page.

I have become more and more impressed with the capabilities of the EE weblog module over time.  All it took was tweaking the “entries” loop a little and adding the list tags on the date_heading and date_footer to get everything properly enclosed:

In the above, “exp:weblog:entries” causes a loop over all entries in the blog called “dfwgun” that are closed (or expired) and ordered by date (oldest first).  Everything between it and the closing tag gets repeated once for each entry, except for the “date_heading” and “date_footer” tags, which get inserted in the loop anytime a new month boundary is crossed.  All of that stuff generates the following:

While I was in there I also did something similar to display the list of promoters from the database.

Update: changed code to image from blockquote (less messy).

Spammers Paradise

I’ve noticed an increase in a couple of types of blog spam while I’ve been away.  I’m not sure whether this is because the spammers are targeting likely periods when people won’t be watching or if it’s just more annoying to me to have to despam things remotely (usually over dialup or when I’m pressed for time).

The first one is the old-fashioned link-filled comment.  Because of the way EE works it’s hard for spammers to completely automate the process.  What I saw appeared to be manually generated and used URL-shortening services to get around keyword bans.  In one instance they hit a particular post 47 times, with a frequency of about one per hour before I added their URL-shortening URLs to the blacklist.

The other type, which usually happens during the wee hours of the morning, is of the account-creation variety.  Some dingleberry will create an account with a name like “prom dresses” or “bathroom vanities” and then put a link in the profile to a spam link farm with the advertised goods.  These are almost invariably created with invalid email addresses, so I can spot them in the morning just by the presence of the combination of a new member notification and a bounced email in my Inbox.  Occasionally the spammer will pick a valid address so I don’t get a bounce, so I’ve taken to reviewing all new member accounts and deleting any that have spam links (and what constitutes a spam link is entirely at my discretion).  I also added some verbiage to the member agreement to explain this.

As I wrote the above a new idea occurred to me regarding the timing.  When I’m away I’m usually not checking the referrer spam report and regularly updating my .htaccess and blacklist blocks, so maybe what I’m seeing with the comment spam is just the result of deferred maintenance.

Regardless, spammers suck.

Alaska, Averted

All things considered, I’d have likely gone to visit my sister closer to Christmas instead of last week.  But events conspired to cause an early trip.

As early as last December I was told that she was pretty much done with her long-time boyfriend (common-law husband would probably be the best description).  But it was amicable and he stayed around for a while and eventually got a job teaching at a village in the Alaskan bush this fall.  They say absence makes the heart grow fonder, and about a month and a half ago she announced to us that she was going to move there with him and that she’d be leaving at the end of December. 

Since it would be pretty expensive for us to visit Alaska, we (my mother and I) decided that it would be good to visit before she left.  To avoid hitting the rush of packing and preparations for her trip we decided to visit early in December (when my mother could get time away from work).  Fortunately, after a couple of weeks she decided that she didn’t really want to be with him again and cancelled the move.  But my mother’s vacation schedule was already set by then so she couldn’t get time off near Christmas (she actually has to work that day).  Hence our trip last week.

In the meantime I’ve learned quite a bit about life in the Alaskan bush through Google (hence the addition of Tundra Medicine Dreams to the blogroll, written by a PA who practices from Bethel, which is the “capitol” of the district my sister would have been in).  It looks like a nice place to visit during the summer.  But I had a hard time comprehending the concept of the long winter night, frozen rivers, and the occasional -50°F low.

In the long run I’m glad she decided not to go.  It wouldn’t have been the end of the world, but would have made visiting complicated and expensive (it’s too far to drive, even if there were roads to this village).  At least Colorado isn’t too far away (although I think my mother would be happiest if she moved back to Texas).  And her location isn’t likely to have too many -50°F days in winter.

Christmas Goes To 11

It’s funny that upon returning I came across this post from the LawDog about The Trans-Siberian Orchestra.

While visiting my sister last week we caught their show at the World Arena in Colorado Springs.  Although I’m not generally a fan of screaming guitars, I’d have to say that it was overall a good show.  They had one number in the middle that seemed to go on a bit too long for me, but otherwise it was good. 

We ended up in the nosebleed section (stage right), which was probably good in that we weren’t right up on the speakers (thus saving some small remainder of my hearing).  I’d have actually preferred something closer, but by the time I bought the tickets it was too late (the floor and lower level went very fast when they went on sale).  The only real problem was getting to the seats.  They were way the hell up there and when you factor in the altitude to the climb I thought I was going to die by the time we got to the top (compare Co. Springs at approximately 6235 ft AMSL to Keller at approximately 689 ft AMSL).

But I wasn’t the only one, as Tommy Farese (I think) commented about it during the introductions. 

An interesting thing I noticed was that they posted a warning at each door about their use of lasers and strobe lights in the show.  They certainly used a lot of lighting effects.  I can’t help but wonder if there wasn’t a section of town that browned out when they turned all that stuff on at once.  According to the spiel they gave all the stuff takes 65 roadies and 8 semi trucks to haul around.  I woudn’t doubt it, given the complexity of all the stuff they had up there (this picture gives you the general idea, although they’ve made it even more complex for this year’s show).

Some Trip Things

Driving doesn’t usually bother me, but this last trip just about wore me down to nothing.  I think it was mainly the wind.  On the trip up we fought 30-40 mph cross-winds from Amarillo well into Colorado.  Although I guess the section of road from Clayton to Raton with snow blowing horizontally from the right with the sun shining to my left was kind of interesting.  Not to mention the attack of the tumbleweeds (by the tens of thousands) in Texline.

On the way back it was the same problem from Amarillo all the way down 287 to the Harmon Road (E Bonds Ranch) exit.  It certainly gets your attention to suddenly have an 18 wheeler attempting to share your lane.  But I wouldn’t recommend it on a regular basis.

Note to NMDOT : If you’re going to slow us down to 45MPH on that ever-so-monotonous stretch of US64 between Clayton and Raton the least you could do is pick a section you’re actually working in.  Lowering the limit on a twenty mile stretch when you’re only working in a small section just pisses people off and conditions them to ignore warning signs.  Unless that’s your intent so as to generate higher ticket revenue…

Who Left The Heater Running?

So I get back home yesterday afternoon and have to turn on the air conditioner.  Did someone miss that whole December memo?

And then it was 78° again today.  Jeeze.